:root{--ground:#f7f5f1;--surface:#fff;--line:#e6e1d9;--line-soft:#efebe4;--ink:#1b1d2e;--ink-soft:#5b5f75;--ink-faint:#8d90a3;--brand:#313866;--brand-hover:#262c54;--brand-soft:#eceef7;--brand-line:#c9cee6;--on-brand:#fff;--gold:#f0a92e;--gold-hover:#ffbb46;--gold-ink:#2a1c02;--gold-soft:#fdf2dc;--gold-line:#f0d7a4;--composer-bg:#313866;--composer-ink:#f4f4f9;--composer-faint:#a3a8c9;--composer-line:#474e82;--good:#1f7150;--good-soft:#e3f2ea;--danger:#a63a44;--danger-soft:#fae7e8;--r-sm:10px;--r-md:16px;--r-lg:22px;--shadow-sm:0 1px 2px #1b1d2e0d, 0 1px 1px #1b1d2e08;--shadow-md:0 6px 20px #1b1d2e17, 0 1px 3px #1b1d2e0d;--shadow-brand:0 8px 24px #31386638;--ease:cubic-bezier(.2, .7, .3, 1);--serif:"Newsreader", ui-serif, Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable", "Segoe UI", Roboto, system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#12141f;--surface:#1b1e2d;--line:#2b3047;--line-soft:#222639;--ink:#eceef6;--ink-soft:#9ba1bb;--ink-faint:#6f7590;--brand:#99a4e8;--brand-hover:#b3bcf2;--brand-soft:#232847;--brand-line:#3b4270;--on-brand:#12141f;--gold-soft:#2e2410;--gold-line:#4d3d18;--composer-bg:#262c4d;--composer-ink:#f0f1f8;--composer-faint:#9aa0c4;--composer-line:#3d4472;--good:#5cc292;--good-soft:#163024;--danger:#e58189;--danger-soft:#351f23;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000073;--shadow-brand:0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#12141f;--surface:#1b1e2d;--line:#2b3047;--line-soft:#222639;--ink:#eceef6;--ink-soft:#9ba1bb;--ink-faint:#6f7590;--brand:#99a4e8;--brand-hover:#b3bcf2;--brand-soft:#232847;--brand-line:#3b4270;--on-brand:#12141f;--gold-soft:#2e2410;--gold-line:#4d3d18;--composer-bg:#262c4d;--composer-ink:#f0f1f8;--composer-faint:#9aa0c4;--composer-line:#3d4472;--good:#5cc292;--good-soft:#163024;--danger:#e58189;--danger-soft:#351f23;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000073;--shadow-brand:0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{max-width:620px;padding:0 16px calc(104px + env(safe-area-inset-bottom));margin:0 auto}.masthead{z-index:20;background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);transition:border-color .2s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;padding:14px 16px 10px;display:flex;position:sticky;top:0}.masthead.scrolled{border-bottom-color:var(--line)}.wordmark{align-items:center;gap:8px;display:flex}.wordmark svg{flex-shrink:0;display:block}.wordmark .name{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;font-variation-settings:"opsz" 40;font-size:23px;font-weight:500;line-height:1}.masthead .count{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.masthead .count b{color:var(--ink-soft);font-weight:600}.brandpanel{background:var(--composer-bg);color:var(--composer-ink);border:1px solid var(--composer-line);border-radius:var(--r-lg);box-shadow:var(--shadow-brand)}.brandpanel h3,.brandpanel h2{color:var(--composer-ink)}.brandpanel p,.brandpanel .note,.brandpanel p.note{color:var(--composer-faint)}.brandpanel b,.brandpanel strong{color:var(--composer-ink);font-weight:600}.brandpanel .chip{color:var(--composer-ink);background:#ffffff17}.brandpanel .chip:hover{background:#ffffff26}.brandpanel .chip[aria-pressed=true]{color:var(--gold);background:#f0a92e2e}.brandpanel .chip input[type=date],.brandpanel input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.brandpanel .btn{color:var(--composer-ink);background:#ffffff1c;border-color:#0000}.brandpanel .btn:hover:not(:disabled){background:#ffffff2e}.brandpanel .btn.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:600}.brandpanel .btn.primary:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.brandpanel .btn:disabled{color:var(--composer-faint);opacity:1;background:#ffffff17;border-color:#0000}.brandpanel textarea.plain{border-color:var(--composer-line);color:var(--composer-ink);background:#00000038}.brandpanel textarea.plain::placeholder{color:var(--composer-faint)}.brandpanel textarea.plain:focus{border-color:var(--gold);background:#0000004d}.brandpanel .status{color:var(--composer-faint)}.composer{padding:6px 0 4px}.composer.sticky{z-index:15;background:var(--ground);padding-bottom:12px;position:sticky;top:54px}.composer-box{transition:box-shadow .2s var(--ease), transform .2s var(--ease);padding:15px 16px 12px}.composer-box:focus-within{transform:translateY(-1px);box-shadow:0 12px 30px #3138664d}.composer textarea{resize:none;width:100%;min-height:28px;max-height:260px;line-height:1.45;font-family:var(--serif);color:var(--composer-ink);font-variation-settings:"opsz" 20;background:0 0;border:0;outline:0;padding:2px 0 0;font-size:19px;font-weight:400;overflow-y:auto}.composer textarea::placeholder{color:var(--composer-faint);font-style:italic}.composer-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.composer-row .spacer{flex:1}.composer-hint{color:var(--composer-faint);font-size:12px}@keyframes logged{0%{transform:scale(1)}40%{transform:scale(.975)}to{transform:scale(1)}}.composer-box.just-logged{animation:logged .3s var(--ease);border-color:var(--gold)}.card .composer,.brandpanel .composer{padding:0}.card .composer .composer-box,.brandpanel .composer .composer-box{box-shadow:none}.hero{margin-top:8px;padding:22px 20px 20px}.hero .kicker{color:var(--composer-ink);align-items:center;gap:8px;margin-bottom:14px;display:flex}.hero .kicker span{color:var(--gold);letter-spacing:.02em;font-size:12.5px;font-weight:600}.hero h2{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"opsz" 36;margin:0 0 10px;font-size:27px;font-weight:500;line-height:1.2}.hero p{font-family:var(--serif);max-width:40ch;margin:0;font-size:16.5px;line-height:1.55}.chip{background:var(--line-soft);cursor:pointer;color:var(--ink-soft);transition:color .15s var(--ease), background .15s var(--ease);border:0;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;display:inline-flex}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{color:var(--brand);background:var(--brand-soft)}.chip select,.chip input[type=date]{color:inherit;background:0 0;border:0;outline:0;max-width:158px;padding:0;font-size:13px}.btn{background:var(--line-soft);color:var(--ink);cursor:pointer;transition:background .15s var(--ease), transform .1s var(--ease);border:1px solid #0000;border-radius:10px;padding:8px 15px;font-size:14.5px;font-weight:500}.btn:hover{background:var(--line)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand);font-weight:600}.proposals .btn.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn.small{padding:6px 11px;font-size:13px}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.42;cursor:default;transform:none}.iconbtn{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 4px;font-size:12px}.iconbtn:hover{color:var(--ink);background:var(--line-soft)}.tag{color:var(--ink-faint);white-space:nowrap;border:0;border-radius:5px;align-items:center;padding:1px 0;font-size:12.5px;line-height:1.5;display:inline-flex}.tag.worthy{color:var(--good);padding:0;font-weight:500}.tag.worthy:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:6px}.tag.conf{color:var(--danger);background:var(--danger-soft);border-radius:999px;padding:2px 9px}.tag.tappable{cursor:pointer;background:0 0;padding:0;font-family:inherit}.tag.tappable:hover{color:var(--ink)}.tag.worthy.tappable:hover{color:var(--good);opacity:.75}.tag.section{background:var(--gold-soft);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:2px 8px;font-family:inherit;font-weight:500}.tag.project{color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:2px 9px;font-weight:500}.tag.cite{color:var(--brand);background:var(--brand-soft);padding:2px 9px;font-weight:500}.taglist{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.taglist .tag{background:var(--line-soft);color:var(--ink-soft);border-radius:999px;padding:3px 10px}.taglist.credits .tag{background:var(--gold-soft);color:var(--ink);font-weight:500}.weekbar{align-items:baseline;gap:10px;margin:30px 0 12px;display:flex}.weekbar h2{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink-soft);white-space:nowrap;margin:0;font-size:15px;font-weight:500}.weekbar .rule{background:var(--line);flex:1;height:1px}.weekbar .n{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px}.entry{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow .15s var(--ease);border:1px solid #0000;margin-bottom:8px;padding:14px 16px}.entry:hover{box-shadow:var(--shadow-md)}.entry .raw{white-space:pre-wrap;font-family:var(--serif);letter-spacing:-.005em;font-variation-settings:"opsz" 18;font-size:17.5px;font-weight:400;line-height:1.45}.entry .meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:10px;font-size:12.5px;display:flex}.entry .meta .day{color:var(--ink-faint)}.entry .meta .dot:before{content:"·";color:var(--ink-faint)}.entry .actions{gap:4px;margin-left:auto;display:none}.entry:hover .actions,.entry:focus-within .actions{display:inline-flex}.empty{text-align:center;padding:44px 16px 20px}.empty .mark{color:var(--gold);margin-bottom:14px}.empty h3{font-family:var(--serif);letter-spacing:-.015em;font-variation-settings:"opsz" 32;margin:0 0 10px;font-size:25px;font-weight:500}.empty p{color:var(--ink-soft);font-family:var(--serif);max-width:34ch;margin:0 auto;font-size:16.5px;line-height:1.6}.card{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);border:1px solid #0000;margin-top:14px;padding:16px}.card h3{font-family:var(--serif);letter-spacing:-.012em;font-variation-settings:"opsz" 24;margin:0 0 6px;font-size:19px;font-weight:500}.field{flex-direction:column;gap:5px;margin-bottom:11px;display:flex}.field label{color:var(--ink-soft);font-size:12px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--ground);border-radius:var(--r-sm);transition:border-color .15s var(--ease);outline:0;padding:9px 11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);background:var(--surface)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.status{color:var(--ink-soft);font-size:13px}.status.ok{color:var(--good)}.status.err{color:var(--danger)}p.note a{color:var(--brand);text-underline-offset:2px;text-decoration:underline}p.note{color:var(--ink-soft);font-family:var(--serif);margin:7px 0 0;font-size:15.5px;line-height:1.55}.role-item{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.role-item:first-of-type{border-top:0}.role-item .title{font-family:var(--serif);font-size:17px;font-weight:500}.role-item .sub{color:var(--ink-faint);margin-top:2px;font-size:12.5px}textarea.plain{border:1px solid var(--line);background:var(--ground);border-radius:var(--r-sm);resize:vertical;width:100%;line-height:1.5;font-family:var(--serif);outline:0;margin-top:8px;padding:11px 13px;font-size:16.5px}textarea.plain:focus{border-color:var(--brand);background:var(--surface)}.resume-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 2px;display:flex}.trust{align-items:flex-start;gap:12px;margin-top:14px;padding:15px 17px;display:flex}.trust svg{color:var(--gold);flex-shrink:0;margin-top:2px}.trust p{font-family:var(--serif);margin:0;font-size:16px;line-height:1.5}.resume-role h3{font-family:var(--serif);font-size:20px;font-weight:500}.resume-role .period{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12.5px}.bullet{border-top:1px solid var(--line-soft);padding:11px 0}.bullet:first-child{border-top:0;padding-top:4px}.bullet-text{font-family:var(--serif);letter-spacing:-.005em;font-variation-settings:"opsz" 18;font-size:17px;line-height:1.5}.bullet .meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:7px;margin-top:7px;font-size:12px;display:flex}.bullet .actions{gap:4px;margin-left:auto;display:none}.bullet:hover .actions,.bullet:focus-within .actions{display:inline-flex}.sources{border-left:2px solid var(--gold-line);margin:8px 0 0;padding:0 0 0 11px;list-style:none}.sources li{color:var(--ink-soft);font-family:var(--serif);margin-bottom:5px;font-size:14.5px;line-height:1.5}.sources .when{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-right:8px;font-size:12px}.proposals{border-color:var(--brand);box-shadow:var(--shadow-md)}.proposal{border-top:1px solid var(--line-soft);padding:13px 0}.proposal:last-child{padding-bottom:0}.proposal.rejected{opacity:.4}.proposal .kind{color:var(--ink-soft);font-size:12.5px;font-weight:500}.proposal .ins{background:var(--good-soft);color:var(--good);border-radius:3px;padding:0 2px;font-weight:600}.proposal .del{background:var(--danger-soft);color:var(--danger);border-radius:3px;padding:0 2px;text-decoration:line-through;text-decoration-thickness:1px}.ask{color:var(--ink-soft);align-items:baseline;gap:7px;margin:8px 0 0;font-size:13px;display:flex}.ask .lbl{color:var(--ink);background:var(--gold-soft);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px;font-weight:500}.meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.budget{color:var(--ink-faint);font-variant-numeric:tabular-nums;background:var(--line-soft);cursor:help;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:12px}.budget.over{color:var(--ink);background:var(--gold-soft);font-weight:500}.nav .badge{background:var(--gold);min-width:16px;height:16px;color:var(--gold-ink);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10.5px;font-weight:700;display:flex;position:absolute;top:2px;right:calc(50% - 18px)}.nav button{position:relative}.nav{z-index:20;background:color-mix(in srgb, var(--ground) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.nav-inner{max-width:620px;margin:0 auto;padding:0 8px;display:flex}.nav button{color:var(--ink-faint);cursor:pointer;border-radius:var(--r-sm);transition:color .15s var(--ease);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0 4px;font-size:11.5px;font-weight:500;display:flex}.nav button svg{display:block}.nav button:hover{color:var(--ink-soft)}.nav button[aria-current=page]{color:var(--brand);font-weight:600}.nav button[aria-current=page]:after{content:"";background:var(--gold);border-radius:50%;width:4px;height:4px;margin-top:1px}.nav button:after{content:"";width:4px;height:4px;margin-top:1px}.ledger-bar{align-items:center;gap:8px;margin:14px 0 0;display:flex}.ledger-bar .btn{color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.ledger-bar .btn.on{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand);font-weight:600}.filterchip{color:var(--brand);background:var(--brand-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 11px;font-size:12.5px;font-weight:500;display:inline-flex}.filterchip .x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:50%;padding:0 4px;font-size:15px;line-height:1}.filterchip .x:hover{opacity:1}.calendar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-top:10px;padding:12px 12px 10px}.cal-head{align-items:center;gap:4px;display:flex}.cal-head h3{font-family:var(--serif);letter-spacing:-.01em;font-variation-settings:"opsz" 24;min-width:7.5ch;margin:0;font-size:18px;font-weight:500}.cal-head .nav{color:var(--ink-soft);padding:2px 7px;font-size:19px;line-height:1}.cal-search{min-width:0;max-width:210px;font:inherit;font-size:13.5px;font-family:var(--sans);border:1px solid var(--line);background:var(--ground);color:var(--ink);border-radius:999px;outline:0;flex:1;margin-left:auto;padding:6px 12px}.cal-search:focus{border-color:var(--brand-line);background:var(--surface)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;margin-top:10px;display:grid}.cal-dow{text-align:center;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;padding-bottom:3px;font-size:10.5px;font-weight:600}.cal-day{border-radius:var(--r-sm);cursor:pointer;font-family:var(--sans);min-height:42px;transition:background .12s var(--ease), border-color .12s var(--ease), opacity .12s var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:5px 0 6px;display:flex}.cal-day .num{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1}.cal-day.out .num{color:var(--ink-faint);opacity:.55}.cal-day:not(:disabled):hover{background:var(--line-soft)}.cal-day:disabled{cursor:default}.cal-day.today .num{color:var(--brand);font-weight:700}.cal-day.today{border-color:var(--brand-line)}.cal-day.on{background:var(--brand);border-color:var(--brand)}.cal-day.on .num{color:var(--on-brand);font-weight:600}.cal-day.on .bars i{background:var(--gold)}.cal-day.dim{opacity:.3}.cal-day .bars{flex-direction:column;gap:1.5px;width:15px;display:flex}.cal-day .bars i{background:var(--gold);border-radius:1px;height:2px;display:block}.cal-day .bars i:first-child{width:100%}.cal-day .bars i:nth-child(2){width:86%}.cal-day .bars i:nth-child(3){width:100%}.cal-day .bars i:nth-child(4){width:72%}.cal-day .bars i:nth-child(5){width:92%}.cal-foot{justify-content:space-between;align-items:center;gap:8px;min-height:26px;margin-top:9px;display:flex}.mathstrip{font-family:var(--sans);color:var(--ink-soft);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r-sm);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:7px 0 0;padding:6px 10px;font-size:12.5px;display:flex}.mathstrip .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:10.5px;font-weight:700}.mathstrip .sum{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.mathstrip .from{color:var(--ink-faint)}.tag.waiting{color:var(--ink-soft);background:var(--gold-soft);border-radius:999px;padding:2px 9px}
