:root{--bg: #05070a;--panel: #0d1218;--panel-header: #131b23;--border: #223039;--border-bright: #35505e;--text: #dbe7e1;--text-dim: #8fa79d;--green: #3ce08c;--amber: #ffb340;--red: #ff6b5e;--cyan: #5ad0e6;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--gap: 12px;--radius: 2px;--touch: 44px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg)}body{color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(60,224,140,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(60,224,140,.035) 1px,transparent 1px);background-size:48px 48px;background-attachment:fixed}.statusbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));background:#05070af0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);font-family:var(--mono);font-size:13px}.statusbar .zulu{color:var(--green);font-size:17px;font-weight:600;letter-spacing:.06em}.statusbar .sgt{color:var(--text-dim);letter-spacing:.04em}.statusbar .spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--border-bright);border-radius:var(--radius);font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);background:var(--panel)}.chip.live{color:var(--green);border-color:#3ce08c80}.chip.polling{color:var(--cyan);border-color:#5ad0e680}.chip.offline,.chip.pending{color:var(--amber);border-color:#ffb34099}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.chip.live .dot{animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.deck{display:grid;gap:var(--gap);padding:var(--gap);padding-bottom:calc(var(--gap) + env(safe-area-inset-bottom));grid-template-columns:1fr;max-width:1500px;margin:0 auto}@media (min-width: 900px){.deck{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.wide{grid-column:span 2}}@media (min-width: 1350px){.deck{grid-template-columns:repeat(3,minmax(0,1fr))}.panel.wide{grid-column:span 2}}.panel{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-width:0}.panel:before,.panel:after,.panel>.bracket-b:before,.panel>.bracket-b:after{content:"";position:absolute;width:11px;height:11px;border-color:var(--green);border-style:solid;border-width:0;pointer-events:none}.panel:before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.panel:after{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}.panel>.bracket-b:before{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}.panel>.bracket-b:after{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}.panel-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 13px;background:var(--panel-header);border-bottom:1px solid var(--border);font-family:var(--mono);font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--text)}.panel-header .title{font-weight:600}.panel-header .count{color:var(--text-dim);font-size:12px}.panel-header .right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.panel-body{padding:12px 13px;display:flex;flex-direction:column;gap:10px}.empty{color:var(--text-dim);font-size:14px;padding:6px 0}.sync{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius);border:1px solid transparent}.sync.fresh{color:var(--green);border-color:#3ce08c59}.sync.stale{color:var(--amber);border-color:#ffb34073}.sync.error{color:var(--red);border-color:#ff6b5e80}input,select,textarea,button{font-family:inherit;font-size:16px;color:var(--text)}.field{width:100%;min-height:var(--touch);padding:10px 12px;background:#080d12;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono)}.field:focus-visible{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.field::placeholder{color:#6b8078}.btn{min-height:var(--touch);min-width:var(--touch);padding:0 14px;background:var(--panel-header);border:1px solid var(--border-bright);border-radius:var(--radius);font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.btn:hover{border-color:var(--green);color:var(--green)}.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim);padding:0 8px}.btn.ghost:hover{color:var(--red)}.row{display:flex;gap:8px;align-items:center}.item{display:flex;align-items:flex-start;gap:10px;min-height:var(--touch);padding:7px 0;border-bottom:1px solid rgba(34,48,57,.6)}.item:last-child{border-bottom:none}.tick{flex:none;width:var(--touch);height:var(--touch);margin:-7px 0 -7px -10px;display:grid;place-items:center;background:none;border:none;cursor:pointer;color:var(--text-dim)}.tick .box{width:17px;height:17px;border:1.5px solid var(--border-bright);border-radius:var(--radius);display:grid;place-items:center;font-size:12px;line-height:1}.tick[aria-pressed=true] .box{border-color:var(--green);color:var(--green)}.item .label{flex:1;min-width:0;padding-top:2px;word-break:break-word}.item.done .label{color:var(--text-dim);text-decoration:line-through}.meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:3px;font-family:var(--mono);font-size:12px;color:var(--text-dim)}.pri{font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:1px 5px;border:1px solid currentColor;border-radius:var(--radius)}.pri.p1{color:var(--red)}.pri.p2{color:var(--amber)}.pri.p3{color:var(--text-dim)}.due.overdue{color:var(--red);font-weight:600}.due.today{color:var(--amber)}.tag{color:var(--cyan)}.habit{display:flex;align-items:center;gap:10px;min-height:var(--touch)}.habit.unscheduled{opacity:.42}.habit .name{flex:1;min-width:0}.score{font-family:var(--mono);font-size:28px;font-weight:600;color:var(--green);line-height:1}.score .of{font-size:15px;color:var(--text-dim)}.streak{font-family:var(--mono);color:var(--amber);font-size:13px}.heatmap{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:2px;margin-top:4px;overflow-x:auto}.heat{width:9px;height:9px;border-radius:1px;background:#16202a}.heat.partial{background:#ffb3408c}.heat.perfect{background:var(--green)}.heat.none{background:#101820}.macro{display:grid;grid-template-columns:58px 1fr 96px;align-items:center;gap:9px;font-family:var(--mono);font-size:13px}.bar{height:9px;background:#16202a;border-radius:1px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--green)}.bar>span.over{background:var(--amber)}.macro .val{text-align:right;color:var(--text-dim)}.unconfirmed{font-family:var(--mono);font-size:12px;color:var(--amber);border:1px solid rgba(255,179,64,.45);border-radius:var(--radius);padding:7px 9px;line-height:1.4}.source-tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--cyan)}.item.estimate{border-left:2px solid rgba(90,208,230,.55);padding-left:9px}.thumb{flex:none;width:44px;height:44px;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius);background:#0a1016}.estimating{color:var(--cyan);font-family:var(--mono);font-size:13px;letter-spacing:.06em}.confidence{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--text-dim)}.confidence.low{color:var(--amber)}.assumptions{margin:5px 0 0;padding:7px 9px;border-left:2px solid rgba(90,208,230,.4);background:#5ad0e60f;color:var(--text-dim);font-size:13px;line-height:1.45}.macro-chip{position:relative;min-height:32px;padding:2px 7px;background:transparent;border:1px dashed var(--border-bright);border-radius:var(--radius);font-family:var(--mono);font-size:12px;color:var(--text-dim);cursor:pointer}.macro-chip:before{content:"";position:absolute;top:-6px;right:-4px;bottom:-6px;left:-4px;min-height:44px}.macro-chip:hover,.macro-chip:focus-visible{color:var(--green);border-color:var(--green);border-style:solid}.macro-edit{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:12px;color:var(--text-dim)}.macro-edit .field{width:76px;min-height:30px;padding:2px 6px;font-size:16px}.strip{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.strip-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:var(--touch);padding:6px 2px 4px;background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-family:var(--mono)}.strip-day:hover{border-color:var(--border-bright)}.strip-day.active{border-color:var(--green);background:#3ce08c12}.strip-day.today .strip-label{color:var(--green);font-weight:600}.strip-label{font-size:11px;letter-spacing:.08em;color:var(--text-dim)}.strip-bars{display:flex;align-items:flex-end;height:38px}.strip-bar{width:12px;background:var(--cyan);border-radius:1px;min-height:3px}.strip-bar.has-allday{background:linear-gradient(to top,var(--cyan) 0%,var(--cyan) 70%,var(--amber) 70%)}.strip-count{font-size:11px;color:var(--text-dim);min-height:14px}.event{display:flex;align-items:baseline;gap:9px;min-height:var(--touch);padding:7px 0;border-bottom:1px solid rgba(34,48,57,.6)}.event:last-child{border-bottom:none}.event-colour{flex:none;width:4px;align-self:stretch;border-radius:2px;background:var(--border-bright)}.event-time{flex:none;width:108px;font-family:var(--mono);font-size:13px;color:var(--text)}.event-time.all-day{color:var(--amber);font-size:11px;letter-spacing:.06em}.event-title{flex:1;min-width:0;word-break:break-word}.event-location{display:block;font-family:var(--mono);font-size:12px;color:var(--text-dim)}@media (max-width: 560px){.event{align-items:flex-start;flex-wrap:wrap}.event-time{width:auto}}.networth{font-family:var(--mono);font-size:30px;font-weight:600;color:var(--green);line-height:1.1;letter-spacing:-.01em}.networth-target{font-size:15px;font-weight:400;color:var(--text-dim);margin-left:6px}.fx-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px solid rgba(34,48,57,.6);border-bottom:1px solid rgba(34,48,57,.6)}.spark{display:flex;align-items:flex-end;gap:2px;height:44px;margin:4px 0;overflow-x:auto}.spark-bar{flex:none;width:6px;background:var(--green);border-radius:1px;opacity:.75}.spark-bar:last-child{opacity:1}.briefing-body{font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--text)}.briefing-body p{margin:0 0 10px}.briefing-body p:last-child{margin-bottom:0}.briefing-list{margin:0 0 10px;padding-left:20px}.briefing-list li{margin-bottom:4px}.briefing-body strong{color:var(--green);font-weight:600}.notice{display:flex;gap:10px;align-items:flex-start;margin:0 var(--gap);padding:10px 12px;border:1px solid rgba(255,179,64,.5);border-left-width:3px;border-radius:var(--radius);background:#ffb34012;color:var(--amber);font-size:14px}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.gate form{width:min(340px,100%);display:flex;flex-direction:column;gap:12px;text-align:center}.gate h1{font-family:var(--mono);font-size:19px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);margin:0 0 4px}.gate .sub{color:var(--text-dim);font-size:14px;margin:0}.gate .err{color:var(--red);font-size:14px;font-family:var(--mono)}.milestone{color:var(--text-dim);font-size:14px;line-height:1.5}.milestone code{font-family:var(--mono);color:var(--cyan)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.totp-setup{margin-top:10px;display:flex;flex-direction:column;gap:10px}.totp-setup img{background:#fff;padding:8px;border-radius:4px;align-self:flex-start}.totp-setup code{color:var(--cyan);word-break:break-all}.recovery-codes{list-style:none;margin:0;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 14px;background:var(--panel-header);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:15px;letter-spacing:.08em;color:var(--text);-webkit-user-select:all;user-select:all}
