:root{--paper: #f6f4ef;--paper-2: #efece4;--card: #fffdf9;--ink: #1a1714;--ink-2: #4b463f;--ink-3: #8a8378;--line: #e4ded2;--line-2: #d8d1c3;--accent: #c6603d;--accent-ink: #a44a2c;--accent-soft:#f0dccf;--sage: #6f7a63;--sky: #4a6c86;--gold: #b98a34;--ok: #5c7a52;--warn: #b8862f;--danger: #b04a3a;--shadow-sm: 0 1px 2px rgba(40,32,24,.05), 0 1px 1px rgba(40,32,24,.04);--shadow-md: 0 4px 14px -6px rgba(40,32,24,.16), 0 2px 6px -3px rgba(40,32,24,.1);--shadow-lg: 0 24px 60px -24px rgba(40,32,24,.3), 0 8px 24px -12px rgba(40,32,24,.14);--r-sm: 8px;--r: 13px;--r-lg: 20px;--r-xl: 28px;--font-serif: "Fraunces", Georgia, serif;--font-sans: "Space Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--ease: cubic-bezier(.22,.61,.36,1);--ease-out: cubic-bezier(.16,1,.3,1);--nav-w: 250px;--maxw: 1180px}:root[data-theme=dark]{--paper: #141210;--paper-2: #1b1815;--card: #1f1b17;--ink: #f3efe7;--ink-2: #c3bcae;--ink-3: #8c8478;--line: #2c2823;--line-2: #3a352e;--accent: #e07a53;--accent-ink: #ed9773;--accent-soft:#3a2418;--card-2: #26221d;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 6px 20px -8px rgba(0,0,0,.5);--shadow-lg: 0 30px 70px -28px rgba(0,0,0,.65)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--accent);color:#fff}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.02em;line-height:1.08}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--font-mono)}.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:10px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}.btn{--bg: var(--ink);--fg: var(--paper);display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:100px;background:var(--bg);color:var(--fg);border:1px solid transparent;cursor:pointer;font-size:13.5px;font-weight:500;letter-spacing:-.01em;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .2s,color .2s,border-color .2s;white-space:nowrap;position:relative}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn svg{width:16px;height:16px}.btn.ghost{--bg: transparent;--fg: var(--ink);border-color:var(--line-2)}.btn.ghost:hover{background:var(--card);border-color:var(--ink-3)}.btn.accent{--bg: var(--accent);--fg: #fff}.btn.soft{--bg: var(--card);--fg: var(--ink);border-color:var(--line)}.btn.soft:hover{border-color:var(--accent);color:var(--accent-ink)}.btn.sm{padding:7px 13px;font-size:12.5px}.btn.lg{padding:14px 26px;font-size:15px}.btn:disabled{opacity:.45;pointer-events:none}.btn.block{width:100%;justify-content:center}.iconbtn{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;transition:color .2s,border-color .2s,transform .3s var(--ease-out),background .2s}.iconbtn:hover{color:var(--accent-ink);border-color:var(--accent);transform:translateY(-1px)}.iconbtn svg{width:18px;height:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card.pad{padding:22px}.hoverable{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .35s}.hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}.panel{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r)}.divider{height:1px;background:var(--line);border:0;margin:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:100px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border-color:color-mix(in srgb,var(--ok) 28%,transparent)}.badge.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.badge.danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.badge.accent{color:var(--accent-ink);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.badge.info{color:var(--sky);background:color-mix(in srgb,var(--sky) 12%,transparent);border-color:color-mix(in srgb,var(--sky) 28%,transparent)}.chip{padding:6px 13px;border-radius:100px;border:1px solid var(--line-2);background:var(--card);font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:all .25s var(--ease);white-space:nowrap}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.meter{height:6px;border-radius:100px;background:var(--line);overflow:hidden}.meter>i{display:block;height:100%;border-radius:100px;background:var(--accent);transition:width 1s var(--ease-out)}.meter.thin{height:4px}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:12px;letter-spacing:.03em;color:var(--ink-2);font-weight:500}.input,.textarea,.select{width:100%;background:var(--paper);border:1px solid var(--line-2);border-radius:11px;padding:11px 14px;font-size:14px;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);background:var(--card)}.textarea{resize:vertical;min-height:90px;line-height:1.5}::placeholder{color:var(--ink-3)}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column}.grid{display:grid;gap:18px}.spread{flex:1}.stack>*+*{margin-top:var(--sp, 14px)}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:200% 0}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 color-mix(in srgb,var(--ok) 50%,transparent);animation:pulseDot 1.8s infinite}.reveal{opacity:0}.will-float{will-change:transform,opacity}.m-only{display:none}@media(max-width:760px){.m-only{display:flex}.m-hide,.portal-ribbon{display:none!important}.portal-top{padding:10px 16px!important;padding-top:calc(10px + env(safe-area-inset-top))!important}.portal-hero{padding:18px 16px 0!important}.portal-hero h1.serif{font-size:27px!important}.portal-hero>.row{flex-direction:column;align-items:stretch!important;gap:12px!important}.portal-hero.inner{padding-top:6px!important}.portal-hero.inner>.row{display:none}.portal-hero>.row>.card{min-width:0!important;padding:14px 16px!important;display:grid;grid-template-columns:1fr auto;column-gap:14px;align-items:center}.portal-hero>.row>.card .serif{font-size:26px!important;margin:0!important;grid-row:1 / span 2;grid-column:2}.portal-hero>.row>.card .meter{grid-column:1}.portal-hero>.row>.card .dim{grid-column:1;margin-top:6px!important}.portal-hero p.muted{font-size:14px!important;margin-top:8px!important}.portal-content{padding:16px 16px calc(96px + env(safe-area-inset-bottom))!important}.portal-content h2.serif{font-size:24px!important}.portal-grid{grid-template-columns:1fr!important;gap:12px!important}.portal .card.pad{padding:16px}.portal .portal-tools{gap:8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin:0 -16px;padding-left:16px;padding-right:16px}.portal .portal-tools::-webkit-scrollbar{display:none}.portal .portal-tools .chip{flex:0 0 auto}.portal table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.portal [style*="1.4fr 1fr"],.portal [style*="1fr 1fr"],.portal [style*="2fr 1fr"],.portal [style*="1fr 1.4fr"]{grid-template-columns:1fr!important}.portal-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--card) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.portal-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px 4px;background:none;border:none;cursor:pointer;min-width:0}.portal-dot{position:absolute;top:-6px;right:-12px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:9.5px;font-weight:700;display:grid;place-items:center;font-family:var(--font-mono)}.modal-wrap{padding:0!important;place-items:end center!important}.modal-card{max-width:100%!important;max-height:calc(100dvh - 12px)!important;border-radius:20px 20px 0 0!important;padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1!important}}
