:root{--brand-navy:#13408b;--brand-cyan:#21abe3;--ink:#1a1c20;--ink-soft:#5a6068;--ground:#fbfbfc;--paper:#fff;--paper-sunk:#f4f5f7;--header:#f4f5f7;--line:#e3e6ea;--line-firm:#c9ced6;--link:var(--brand-navy);--focus:var(--brand-cyan);--btn-bg:var(--brand-navy);--btn-fg:#fff;--btn-line:var(--brand-navy);--good:#2f7d4f;--bad:#b3261e;--t-xs:.78rem;--t-sm:.875rem;--t-md:clamp(1rem, .98rem + .12vw, 1.0625rem);--t-lg:clamp(1.15rem, 1.09rem + .27vw, 1.35rem);--t-xl:clamp(1.5rem, 1.24rem + 1.12vw, 2rem);--t-2xl:clamp(2.2rem, 1.87rem + 1.47vw, 3rem);--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--logo-h:clamp(22px, 1.1rem + .6vw, 26px);--tap:2.75rem;--tap-lg:3rem;--tap-pad:.75rem;--radius:8px;--radius-sm:5px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;--measure:68rem;--read:64ch;--d-ink:#e8eaed;--d-ink-soft:#9aa1aa;--d-ground:#0f1114;--d-paper:#181b21;--d-paper-sunk:#23272e;--d-header:#101216;--d-line:#2c313a;--d-line-firm:#434a55;--d-link:#6ec7f0;--d-btn-bg:#e8eaed;--d-btn-fg:#14161a;--d-btn-line:#e8eaed;--d-good:#6bbf8a;--d-bad:#f2837b;--d-shadow:0 1px 2px #0006}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:var(--d-ink);--ink-soft:var(--d-ink-soft);--ground:var(--d-ground);--paper:var(--d-paper);--paper-sunk:var(--d-paper-sunk);--header:var(--d-header);--line:var(--d-line);--line-firm:var(--d-line-firm);--link:var(--d-link);--focus:var(--d-link);--btn-bg:var(--d-btn-bg);--btn-fg:var(--d-btn-fg);--btn-line:var(--d-btn-line);--good:var(--d-good);--bad:var(--d-bad);--shadow:var(--d-shadow)}}:root[data-theme=dark]{--ink:var(--d-ink);--ink-soft:var(--d-ink-soft);--ground:var(--d-ground);--paper:var(--d-paper);--paper-sunk:var(--d-paper-sunk);--header:var(--d-header);--line:var(--d-line);--line-firm:var(--d-line-firm);--link:var(--d-link);--focus:var(--d-link);--btn-bg:var(--d-btn-bg);--btn-fg:var(--d-btn-fg);--btn-line:var(--d-btn-line);--good:var(--d-good);--bad:var(--d-bad);--shadow:var(--d-shadow)}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--t-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}a{color:var(--link);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}main{max-width:var(--measure);padding:var(--s4) var(--s3) var(--s6);margin:0 auto}h1{font-size:var(--t-xl);letter-spacing:-.01em;margin:0 0 var(--s1);line-height:1.2}h2{font-size:var(--t-md);margin:0 0 var(--s2);line-height:1.35}p{margin:0 0 var(--s3);max-width:var(--read)}p.lede{color:var(--ink-soft);font-size:var(--t-md);margin:0 0 var(--s5)}.tag{font-size:var(--t-xs);color:var(--ink-soft)}.ref{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;margin-right:.45em;font-weight:600}h1 .ref,h2 .ref{font-weight:inherit}.wrong{color:var(--bad)}header.top{border-bottom:1px solid var(--line);background:var(--header)}header.top .in{max-width:var(--measure);padding:var(--s3);row-gap:var(--s2);gap:var(--s4);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 auto;display:flex}header.top .who{row-gap:var(--s2);align-items:center;gap:var(--s3);flex-wrap:wrap;margin-inline-start:auto;display:flex}header.top .who .tag{overflow-wrap:anywhere;min-width:0}header.top .home{min-block-size:var(--tap);align-items:center;display:inline-flex}.logo{height:var(--logo-h);width:auto;display:block}.logo-lg{height:40px}.statusbar{gap:var(--s2);margin:0 0 var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),1fr));padding:0;list-style:none;display:grid}.statusbar a{height:100%;min-block-size:var(--tap);color:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);background:var(--paper);border-left-width:5px;text-decoration:none;transition:border-color .12s,background .12s;display:block}.statusbar a:hover{border-color:var(--line-firm);background:var(--paper-sunk)}.statusbar a[aria-current=true]{background:var(--paper-sunk);border-color:var(--ink)}.statusbar .n{margin-right:var(--s1);font-variant-numeric:tabular-nums;font-weight:650}.statusbar .meaning{color:var(--ink-soft);font-size:var(--t-xs);margin-top:1px;display:block}ul.rows{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}ul.rows li{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);background:var(--paper);box-shadow:var(--shadow);min-width:0}ul.rows h2 a{padding-block:var(--tap-pad);padding-inline:var(--s1);margin-inline:calc(var(--s1) * -1);text-decoration:none}ul.rows{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start}ul.rows li.client{border-left:4px solid var(--line)}ul.rows li.client.owed{border-left-color:var(--brand-navy)}ul.rows p.tag{margin:0 0 var(--s3)}ul.rows p.tag:last-child{margin-bottom:0}ul.rows p.tag.with-them{margin-top:var(--s3)}.stats{gap:var(--s2);flex-wrap:wrap;display:flex}.stats .stat{min-inline-size:var(--tap);min-block-size:var(--tap);color:var(--ink-soft);background:var(--paper-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);flex-direction:column;flex:5.5rem;justify-content:center;text-decoration:none;display:flex}.stats .stat:hover{border-color:var(--line-firm)}.stats .stat .n{font-size:var(--t-xl);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:650;line-height:1.05}.stats .stat.live .n{color:var(--ink)}.stats .stat .what{font-size:var(--t-xs)}.stats .stat .of{font-size:var(--t-xs);color:var(--ink-soft);opacity:.75}.said{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3);margin:var(--s2) 0 0;max-width:var(--read)}.empty{border:1px dashed var(--line-firm);border-radius:var(--radius);padding:var(--s5);color:var(--ink-soft);text-align:center;max-width:none}.empty+*{margin-top:var(--s4)}form.signin{max-width:22rem}label{margin:0 0 var(--s4);display:block}label span{margin-bottom:var(--s1);font-size:var(--t-sm);color:var(--ink-soft);display:block}input[type=email],input[type=password],input[type=text],textarea{width:100%;min-block-size:var(--tap);padding:var(--s2) var(--s3);font:inherit;border:1px solid var(--line-firm);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}button{font:inherit;padding:var(--s2) var(--s4);min-block-size:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--btn-line);background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;justify-content:center;align-items:center;font-weight:550;transition:filter .12s;display:inline-flex}form.signin button,form.answer .actions>button{min-block-size:var(--tap-lg)}button:hover{filter:brightness(1.12)}button.plain{padding:0 var(--s1);color:var(--link);text-underline-offset:2px;background:0 0;border:0;font-weight:400;text-decoration:underline}button.plain:hover{filter:none}button:disabled{opacity:.45;cursor:not-allowed;filter:none}form.move{gap:var(--s2);margin:var(--s3) 0 0;padding-top:var(--s3);border-top:1px solid var(--line);flex-wrap:wrap;align-items:stretch;display:flex}form.move .tag{margin-right:var(--s1);flex:none;align-self:center}form.move button{min-width:0;font-size:var(--t-xs);padding:var(--s1) var(--s2);text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left-width:5px;flex:100%;justify-content:flex-start;font-weight:400}form.move button:hover{filter:none;background:var(--paper-sunk);border-color:var(--line-firm)}ul.rows li{container:row/inline-size}@container row (min-width:40rem){form.move{flex-wrap:nowrap}form.move button{flex:1 1 0}}.moved{border:1px solid var(--line);border-left:5px solid var(--good);border-radius:var(--radius-sm);padding:var(--s3);margin:0 0 var(--s4);background:var(--paper-sunk);max-width:none}.moved.problem{border-left-color:var(--bad)}@media (min-width:34rem){main{padding:var(--s5) var(--s4) var(--s7)}header.top .in{padding:var(--s3) var(--s4);flex-wrap:nowrap}}form.theme{border:1px solid var(--line);border-radius:var(--radius-sm);gap:0;display:flex;overflow:hidden}form.theme button{font-size:var(--t-xs);padding:var(--s1) var(--s2);min-inline-size:var(--tap);background:var(--paper);color:var(--ink-soft);border:0;border-radius:0;font-weight:400}form.theme button+button{border-left:1px solid var(--line)}form.theme button:hover{filter:none;background:var(--paper-sunk);color:var(--ink)}form.theme button[aria-pressed=true]{background:var(--paper-sunk);color:var(--ink);font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel{margin:0 0 var(--s5)}.panel h2{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 var(--s2);font-weight:600}ol.thread{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}ol.thread li{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s4);background:var(--paper);border-left-width:5px}ol.thread li.from-them{border-left-color:var(--ink);background:var(--paper-sunk)}ol.thread li.from-us{border-left-color:var(--line-firm)}ol.thread .tag{margin:0 0 var(--s1)}ol.thread .tag strong{color:var(--ink);font-weight:600}ol.thread li.from-loop{border-left-style:dashed}.voice{margin-left:var(--s1);padding:0 var(--s2);border:1px solid var(--line-firm);font-size:var(--t-xs);color:var(--ink-soft);white-space:nowrap;border-radius:999px;display:inline-block}.byline{margin:var(--s2) 0 0}.byline strong{color:var(--ink);font-weight:600}ol.thread .body{white-space:pre-wrap;overflow-wrap:anywhere;max-width:var(--read);margin:0}.wherebar{background:var(--paper-sunk)}.wherebar .in{max-width:var(--measure);padding:0 var(--s4);align-items:center;margin:0 auto;display:flex}.wherebar a{min-block-size:var(--tap);min-inline-size:var(--tap);padding:var(--s2) 0;font-size:var(--t-xs);color:var(--ink-soft);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-firm);text-decoration-color:var(--line-firm);overflow-wrap:anywhere;align-items:center;display:inline-flex}.wherebar a:hover{color:var(--ink);text-decoration-color:currentColor}nav.portalnav{border-bottom:1px solid var(--line);background:var(--paper)}nav.portalnav .in{max-width:var(--measure);padding:0 var(--s4);gap:var(--s5);flex-wrap:wrap;margin:0 auto;display:flex}nav.portalnav a{min-block-size:var(--tap);min-inline-size:var(--tap);padding:var(--s3) 0;color:var(--ink-soft);font-size:var(--t-sm);border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:flex}nav.portalnav a:hover{color:var(--ink);border-bottom-color:var(--line-firm)}.yourturn{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5);margin:0 0 var(--s6);background:var(--paper);box-shadow:var(--shadow);border-left:5px solid #f6c445}.yourturn.clear{border-left-color:var(--good)}.yourturn .big{font-size:var(--t-2xl);margin:0 0 var(--s2);font-weight:700;line-height:1}.yourturn p{max-width:var(--read);margin:0}h2.section{font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:var(--s6) 0 var(--s2);font-weight:600}ul.tiles{margin:0 0 var(--s5);gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));padding:0;list-style:none;display:grid}ul.tiles a{height:100%;min-block-size:var(--tap);color:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s3);background:var(--paper);text-decoration:none;display:block}ul.tiles a:hover{border-color:var(--line-firm);background:var(--paper-sunk)}ul.tiles .n{font-size:var(--t-xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1;display:block}ul.tiles .meaning{color:var(--ink-soft);font-size:var(--t-xs);margin-top:var(--s1);display:block}form.answer textarea{width:100%;min-height:8rem;padding:var(--s3);font:inherit;border:1px solid var(--line-firm);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);resize:vertical}form.answer select{width:100%;max-width:24rem;min-block-size:var(--tap);padding:var(--s2) var(--s3);font:inherit;border:1px solid var(--line-firm);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}form.answer .actions{gap:var(--s2);margin:var(--s3) 0 var(--s2);flex-wrap:wrap;display:flex}button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line-firm);font-weight:400}button.secondary:hover{filter:none;background:var(--paper-sunk)}.stack{gap:var(--s2);display:grid}details.expander{border:1px solid var(--line);border-left:5px solid var(--line-firm);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);container:card/inline-size}details.expander>summary{align-items:baseline;gap:var(--s3);min-block-size:var(--tap);padding:var(--s3) var(--s4);cursor:pointer;flex-wrap:wrap;font-weight:550;list-style:none;display:flex}details.expander>summary::-webkit-details-marker{display:none}details.expander>summary::marker{content:""}details.expander>summary:before{content:"▸";color:var(--ink-soft);flex:none;font-size:.8em;transition:transform .12s;display:inline-block}details.expander[open]>summary:before{transform:rotate(90deg)}details.expander>summary:hover{background:var(--paper-sunk)}details.expander[open]>summary{border-bottom:1px solid var(--line)}details.expander .title{flex:100%;min-width:0}@container card (min-width:34rem){details.expander>summary{flex-wrap:nowrap}details.expander .title{flex:auto}}details.expander .addr{color:var(--ink-soft);font-weight:400;font-size:var(--t-xs);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}details.expander .state{min-width:0;font-weight:400;font-size:var(--t-xs);color:var(--ink-soft);border:1px solid var(--line);padding:1px var(--s2);border-radius:999px;flex:0 auto}details.expander .state.waiting{color:var(--ink);border-color:var(--line-firm);font-weight:600}details.expander .state.done{color:var(--good);border-color:var(--good)}details.expander .inner{padding:var(--s4)}details.expander .inner>:last-child{margin-bottom:0}ul.todo{margin:var(--s3) 0 0;gap:0;padding:0;list-style:none;display:grid}ul.todo a{padding-block:var(--s2);min-block-size:var(--tap);display:block}ul.todo a:before{content:"→ ";color:var(--ink-soft)}a.jump{padding-block:var(--tap-pad);padding-inline:var(--s1);margin-inline:calc(var(--s1) * -1);display:inline-block}h2.project{font-size:var(--t-lg);letter-spacing:-.01em;color:var(--ink);margin:var(--s6) 0 var(--s1);font-weight:650}h2.project+h2.section{margin-top:var(--s2)}nav.portalnav a[aria-current=page]{color:var(--brand-navy);border-bottom:3px solid var(--brand-navy);background:var(--paper-sunk);font-weight:650}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) nav.portalnav a[aria-current=page]{color:var(--link);border-bottom-color:var(--link)}}:root[data-theme=dark] nav.portalnav a[aria-current=page]{color:var(--link);border-bottom-color:var(--link)}nav.portalnav a:hover:not([aria-current=page]){color:var(--ink);border-bottom-color:var(--line-firm)}article.project{border:1px solid var(--line);border-left:5px solid var(--brand-navy);border-radius:var(--radius);padding:var(--s4);background:var(--paper);box-shadow:var(--shadow)}article.project h2{font-size:var(--t-lg);margin:0 0 var(--s2)}article.project h2 .kind,article.project h2 .sep{color:var(--ink-soft);font-weight:400}article.project .desc{margin:0 0 var(--s3);max-width:var(--read)}article.project .actions{align-items:center;gap:var(--s3);margin:var(--s3) 0 0;flex-wrap:wrap;display:flex}.button-link{min-block-size:var(--tap);padding:var(--s2) var(--s4);border-radius:var(--radius-sm);border:1px solid var(--btn-line);background:var(--btn-bg);color:var(--btn-fg);justify-content:center;align-items:center;font-weight:550;text-decoration:none;display:inline-flex}.button-link:hover{filter:brightness(1.12)}form.attach{margin-block-start:var(--s3)}input[type=file]{width:100%;min-block-size:var(--tap-lg);padding:var(--s2) var(--s3);font:inherit;border:1px dashed var(--line-firm);border-radius:var(--radius-sm);background:var(--paper-sunk);color:var(--ink);cursor:pointer}input[type=file]::file-selector-button{font:inherit;min-block-size:var(--tap);min-inline-size:var(--tap);padding:var(--s2) var(--s4);border:1px solid var(--btn-line);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;margin-inline-end:var(--s3);font-weight:550}input[type=file]::-webkit-file-upload-button{font:inherit;min-block-size:var(--tap);min-inline-size:var(--tap);padding:var(--s2) var(--s4);border:1px solid var(--btn-line);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;margin-inline-end:var(--s3);font-weight:550}label.inline{align-items:center;gap:var(--s3);min-block-size:var(--tap);margin-block-end:var(--s4);display:flex}label.inline span{margin:0}label.inline input[type=checkbox]{block-size:1.15rem;inline-size:1.15rem;accent-color:var(--btn-bg);flex:none}.dictate{align-items:center;gap:var(--s2) var(--s3);margin:0 0 var(--s4);flex-wrap:wrap;display:flex}.dictate button{min-inline-size:var(--tap);gap:var(--s2)}.dictate button .mic{flex:none}.dictate button[aria-pressed=true]{border-color:var(--ink);font-weight:600}.dictate .heard,.dictate .tag{min-inline-size:0;font-size:var(--t-sm);color:var(--ink-soft);overflow-wrap:anywhere;flex:100%;margin:0}.dictate .heard:empty{display:none}details.sketch-row{margin-block-start:var(--s3)}form.sketch{margin:0}form.sketch canvas{width:100%;aspect-ratio:4/3;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid var(--line-firm);border-radius:var(--radius-sm);cursor:crosshair;background:#fff;max-inline-size:36rem;display:block}form.sketch .tools{gap:var(--s2);margin:var(--s2) 0 var(--s3);flex-wrap:wrap;display:flex}form.sketch .tools button{min-inline-size:var(--tap)}form.sketch textarea{min-height:0}form.sketch .tag:empty{display:none}ol.thread .files{margin:var(--s2) 0 0;gap:var(--s1);padding:0;list-style:none;display:grid}ol.thread .files li{align-items:center;gap:var(--s2);min-block-size:var(--tap);background:0 0;border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}ol.thread .files a{overflow-wrap:anywhere;min-inline-size:0;min-block-size:var(--tap);align-items:center;font-weight:550;display:inline-flex}ol.thread .files .tag{white-space:nowrap;margin:0}details.expander .convo{min-width:0;color:var(--ink-soft);font-weight:400;font-size:var(--t-xs);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;overflow:hidden}.viewbar{background:var(--paper-sunk);border-bottom:1px solid var(--line)}.viewbar.viewing{background:color-mix(in srgb, var(--brand-cyan) 14%, var(--paper));border-bottom-color:var(--brand-cyan)}.viewbar .in{max-width:var(--measure);padding:var(--s2) var(--s4);align-items:center;gap:var(--s2) var(--s4);flex-wrap:wrap;margin:0 auto;display:flex}.viewbar p{font-size:var(--t-sm);overflow-wrap:anywhere;flex:100%;margin:0}.viewbar form.viewswitch{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;flex:100%;display:flex}.viewbar form.viewswitch label{flex:12rem;min-width:0;margin:0}.viewbar form.viewswitch label span{font-size:var(--t-xs)}.viewbar select{width:100%;min-block-size:var(--tap);padding:var(--s2) var(--s3);font:inherit;border:1px solid var(--line-firm);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.sections{align-items:center;gap:0 var(--s3);margin:0 0 var(--s3);flex-wrap:wrap;display:flex}.sections p{margin:0}.sections .goto{align-items:center;gap:.4em;margin:0;display:flex}.sections .goto label{align-items:center;gap:.4em;display:inline-flex}.sections .goto input{width:7em;font:inherit;padding:.2em .45em}section.pms{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line)}section.pms ul{margin:0;padding:0;list-style:none}section.pms li+li{margin-top:var(--s3)}section.pms form{align-items:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}section.pms label{flex:16rem;min-width:0;margin:0}section.pms label span{overflow-wrap:anywhere}section.pms select{width:100%;min-block-size:var(--tap);padding:var(--s2) var(--s3);font:inherit;border:1px solid var(--line-firm);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.print-lines{min-block-size:7rem}@media print{header.top,nav.portalnav,.wherebar,.sections,.viewbar,.dictate,.noprint{display:none!important}main.print-sheet .panel{break-inside:avoid}main.print-sheet .print-lines{border-block-end:1px solid var(--line)}}
