:root{--bg: #0b1220;--bg-elevated: #111a2b;--surface: #16223a;--surface-2: #1d2c48;--border: #26375a;--border-strong: #33507d;--text: #eef2f9;--text-secondary: #a7b4cc;--text-muted: #6b7a99;--cyan: #22d3ee;--cyan-deep: #0e9fb8;--amber: #f5b350;--amber-deep: #d8933a;--p-high: #f5876f;--p-med: #7f9bd6;--p-low: #5a6b8a;--danger: #e0736b;--success: #66c295;--tint-cyan: rgba(34, 211, 238, .12);--tint-amber: rgba(245, 179, 80, .14);--tint-amber-border: rgba(245, 179, 80, .4);--font-display: "Fraunces", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 16px;--radius-sm: 11px;--touch: 56px;--maxw: 560px;--tabbar-h: 68px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}.boot{min-height:100dvh;display:grid;place-items:center}.boot-mark{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.01em;color:var(--text-secondary)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:40px 30px;text-align:center}.login-logo{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:46px;margin-bottom:18px}.login-logo i{display:block;width:15px;border-radius:5px;background:var(--cyan)}.login-logo i:nth-child(1){height:22px}.login-logo i:nth-child(2){height:34px}.login-logo i:nth-child(3){height:46px;background:var(--amber)}.login-title{font-family:var(--font-display);font-size:1.9rem;font-weight:500;margin:0 0 6px}.login-sub{color:var(--text-muted);font-size:.95rem;margin:0 0 28px;line-height:1.5}.login-notice{margin-top:18px;font-size:.82rem;color:var(--danger);background:#e0736b1a;border:1px solid rgba(224,115,107,.3);border-radius:var(--radius-sm);padding:10px 12px}.login-config{margin-top:18px;font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono)}.app{min-height:100dvh}.screen{max-width:var(--maxw);margin:0 auto;padding:20px 18px calc(var(--tabbar-h) + 28px)}.page-head{display:flex;align-items:baseline;justify-content:space-between;margin:6px 2px 20px}.page-title{font-family:var(--font-display);font-size:1.55rem;font-weight:500;margin:0;letter-spacing:.005em}.page-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.btn{min-height:var(--touch);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;width:100%;transition:transform .06s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--cyan);color:#04222a}.btn-primary:hover:not(:disabled){background:#3fdcf3}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface)}.btn-amber{background:var(--amber);color:#2c1c05}.btn-amber:hover:not(:disabled){background:#ffc36a}.capture-greet{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-secondary);margin:8px 2px 22px;line-height:1.3}.capture-greet b{color:var(--text);font-weight:500}.mic{position:relative;width:100%;min-height:128px;border-radius:var(--radius);border:1px solid var(--border-strong);background:radial-gradient(120% 120% at 50% 0%,var(--surface-2),var(--surface));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text);transition:border-color .2s ease,background .2s ease}.mic:hover{border-color:var(--cyan-deep)}.mic.recording{border-color:var(--cyan);background:var(--tint-cyan)}.mic-glyph{font-size:2rem;line-height:1}.mic-label{font-size:.98rem;color:var(--text-secondary)}.mic.recording .mic-label{color:var(--cyan)}.mic-pulse{width:14px;height:14px;border-radius:50%;background:var(--cyan);animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.capture-or{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;margin:20px 0}.capture-or:before,.capture-or:after{content:"";height:1px;background:var(--border);flex:1}.capture-box{width:100%;min-height:88px;resize:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:16px;font-size:1.05rem;line-height:1.5}.capture-box::placeholder{color:var(--text-muted)}.capture-actions{margin-top:14px}.chip-attached{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;background:var(--tint-cyan);border:1px solid var(--cyan-deep);color:var(--cyan);border-radius:999px;padding:8px 14px;font-family:var(--font-mono);font-size:.82rem}.chip-attached button{background:none;border:none;color:inherit;font-size:1rem;line-height:1;padding:0 2px}.hint{margin-top:14px;color:var(--text-muted);font-size:.88rem}.error{margin-top:14px;color:var(--danger);font-size:.9rem}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:999px;padding:12px 20px;font-size:.92rem;box-shadow:0 8px 30px #0006;display:inline-flex;align-items:center;gap:10px;z-index:40;max-width:calc(var(--maxw) - 36px)}.toast b{color:var(--cyan)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px;display:flex;gap:13px;align-items:flex-start}.card+.card{margin-top:11px}.card-check{flex:none;width:26px;height:26px;margin-top:2px;border-radius:8px;border:2px solid var(--border-strong);background:transparent;display:grid;place-items:center;color:transparent;transition:all .12s ease}.card-check:hover{border-color:var(--cyan)}.card-check.done{background:var(--success);border-color:var(--success);color:#06251a}.card-body{flex:1;min-width:0}.card-title{font-size:1.04rem;line-height:1.35}.card.done .card-title{color:var(--text-muted);text-decoration:line-through}.card-raw{color:var(--text-muted);font-size:.85rem;margin-top:3px;font-style:italic}.card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;align-items:center}.tag{font-family:var(--font-mono);font-size:.72rem;padding:3px 8px;border-radius:7px;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.tag-label{color:var(--cyan);border-color:var(--cyan-deep);background:var(--tint-cyan)}.tag-date{color:var(--text-secondary)}.tag-date.overdue{color:var(--danger);border-color:#e0736b66}.pri{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.pri i{width:7px;height:7px;border-radius:50%}.pri.p1 i{background:var(--p-high)}.pri.p1{color:var(--p-high)}.pri.p2 i{background:var(--p-med)}.pri.p3 i{background:var(--p-low)}.parsing{font-family:var(--font-mono);font-size:.72rem;color:var(--amber)}.today-lead{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-secondary);margin:8px 2px 4px}.today-lead b{color:var(--text);font-weight:500}.progress{font-family:var(--font-mono);font-size:.82rem;color:var(--amber);margin:0 2px 22px;letter-spacing:.04em}.formation{position:relative}.pick{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:17px;display:flex;gap:13px;align-items:flex-start}.pick+.pick{margin-top:12px}.pick.top{border-left-color:var(--amber);background:linear-gradient(90deg,var(--tint-amber),var(--bg-elevated) 55%)}.pick.done{opacity:.58}.pick-rank{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);margin-top:3px;flex:none;width:20px}.pick.top .pick-rank{color:var(--amber)}.today-done{text-align:center;margin-top:30px;padding:22px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-secondary)}.today-done .big{font-family:var(--font-display);font-size:1.3rem;color:var(--text);display:block;margin-bottom:4px}.empty{text-align:center;padding:56px 24px;color:var(--text-muted)}.empty-glyph{font-size:2.2rem;opacity:.5}.empty-title{font-family:var(--font-display);font-size:1.25rem;color:var(--text-secondary);margin:12px 0 6px}.empty-sub{font-size:.92rem;line-height:1.5}.filters{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;margin:0 -2px 4px}.filter{flex:none;font-family:var(--font-mono);font-size:.78rem;padding:7px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap}.filter.active{background:var(--tint-cyan);border-color:var(--cyan-deep);color:var(--cyan)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0408109e;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:var(--maxw);background:var(--bg-elevated);border:1px solid var(--border-strong);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;padding:8px 20px calc(22px + env(safe-area-inset-bottom));max-height:88dvh;overflow-y:auto;animation:rise .22s ease}@keyframes rise{0%{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:8px auto 16px}.sheet-raw{color:var(--text-muted);font-size:.88rem;font-style:italic;background:var(--surface);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:18px;line-height:1.45}.field{margin-bottom:15px}.field-label{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:7px}.field-label .low{color:var(--amber);text-transform:none;letter-spacing:0;margin-left:8px;font-size:.82em}.input{width:100%;min-height:50px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:12px 13px;font-size:1rem}.input.low{border-color:var(--tint-amber-border);background:var(--tint-amber)}.field-row{display:flex;gap:11px}.field-row .field{flex:1}.seg{display:flex;gap:8px}.seg button{flex:1;min-height:46px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:.82rem}.seg button.on{background:var(--tint-cyan);border-color:var(--cyan-deep);color:var(--cyan)}.sheet-actions{display:flex;gap:11px;margin-top:22px}.sheet-actions .btn{flex:1}@media (pointer: fine){.sheet-scrim{align-items:center;padding:28px}.sheet{border-radius:var(--radius);border-bottom:1px solid var(--border-strong);padding-bottom:22px;max-height:85dvh}}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#0b1220eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);display:flex;z-index:30}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);letter-spacing:.03em}.tab-glyph{font-size:1.15rem;line-height:1}.tab.active{color:var(--cyan)}.tab.active .tab-glyph{filter:drop-shadow(0 0 8px rgba(34,211,238,.5))}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
