:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#0b0d12;--bg-1:#12151c;--bg-2:#1a1f2b;--bg-3:#232a3a;--line:#ffffff14;--line-strong:#ffffff24;--text:#f2f4f8;--text-soft:#9aa3b5;--text-faint:#6d7689;--accent:#3ee0b8;--accent-dim:#1fa88a;--accent-ink:#041510;--danger:#ff6b7a;--danger-soft:#ff6b7a1f;--ok:#57f287;--ok-soft:#57f2871f;--warn:#faa81a;--radius:.65rem;--radius-lg:1rem;--shadow:0 18px 50px #00000073;--touch:2.75rem;--font:"Figtree", "Avenir Next", "Segoe UI", sans-serif;--display:"Sora", "Avenir Next", "Segoe UI", sans-serif;--space:1rem;font-family:var(--font);color:var(--text);background-color:var(--bg-0);background-image:radial-gradient(900px 480px at 12% -8%, #3ee0b824, transparent 55%), radial-gradient(700px 420px at 100% 0%, #5878ff1a, transparent 50%), linear-gradient(180deg, var(--bg-1), var(--bg-0) 55%);background-attachment:fixed;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:var(--accent)}a:hover{color:color-mix(in srgb, var(--accent) 80%, white)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text)}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;margin:0 0 .65rem;font-weight:600;line-height:1.15}h1{font-size:clamp(1.55rem,3.5vw,2rem)}h2{font-size:1.1rem}.lede{color:var(--text-soft);max-width:36rem;margin:0 0 1.35rem}.fine{color:var(--text-soft);font-size:.875rem}.error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius);margin:.75rem 0;padding:.7rem .85rem}.ok-banner{color:var(--ok);background:var(--ok-soft);border:1px solid color-mix(in srgb, var(--ok) 35%, transparent);border-radius:var(--radius);margin:.75rem 0;padding:.7rem .85rem}.mono{word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85rem}.shell{min-height:100dvh;padding:2rem 1.25rem;padding-bottom:max(2rem, env(safe-area-inset-bottom));place-items:center;display:grid}.hero{text-align:left;width:min(36rem,100%)}.brand{font-family:var(--display);color:var(--text);letter-spacing:-.04em;margin:0 0 .85rem;font-size:clamp(2.6rem,8vw,3.8rem);font-weight:700;line-height:.95}.brand span{color:var(--accent)}.hero .lede{font-size:1.05rem}.status{color:var(--text-faint);margin:1.25rem 0 0;font-size:.85rem}.status[data-ok=true]{color:var(--ok)}.auth-shell{min-height:100dvh;padding:1.5rem 1rem max(1.5rem, env(safe-area-inset-bottom));place-items:center;display:grid}.auth-panel{background:color-mix(in srgb, var(--bg-2) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(26rem,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.75rem 1.5rem 1.5rem}.auth-footer{border-top:1px solid var(--line);color:var(--text-soft);margin-top:1.25rem;padding-top:1rem;font-size:.9rem}.brand-mark{font-family:var(--display);letter-spacing:-.03em;color:var(--text);margin-bottom:1.1rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-block}.brand-mark:hover{color:var(--accent)}.app-shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.app-topbar{padding:.75rem 1.25rem;padding-top:max(.75rem, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-1) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex;position:sticky;top:0}.app-topbar .brand-mark{margin:0 .25rem 0 0}.app-nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.app-nav-link{color:var(--text-soft);border-radius:999px;align-items:center;min-height:2.25rem;padding:.45rem .75rem;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-flex}.app-nav-link:hover{color:var(--text);background:var(--bg-3)}.app-nav-link.is-active{color:var(--accent-ink);background:var(--accent)}.app-topbar-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.app-main{width:min(40rem,100%);padding:1.5rem 1.25rem 3rem;padding-bottom:max(3rem, env(safe-area-inset-bottom));margin:0 auto}.app-main.scan-wide{width:min(44rem,100%)}.cta-row{flex-wrap:wrap;gap:.65rem;margin:0 0 1.25rem;display:flex}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--bg-3);color:var(--text);font:inherit;min-height:var(--touch);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.05rem;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,transform .16s,color .16s;display:inline-flex}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-3) 70%, white 8%);border-color:color-mix(in srgb, var(--accent) 40%, var(--line-strong));transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 70%, white)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 86%, white)}.btn.ghost{color:var(--text-soft);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--bg-3);border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stack{gap:.9rem;margin:0 0 1.25rem;display:grid}.stack label,fieldset.stack legend{color:var(--text-soft);gap:.4rem;font-size:.9rem;font-weight:600;display:grid}.stack input,.stack select,.stack textarea{font:inherit;color:var(--text);background:var(--bg-0);border:1px solid var(--line-strong);border-radius:var(--radius);min-height:var(--touch);width:100%;padding:.7rem .8rem;font-weight:500}.stack input:focus,.stack select:focus,.stack textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.stack input[type=range]{min-height:auto;accent-color:var(--accent);padding:0}.stack input[type=checkbox]{width:auto;min-height:auto;accent-color:var(--accent)}.check-row{align-items:center;gap:.6rem;color:var(--text)!important;flex-direction:row!important;font-weight:500!important;display:flex!important}fieldset.stack{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);margin:0;padding:.85rem}fieldset.stack legend{margin-bottom:.35rem;padding:0 .35rem}.surface{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0 0 1rem;padding:1.1rem 1.15rem}.surface>:last-child{margin-bottom:0}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0 0 1rem;padding:1.1rem 1.15rem}.plain-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.plain-list li,.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;display:flex}.pill{letter-spacing:.02em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:700;display:inline-flex}.pill.neutral{color:var(--text-soft);background:var(--bg-3);border-color:var(--line)}.pill.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.task-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.task-item{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);gap:.4rem;padding:1rem 1.1rem;transition:border-color .16s;display:grid}.task-item:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.task-item strong{font-family:var(--display);letter-spacing:-.02em;font-weight:600}.step-tabs{flex-wrap:wrap;gap:.35rem;margin:0 0 1.1rem;display:flex}.step-tabs .btn{background:0 0;border-radius:999px;min-height:2.35rem;padding:.45rem .8rem;font-size:.85rem}.step-tabs .btn.primary{background:var(--accent)}.empty{color:var(--text-soft);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:left;padding:1.25rem}.loading{color:var(--text-soft);place-items:start;gap:.5rem;padding:2rem 0;display:grid}.loading-dot{background:var(--accent);border-radius:50%;width:.55rem;height:.55rem;animation:1.1s ease-in-out infinite pulse-dot}.scan-shell .app-main,.scan-shell{padding-bottom:7rem}.scan-stage{aspect-ratio:3/4;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:#05070c;width:100%;max-height:55vh;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3ee0b814}.scan-video{object-fit:cover;width:100%;height:100%}.scan-controls{background:linear-gradient(transparent, var(--bg-0) 28%);gap:.65rem;padding:.85rem 0 1.1rem;display:grid;position:sticky;bottom:0}.capture-shutter{min-height:3.25rem;font-size:1.05rem}.page-thumb{object-fit:cover;border:1px solid var(--line-strong);background:var(--bg-0);border-radius:.4rem;width:4.5rem;height:6rem}.rise-in{animation:.42s cubic-bezier(.2,.8,.2,1) both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rise-in,.loading-dot,.btn{transition:none!important;animation:none!important}.btn:hover:not(:disabled){transform:none}}.shell.narrow{place-items:start center;padding-top:3rem}.shell.narrow>:not(.brand-sm){width:100%;max-width:28rem}.brand-sm{font-family:var(--display);margin:0 0 1rem;font-size:1.15rem;font-weight:700}.brand-sm a{color:var(--text);text-decoration:none}@media (width<=640px){.app-topbar{gap:.5rem}.app-nav{order:3;width:100%}.app-topbar-actions{margin-left:auto}}
