:root{--ink: #060c15;--panel: #0b1625;--panel-2: #0f1e31;--line: #1b3450;--text: #d9e7f5;--muted: #7f97b0;--holo: #57d6ff;--holo-dim: #2a7fa3;--amber: #f3b64e;--crit: #ff6271;--ok: #5fe0a6;--font-display: "Saira Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--cut: 12px;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--ink);color:var(--text)}body{margin:0;font:15px/1.5 var(--font-body);background:radial-gradient(1200px 600px at 12% -10%,rgba(87,214,255,.1),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(87,214,255,.05),transparent 60%),var(--ink);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(87,214,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(87,214,255,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 30% 20%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 30% 20%,#000 20%,transparent 75%)}a{color:var(--holo)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--holo);outline-offset:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:12.5px}h1,h2,h3{margin:0;text-wrap:balance}.app{position:relative;z-index:1;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 96px;max-width:1520px;margin:0 auto}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding-block:14px;margin-bottom:18px;background:linear-gradient(var(--ink) 70%,transparent)}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.brand-mark{width:22px;height:22px;border:2px solid var(--holo);border-radius:50%;box-shadow:0 0 12px var(--holo),inset 0 0 8px var(--holo);position:relative}.brand-mark:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--holo);opacity:.8}.brand-name{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.14em;text-transform:uppercase}.brand-lg{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:.16em;text-transform:uppercase}.tabs{display:flex;gap:4px;justify-content:center}.tab,.btab{background:none;border:1px solid transparent;padding:7px 16px;cursor:pointer;font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.tab:hover{color:var(--text)}.tab.on{color:var(--ink);background:var(--holo)}.tab-count{display:inline-block;margin-left:8px;min-width:20px;padding:0 5px;font-family:var(--font-mono);font-size:12px;letter-spacing:0;background:var(--amber);color:var(--ink);border-radius:3px}.search{display:flex;align-items:center;gap:14px}.search input{width:240px;max-width:100%;background:var(--panel);border:1px solid var(--line);padding:8px 12px;border-radius:2px}.search input::placeholder{color:var(--muted)}.clock{color:var(--holo);font-size:13px;white-space:nowrap}.chip-demo{border-color:var(--amber);color:var(--amber)}.banner{border:1px solid var(--crit);color:var(--crit);padding:10px 14px;margin-bottom:16px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.section-head h2,.pgroup-h{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:var(--holo)}.empty{color:var(--muted);padding:18px 0}.command{display:grid;grid-template-columns:330px minmax(0,1fr) 300px;gap:28px;align-items:start}.dorothy-panel{position:sticky;top:84px;display:flex;flex-direction:column;align-items:center;gap:16px}.dorothy-say{width:100%;border:1px solid var(--line);background:linear-gradient(180deg,rgba(87,214,255,.06),transparent);padding:12px 14px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}.say-name{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:12px;color:var(--holo)}.dorothy-say p{margin:4px 0 0;font-size:15px}.readouts{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;background:var(--line);border:1px solid var(--line)}.readouts div{background:var(--panel);padding:10px 12px}.readouts dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.readouts dd{margin:2px 0 0;font-family:var(--font-mono);font-size:22px;color:var(--text)}.readouts dd small{font-size:11px;color:var(--muted)}.tone-crit{color:var(--crit)!important}.holo{position:relative;display:grid;place-items:center}.holo-rings{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.holo-rings circle{fill:none}.ring-faint{stroke:var(--line);stroke-width:.4}.ring-needs{stroke:var(--holo);stroke-width:1.2;filter:drop-shadow(0 0 2px var(--holo));transform:rotate(-90deg);transform-origin:50% 50%}.ring-spin{stroke:var(--holo-dim);stroke-width:.7;transform-origin:50% 50%;animation:spin 40s linear infinite}.ring-spin-rev{stroke:var(--holo-dim);stroke-width:.5;opacity:.6;transform-origin:50% 50%;animation:spin 60s linear infinite reverse}.holo-concerned .ring-needs{stroke:var(--amber);filter:drop-shadow(0 0 3px var(--amber))}.holo-pleased .ring-needs{stroke:var(--ok);filter:drop-shadow(0 0 3px var(--ok))}.holo-head{position:relative;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(87,214,255,.18),rgba(87,214,255,.03) 62%,transparent 70%)}.dorothy-canvas{display:block;filter:drop-shadow(0 0 14px rgba(87,214,255,.35)) saturate(.92);mask-image:linear-gradient(#000 70%,transparent 97%);-webkit-mask-image:linear-gradient(#000 70%,transparent 97%);animation:hover 7s ease-in-out infinite}.holo-concerned .dorothy-canvas{filter:drop-shadow(0 0 14px rgba(243,182,78,.3)) saturate(.88)}.holo-scan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,rgba(87,214,255,.16) 0 1px,transparent 1px 4px)}.holo-scan:after{content:"";position:absolute;left:0;right:0;height:30%;top:-30%;background:linear-gradient(transparent,rgba(87,214,255,.18),transparent);animation:sweep 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes sweep{to{top:100%}}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.task{background:var(--panel);border:1px solid var(--line);padding:14px 16px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}.task.is-overdue{border-color:#ff62718c;background:linear-gradient(90deg,rgba(255,98,113,.07),var(--panel) 40%)}.task-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.kind{font-family:var(--font-display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--holo)}.task-age{margin-left:auto;color:var(--muted)}.task-title{font-family:var(--font-body);font-weight:600;font-size:16.5px;margin-top:6px}.task-detail{margin:4px 0 0;color:#b3c6da;font-size:14px;max-width:70ch}.task-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}.proj-tag{font-size:13px}.meter{display:inline-flex;gap:2px;align-items:flex-end}.meter span{width:4px;background:var(--line)}.meter span:nth-child(1){height:6px}.meter span:nth-child(2){height:9px}.meter span:nth-child(3){height:12px}.meter span.on.u1{background:var(--holo-dim)}.meter span.on.u2{background:var(--holo)}.meter span.on.u3{background:var(--amber)}.chip{display:inline-block;border:1px solid var(--line);padding:1px 8px;font-size:11.5px;letter-spacing:.04em;border-radius:2px;white-space:nowrap}.tone-crit{border-color:var(--crit);color:var(--crit)}.tone-warn{border-color:var(--amber);color:var(--amber)}.tone-info{border-color:var(--holo-dim);color:var(--holo)}.actions{display:flex;gap:6px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;cursor:pointer;text-decoration:none;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:2px}.btn:hover{border-color:var(--holo-dim)}.btn.primary{background:var(--holo);border-color:var(--holo);color:var(--ink);font-weight:600}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:transparent}.link{font-size:12.5px;text-decoration:none}.side{display:flex;flex-direction:column;gap:26px}.mini-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.mini-list li{display:grid;gap:2px}.mini-title{font-weight:500}.mini-meta{font-size:12.5px;color:var(--muted)}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:8px;box-shadow:0 0 #5fe0a699;animation:pulse 2s infinite;vertical-align:middle}@keyframes pulse{70%{box-shadow:0 0 0 7px #5fe0a600}to{box-shadow:0 0 #5fe0a600}}.log{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.log li{display:grid;grid-template-columns:74px 1fr;gap:8px}.log-time{color:var(--muted);font-size:11.5px;padding-top:2px}.controls{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-bottom:22px}.seg{display:inline-flex;border:1px solid var(--line)}.seg button{background:none;border:0;padding:6px 12px;cursor:pointer;color:var(--muted);font-size:13px}.seg button.on{background:var(--panel-2);color:var(--holo)}.chips{display:flex;flex-wrap:wrap;gap:6px}.fchip{background:none;border:1px solid var(--line);padding:4px 10px;font-size:12.5px;cursor:pointer;color:var(--muted);border-radius:2px}.fchip.on{color:var(--ink);background:var(--holo);border-color:var(--holo)}.toggle{font-size:13px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.pgroup{margin-bottom:28px}.pgroup-h{margin-bottom:12px}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}.pcard{background:var(--panel);border:1px solid var(--line);padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}.pcard.pr-critical{border-color:#f3b64e73}.pcard-top{display:flex;gap:12px;align-items:center}.pcard-h{min-width:0;display:grid;gap:4px}.pcard-h h3{font-size:16px;font-weight:600}.pcard-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pline{margin:0;font-size:13.5px;color:#b3c6da;display:grid;grid-template-columns:42px 1fr;gap:6px}.plabel{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:11.5px;color:var(--muted);padding-top:1px}.pcard-foot{margin-top:auto;padding-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pring{width:46px;height:46px;flex:none}.pring-bg{fill:none;stroke:var(--line);stroke-width:3}.pring-fg{fill:none;stroke:var(--holo);stroke-width:3;stroke-linecap:butt;filter:drop-shadow(0 0 2px var(--holo))}.pring-txt{fill:var(--text);font-family:var(--font-mono);font-size:10px}.chip.st-active{color:var(--holo);border-color:var(--holo-dim)}.chip.st-waiting,.chip.st-blocked{color:var(--amber);border-color:var(--amber)}.chip.st-shipped,.chip.st-maintaining{color:var(--ok);border-color:#5fe0a680}.chip.st-parked,.chip.st-retired,.chip.st-planned,.chip.st-idea{color:var(--muted)}.chip.pri-critical{color:var(--ink);background:var(--amber);border-color:var(--amber)}.chip.pri-high{color:var(--amber);border-color:#f3b64e80}.money{display:flex;flex-direction:column;gap:28px;max-width:1100px}.money-sum{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:flex-end}.money-sum p{margin:0;max-width:60ch}.big{display:grid}.big-n{font-size:44px;color:var(--holo);line-height:1;text-shadow:0 0 18px rgba(87,214,255,.35)}.big-l{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line)}.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.tbl th{text-align:left;font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:var(--panel);padding:10px 12px;border-bottom:1px solid var(--line)}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tr:last-child td{border-bottom:0}.num{text-align:right}.cap{text-transform:capitalize}.sq-billed,.sq-measured{color:var(--ok);border-color:#5fe0a680}.sq-observed{color:var(--holo);border-color:var(--holo-dim)}.sq-estimated{color:var(--amber);border-color:#f3b64e80}.sq-unknown{color:var(--muted);border-style:dashed}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:14px;background:var(--panel-2);border:1px solid var(--holo-dim);padding:10px 14px;box-shadow:0 10px 30px #00000080}.boot{min-height:70vh;display:grid;place-items:center;align-content:center;gap:14px;font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--holo);text-align:center;padding:0 16px}.signin{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:32px;text-align:center}.signin-form{width:min(360px,100%);display:grid;gap:8px;text-align:left}.signin-form label{font-size:12.5px;color:var(--muted)}.signin-form input{background:var(--panel);border:1px solid var(--line);padding:10px 12px;border-radius:2px}.signin-form .btn{justify-content:center;padding:10px;margin-top:8px}.form-msg{margin:4px 0 0;font-size:13.5px}.bottom-tabs{display:none}@media (max-width: 1180px){.command{grid-template-columns:300px minmax(0,1fr)}.side{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}}@media (max-width: 760px){.topbar{grid-template-columns:1fr;gap:10px;padding-block:10px;margin-bottom:10px}.tabs{display:none}.search input{flex:1;width:auto}.command{grid-template-columns:minmax(0,1fr);gap:22px}.dorothy-panel{position:static;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px}.dorothy-panel .readouts{grid-column:1 / -1;grid-template-columns:repeat(4,1fr)}.readouts div{padding:8px}.readouts dd{font-size:18px}.readouts dt{font-size:9.5px;letter-spacing:.08em}.readouts dd small{display:none}.task-age{margin-left:0}.task-foot{flex-direction:column;align-items:stretch}.task-foot .actions{display:grid;grid-template-columns:1fr 1fr}.task-foot .actions .btn{justify-content:center;white-space:nowrap;padding:9px 8px}.big-n{font-size:36px}.bottom-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#060c15f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.btab{clip-path:none;padding:10px 4px;font-size:14px}.btab.on{color:var(--holo);box-shadow:inset 0 2px 0 var(--holo)}.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);justify-content:space-between}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.acct{position:relative}.acct-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:min(320px,calc(100vw - 32px));background:var(--panel-2);border:1px solid var(--holo-dim);padding:14px;display:grid;gap:10px;box-shadow:0 10px 30px #00000080}.acct-panel .signin-form{width:100%}.acct-out{justify-content:center}.holo-tap{cursor:pointer;-webkit-tap-highlight-color:transparent}.holo-tap:focus-visible{outline:1px solid var(--holo);outline-offset:4px;border-radius:50%}.say-hint{display:block;margin-top:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
