@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg-deep: #0a1420;--color-bg-base: #0d1929;--color-bg-elevated: #1a2332;--color-bg-surface: #283544;--color-bg-hover: #3d4f5c;--color-cyan: #7dd3e8;--color-cyan-light: #a5e4f3;--color-cyan-muted: rgba(125, 211, 232, .15);--color-accent-ring: rgba(125, 211, 232, .45);--color-teal: #14b8a6;--color-diff: #ffd24a;--color-diff-muted: rgba(255, 210, 74, .14);--color-accent: var(--color-cyan);--color-accent-hover: var(--color-cyan-light);--color-text-primary: #f5f5f5;--color-text-secondary: #b8c5d0;--color-text-tertiary: #8896a4;--color-text-muted: #5a6872;--color-danger: #ff4757;--color-danger-muted: rgba(255, 71, 87, .15);--color-border: #3d4f5c;--color-border-subtle: #2d3d4c;--font-body: "DM Sans Variable", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", "Cascadia Code", Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--leading-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4), 0 4px 8px rgba(0, 0, 0, .2);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--transition-fast: var(--duration-fast) var(--ease-out);--transition-normal: var(--duration-normal) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-bg-base);color:var(--color-text-primary);scrollbar-color:var(--color-bg-hover) var(--color-bg-deep);-webkit-tap-highlight-color:transparent}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 82% -5%,rgba(20,184,166,.12),transparent 31rem),radial-gradient(circle at 8% 20%,color-mix(in srgb,var(--color-accent) 9%,transparent),transparent 25rem),var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.45;text-rendering:optimizeLegibility}button,input{color:inherit;font:inherit}button{min-width:44px;min-height:44px;border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;box-shadow:0 0 0 5px var(--color-accent-ring)}img{display:block;max-width:100%}h1,h2,p{margin:0}h2{font-size:1.08rem;font-weight:650;letter-spacing:-.018em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{border:2px solid var(--color-bg-deep);border-radius:var(--radius-full);background:var(--color-bg-hover)}.app-shell{min-height:100vh;min-height:100dvh}.fatal-error{display:grid;min-height:100vh;min-height:100dvh;place-items:center;padding:var(--space-4)}.fatal-error>div{width:min(100%,28rem);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center}.fatal-error h1{margin-top:var(--space-3);font-size:1.5rem}.fatal-error p:not(.eyebrow){margin-top:var(--space-2);color:var(--color-text-tertiary)}.fatal-error .primary-button{margin-top:var(--space-5)}.visually-hidden{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.glass-card,.result-chrome,.sheet-panel{border:1px solid color-mix(in srgb,var(--color-border) 58%,transparent);background:color-mix(in srgb,var(--color-bg-elevated) 76%,transparent);box-shadow:0 18px 55px #00000038,inset 0 1px #ffffff09;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2)}.eyebrow{color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.brand-header,.scan-screen,.result-content{width:min(100%,46rem);margin-inline:auto}.scan-screen{padding:calc(env(safe-area-inset-top,0px) + 1.25rem) 1rem calc(env(safe-area-inset-bottom,0px) + 3rem)}.brand-header{display:flex;align-items:center;gap:var(--space-3);padding:.3rem .2rem 1.15rem}.brand-mark{flex:0 0 auto;color:var(--color-accent);filter:drop-shadow(0 0 13px color-mix(in srgb,var(--color-accent) 24%,transparent))}.brand-header h1{font-family:var(--font-body);font-size:clamp(1.52rem,6vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1}.brand-header p{margin-top:.27rem;color:var(--color-text-tertiary);font-size:var(--text-xs)}.hero-card{position:relative;isolation:isolate;display:grid;min-height:17.5rem;overflow:hidden;padding:var(--space-5);border-radius:var(--radius-xl);place-items:center}.hero-card:before,.hero-card:after{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none}.hero-card:before{width:17rem;height:17rem;top:50%;left:50%;border:1px solid color-mix(in srgb,var(--color-accent) 11%,transparent);transform:translate(-50%,-50%);box-shadow:0 0 0 2.6rem color-mix(in srgb,var(--color-accent) 1.8%,transparent),0 0 0 5.3rem color-mix(in srgb,var(--color-accent) 1.2%,transparent)}.hero-card:after{width:22rem;height:11rem;left:50%;bottom:-7rem;background:#14b8a630;filter:blur(52px);transform:translate(-50%)}.capture-button{position:relative;display:flex;width:max-content;min-width:9rem;flex-direction:column;align-items:center;gap:var(--space-3);padding:0;background:none;color:var(--color-text-primary);font-size:var(--text-md);font-weight:var(--font-semibold);transition:transform var(--transition-normal),color var(--transition-fast)}.capture-button:active{transform:scale(.97)}.capture-ring{position:relative;display:grid;width:5.4rem;height:5.4rem;place-items:center;border:1px solid color-mix(in srgb,var(--color-accent-hover) 44%,transparent);border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--color-accent-hover) 21%,transparent),color-mix(in srgb,var(--color-accent) 8%,transparent)),color-mix(in srgb,var(--color-bg-surface) 62%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--color-accent) 6%,transparent),0 16px 38px #0000004d,inset 0 1px #ffffff1f;color:var(--color-accent);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.home-section{margin-top:2.1rem}.section-heading,.card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.section-heading{padding-inline:.2rem}.section-heading h2,.card-heading h2{margin-top:.3rem}.section-heading>span{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.sample-scroller{display:flex;gap:var(--space-3);margin-inline:-1rem;overflow-x:auto;padding:var(--space-3) var(--space-4);scroll-padding-inline:1rem;scrollbar-width:none;scroll-snap-type:x proximity}.sample-scroller::-webkit-scrollbar{display:none}.sample-card{position:relative;width:8.35rem;min-width:8.35rem;height:9.7rem;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--color-border) 58%,transparent);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-md);scroll-snap-align:start;transition:transform var(--transition-normal),border-color var(--transition-fast)}.sample-card:active{transform:scale(.97)}.sample-card img{width:100%;height:100%;object-fit:cover}.sample-card>span{position:absolute;inset:auto 0 0;overflow:hidden;padding:1.65rem .65rem .55rem;background:linear-gradient(transparent,color-mix(in srgb,var(--color-bg-deep) 94%,transparent));color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.01em;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sample-skeleton{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.055) 48%,transparent 61%) 150% 0 / 220% 100%,var(--color-bg-elevated);animation:skeleton-shimmer 1.45s linear infinite}.recent-list{display:grid;gap:var(--space-2);margin-top:.8rem}.recent-row{position:relative;display:flex;min-height:4.85rem;overflow:hidden;border-radius:var(--radius-lg);transition:transform var(--transition-normal),border-color var(--transition-fast)}.recent-row>img,.recent-open>img{width:4.15rem;height:4.15rem;flex:0 0 auto;border-radius:var(--radius-lg);object-fit:cover}.recent-open{display:flex;min-width:0;flex:1;align-items:center;gap:var(--space-3);padding:.35rem 3.45rem .35rem .35rem;background:transparent;text-align:left}.recent-row:is(button){width:100%;align-items:center;gap:.8rem;padding:.35rem 3.45rem .35rem .35rem;text-align:left}.recent-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:.35rem}.recent-main>strong{overflow:hidden;font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.recent-main>span{color:var(--color-text-tertiary);font-size:var(--text-xs)}.recent-main b{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600}.recent-main i{margin-inline:.35rem;color:var(--color-text-muted);font-style:normal}.diff-text,.press-text{color:var(--color-text-primary);font-weight:var(--font-semibold)}.row-delete{position:absolute;top:50%;right:.4rem;display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;background:transparent;color:var(--color-text-muted);transform:translateY(-50%);transition:background var(--transition-fast),color var(--transition-fast)}.empty-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-muted)}.empty-card svg{flex:0 0 auto;color:var(--color-accent)}.empty-card div{display:flex;flex-direction:column;gap:.2rem}.empty-card strong{color:var(--color-text-secondary);font-size:var(--text-sm)}.empty-card span,.inline-note{color:var(--color-text-tertiary);font-size:var(--text-xs)}.inline-note{margin:.7rem .2rem 0}.error-note{color:color-mix(in srgb,var(--color-danger) 82%,white)}.round-button{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--color-border) 62%,transparent);border-radius:50%;background:color-mix(in srgb,var(--color-bg-elevated) 78%,transparent);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.round-button:active{transform:scale(.94)}.processing-screen{position:relative;display:grid;width:min(100%,42rem);min-height:100vh;min-height:100dvh;margin-inline:auto;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 1rem calc(env(safe-area-inset-bottom,0px) + 2rem)}.processing-back{position:absolute;top:calc(env(safe-area-inset-top,0px) + 1rem);left:1rem;z-index:3}.processing-card{width:min(100%,31rem);overflow:hidden;border-radius:var(--radius-xl)}.processing-preview{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--color-bg-deep)}.processing-preview img,.preview-placeholder{width:100%;height:100%;object-fit:cover}.preview-placeholder{background:var(--color-bg-elevated)}.preview-dim{position:absolute;inset:0;background:color-mix(in srgb,var(--color-bg-deep) 55%,transparent)}.scan-line{position:absolute;top:-12%;right:0;left:0;height:5rem;border-bottom:1px solid color-mix(in srgb,var(--color-accent-hover) 90%,transparent);background:linear-gradient(transparent,color-mix(in srgb,var(--color-accent) 17%,transparent));box-shadow:0 12px 30px color-mix(in srgb,var(--color-accent) 10%,transparent);animation:scan-sweep 2s var(--ease-in-out) infinite}.processing-preview.has-error img{opacity:.58;filter:grayscale(.2)}.processing-copy{position:relative;padding:2rem 1.4rem 1.7rem;text-align:center}.processing-copy h1{margin-top:.55rem;font-size:clamp(1.42rem,6vw,1.8rem);letter-spacing:-.035em}.processing-copy>p:last-child{width:min(100%,26rem);margin:.6rem auto 0;color:var(--color-text-tertiary);font-size:var(--text-sm)}.status-orb{position:absolute;display:grid;width:3rem;height:3rem;top:-1.5rem;left:calc(50% - 1.5rem);place-items:center;border:1px solid color-mix(in srgb,var(--color-accent) 34%,transparent);border-radius:50%;background:var(--color-bg-elevated);box-shadow:0 0 0 6px color-mix(in srgb,var(--color-bg-base) 70%,transparent)}.status-orb>span{width:.72rem;height:.72rem;border:2px solid var(--color-accent);border-top-color:transparent;border-radius:50%;animation:spin .85s linear infinite}.status-orb.is-error{border-color:#ff475752;color:var(--color-danger)}.status-orb.is-error>span{width:auto;height:auto;border:0;animation:none;font-family:var(--font-mono);font-size:1.12rem;font-weight:700}.error-copy{padding-bottom:1.4rem}.retry-actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:1.3rem}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.9rem;padding:.6rem 1rem;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:650;transition:transform var(--transition-fast),background var(--transition-fast)}.primary-button{background:var(--color-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--color-accent) 17%,transparent);color:var(--color-bg-deep)}.secondary-button{border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary)}.primary-button:active,.secondary-button:active{transform:scale(.97)}.result-screen{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 2.5rem)}.result-chrome{position:sticky;z-index:20;top:0;display:grid;width:min(calc(100% - 1rem),46rem);min-height:calc(env(safe-area-inset-top,0px) + 4.35rem);grid-template-columns:2.75rem 1fr 2.75rem;align-items:end;gap:.55rem;margin-inline:auto;padding:calc(env(safe-area-inset-top,0px) + .55rem) .65rem .55rem;border-top:0;border-radius:0 0 var(--radius-xl) var(--radius-xl);background:color-mix(in srgb,var(--color-bg-base) 80%,transparent);box-shadow:0 12px 35px #0003}.result-title{display:flex;min-width:0;align-items:center;flex-direction:column;align-self:center}.result-title span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.result-title strong{max-width:100%;overflow:hidden;font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.result-content{padding:1rem 1rem 0}.tab-control{position:relative;display:grid;width:min(100%,22rem);height:2.75rem;grid-template-columns:1fr 1fr;margin:0 auto .8rem;padding:.2rem;border:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg-deep) 66%,transparent)}.tab-control button{position:relative;z-index:2;min-height:2.25rem;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:600;transition:color var(--transition-normal)}.tab-control button.is-active{color:var(--color-text-primary)}.tab-indicator{position:absolute;z-index:1;width:calc(50% - .2rem);height:calc(100% - .4rem);top:.2rem;left:.2rem;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-sm);transition:transform .32s var(--ease-out)}.tab-indicator.is-unwrapped{transform:translate(100%)}.viewer-card,.values-card,.range-card{border-radius:var(--radius-xl)}.viewer-card{overflow:hidden}.image-viewer{position:relative;background:radial-gradient(circle,color-mix(in srgb,var(--color-bg-hover) 25%,transparent) 1px,transparent 1px),var(--color-bg-deep);background-size:15px 15px}.image-viewport{position:relative;display:grid;width:100%;height:min(61vh,32rem);height:min(61dvh,32rem);overflow:hidden;place-items:center;cursor:zoom-in}.image-viewport.is-tall{height:auto;aspect-ratio:560 / 2160;touch-action:pan-y;-webkit-user-select:none;user-select:none}.image-viewport.is-zoomed{cursor:grab;touch-action:none}.image-viewport.is-zoomed:active{cursor:grabbing}.image-viewport img{width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform}.zoom-controls{position:absolute;right:.65rem;bottom:.65rem;display:grid;overflow:hidden;grid-template-columns:2.75rem auto 2.75rem;border:1px solid color-mix(in srgb,var(--color-border) 66%,transparent);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-bg-deep) 78%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.zoom-controls button{min-width:2.75rem;min-height:2.75rem;background:transparent;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:1.1rem}.zoom-controls .zoom-level{min-width:3.9rem;border-inline:1px solid color-mix(in srgb,var(--color-bg-hover) 58%,transparent);font-size:var(--text-xs)}.gesture-hint{padding:.6rem .8rem .65rem;color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.values-card,.range-card{margin-top:.8rem;padding:1.15rem}.card-heading{align-items:center}.card-heading.compact{align-items:flex-start}.values-title{margin:0;font-size:var(--text-md);font-weight:var(--font-semibold)}.readout{margin:var(--space-3) 0 0}.readout-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle)}.readout-row:first-child{padding-top:0;border-top:0}.readout-row dt{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--color-text-secondary);font-size:var(--text-base)}.readout-row dd{margin:0;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.readout-row.is-primary dd{font-size:1.55rem}.readout-row .unit{color:var(--color-text-tertiary);font-size:var(--text-sm);font-weight:var(--font-regular)}.pen-key{flex:none;width:.65rem;height:.65rem;border-radius:var(--radius-xs)}.pen-key.pen-diff{background:var(--color-diff)}.pen-key.pen-press{background:var(--color-accent)}.range-control{display:grid;grid-template-columns:repeat(5,1fr);gap:.22rem;margin-top:1rem;padding:.22rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-bg-deep) 48%,transparent)}.range-control button{min-width:0;min-height:2.75rem;padding:.3rem .15rem;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs);transition:color var(--transition-fast),background var(--transition-normal),transform var(--transition-fast)}.range-control button:active{transform:scale(.94)}.range-control button.is-active{border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);background:var(--color-bg-surface);box-shadow:var(--shadow-sm);color:var(--color-text-primary);font-weight:700}.range-unit{display:block;margin-top:.45rem;color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.confidence-note{display:flex;align-items:center;gap:.55rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font-size:var(--text-xs)}.confidence-swatch{width:1.35rem;height:.22rem;flex:0 0 auto;border-radius:var(--radius-full);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 38%,transparent) 0 3px,transparent 3px 5px)}.sheet-layer{position:fixed;z-index:100;inset:0;display:grid;align-items:end}.sheet-layer.is-exit{pointer-events:none}.sheet-layer.is-exit .sheet-backdrop{animation:sheet-fade-out .24s ease-in forwards}.sheet-layer.is-exit .sheet-panel{animation:sheet-down .24s ease-in forwards}.sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:color-mix(in srgb,var(--color-bg-deep) 66%,transparent);animation:modal-fade-kf .15s ease-out}.sheet-panel{position:relative;width:min(100%,31rem);margin-inline:auto;padding:.55rem .75rem calc(env(safe-area-inset-bottom,0px) + .8rem);border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:color-mix(in srgb,var(--color-bg-elevated) 92%,transparent);animation:modal-pop-kf .22s var(--ease-out)}.sheet-panel h2{padding:.25rem .5rem .7rem;color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}.sheet-body{display:grid;gap:var(--space-2)}.sheet-action,.sheet-cancel{width:100%;border-radius:var(--radius-lg)}.sheet-action{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-danger-muted);color:var(--color-danger);text-align:left}.sheet-action svg{flex:0 0 auto}.sheet-action>span{display:flex;flex-direction:column}.sheet-action strong{font-size:var(--text-sm)}.sheet-action small{margin-top:.12rem;color:color-mix(in srgb,var(--color-danger) 52%,var(--color-text-tertiary));font-size:var(--text-xs)}.sheet-cancel{background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}@keyframes modal-fade-kf{0%{opacity:0}}@keyframes modal-pop-kf{0%{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes sheet-fade-out{to{opacity:0}}@keyframes sheet-down{to{opacity:0;transform:translateY(100%)}}@keyframes tab-bounce{0%{transform:scale(1)}40%{transform:scale(.95)}70%{transform:scale(1.02)}to{transform:scale(1)}}.tab-bounce{animation:tab-bounce .25s ease-out}@keyframes section-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-enter{animation:section-enter .3s cubic-bezier(.22,.9,.32,1)}@keyframes scan-sweep{0%{transform:translateY(-1rem)}50%{transform:translateY(calc(400% + 3rem))}to{transform:translateY(-1rem)}}@keyframes skeleton-shimmer{to{background-position:-90% 0,0 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reduced-pulse{50%{opacity:.35}}@media(hover:hover){.capture-button:hover{color:var(--color-accent-hover);transform:translateY(-2px)}.sample-card:hover{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);transform:translateY(-3px)}.recent-row:hover{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));transform:translateY(-1px)}.row-delete:hover{background:var(--color-danger-muted);color:var(--color-danger)}.round-button:hover{background:var(--color-bg-surface);color:var(--color-text-primary);transform:translateY(-1px)}.primary-button:hover{background:var(--color-accent-hover)}.zoom-controls button:hover{color:var(--color-accent)}.range-control button:hover{color:var(--color-text-primary)}}@media(min-width:720px){.scan-screen{padding-inline:1.4rem}.sample-scroller{margin-inline:0;padding-inline:.2rem}.result-content{padding-inline:1.4rem}.sheet-panel{margin-bottom:1.25rem;border-bottom:1px solid color-mix(in srgb,var(--color-border) 58%,transparent);border-radius:var(--radius-xl)}}@media(max-width:410px){.retry-actions{flex-direction:column}.primary-button,.secondary-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scan-line{display:none}.status-orb:not(.is-error)>span{animation:reduced-pulse 2s ease-in-out infinite!important}}.well-card{border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.well-field{display:flex;flex-direction:column;gap:var(--space-1)}.well-field>span{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.well-field select{appearance:none;width:100%;padding:var(--space-3) var(--space-4);border-radius:.75rem;border:1px solid var(--color-border-subtle);background:linear-gradient(45deg,transparent 50%,var(--color-text-tertiary) 50%) calc(100% - 1.35rem) 55% / .4rem .4rem no-repeat,linear-gradient(135deg,var(--color-text-tertiary) 50%,transparent 50%) calc(100% - .95rem) 55% / .4rem .4rem no-repeat,var(--color-bg-elevated);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:1.3}.well-field select:disabled{opacity:.55}.well-field select:focus-visible{outline:2px solid var(--color-accent-ring);outline-offset:1px}.connect-card{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-xl)}.connect-qr{width:8.5rem;height:8.5rem;flex-shrink:0;padding:var(--space-2);border-radius:.75rem;background:#fff}.connect-info{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.connect-info strong{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-accent);word-break:break-all}.connect-info span{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.follow-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.follow-toggle input{accent-color:var(--color-accent);width:1rem;height:1rem}.upload-link{border:none;background:none;color:var(--color-text-tertiary);font-family:var(--font-body);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:var(--space-2)}.upload-link:hover{color:var(--color-text-secondary)}.status-orb.is-label{background:#14b8a62e}.status-orb.is-label>span{animation:none;width:auto;height:auto;background:none;color:var(--color-teal);font-size:1.4rem;font-weight:var(--font-semibold)}.station-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);background:var(--color-cyan-muted);color:var(--color-cyan-light);font:var(--font-medium) var(--text-sm) var(--font-body);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.station-link:active{background:var(--color-bg-hover)}.station-link-badge{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-teal);box-shadow:0 0 8px var(--color-teal)}.station-screen{position:fixed;inset:0;display:flex;flex-direction:column;background:#000;z-index:40}.station-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.station-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:41}.station-flash{position:absolute;inset:0;z-index:44;pointer-events:none;opacity:0}.station-flash.is-ok{background:#14b8a673;animation:station-flash .48s var(--ease-out)}.station-flash.is-bad{background:#ff475780;animation:station-flash .7s var(--ease-out)}@keyframes station-flash{0%{opacity:1}to{opacity:0}}.station-chrome{position:relative;z-index:42;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(env(safe-area-inset-top,0px) + var(--space-3)) var(--space-4) var(--space-3);background:linear-gradient(#0a1420d9,#0a142000)}.station-count{display:flex;align-items:baseline;gap:var(--space-2);color:var(--color-text-primary);background:none;border:none;padding:0;font:inherit;cursor:pointer}.station-count strong{font:var(--font-semibold) 1.5rem var(--font-mono);color:var(--color-cyan-light)}.station-count span{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.station-controls-toggle{min-height:44px;padding:.5rem .85rem;border:1px solid #ffffff70;border-radius:var(--radius-full);background:#14231ee6;color:#fff;font:inherit;font-size:var(--text-sm)}.station-rebase{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:#0d1929b3;color:var(--color-text-secondary);font:var(--font-medium) var(--text-xs) var(--font-body);cursor:pointer}.station-status{position:relative;z-index:42;margin:auto var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;color:var(--color-text-primary);text-shadow:0 1px 6px rgba(0,0,0,.8)}.station-status strong{font:var(--font-semibold) var(--text-lg) var(--font-body)}.station-status span:not(.station-ring){font-size:var(--text-sm);color:var(--color-text-secondary);max-width:30ch}.station-ring{width:66px;height:66px;border-radius:var(--radius-full);border:3px solid var(--color-accent-ring);transition:border-color var(--transition-normal),transform var(--transition-normal)}.station-status.is-ready .station-ring{border-color:var(--color-accent-ring);animation:station-breathe 2.4s var(--ease-in-out) infinite}.station-status.is-holding .station-ring{border-color:var(--color-diff);animation:station-spin .9s linear infinite;border-top-color:transparent}.station-status.is-captured .station-ring,.station-status.is-clearing .station-ring{border-color:var(--color-teal);transform:scale(1.08)}.station-status.is-denied .station-ring{border-color:var(--color-danger)}@keyframes station-breathe{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.06);opacity:1}}@keyframes station-spin{to{transform:rotate(360deg)}}.station-footer{position:relative;z-index:42;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:linear-gradient(#0a142000,#0a1420eb 30%);max-height:65dvh;overflow-y:auto}.station-footer.is-collapsed{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.4rem .6rem;padding-top:.6rem;background:linear-gradient(transparent,#0a1420e0 22%)}.station-footer.is-collapsed .station-actions{margin:0}.station-footer.is-collapsed .station-actions button{font-size:var(--text-sm)}.station-compact-status{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;min-width:0;color:#fff;text-shadow:0 1px 4px #000;font-size:var(--text-sm)}.station-compact-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.station-compact-result{flex-basis:100%;min-width:0;padding:.15rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:0;color:var(--color-cyan-light);text-align:left;font:inherit;font-size:var(--text-xs)}.station-compact-result.is-bad{color:#ffb277}.station-tip{margin:0;font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center}.station-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:30vh;overflow-y:auto}.station-log-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:#1a2332d9;border:1px solid var(--color-border-subtle)}.station-dot{flex:none;width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-text-muted)}.station-log-row.is-uploading .station-dot{background:var(--color-cyan);animation:station-breathe 1.2s var(--ease-in-out) infinite}.station-log-row.is-ok .station-dot,.station-log-row.is-label .station-dot{background:var(--color-teal)}.station-log-row.is-low .station-dot,.station-log-row.is-error .station-dot{background:var(--color-danger)}.station-log-row.is-duplicate .station-dot{background:var(--color-diff)}.station-log-main{display:flex;flex-direction:column;min-width:0;flex:1}.station-log-main strong{font:var(--font-medium) var(--text-sm) var(--font-body);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-log-main span{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-log-status{flex:none;font:var(--font-medium) var(--text-xs) var(--font-mono);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.station-log-row.is-low .station-log-status,.station-log-row.is-error .station-log-status{color:var(--color-danger)}.station-debug{margin:0;font:var(--font-regular) .65rem var(--font-mono);color:var(--color-text-muted);text-align:center}.station-tip strong{color:var(--color-text-secondary);font-weight:var(--font-semibold)}.station-tip.is-flip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-cyan-muted);border:1px solid var(--color-accent-ring);color:var(--color-cyan-light);font-size:var(--text-sm)}.station-tip.is-flip strong{color:var(--color-cyan-light)}.station-verdict{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:#0f1928eb;border:1.5px solid var(--color-border)}.station-verdict-icon{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);font:var(--font-semibold) 1.4rem var(--font-body);background:#ffffff14;color:var(--color-text-secondary)}.station-verdict.is-good{border-color:#14b8a699}.station-verdict.is-good .station-verdict-icon{background:#14b8a62e;color:var(--color-teal)}.station-verdict.is-warn{border-color:#ffb3478c}.station-verdict.is-warn .station-verdict-icon{background:#ffb34729;color:var(--color-diff)}.station-verdict.is-bad{border-color:#ff475799}.station-verdict.is-bad .station-verdict-icon{background:#ff475729;color:var(--color-danger)}.station-verdict.is-reading .station-verdict-icon{color:var(--color-cyan);animation:station-breathe 1.2s var(--ease-in-out) infinite}.station-verdict-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.station-verdict-main strong{font:var(--font-semibold) var(--text-base) var(--font-body);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.station-verdict-main span{font-size:var(--text-xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis}.station-verdict-main em{font:var(--font-medium) var(--text-sm) var(--font-body);font-style:normal;color:var(--color-text-primary)}.station-verdict.is-bad .station-verdict-main em{color:#ffb4bc}.station-pile{flex:none;align-self:flex-start;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font:var(--font-semibold) .65rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:#14b8a629;color:var(--color-teal);border:1px solid rgba(20,184,166,.45)}.station-pile.is-redo{background:#ff475724;color:#ffb4bc;border-color:#ff475773}.station-pile.is-weekly,.station-pile.is-blank{background:#ffb34724;color:var(--color-diff);border-color:#ffb34766}.station-pairs{display:flex;flex-direction:column;gap:var(--space-1);max-height:20vh;overflow-y:auto}.station-pairs-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);font:var(--font-medium) var(--text-xs) var(--font-body);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 var(--space-2)}.station-pair-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.station-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.station-cell{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:#1a2332d9;border:1px solid var(--color-border-subtle);min-height:44px}.station-cell.is-empty{background:#1a233259;border-style:dashed;justify-content:center}.station-cell-wait{color:var(--color-text-muted)}.station-cell-main{display:flex;flex-direction:column;min-width:0;flex:1}.station-cell-main strong{font:var(--font-medium) var(--text-xs) var(--font-body);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-cell-main span{font-size:.65rem;color:var(--color-danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-cell.is-uploading .station-dot{background:var(--color-cyan);animation:station-breathe 1.2s var(--ease-in-out) infinite}.station-cell.is-ok .station-dot,.station-cell.is-label .station-dot{background:var(--color-teal)}.station-cell.is-low .station-dot,.station-cell.is-error .station-dot{background:var(--color-danger)}.station-cell.is-duplicate .station-dot{background:var(--color-diff)}.station-cell .station-log-status{font-size:.6rem}.station-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}.station-actions button{padding:.65rem .9rem;border:1px solid #ffffff70;border-radius:.65rem;color:#fff;background:#14231ee6;font:inherit;min-height:44px}.station-actions button:disabled{opacity:.45}.station-camera-setup{padding:.8rem 1rem;border:1px solid #ffffff70;border-radius:.65rem;color:#fff;background:#14231ef0}.station-camera-setup p{margin:.5rem 0;font-size:.85rem}.station-camera-setup label{display:flex;align-items:center;gap:1rem}.station-camera-setup input{flex:1;min-height:44px}.station-active-label{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 1rem;border-left:4px solid #85deae;border-radius:.6rem;color:#fff;background:#14231ef0;margin:0 0 .75rem}.station-active-label span{font-size:.8rem}.review-card{padding:var(--space-4);display:grid;gap:var(--space-2)}.review-card>strong{color:var(--color-diff)}.review-card .inline-note{margin:0}.recent-section .section-heading{flex-wrap:wrap;gap:var(--space-3)}.login-screen{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);padding:var(--space-5) var(--space-4);max-width:420px;margin:0 auto}.login-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.login-field{display:flex;flex-direction:column;gap:var(--space-2);font-size:.9rem}.login-field input{font:inherit;font-size:1.05rem;padding:.7rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:inherit}.login-field input:focus{outline:2px solid rgba(125,211,232,.7);outline-offset:1px}.signout-link{margin-left:auto;align-self:flex-start;background:none;border:0;color:inherit;opacity:.7;font:inherit;font-size:.85rem;cursor:pointer;padding:.25rem 0}.hero-hint{margin:0;opacity:.8;font-size:.92rem;text-align:center;max-width:32ch}.screen-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.screen-header h1{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.choice-list{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.choice-button{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-elevated);color:var(--color-text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.choice-button strong{font-size:var(--text-md);font-weight:var(--font-semibold)}.choice-button span{font-size:var(--text-sm);color:var(--color-text-secondary)}.choice-button:active{transform:scale(.985);border-color:var(--color-accent)}.well-picker{display:grid;gap:var(--space-3)}.well-search{width:100%;min-height:2.9rem;padding:.6rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);color:var(--color-text-primary);font:inherit;font-size:var(--text-base)}.well-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.well-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-elevated);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.well-row span{font-size:var(--text-xs);color:var(--color-text-tertiary)}.well-row:active{border-color:var(--color-accent)}.well-form{display:grid;gap:var(--space-3);padding:var(--space-4)}.well-form .inline-note{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-grid .is-wide{grid-column:1 / -1}.well-form input,.well-form select{width:100%;min-height:2.6rem;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-list{display:grid;gap:var(--space-3)}.admin-tag{display:inline-block;margin-left:var(--space-2);padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:var(--font-semibold);letter-spacing:.02em;background:color-mix(in srgb,var(--color-accent) 22%,transparent);color:var(--color-text-primary);vertical-align:middle}.admin-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-5)}.admin-rows{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.admin-row>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-row strong{overflow-wrap:anywhere}.admin-row span{font-size:.82rem;color:var(--color-text-secondary)}.admin-confirm{display:flex;gap:var(--space-2)}.admin-invite-link{display:flex;flex-direction:column;gap:var(--space-2)}.admin-invite-link code{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:#ffffff0f;font-size:.78rem;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.login-field small{font-size:.78rem;color:var(--color-text-secondary)}.link-button{text-align:center;text-decoration:none}.engine-status{margin:0;font-size:.78rem;text-align:center;color:var(--color-text-secondary)}.engine-status.engine-ready{color:color-mix(in srgb,var(--color-accent) 80%,var(--color-text-primary))}.engine-status.engine-down{color:#f0a0a0}
