: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}@media (max-width: 440px){.statusbar{gap:8px;padding-left:12px;padding-right:12px}.statusbar .date{display:none}}.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}.chip.nav{min-height:32px;min-width:36px;justify-content:center;color:var(--text);text-decoration:none}.chip.nav:hover,.chip.nav:focus-visible{border-color:var(--green);color:var(--green)}.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}}.stack{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.stack>.panel{flex:1 1 auto}.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 .title.fold{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0;border:none;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.panel-header .title.fold .chevron{color:var(--text-dim);width:1em}.panel.folded .panel-header{border-bottom:none}.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)}.btn.ghost.safe:hover{color:var(--green)}.btn.compact{min-height:38px;padding:0 10px;font-size:12px}.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}.item.overdue{box-shadow:inset 3px 0 0 var(--red);padding-left:6px}.item.overdue .label{color:var(--red)}.section-label{margin:4px 0 2px;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}.top3{padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid var(--border-bright)}.top3 .item:last-child{border-bottom:none}.today-strip{display:flex;flex-direction:column;gap:6px;padding:8px 13px;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--green);border-radius:var(--radius);font-size:13px}.today-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}.today-label{flex:none;width:110px;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}.today-count{flex:none;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--amber)}.today-count.all-done{color:var(--green)}.today-count.urgent{color:var(--red)}.today-dim{color:var(--text-dim)}.today-text{min-width:0;word-break:break-word}.today-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.today-chip{min-height:32px;padding:0 10px;border:1px solid var(--border-bright);border-radius:var(--radius);background:none;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.today-chip.done{color:var(--green);border-color:#3ce08c80}@media (max-width: 560px){.today-label{width:100%}}.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)}.score{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--green);line-height:1}.score .of{font-size:14px;color:var(--text-dim)}.streak{font-family:var(--mono);color:var(--amber);font-size:12px}.week-nav{display:flex;align-items:center;gap:4px;margin-bottom:6px}.week-title{flex:1;display:flex;flex-direction:column;align-items:center;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.week-dates{font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--text-dim)}.btn.plan-week{width:100%;margin-bottom:8px;color:var(--green);border-color:#3ce08c99}.planning-bar{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin-bottom:8px;border:1px dashed rgba(60,224,140,.5);border-radius:var(--radius)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.day-head{display:flex;flex-direction:column;align-items:center;font-family:var(--mono);font-size:11px;color:var(--text-dim);padding-bottom:2px}.day-head .day-num{font-size:10px;opacity:.8}.day-head.today{color:var(--green);font-weight:600}.habit-block{padding:8px 0 10px;border-bottom:1px solid rgba(34,48,57,.6)}.habit-block:last-of-type{border-bottom:none}.habit-title{display:flex;align-items:center;gap:8px;min-width:0}.habit-title .name{flex:1;min-width:0;color:var(--text);font-size:14px;word-break:break-word}.habit-title .btn.ghost{min-height:36px;min-width:36px}.habit-score{flex:none;font-family:var(--mono);font-size:12px;color:var(--text-dim)}.habit-score .bonus{color:var(--cyan)}.habit-sub{display:flex;flex-wrap:wrap;gap:2px 10px;margin:0 0 6px;font-size:12px;color:var(--text-dim)}.habit-sub .minimum{color:var(--amber)}.habit-sub .minimum.unset{color:#6b8078}.cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--touch);min-width:0;padding:2px 0;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-dim);font-family:var(--mono);cursor:pointer;overflow:hidden}.cell .cell-mark{font-size:15px;line-height:1.1}.cell .cell-label,.cell .cell-day{font-size:9px;letter-spacing:.02em;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell.today{box-shadow:inset 0 0 0 1px #3ce08c59}.cell.planned{border-color:var(--border-bright);color:var(--text)}.cell.done{background:#3ce08c2e;border-color:#3ce08cb3;color:var(--green)}.cell.missed{border-color:#ff6b5e99;color:var(--red)}.cell.bonus{border-style:dashed;border-color:#5ad0e6b3;color:var(--cyan)}.cell.selected{outline:2px solid var(--amber);outline-offset:1px}.cell:focus-visible{outline:2px solid var(--green);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--text-dim)}.legend .l-done{color:var(--green)}.legend .l-missed{color:var(--red)}.legend .l-bonus{color:var(--cyan)}.recent-week{margin-right:10px;font-family:var(--mono);white-space:nowrap}.btn.add-habit{align-self:flex-start;margin-top:6px}.log-editor{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid var(--border-bright);border-radius:var(--radius);background:var(--panel-header)}.log-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.log-field{display:flex;align-items:center;gap:10px;font-size:12px}.log-field>span{flex:none;width:110px}.log-field .field{max-width:120px}.log-field.wide .field{max-width:none}.session-row{display:flex;flex-wrap:wrap;gap:6px}.btn.session{min-height:40px;padding:0 10px;font-size:12px;text-transform:none;letter-spacing:.02em}.btn.session[aria-pressed=true]{color:var(--green);border-color:var(--green)}.default-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-field{max-width:170px;color-scheme:dark}.today-link{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-dim);text-decoration:none;white-space:nowrap}.today-link:hover,.today-link:focus-visible{color:var(--green)}.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}.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}.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}.link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit}.btn.ghost.link-btn{color:var(--text-dim)}.btn.star{font-size:18px;padding:0 6px}.btn.star.on{color:var(--amber);cursor:default}.favourites{display:flex;flex-direction:column;gap:4px}.favourites-head{display:flex;align-items:center;justify-content:space-between}.favourites-head .btn{min-height:32px}.favourite-chips{display:flex;flex-wrap:wrap;gap:6px}.fav-chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--touch);padding:0 12px;border:1px solid rgba(60,224,140,.5);border-radius:var(--radius);background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}.fav-chip:hover,.fav-chip:focus-visible{border-color:var(--green);color:var(--green)}.fav-chip .fav-kcal{font-family:var(--mono);font-size:11px;color:var(--text-dim)}.fav-chip.removing{border-color:#ff6b5e99;color:var(--red)}.targets-form{display:flex;flex-direction:column;gap:8px}.book{display:flex;flex-direction:column;gap:6px;padding:10px 0 12px;border-bottom:1px solid rgba(34,48,57,.6)}.book.finished{opacity:.6}.book .btn.ghost{align-self:flex-start;min-height:34px}.book-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.book-title{color:var(--text);font-size:15px}.book-format{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--text-dim)}.bar.book-bar{height:7px}.book-link{color:var(--cyan);text-decoration:none;font-family:var(--mono)}.habit-links{display:flex;gap:16px;margin-top:8px;font-family:var(--mono);font-size:12px;letter-spacing:.04em}.habit-links a{color:var(--text-dim);text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.habit-links a:hover,.habit-links a:focus-visible{color:var(--green)}.btn.review-link{width:100%;margin-bottom:6px}.review-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(34,48,57,.5);font-size:13px;color:var(--text)}.review-row>span:last-child{font-family:var(--mono);font-size:12px;color:var(--text-dim);text-align:right}.review-row.strong>span:last-child{color:var(--green);font-weight:600}.panel-body .section-label{margin-top:12px}.reflection{display:flex;flex-direction:column;gap:6px;margin:8px 0 10px}.reflection-box{min-height:96px;resize:vertical;font:inherit;line-height:1.4}a.btn.plan-week{min-height:var(--touch)}.body-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.body-stats .stat{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--green)}.mcp-url{font-family:var(--mono);color:var(--text);word-break:break-all;-webkit-user-select:all;user-select:all}.call-row>span:first-child{display:flex;flex-direction:column;min-width:0;font-family:var(--mono);font-size:12px}.call-summary{color:var(--text-dim);font-size:11px;word-break:break-word}.call-ok{color:var(--green)}.call-bad{color:var(--red)}
