:root{--font-display:"Newsreader",ui-serif,Georgia,serif;--font-ui:"Geist",ui-sans-serif,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--gutter:20px;--pad:22px;--radius-card:14px;--radius-inner:8px}.theme-dark{--bg:oklch(0.175 0.012 55);--bg-grain:oklch(0.195 0.014 55);--surface:oklch(0.225 0.014 58);--surface-2:oklch(0.255 0.015 58);--surface-sunken:oklch(0.195 0.012 55);--ink:oklch(0.95 0.010 80);--ink-2:oklch(0.82 0.012 75);--ink-3:oklch(0.66 0.014 70);--ink-4:oklch(0.50 0.014 65);--rule:oklch(0.32 0.015 58);--rule-2:oklch(0.28 0.014 58);--accent:oklch(0.78 0.060 172);--accent-soft:oklch(0.32 0.040 172);--accent-ink:oklch(0.85 0.055 172);--danger:oklch(0.72 0.14 28);--danger-soft:oklch(0.30 0.05 28);--gain:oklch(0.78 0.10 155);--loss:oklch(0.72 0.14 28);--warn:oklch(0.78 0.11 75);--shadow-card:0 1px 0 oklch(1 0 0/0.03) inset,0 2px 8px oklch(0 0 0/0.25),0 12px 32px -16px oklch(0 0 0/0.40);--bg-outer:oklch(0.14 0.010 55);--bg-outer-1:oklch(0.22 0.015 55/0.9);--bg-outer-2:oklch(0.18 0.010 40/0.9);--dash-shadow-1:oklch(0.25 0.02 60/0.25);--dash-shadow-2:oklch(0.25 0.02 60/0.10);--dash-rim:oklch(1 0 0/0.5);--grain-opacity:0.18;--grain-blend:screen;--thumb-a:oklch(0.32 0.02 60);--thumb-b:oklch(0.28 0.02 60);--thumb-b-a:oklch(0.38 0.04 30);--thumb-b-b:oklch(0.33 0.03 30);--thumb-c-a:oklch(0.34 0.03 170);--thumb-c-b:oklch(0.30 0.03 170)}.theme-light{--bg:oklch(0.985 0.004 80);--bg-grain:oklch(0.96 0.008 75);--surface:oklch(1.00 0.002 80);--surface-2:oklch(0.965 0.008 75);--surface-sunken:oklch(0.955 0.010 72);--ink:oklch(0.24 0.015 55);--ink-2:oklch(0.40 0.015 58);--ink-3:oklch(0.55 0.018 60);--ink-4:oklch(0.70 0.015 65);--rule:oklch(0.88 0.012 70);--rule-2:oklch(0.92 0.008 70);--accent:oklch(0.52 0.080 172);--accent-soft:oklch(0.94 0.028 172);--accent-ink:oklch(0.42 0.080 172);--danger:oklch(0.54 0.17 28);--danger-soft:oklch(0.95 0.035 28);--gain:oklch(0.52 0.13 155);--loss:oklch(0.54 0.17 28);--warn:oklch(0.62 0.13 75);--shadow-card:0 1px 0 oklch(1 0 0/0.5) inset,0 1px 2px oklch(0.4 0.02 60/0.05),0 8px 20px -12px oklch(0.4 0.02 60/0.18);--bg-outer:oklch(0.93 0.012 75);--bg-outer-1:oklch(0.96 0.018 80/0.9);--bg-outer-2:oklch(0.90 0.014 55/0.8);--dash-shadow-1:oklch(0.4 0.02 60/0.12);--dash-shadow-2:oklch(0.4 0.02 60/0.06);--dash-rim:oklch(1 0 0/0.9);--grain-opacity:0.06;--grain-blend:multiply;--thumb-a:oklch(0.82 0.025 60);--thumb-b:oklch(0.76 0.028 60);--thumb-b-a:oklch(0.85 0.04 30);--thumb-b-b:oklch(0.78 0.05 30);--thumb-c-a:oklch(0.85 0.03 170);--thumb-c-b:oklch(0.78 0.04 170)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg-outer);color:var(--ink);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-wrap{min-height:100vh;padding:28px;display:grid;grid-template-columns:minmax(0,1440px);justify-content:center;background:radial-gradient(1200px 600px at 20% -10%,var(--bg-outer-1),transparent 60%),radial-gradient(1200px 600px at 110% 110%,var(--bg-outer-2),transparent 60%),var(--bg-outer)}.dash{background:var(--bg);color:var(--ink);border-radius:18px;overflow:hidden;position:relative;box-shadow:0 1px 0 var(--dash-rim) inset,0 30px 60px -30px var(--dash-shadow-1),0 10px 20px -10px var(--dash-shadow-2)}.dash:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.4 0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:var(--grain-opacity);pointer-events:none;mix-blend-mode:var(--grain-blend)}.dash-inner{position:relative;padding:22px 24px 28px;display:flex;flex-direction:column;gap:18px;min-height:100%}.topbar{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--rule)}.brand,.topbar{align-items:center}.brand{display:flex;gap:10px;font-family:var(--font-display);font-weight:500;font-size:18px;letter-spacing:-.01em}.brand-glyph{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--accent) 0,oklch(.48 .06 200) 100%);position:relative;box-shadow:inset 0 1px 0 oklch(1 0 0/.3),0 2px 8px oklch(0 0 0/.15)}.brand-glyph:after{content:"";position:absolute;inset:6px;background:var(--surface);border-radius:3px;-webkit-clip-path:polygon(0 40%,30% 40%,30% 0,60% 0,60% 70%,100% 70%,100% 100%,0 100%);clip-path:polygon(0 40%,30% 40%,30% 0,60% 0,60% 70%,100% 70%,100% 100%,0 100%);opacity:.9}.brand em{font-style:italic;color:var(--ink-3);font-weight:400}.top-search{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--surface-sunken);border:1px solid var(--rule);border-radius:8px;color:var(--ink-3);font-size:13px;max-width:340px;justify-self:end}.top-search kbd{font-family:var(--font-mono);font-size:10.5px;padding:2px 6px;background:var(--surface);border:1px solid var(--rule);border-radius:4px;color:var(--ink-3)}.top-meta{display:flex;align-items:center;gap:14px;justify-content:flex-end;font-size:12.5px;color:var(--ink-3)}.sync-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;background:var(--surface-sunken);border:1px solid var(--rule);border-radius:999px;font-size:11.5px;color:var(--ink-2)}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sync-dot.warn{background:var(--warn);box-shadow:0 0 0 3px oklch(from var(--warn) l c h/.3)}.refresh-btn{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--surface-sunken);border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;transition:color .12s ease,background .12s ease}.refresh-btn:hover{color:var(--ink);background:var(--surface-2)}.refresh-btn svg{transition:transform .2s ease}.refresh-btn.refreshing svg{animation:refreshspin .8s cubic-bezier(.4,0,.2,1) 1;color:var(--accent)}@keyframes refreshspin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,oklch(.65 .08 50),oklch(.55 .1 30));color:#fff;display:inline-grid;place-items:center;font-weight:600;font-size:11.5px;box-shadow:inset 0 1px 0 oklch(1 0 0/.3)}.greet{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:16px;gap:16px;padding:4px 2px 2px}.greet h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.greet h1 em{font-style:italic;color:var(--ink-3);font-weight:300}.greet .sub{font-size:13px;color:var(--ink-3);margin-top:6px}.greet .sub .sep{color:var(--ink-4);margin:0 8px}.greet .focus{font-size:12.5px;color:var(--ink-2);padding:8px 12px;background:var(--accent-soft);border-radius:8px;max-width:360px;line-height:1.35}.greet .focus b{color:var(--accent-ink);font-weight:600}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:var(--gutter);gap:var(--gutter);align-content:start}.c-1{grid-column:span 1}.c-2{grid-column:span 2}.c-3{grid-column:span 3}.c-4{grid-column:span 4}.c-5{grid-column:span 5}.c-6{grid-column:span 6}.c-7{grid-column:span 7}.c-8{grid-column:span 8}.c-9{grid-column:span 9}.c-10{grid-column:span 10}.c-11{grid-column:span 11}.c-12{grid-column:span 12}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-card);padding:var(--pad);position:relative;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;min-width:0}.card.sunken{background:var(--surface-sunken)}.card.tight{padding:16px 18px;gap:10px}.card-head{gap:10px;justify-content:space-between}.card-head,.card-title{display:flex;align-items:center}.card-title{gap:8px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.card-title .marker{width:6px;height:6px;border-radius:2px;background:var(--ink-3);opacity:.5}.card-title .marker.sage{background:var(--accent);opacity:1}.card-title .marker.amber{background:var(--warn);opacity:1}.card-title .marker.clay{background:oklch(.58 .08 40);opacity:1}.card-title .marker.plum{background:oklch(.55 .06 340);opacity:1}.card-actions{display:flex;align-items:center;gap:4px;color:var(--ink-3);font-size:12px}.icon-btn{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:6px;color:var(--ink-3);cursor:pointer;background:transparent;border:0}.icon-btn:hover{background:var(--surface-sunken);color:var(--ink)}.drag-handle{opacity:0;transition:opacity .12s ease;cursor:-webkit-grab;cursor:grab;color:var(--ink-4);font-size:13px;letter-spacing:-2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card:hover .drag-handle{opacity:1}.kicker{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.mono{font-family:var(--font-mono)}.mono,.tnum{font-feature-settings:"tnum"}.tnum{font-variant-numeric:tabular-nums}.serif{font-family:var(--font-display)}.ink-3{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.ink-4{color:var(--ink-4)}.gain{color:var(--gain)}.loss{color:var(--loss)}.dotsep:before{content:"·";margin:0 7px;color:var(--ink-4)}hr.rule{border:0;border-top:1px solid var(--rule);margin:0}hr.rule-2{border:0;border-top:1px dashed var(--rule);margin:0}.clock-card{gap:16px}.clock{display:flex;align-items:baseline;gap:6px;font-family:var(--font-display);font-weight:300;font-size:64px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock .sec{font-size:22px;color:var(--ink-3);margin-left:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.clock .ampm{font-family:var(--font-ui);letter-spacing:.1em;margin-left:8px;text-transform:uppercase}.clock .ampm,.datestrip{font-size:13px;color:var(--ink-3)}.datestrip{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.datestrip .big{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--ink-2);font-size:16px}.wx-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding-top:4px}.wx-glyph{width:52px;height:52px;border-radius:10px;background:radial-gradient(circle at 30% 30%,oklch(.95 .05 80),oklch(.82 .08 70) 60%,oklch(.72 .08 55) 100%);position:relative;box-shadow:inset 0 1px 0 oklch(1 0 0/.4)}.wx-glyph.cloudy{background:linear-gradient(135deg,oklch(.92 .012 240),oklch(.78 .018 240))}.wx-glyph.rain{background:linear-gradient(135deg,oklch(.62 .05 240),oklch(.42 .06 240))}.wx-glyph .sun{position:absolute;inset:10px;border-radius:50%;background:oklch(.88 .1 75);box-shadow:0 0 14px oklch(.85 .15 75/.5)}.wx-temp{font-family:var(--font-display);font-size:38px;font-weight:300;line-height:1;letter-spacing:-.02em;color:var(--ink)}.wx-temp sup{font-size:16px;color:var(--ink-3);font-weight:400}.wx-meta{text-align:right;font-size:12px;color:var(--ink-3);line-height:1.45}.wx-meta b{color:var(--ink-2);font-weight:500}.wx-hourly{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:6px;gap:6px;padding-top:8px;border-top:1px solid var(--rule)}.wx-h{text-align:center;font-size:11px;color:var(--ink-3);display:flex;flex-direction:column;gap:4px;padding:4px 0}.wx-h .t{font-family:var(--font-mono);font-size:12px;color:var(--ink-2)}.wx-h .ic{font-size:13px;opacity:.8}.wx-extras{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--rule);font-size:12px;color:var(--ink-3)}.wx-extra-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.4}.aqi-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.aqi-dot.aqi-gain{background:var(--gain);box-shadow:0 0 0 3px oklch(from var(--gain) l c h/.2)}.aqi-dot.aqi-warn{background:var(--warn);box-shadow:0 0 0 3px oklch(from var(--warn) l c h/.2)}.aqi-dot.aqi-loss{background:var(--loss);box-shadow:0 0 0 3px oklch(from var(--loss) l c h/.2)}.aqi-dot.aqi-ink-3{background:var(--ink-4)}.pollen-lv-1{color:var(--gain);font-weight:500}.pollen-lv-2{color:var(--warn);font-weight:500}.pollen-lv-3{color:var(--loss);font-weight:500}.agenda{display:flex;flex-direction:column;gap:2px;position:relative}.agenda-days{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.agenda-day{font-size:11.5px;padding:5px 10px;border-radius:999px;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font-family:inherit}.agenda-day.active{background:var(--ink);color:var(--bg)}.agenda-day .n{font-family:var(--font-mono);font-weight:500;font-size:11px}.ev{display:grid;grid-template-columns:64px 12px 1fr auto;align-items:flex-start;grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px dashed var(--rule);position:relative}.ev:last-child{border-bottom:0}.ev-time{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);line-height:1.35;padding-top:2px}.ev-time .end{color:var(--ink-4);font-size:11px}.ev-rail{width:3px;border-radius:2px;background:var(--ink-4);align-self:stretch;opacity:.5}.ev-rail.sage{background:var(--accent);opacity:1}.ev-rail.clay{background:oklch(.6 .09 40);opacity:1}.ev-rail.plum{background:oklch(.55 .07 340);opacity:1}.ev-rail.amber{background:var(--warn);opacity:1}.ev-body{min-width:0;display:flex;flex-direction:column;gap:3px}.ev-title{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.ev-meta{font-size:11.5px;color:var(--ink-3);gap:4px;flex-wrap:wrap}.ev-meta,.ev-right{display:flex;align-items:center}.ev-right{gap:6px}.ev-attendees{display:flex}.ev-attendees .a{width:20px;height:20px;border-radius:50%;font-size:9.5px;font-weight:600;display:inline-grid;place-items:center;color:#fff;border:2px solid var(--surface);margin-left:-6px}.ev-attendees .a:first-child{margin-left:0}.horizon-rule{display:flex;align-items:center;gap:10px;margin:6px 0;color:var(--ink-4);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}.horizon-rule:after,.horizon-rule:before{content:"";flex:1 1;height:1px;background:repeating-linear-gradient(90deg,var(--rule) 0 4px,transparent 4px 8px)}.tasks{display:flex;flex-direction:column;gap:2px}.task{display:grid;grid-template-columns:18px 1fr auto;align-items:flex-start;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px dashed var(--rule)}.task:last-child{border-bottom:0}.task .chk{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--ink-4);margin-top:2px;position:relative;flex-shrink:0;background:transparent}.task.done .chk{background:var(--accent);border-color:var(--accent)}.task.done .chk:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border-right:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:rotate(45deg)}.task.done .t-title{text-decoration:line-through;color:var(--ink-4)}.t-body{min-width:0;display:flex;flex-direction:column;gap:3px}.t-title{font-size:13.5px;color:var(--ink);line-height:1.35;background:transparent;border:0;width:100%;font-family:inherit;padding:0}.t-title:focus{outline:1px dashed var(--rule);border-radius:3px}.t-meta{font-size:11px;color:var(--ink-3);display:flex;gap:6px;flex-wrap:wrap}.t-meta,.tag{align-items:center}.tag{display:inline-flex;gap:4px;padding:2px 7px;border-radius:4px;font-size:10.5px;background:var(--surface-sunken);border:1px solid var(--rule);color:var(--ink-2);letter-spacing:.02em}.tag.sage{background:var(--accent-soft);color:var(--accent-ink)}.tag.red,.tag.sage{border-color:transparent}.tag.red{background:var(--danger-soft);color:var(--danger)}.tag.amber{background:oklch(from var(--warn) .32 .05 h);border-color:transparent;color:oklch(from var(--warn) .82 .1 h)}.prio{font-family:var(--font-mono);font-size:10px;width:18px;text-align:center;padding:2px 0;border-radius:3px;background:var(--surface-sunken);color:var(--ink-3);border:1px solid var(--rule);cursor:pointer}.prio.p1{color:var(--danger);border-color:var(--danger-soft);background:var(--danger-soft)}.prio.p2{background:oklch(from var(--warn) .3 .04 h);border-color:oklch(from var(--warn) .4 .05 h);color:var(--warn)}.prio.p3{color:var(--accent-ink);background:var(--accent-soft);border-color:transparent}.task-tabs{display:flex;gap:2px;font-size:11.5px}.task-tabs .t{padding:5px 9px;border-radius:6px;color:var(--ink-3);cursor:pointer;background:transparent;border:0;font-family:inherit}.task-tabs .t.active{background:var(--surface-sunken);color:var(--ink)}.task-tabs .t .ct{color:var(--ink-4);margin-left:5px;font-family:var(--font-mono);font-size:10.5px}.task-add{display:flex;align-items:center;gap:8px;padding:8px 0 4px;border-top:1px dashed var(--rule);margin-top:6px}.task-add input{flex:1 1;background:var(--surface-sunken);border:1px solid var(--rule);color:var(--ink);font-family:inherit;font-size:12.5px;padding:7px 10px;border-radius:6px}.task-add input::placeholder{color:var(--ink-4)}.idx-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.idx{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:var(--surface-sunken);border:1px solid var(--rule);min-width:0;position:relative;overflow:hidden}.idx .name{font-size:11px;color:var(--ink-3);letter-spacing:.05em}.idx .val{font-size:15px;font-weight:500;color:var(--ink)}.idx .chg,.idx .val{font-family:var(--font-mono)}.idx .chg{font-size:11.5px}.idx svg{position:absolute;right:8px;bottom:8px;opacity:.9}.wl{width:100%;border-collapse:collapse;font-size:12.5px}.wl th{text-align:left;font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);padding:8px 0;border-bottom:1px solid var(--rule)}.wl td.num,.wl th.num{text-align:right;font-family:var(--font-mono)}.wl td{padding:10px 0;border-bottom:1px dashed var(--rule);color:var(--ink-2);vertical-align:middle}.wl tr:last-child td{border-bottom:0}.wl td.sym{color:var(--ink);font-weight:500}.wl td.name{color:var(--ink-3);font-size:11.5px}.wl td.spark svg{display:block}.wl td .px{color:var(--ink)}.mk-sections{display:flex;flex-direction:column;gap:14px}.mk-group-title{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px;font-weight:600}.mk-items{display:flex;flex-direction:column}.mk-item{display:grid;grid-template-columns:1fr auto auto auto;grid-gap:12px;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--rule)}.mk-item:last-child{border-bottom:0}.mk-name{font-size:13px;color:var(--ink);font-weight:500;letter-spacing:-.005em}.mk-name .sym{font-family:var(--font-mono);color:var(--ink-4);font-size:10px;margin-left:6px;letter-spacing:.03em}.mk-spark{display:flex;align-items:center}.mk-val{font-size:13.5px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mk-chg,.mk-val{font-family:var(--font-mono);text-align:right}.mk-chg{font-size:12px;min-width:78px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.news-tabs{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid var(--rule);flex-wrap:wrap}.news-tabs .t{padding:7px 11px;font-size:11.5px;letter-spacing:.03em;color:var(--ink-3);cursor:pointer;margin-bottom:-1px;background:transparent;border:0;border-bottom:1.5px solid transparent;font-family:inherit}.news-tabs .t.active{color:var(--ink);border-bottom-color:var(--ink)}.news-tabs .t .ct{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);margin-left:4px}.news-list{display:flex;flex-direction:column}.story{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;padding:12px 0;border-bottom:1px dashed var(--rule);align-items:flex-start;text-decoration:none;color:inherit}.story:hover h4{color:var(--accent-ink)}.story:last-child{border-bottom:0}.story .body{display:flex;flex-direction:column;gap:4px;min-width:0}.story .src{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:6px}.story .src .fav{width:10px;height:10px;border-radius:2px;background:var(--ink-3)}.story h4{margin:0;font-family:var(--font-display);font-size:16px;font-weight:500;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}.story .dek{font-size:12px;color:var(--ink-3);line-height:1.4}.story .thumb{width:84px;height:64px;border-radius:8px;background:repeating-linear-gradient(135deg,var(--thumb-a) 0 8px,var(--thumb-b) 8px 16px);flex-shrink:0}.story .thumb.tone-b{background:repeating-linear-gradient(135deg,var(--thumb-b-a) 0 8px,var(--thumb-b-b) 8px 16px)}.story .thumb.tone-c{background:repeating-linear-gradient(135deg,var(--thumb-c-a) 0 8px,var(--thumb-c-b) 8px 16px)}.ticker{display:flex;gap:18px;overflow:hidden;white-space:nowrap;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);padding:6px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.email-list{display:flex;flex-direction:column}.mail{display:grid;grid-template-columns:24px 1fr auto;grid-gap:10px;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--rule)}.mail:last-child{border-bottom:0}.mail .av{width:24px;height:24px;border-radius:6px;display:inline-grid;place-items:center;font-size:10px;font-weight:600;color:#fff;margin-top:2px}.mail .body{min-width:0}.mail .from{display:flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--ink);font-weight:500}.mail .from .tag{margin-left:4px}.mail .subj{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail .subj b{color:var(--ink);font-weight:500}.mail .time{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);white-space:nowrap}.mail.unread .from:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:6px;vertical-align:middle}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));grid-gap:10px;gap:10px}.link-item{position:relative;border-radius:10px;background:var(--surface-sunken);border:1px solid var(--rule);overflow:hidden;transition:transform .12s ease,background .12s ease,border-color .12s ease}.link-item:hover{background:var(--surface-2);border-color:oklch(from var(--rule) calc(l + .04) c h);transform:translateY(-1px)}.link-anchor{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;padding:14px 10px 12px;gap:8px}.link-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 1px 0 oklch(1 0 0/.07),0 1px 2px oklch(0 0 0/.25)}.link-icon svg{display:block;filter:drop-shadow(0 1px 0 oklch(0 0 0/.25))}.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));grid-gap:4px;gap:4px;max-width:100%}.icon-picker-btn{width:100%;aspect-ratio:1;padding:4px;border:1px solid var(--rule);border-radius:6px;background:var(--surface-sunken);cursor:pointer;display:grid;place-items:center;transition:border-color .12s ease,transform .12s ease}.icon-picker-btn:hover{border-color:var(--ink-3);transform:translateY(-1px)}.icon-picker-btn.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.icon-picker-btn .link-icon{width:100%;height:100%;box-shadow:none}.link-icon-edit{padding:8px;border-top:1px solid var(--rule);background:var(--surface)}.link-title{font-size:11.5px;font-weight:500;color:var(--ink);line-height:1.25;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.link-host,.link-title{overflow:hidden;max-width:100%}.link-host{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-4);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.02em}.link-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .12s}.link-item:hover .link-actions{opacity:1}.link-act-btn{width:18px;height:18px;display:grid;place-items:center;border-radius:4px;background:var(--surface);border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;font-family:inherit}.link-act-btn:hover{background:var(--surface-2);color:var(--ink)}.link-act-btn:disabled{opacity:.3;cursor:not-allowed}.link-act-btn.link-del:hover{background:var(--danger-soft);color:var(--danger);border-color:transparent}.link-add{padding:8px 0 10px;border-bottom:1px dashed var(--rule);margin-bottom:6px}.parcel,.parcels-list{display:flex;flex-direction:column}.parcel{gap:3px;padding:10px 0;border-bottom:1px dashed var(--rule)}.parcel:last-child{border-bottom:0}.parcel-done{opacity:.65}.parcel-head{display:flex;align-items:center;gap:8px}.parcel-label{font-size:13px;color:var(--ink);font-weight:500;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parcel-number{font-size:10.5px;color:var(--ink-4);letter-spacing:.02em}.parcel-status{font-size:12px;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:baseline}.parcel-actions{display:flex;gap:2px}.parcel-add{padding:8px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule);margin-bottom:6px}.parcel-carrier{padding:4px 9px;font-size:11px;font-weight:600;background:var(--surface-sunken);color:var(--ink-3);border:1px solid var(--rule);border-radius:5px;cursor:pointer;letter-spacing:.04em;font-family:inherit}.parcel-carrier:hover{color:var(--ink)}.parcel-input{background:var(--surface-sunken);border:1px solid var(--rule);border-radius:6px;color:var(--ink)}.parcel-input,.parcel-submit{width:100%;padding:7px 10px;font-size:12.5px;font-family:inherit}.parcel-submit{margin-top:6px;background:var(--accent-soft);color:var(--accent-ink);border:0;border-radius:6px;font-weight:600;cursor:pointer}.parcel-submit:hover{filter:brightness(1.1)}.commute-row{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:10px;gap:10px;align-items:center;padding:10px 0}.commute-row:not(:last-child){border-bottom:1px dashed var(--rule)}.commute-mode{font-size:11px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px}.commute-time{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.commute-time .unit{font-size:12px;color:var(--ink-3);font-family:var(--font-ui);margin-left:2px}.commute-delta{font-family:var(--font-mono);font-size:11.5px}.notes{background:repeating-linear-gradient(transparent 0 27px,var(--rule-2) 27px 28px),var(--surface);padding:18px 20px 18px 22px;min-height:160px;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:14.5px;line-height:28px;color:var(--ink-2);border-radius:var(--radius-inner);border:1px solid var(--rule);position:relative;width:100%;resize:vertical}.notes:focus{outline:1px solid var(--accent)}.notes-wrap{position:relative}.notes-stamp{position:absolute;top:8px;right:10px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;color:var(--ink-4);text-transform:uppercase;pointer-events:none}.foot{justify-content:space-between;gap:14px;padding:10px 2px 2px;border-top:1px solid var(--rule);margin-top:4px;font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.foot,.foot-row{display:flex;align-items:center;flex-wrap:wrap}.foot-row{gap:16px}.foot-item{padding:3px 0;color:var(--ink-2);background:transparent;line-height:1}.foot-item,.foot-link{display:inline-flex;align-items:center;gap:5px;border:0;font-family:inherit;font-size:inherit}.foot-link{padding:3px 6px;color:var(--accent-ink);background:var(--accent-soft);border-radius:5px;cursor:pointer;text-decoration:none;line-height:1.3}.foot-link:hover{filter:brightness(1.1)}.foot-actions{display:inline-flex;align-items:center;gap:6px}.foot-actions .foot-link{background:transparent;color:var(--ink-3);padding:3px 2px}.foot-actions .foot-link:hover{color:var(--ink);filter:none}.foot-x{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:2px;background:transparent;border:0;border-radius:3px;color:var(--ink-4);cursor:pointer}.foot-x:hover{background:var(--surface-sunken);color:var(--ink-2)}.spark-path{fill:none;stroke-width:1.25;vector-effect:non-scaling-stroke}.dash-grid.react-grid-layout{position:relative}.dash-grid .react-grid-item{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease;min-width:0}.dash-grid .tile-wrap{width:100%;height:100%;min-height:0}.dash-grid .tile-wrap>.card{height:100%;min-height:100%;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.dash-grid .react-grid-item.react-draggable-dragging .tile-wrap>.card,.dash-grid .react-grid-item:active .tile-wrap>.card{cursor:-webkit-grabbing;cursor:grabbing}.dash-grid .tile-wrap a,.dash-grid .tile-wrap button,.dash-grid .tile-wrap input,.dash-grid .tile-wrap select,.dash-grid .tile-wrap textarea{cursor:auto}.dash-grid .react-grid-item.react-draggable-dragging{z-index:50;transition:none}.dash-grid .react-grid-item.react-draggable-dragging .tile-wrap>.card{box-shadow:0 24px 50px -20px oklch(0 0 0/.55),inset 0 1px 0 oklch(1 0 0/.04);transform:scale(1.012);transition:transform .1s ease}.dash-grid .react-grid-placeholder{background:var(--accent-soft)!important;border:1.5px dashed var(--accent)!important;border-radius:var(--radius-card);opacity:.35!important;transition-duration:.12s}.toast{padding:10px 14px;border-radius:8px;font-size:12.5px;font-weight:500;border:1px solid transparent}.toast-ok{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.toast-err{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}