:root{--bg: #f6efdd;--bg-alt: #ece0bf;--surface: #fcf8ec;--ink: #20291d;--ink-soft: #54604e;--ink-faint: #6e7a63;--hero-bg: #123430;--hero-bg-deep: #0c2723;--hero-ink: #f6efde;--hero-ink-soft: #b7cca0;--accent-marigold: #f2a93b;--accent-marigold-ink: #3a2408;--accent-coral: #de5d46;--accent-moss: #4c7a50;--accent-brown: #8c5a34;--line: rgba(32, 41, 29, .16);--hero-line: rgba(246, 239, 222, .2);--font-display: "Baloo 2", system-ui, sans-serif;--font-body: Karla, system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;--radius-sticker: 38% 62% 58% 42% / 44% 40% 60% 56%;--radius-pill: 999px;--radius-card: 22px;--radius-cell: 12px;--shadow-raised: 0 10px 24px -12px rgba(20, 24, 14, .35);--shadow-sticker: 0 8px 16px -7px rgba(0, 0, 0, .47);--wrap: 76rem;--gutter: clamp(1.25rem, 4vw, 3rem);--section-space: clamp(3.5rem, 7vw, 6rem)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101c17;--bg-alt: #16241d;--surface: #182922;--ink: #eee7d3;--ink-soft: #b7c4b2;--ink-faint: #7c8b79;--hero-bg: #153a34;--hero-bg-deep: #0a2019;--hero-ink: #f6efde;--hero-ink-soft: #b9ccc0;--accent-marigold: #f5b052;--accent-marigold-ink: #2e1c06;--accent-coral: #ec7562;--accent-moss: #6fa36c;--accent-brown: #b98552;--line: rgba(238, 231, 211, .14);--hero-line: rgba(246, 239, 222, .2)}}:root[data-theme=dark]{--bg: #101c17;--bg-alt: #16241d;--surface: #182922;--ink: #eee7d3;--ink-soft: #b7c4b2;--ink-faint: #7c8b79;--hero-bg: #153a34;--hero-bg-deep: #0a2019;--hero-ink: #f6efde;--hero-ink-soft: #b9ccc0;--accent-marigold: #f5b052;--accent-marigold-ink: #2e1c06;--accent-coral: #ec7562;--accent-moss: #6fa36c;--accent-brown: #b98552;--line: rgba(238, 231, 211, .14);--hero-line: rgba(246, 239, 222, .2)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.05rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.05;text-wrap:balance;margin:0 0 .5em}h1{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.7rem)}h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem)}h3{font-family:var(--font-body);font-weight:700;font-size:1.05rem;line-height:1.3;margin:0 0 .4em}p{margin:0 0 1rem;color:var(--ink-soft);max-width:42ch}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:2px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-marigold);outline-offset:2px;border-radius:4px}.tnum{font-variant-numeric:tabular-nums}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app{display:flex;flex-direction:column;min-height:100dvh}.app-main{flex:1;padding:1.25rem var(--gutter) 6rem;max-width:44rem;margin-inline:auto;width:100%}.screen-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.eyebrow{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint)}.tabbar{position:fixed;inset:auto 0 0 0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:20}.tabbar a{display:grid;justify-items:center;gap:.15rem;padding:.6rem .25rem;font-size:.72rem;color:var(--ink-faint);text-decoration:none}.tabbar a[aria-current=page]{color:var(--ink);font-weight:600}.tab-badge{position:absolute;transform:translate(.75rem,-.5rem);background:var(--accent-coral);color:#fff;font-family:var(--font-mono);font-size:.62rem;line-height:1;padding:.2rem .34rem;border-radius:var(--radius-pill)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent-marigold);color:var(--accent-marigold-ink);border-color:transparent}.btn-ghost{background:transparent}.btn-danger{color:var(--accent-coral)}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:.6rem}.fab{position:fixed;right:max(var(--gutter),1rem);bottom:calc(4.6rem + env(safe-area-inset-bottom));width:3.4rem;height:3.4rem;border-radius:var(--radius-pill);border:none;background:var(--accent-marigold);color:var(--accent-marigold-ink);font-size:1.6rem;box-shadow:var(--shadow-raised);cursor:pointer;z-index:15}.field-lite{width:100%;padding:.7rem .9rem;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}.field-lite::placeholder{color:var(--ink-faint)}.field-mono{font-family:var(--font-mono);letter-spacing:.08em}.field-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.field-hint{font-size:.85rem;color:var(--ink-faint);margin-top:.35rem}.field-error{font-size:.88rem;color:var(--accent-coral);margin-top:.4rem}.stack{display:grid;gap:1rem}.stack-tight{display:grid;gap:.5rem}.river{background:radial-gradient(120% 120% at 50% 0%,var(--hero-bg),var(--hero-bg-deep));color:var(--hero-ink);border-radius:var(--radius-card);padding:1.6rem 1.4rem}.river p,.river .eyebrow{color:var(--hero-ink-soft)}.river h1,.river h2{color:var(--hero-ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:1.1rem}.card-list{display:grid;gap:.7rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.55rem}.slot{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-cell);border:1.5px dashed var(--line);background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;padding:0;transition:transform .25s ease,box-shadow .25s ease}.slot.inbound{border-color:var(--accent-brown);border-style:dashed;color:var(--accent-brown)}.slot .inbound-dot{position:absolute;top:.3rem;right:.3rem;width:.42rem;height:.42rem;border-radius:50%;background:var(--accent-brown)}.slot.filled{border:none}.sticker{width:76%;height:76%;display:grid;place-items:center;border-radius:var(--radius-sticker);box-shadow:var(--shadow-sticker);transform:rotate(-3deg);color:var(--hero-bg-deep)}.sticker.c1{background:var(--accent-marigold)}.sticker.c2{background:var(--accent-coral)}.sticker.c3{background:var(--accent-moss)}.sticker.c4{background:var(--accent-brown)}.slot.filled:hover .sticker,.slot.filled:focus-visible .sticker{transform:rotate(-6deg) translateY(-3px) scale(1.04);box-shadow:0 12px 22px -8px #00000080}.excess-badge{position:absolute;right:.15rem;bottom:.15rem;background:var(--hero-bg);color:var(--hero-ink);font-family:var(--font-mono);font-size:.6rem;line-height:1;padding:.18rem .3rem;border-radius:var(--radius-pill)}@media(prefers-reduced-motion:no-preference){.grid.enter .slot{animation:slot-in .55s cubic-bezier(.2,.8,.2,1) backwards}}@keyframes slot-in{0%{opacity:0;transform:translateY(14px) rotate(-2deg)}to{opacity:1;transform:none}}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.24rem .62rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600}.chip.have{background:color-mix(in srgb,var(--accent-moss) 18%,transparent);color:var(--accent-moss)}.chip.need{background:color-mix(in srgb,var(--accent-coral) 18%,transparent);color:var(--accent-coral)}.chip.neutral{background:color-mix(in srgb,var(--ink-faint) 15%,transparent);color:var(--ink-soft)}.chip-toggles{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.3rem;margin-bottom:.8rem;scrollbar-width:none}.chip-toggle{flex:none;padding:.4rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);font-size:.85rem;cursor:pointer;white-space:nowrap}.chip-toggle[aria-pressed=true]{background:var(--hero-bg);color:var(--hero-ink);border-color:transparent}.progress-track{height:.5rem;border-radius:var(--radius-pill);background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--accent-marigold);border-radius:inherit;transition:width .4s ease}.stepper{display:inline-flex;align-items:center;gap:.5rem}.stepper button{width:2rem;height:2rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);cursor:pointer;line-height:1}.stepper .count{font-family:var(--font-mono);min-width:1.6rem;text-align:center;font-variant-numeric:tabular-nums}.row,.prow,.frow,.nrow,.setting-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);width:100%;text-align:start}.row.missing{background:color-mix(in srgb,var(--accent-coral) 7%,var(--surface))}.row-main{flex:1;min-width:0}.row-title{font-weight:600}.row-sub{font-size:.84rem;color:var(--ink-faint)}.row-id{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-faint)}.stags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}.compare{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.stat{padding:1rem;border-radius:var(--radius-card);border:1px solid var(--line);text-align:center}.stat .n{display:block;font-family:var(--font-display);font-weight:800;font-size:2.2rem;line-height:1}.stat.have .n{color:var(--accent-moss)}.stat.need .n{color:var(--accent-coral)}.stat .l{font-size:.82rem;color:var(--ink-soft)}.avatar{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:var(--radius-pill);color:var(--hero-bg-deep);flex:none}.avatar.a1{background:var(--accent-marigold)}.avatar.a2{background:var(--accent-coral)}.avatar.a3{background:var(--accent-moss)}.avatar.a4{background:var(--accent-brown)}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.avatar-option{border:none;background:none;padding:.2rem;border-radius:var(--radius-pill);cursor:pointer}.avatar-option[aria-pressed=true]{box-shadow:0 0 0 3px var(--accent-marigold)}.avatar-lg{width:3.6rem;height:3.6rem}.handle-value{font-family:var(--font-mono);font-weight:700;font-size:clamp(1.4rem,1.1rem + 1.5vw,2.1rem);color:var(--accent-marigold);word-break:break-word}.code-card{border:2px dashed var(--accent-brown);border-radius:var(--radius-card);background:var(--surface);padding:1.4rem;text-align:center}.code-value{font-family:var(--font-mono);font-weight:700;font-size:clamp(1.5rem,1.1rem + 2vw,2.2rem);letter-spacing:.1em}@media(prefers-reduced-motion:no-preference){.flicker{animation:flicker .4s steps(2,end) 2}}@keyframes flicker{50%{opacity:.35}}.reason-list{display:grid;gap:.5rem}.reason,.lang-option{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;width:100%;text-align:start}.reason[aria-pressed=true],.lang-option[aria-pressed=true]{border-color:var(--accent-marigold);box-shadow:inset 0 0 0 1px var(--accent-marigold)}.radio-dot{width:1.05rem;height:1.05rem;border-radius:50%;border:2px solid var(--line);flex:none}[aria-pressed=true]>.radio-dot{border-color:var(--accent-marigold);background:var(--accent-marigold);box-shadow:inset 0 0 0 3px var(--surface)}.setting-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);margin:1.4rem 0 .5rem}.setting-row .value{color:var(--ink-faint);font-size:.88rem}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c191480;display:flex;align-items:flex-end;justify-content:center;z-index:40;border:none;padding:0}.sheet{width:min(30rem,100%);background:var(--surface);border-radius:22px 22px 0 0;padding:.7rem .9rem calc(1.2rem + env(safe-area-inset-bottom))}.sheet-grab{width:2.4rem;height:.25rem;border-radius:var(--radius-pill);background:var(--line);margin:.2rem auto .8rem}.sheet-item{display:block;width:100%;text-align:start;padding:.85rem .6rem;border:none;background:none;border-radius:12px;cursor:pointer}.sheet-item.danger{color:var(--accent-coral)}.tracker{display:flex;align-items:flex-start;margin-bottom:1.2rem}.tstep{flex:1;display:grid;justify-items:center;gap:.3rem;position:relative}.tdot{width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:.7rem;z-index:1}.tstep.done .tdot{background:var(--accent-moss);border-color:var(--accent-moss);color:#fff}.tstep.active .tdot{border-color:var(--accent-marigold);color:var(--accent-marigold);font-weight:700}.tlabel{font-size:.74rem;color:var(--ink-faint);text-align:center}.tline{position:absolute;top:.72rem;left:50%;width:100%;height:2px;background:var(--line)}.tstep.done .tline{background:var(--accent-moss)}.tstep:last-child .tline{display:none}.status-card{display:grid;justify-items:center;gap:.6rem;text-align:center;padding:1.6rem 1.1rem}.status-card p{max-width:32ch}.connector{display:flex;align-items:center;gap:.45rem}.connector .dot{width:.38rem;height:.38rem;border-radius:50%;background:var(--ink-faint)}@media(prefers-reduced-motion:no-preference){.connector .dot{animation:pulse 1.4s ease-in-out infinite}.connector .dot:nth-child(2){animation-delay:.15s}.connector .dot:nth-child(3){animation-delay:.3s}}@keyframes pulse{50%{opacity:.25}}.safety{border:1px solid color-mix(in srgb,var(--accent-marigold) 45%,transparent);background:color-mix(in srgb,var(--accent-marigold) 12%,transparent);border-radius:16px;padding:.9rem 1rem}.safety p{margin:0;color:var(--ink);max-width:none}.tip-list{display:grid;gap:.9rem;margin:1rem 0}.tip{display:flex;gap:.7rem;align-items:flex-start}.success-icon{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:var(--accent-moss);color:#fff;margin-inline:auto}.empty-state{display:grid;justify-items:center;gap:.4rem;text-align:center;padding:2.5rem 1rem;color:var(--ink-faint)}.empty-state h3{color:var(--ink)}.empty-state p{max-width:30ch}.nrow{align-items:flex-start}.nrow.unread{background:color-mix(in srgb,var(--accent-marigold) 8%,var(--surface))}.nrow .unread-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent-marigold);flex:none;margin-top:.55rem}.nrow time{font-size:.78rem;color:var(--ink-faint)}.icon-chrome{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.cchips{display:flex;flex-wrap:wrap;gap:.45rem}.cchip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem .3rem .35rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:.84rem}.cchip.notfound{border-color:var(--accent-coral);color:var(--accent-coral)}.cchip .thumb{width:1.4rem;height:1.4rem;border-radius:var(--radius-sticker);display:grid;place-items:center;color:var(--hero-bg-deep)}.cchip.notfound .thumb{border:1px dashed var(--accent-coral);border-radius:50%;background:none}.cchip button{border:none;background:none;cursor:pointer;color:var(--ink-faint);padding:0 .1rem}.toast{position:fixed;left:50%;bottom:calc(5rem + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--hero-bg);color:var(--hero-ink);padding:.6rem 1.1rem;border-radius:var(--radius-pill);font-size:.9rem;z-index:50;max-width:calc(100vw - 2rem)}.window{display:grid;grid-template-columns:15rem 1fr;min-height:100dvh}.sidebar{background:var(--bg-alt);border-right:1px solid var(--line);padding:1.2rem 1rem}.sidebar .wordmark{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:1.2rem;display:block}.sidebar nav{display:grid;gap:.15rem}.sidebar a{padding:.5rem .7rem;border-radius:10px;text-decoration:none;font-size:.92rem}.sidebar a[aria-current=page]{background:var(--surface);font-weight:600}.main{padding:1.5rem 2rem 4rem;overflow-x:auto}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem;margin-bottom:1.5rem}.kpi{border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;background:var(--surface)}.kpi .n{display:block;font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums}.kpi .l{font-size:.78rem;color:var(--ink-faint)}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:start;padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:600}td.num,th.num{font-variant-numeric:tabular-nums;text-align:end}.pill{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-pill);font-size:.76rem;font-weight:600}.pill.active,.pill.actioned{background:color-mix(in srgb,var(--accent-moss) 18%,transparent);color:var(--accent-moss)}.pill.open{background:color-mix(in srgb,var(--accent-coral) 18%,transparent);color:var(--accent-coral)}.pill.inactive,.pill.dismissed{background:color-mix(in srgb,var(--ink-faint) 15%,transparent);color:var(--ink-soft)}.toggle{width:2.6rem;height:1.5rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-alt);position:relative;cursor:pointer;padding:0}.toggle:after{content:"";position:absolute;top:.15rem;left:.18rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--ink-faint);transition:transform .18s ease}.toggle[aria-pressed=true]{background:color-mix(in srgb,var(--accent-moss) 30%,transparent)}.toggle[aria-pressed=true]:after{transform:translate(1rem);background:var(--accent-moss)}.toggle:disabled{opacity:.5;cursor:not-allowed}.activate-note{font-size:.8rem;color:var(--accent-coral);margin-inline-start:.6rem}.warn-banner{border:1px solid color-mix(in srgb,var(--accent-marigold) 50%,transparent);background:color-mix(in srgb,var(--accent-marigold) 12%,transparent);border-radius:12px;padding:.7rem .9rem;margin-bottom:1.2rem;font-size:.9rem}.locale-row{display:grid;gap:.5rem;margin-bottom:1rem}.locale-field{display:grid;grid-template-columns:3rem 1fr;align-items:center;gap:.6rem}.locale-field .tag{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-faint);text-transform:uppercase}.locale-input{padding:.5rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.92rem;width:100%}.locale-input.empty{border:1.5px dashed var(--accent-coral)}.missing-tag{font-size:.72rem;color:var(--accent-coral);font-family:var(--font-mono)}@media(max-width:46rem){.window{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.main{padding-inline:1rem}}
