:root,[data-theme=light]{--bg:#fafafa;--bg-elev:#fff;--surface:#fff;--surface-hover:#f3f4f6;--border:#e5e7eb;--border-strong:#d1d5db;--fg:#0f172a;--fg-muted:#6b7280;--fg-subtle:#9ca3af;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-fg:#fff;--accent-soft:#dbeafe;--ok:#16a34a;--danger:#dc2626;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--segmented-track:#ececef;--segmented-card:#fff;--segmented-card-shadow:0 1px 2px #0f172a14, 0 1px 1px #0f172a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0b0d10;--bg-elev:#15181d;--surface:#15181d;--surface-hover:#1d2027;--border:#252a33;--border-strong:#353c48;--fg:#f5f7fa;--fg-muted:#98a2b3;--fg-subtle:#6b7280;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-fg:#fff;--accent-soft:#1e3a8a;--ok:#22c55e;--danger:#ef4444;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 18px #00000080;--segmented-track:#15181d;--segmented-card:#2a2f38;--segmented-card-shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-feature-settings:"tnum" 1, "ss01" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body{min-height:100dvh}main{max-width:720px;margin:0 auto;padding:clamp(1rem,4vw,2rem) clamp(1rem,4vw,1.5rem) 4rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.05em .35em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.btn{letter-spacing:-.005em;min-height:44px;color:var(--fg);cursor:pointer;appearance:none;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .12s,border-color .12s,color .12s,transform 60ms,box-shadow .12s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;background:var(--border);color:var(--fg-subtle);border-color:var(--border)}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-elev);color:var(--fg);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--fg-muted);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--fg);background:var(--surface)}.btn-icon{width:40px;height:40px;min-height:40px;color:var(--fg-muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:0}.btn-icon:hover:not(:disabled){background:var(--surface);border-color:var(--border);color:var(--fg)}.btn-large{min-height:52px;padding:.85rem 1.5rem;font-size:1.05rem}.app-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.app-bar-brand{letter-spacing:-.025em;color:var(--fg);align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:inline-flex}.brand-mark{width:26px;height:26px;display:inline-block}.solve-stage{flex-direction:column;align-items:center;gap:1rem;padding:1rem 0 1.5rem;display:flex}.solve-stage-visual,.solve-stage-controls{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}@media (width>=880px){.solve-stage-controls{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;gap:1.25rem;padding:1.5rem 1.25rem}.solve-stage{flex-direction:row;justify-content:center;align-items:flex-start;gap:3rem;max-width:960px;margin:0 auto;padding:1rem 0 2rem}.solve-stage-visual{flex:none;width:auto}.solve-stage-controls{flex:0 440px;align-items:center;width:auto;padding-top:.75rem}}.solve-cube{aspect-ratio:1;background:radial-gradient(ellipse at 50% 0%, #fff9 0%, transparent 55%), var(--surface);cursor:grab;border-radius:14px;width:100%;max-width:420px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 1px 2px #0f172a0d,0 8px 24px #0f172a14,0 2px 6px #0f172a0a}.solve-cube:active{cursor:grabbing}[data-theme=dark] .solve-cube{background:radial-gradient(ellipse at 50% 0%, #ffffff0f 0%, transparent 55%), var(--bg-elev);box-shadow:inset 0 1px #ffffff0d,0 2px 6px #00000080,0 12px 28px #00000080,0 1px 2px #0000004d}@media (width>=880px){.solve-cube{max-width:380px}}.solve-net{background:var(--surface);border:1px solid var(--border);width:100%;max-width:460px;box-shadow:var(--shadow-sm);border-radius:14px;padding:.6rem .75rem}@media (width>=880px){.solve-net{max-width:380px}}.solve-net svg{display:block}.solve-net-toggle{min-height:36px;margin-top:-.25rem;padding:.35rem .7rem;font-size:.85rem}.solve-meta{color:var(--fg-muted);font-feature-settings:"tnum" 1;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;font-size:1rem;display:flex}.solve-meta strong{color:var(--fg);font-weight:600}.solve-meta-muted{color:var(--fg-subtle)}.solve-meta-error{color:var(--danger)}.solve-meta-loading{align-items:center;gap:.5rem;display:inline-flex}.solve-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:13px;height:13px;animation:.8s linear infinite solve-spin}@keyframes solve-spin{to{transform:rotate(360deg)}}.gods-badge{color:#4a3500;letter-spacing:.01em;background:linear-gradient(135deg,#fff1ad 0%,gold 55%,#ffb800 100%);border:1px solid #d4a300;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem .2rem .7rem;font-size:.78rem;font-weight:600;animation:.55s cubic-bezier(.18,1.4,.4,1) gods-bounce-in;display:inline-flex;position:relative;overflow:visible;box-shadow:0 0 0 1px #d4a30026,0 0 14px #ffc3008c}.gods-badge:before{content:"";pointer-events:none;border:2px solid #ffc30099;border-radius:999px;animation:.85s ease-out forwards gods-halo;position:absolute;inset:-2px}.gods-badge-sub{background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%) 0 0/220% 100% no-repeat,linear-gradient(135deg,#fff1ad 0%,gold 55%,#ffb800 100%);animation:.55s cubic-bezier(.18,1.4,.4,1) gods-bounce-in,1.6s ease-out .1s gods-shimmer}.gods-badge-info{color:#4a3500a6;cursor:help;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;transition:color .12s;display:inline-flex;position:relative}.gods-badge-info:hover,.gods-badge-info:focus-visible{color:#4a3500;outline:none}.gods-badge-info:after{content:attr(data-tooltip);background:var(--fg);color:var(--bg);letter-spacing:.005em;text-align:center;width:max-content;max-width:260px;box-shadow:var(--shadow-md);pointer-events:none;opacity:0;visibility:hidden;z-index:10;border-radius:8px;padding:.5rem .7rem;font-size:.75rem;font-weight:500;line-height:1.4;transition:opacity .1s,transform .1s,visibility 0s linear .1s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(2px)}.gods-badge-info:before{content:"";border:5px solid #0000;border-top-color:var(--fg);pointer-events:none;opacity:0;visibility:hidden;z-index:10;transition:opacity .1s,transform .1s,visibility 0s linear .1s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)translateY(2px)}.gods-badge-info:hover:after,.gods-badge-info:focus:after,.gods-badge-info:hover:before,.gods-badge-info:focus:before{opacity:1;visibility:visible;transition-delay:0s;transform:translate(-50%)translateY(0)}@keyframes gods-bounce-in{0%{opacity:0;transform:translateY(-2px)scale(.78)}60%{opacity:1;transform:translateY(0)scale(1.06)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gods-halo{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}@keyframes gods-shimmer{0%{background-position:220% 0,0 0}to{background-position:-120% 0,0 0}}.solve-meta-count{color:var(--fg);transform-origin:50%;font-weight:600;display:inline-block}.solve-meta-count.celebrate{color:#b8860b;animation:.5s cubic-bezier(.2,1.4,.4,1) solve-meta-count-pop}[data-theme=dark] .solve-meta-count.celebrate{color:gold}@keyframes solve-meta-count-pop{0%{transform:scale(.85)}60%{transform:scale(1.18)}to{transform:scale(1)}}.gods-burst{pointer-events:none;position:absolute;inset:0}.gods-particle{--angle:0deg;--distance:70px;width:7px;height:7px;transform:rotate(var(--angle)) translateX(0);opacity:0;border-radius:50%;margin:-3.5px 0 0 -3.5px;animation:1.1s cubic-bezier(.16,1,.3,1) forwards gods-particle-fly;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #00000026}@keyframes gods-particle-fly{0%{transform:rotate(var(--angle)) translateX(0) scale(1);opacity:1}to{transform:rotate(var(--angle)) translateX(var(--distance)) scale(.4);opacity:0}}.tighten-btn{letter-spacing:.005em;border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.tighten-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.tighten-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tighten-btn:disabled{cursor:default;color:var(--fg-muted)}.tighten-spinner{border:1.5px solid var(--border-strong);border-top-color:var(--fg);border-radius:50%;width:10px;height:10px;animation:.85s linear infinite tighten-spin}@keyframes tighten-spin{to{transform:rotate(360deg)}}.tighten-message{color:var(--fg-muted);font-size:.78rem;font-style:italic}.solve-transport{align-items:center;gap:.4rem;display:inline-flex}.transport-btn{width:38px;height:38px;color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.transport-btn:hover:not(:disabled){background:var(--surface)}.transport-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.transport-btn:disabled{color:var(--fg-subtle);opacity:.45;cursor:not-allowed}.transport-play{background:linear-gradient(180deg, #ffffff1a, #0000000f), var(--fg);width:60px;height:60px;color:var(--bg);cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;margin:0 .15rem;padding:0;transition:background .12s,transform 60ms,box-shadow .12s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff24,0 4px 12px #00000038,0 1px 2px #00000029}.transport-play:hover:not(:disabled){background:linear-gradient(180deg, #ffffff21, #0000000d), var(--fg-muted);box-shadow:inset 0 1px #ffffff2e,0 6px 16px #00000042,0 1px 2px #00000029}.transport-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.transport-play:active:not(:disabled){transform:scale(.96);box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0003}.transport-play:disabled{background:var(--border-strong);color:var(--fg-subtle);cursor:not-allowed;box-shadow:none}.transport-play-onboarding:after{content:"";border:2px solid var(--accent);pointer-events:none;border-radius:18px;animation:1.6s cubic-bezier(.2,.7,.4,1) infinite play-onboarding-ring;position:absolute;inset:-3px}@keyframes play-onboarding-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.32)}}.speed-segmented{background:var(--segmented-track);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.speed-segment{color:var(--fg-muted);cursor:pointer;appearance:none;background:0 0;border:none;border-radius:7px;min-width:4.5rem;padding:.45rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:500;transition:background .15s,color .15s,box-shadow .15s,font-weight}.speed-segment:hover:not(.speed-segment-active){color:var(--fg)}.speed-segment:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.speed-segment-active{background:var(--segmented-card);color:var(--fg);box-shadow:var(--segmented-card-shadow);font-weight:600}.speed-segment-turbo{align-items:center;gap:.3rem;display:inline-flex}.speed-segment-zap{margin-top:-1px;transition:color .15s,transform .15s}.speed-segment-active.speed-segment-turbo .speed-segment-zap{color:#f59e0b}.move-list{flex-wrap:wrap;justify-content:center;gap:.4rem;max-width:560px;margin:.25rem 0;padding:0;list-style:none;display:flex}.move{color:var(--fg-subtle);text-align:center;transform-origin:50%;background:0 0;border:1px solid #0000;border-radius:6px;min-width:2rem;padding:.2rem .5rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.move-played{color:var(--fg-muted)}.move-pending{color:var(--fg-subtle)}.move-current{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);animation:.35s cubic-bezier(.18,1.4,.4,1) move-pulse}@keyframes move-pulse{0%{transform:scale(.92);box-shadow:0 0 #2563eb00}55%{transform:scale(1.14);box-shadow:0 0 0 4px #2563eb2e}to{transform:scale(1);box-shadow:0 0 #2563eb00}}[data-theme=dark] .move-current{animation-name:move-pulse-dark}@keyframes move-pulse-dark{0%{transform:scale(.92);box-shadow:0 0 #3b82f600}55%{transform:scale(1.14);box-shadow:0 0 0 4px #3b82f647}to{transform:scale(1);box-shadow:0 0 #3b82f600}}.move-list-skeleton{flex-wrap:wrap;justify-content:center;gap:.4rem;width:100%;max-width:460px;padding:.25rem 0;display:flex}.move-skeleton{background:var(--surface-hover);border-radius:6px;width:2.4rem;height:1.65rem;animation:1.4s ease-in-out infinite move-skeleton-pulse;display:inline-block}.move-skeleton:nth-child(3n+1){width:2rem}.move-skeleton:nth-child(5n+2){width:2.8rem}.move-skeleton:nth-child(7n+3){width:1.7rem}@keyframes move-skeleton-pulse{0%,to{opacity:.45}50%{opacity:.85}}.solve-actions{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.5rem;display:flex}.solve-action{font-size:.9rem}.solve-share{align-items:center;gap:.4rem;display:inline-flex}.solve-share svg{margin-top:-1px}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.5rem;display:flex}.tab{color:var(--fg-muted);cursor:pointer;appearance:none;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem .4rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:color .12s,border-color .12s}.tab+.tab{margin-left:.75rem}.tab:hover:not(.tab-active){color:var(--fg)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.tab-active{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}@media (width<=600px){.tab{padding-left:.3rem;padding-right:.3rem;font-size:.92rem}.tab+.tab{margin-left:.5rem}}.solve-tab{text-align:center;flex-direction:column;align-items:center;padding:clamp(.5rem,3vw,1.5rem) 0 1.5rem;display:flex}.solve-tab-header{margin-bottom:1.5rem}.solve-tab-title{letter-spacing:-.025em;margin:0 0 .4rem;font-size:clamp(1.5rem,5vw,2rem);font-weight:700;line-height:1.15}.solve-tab-tagline{color:var(--fg-muted);max-width:32ch;margin:0;font-size:1rem;line-height:1.4}.entry-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:1rem;width:100%;max-width:920px;display:grid}.entry-card{text-align:left;background:var(--surface);border:1px solid var(--border);font-family:inherit;font-size:inherit;color:var(--fg);cursor:pointer;appearance:none;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.5rem;min-height:168px;padding:1.25rem 1.25rem 1.1rem;transition:background .12s,border-color .12s,box-shadow .12s,transform 60ms;display:flex}.entry-card:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--border-strong);background:var(--surface-hover);box-shadow:var(--shadow-md)}.entry-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.entry-card:active:not(:disabled):not([aria-disabled=true]){transform:scale(.99)}.entry-card-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.entry-card-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-fg)}.entry-card-primary .entry-card-description{color:#ffffffd9}.entry-card-primary .entry-card-action{color:#fffffff2}.entry-card-disabled{cursor:not-allowed}.entry-card-disabled .entry-card-icon,.entry-card-disabled .entry-card-title{color:var(--fg-muted)}.entry-card-disabled .entry-card-description{color:var(--fg-subtle)}.entry-card-icon{color:currentColor;flex-shrink:0;width:28px;height:28px}.entry-card-title{letter-spacing:-.005em;font-size:1.05rem;font-weight:600}.entry-card-description{color:var(--fg-muted);font-size:.88rem;line-height:1.45}.entry-card-action{color:var(--accent);margin-top:auto;font-size:.85rem;font-weight:500}.entry-card-action-muted{background:var(--surface-hover);border:1px solid var(--border);color:var(--fg-muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.entry-card-open{border-color:var(--border-strong);background:var(--surface-hover)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-error{max-width:560px;color:var(--danger);background:var(--surface);border:1px solid var(--danger);text-align:left;border-radius:10px;margin:1rem auto 0;padding:.6rem .85rem;font-size:.85rem}main.dragging{position:relative}main.dragging:after{content:"";border:2px dashed var(--accent);pointer-events:none;z-index:50;border-radius:16px;position:fixed;inset:12px}.paste-form{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:12px;width:100%;max-width:760px;margin-top:1.25rem;padding:1.1rem 1.2rem 1.2rem}.paste-form-grid{flex-direction:column;gap:1rem;display:flex}@media (width>=540px){.paste-form-grid{grid-template-columns:1fr minmax(180px,220px);align-items:start;gap:1.25rem;display:grid}}.paste-form-fields{flex-direction:column;gap:.65rem;min-width:0;display:flex}.paste-label{color:var(--fg-muted);font-size:.85rem}.paste-input{background:var(--bg);color:var(--fg);border:1px solid var(--border);resize:vertical;border-radius:8px;min-height:4.5rem;padding:.55rem .7rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.4}.paste-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.paste-error{color:var(--danger);margin:0;font-size:.85rem}.paste-form-fields .btn{align-self:flex-start}.paste-preview{flex-direction:column;align-items:center;gap:.45rem;padding-top:.1rem;display:flex}.paste-preview svg{width:100%;max-width:220px;height:auto}.paste-preview-caption{color:var(--fg-muted);text-align:center;margin:0;font-size:.75rem}.paste-preview-empty svg{opacity:.35}.paste-preview-empty .paste-preview-caption{color:var(--fg-subtle);font-style:italic}footer.app-footer{border-top:1px solid var(--border);color:var(--fg-subtle);justify-content:space-between;align-items:center;margin-top:3rem;padding-top:1rem;font-size:.85rem;display:flex}footer.app-footer a{color:var(--fg-muted)}footer.app-footer a:hover{color:var(--fg)}.app-footer-version{color:var(--fg-muted);font-variant-numeric:tabular-nums;margin-left:.35rem;font-size:.78rem;font-weight:400}.dev-section{border:1px dashed var(--border-strong);background:var(--surface);border-radius:12px;margin-top:2.5rem;padding:1.25rem}.dev-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-subtle);margin-bottom:.75rem;font-size:.7rem;font-weight:600}.dev-section .toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.dev-status{color:var(--fg-muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8rem}.dev-status-ready{color:var(--ok)}.cube-area{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;margin:1rem 0;display:grid}@media (width<=720px){.cube-area{grid-template-columns:1fr}}.cube-3d{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);cursor:grab;border-radius:8px;min-height:280px}.cube-3d:active{cursor:grabbing}.capture-fullscreen{z-index:50;color:#fff;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.capture-top-bar{padding:max(env(safe-area-inset-top), .75rem) 1rem .75rem;z-index:3;background:linear-gradient(#0000008c 0%,#0000 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.capture-progress{letter-spacing:.02em;color:#ffffffd9;align-items:center;gap:.6rem;font-size:.82rem;font-weight:600;display:flex}.capture-progress-dots{gap:.3rem;display:flex}.capture-progress-dot{background:#ffffff59;border-radius:50%;width:7px;height:7px;transition:background .18s}.capture-progress-dot.active{background:#fff}.capture-progress-dot.completed{background:var(--ok)}.capture-top-bar-actions{align-items:center;gap:.6rem;display:inline-flex}.capture-close{color:#fff;cursor:pointer;appearance:none;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;line-height:1;transition:background .12s;display:inline-flex}.capture-close:hover,.capture-close:focus-visible{background:#ffffff2e;outline:none}.capture-camera-picker{position:relative}.capture-camera-picker-toggle{color:#fff;cursor:pointer;appearance:none;background:#00000059;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s;display:inline-flex}.capture-camera-picker-toggle:hover,.capture-camera-picker-toggle:focus-visible{background:#ffffff2e;outline:none}.capture-camera-picker-menu{z-index:20;-webkit-backdrop-filter:blur(12px);background:#1c1c1ef5;border:1px solid #ffffff14;border-radius:12px;min-width:240px;max-width:min(320px,92vw);padding:.4rem 0;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #00000073,0 2px 4px #00000040}.capture-camera-picker-heading{color:#ffffff8c;letter-spacing:.02em;padding:.35rem .9rem;font-size:.78rem}.capture-camera-picker-item{color:#fff;text-align:left;cursor:pointer;appearance:none;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .9rem;font-family:inherit;font-size:.92rem;transition:background .1s;display:flex}.capture-camera-picker-item:hover,.capture-camera-picker-item:focus-visible{background:#ffffff14;outline:none}.capture-camera-picker-check{color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:14px;font-size:.95rem;display:inline-flex}.capture-camera-picker-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.capture-camera-picker-item.active{font-weight:600}.capture-camera-picker-hint{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.35rem;padding:.6rem .85rem .7rem;display:flex}.capture-camera-picker-hint p{color:var(--fg-muted);margin:0;font-size:.78rem;line-height:1.4}.capture-camera-picker-steps{color:var(--fg-muted);flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.4;display:flex}.capture-camera-picker-steps li::marker{color:var(--fg-subtle)}.capture-camera-picker-rescan-result{color:var(--fg-subtle);margin:0;font-size:.75rem;font-style:italic}.capture-camera-picker-refresh{color:var(--accent);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:.3rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600}.capture-camera-picker-refresh:hover:not(:disabled),.capture-camera-picker-refresh:focus-visible:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong);outline:none}.capture-camera-picker-refresh:disabled{cursor:progress;color:var(--fg-subtle)}.capture-stage{background:#000;flex:1;position:relative;overflow:hidden}.capture-video,.capture-frozen{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.capture-frozen{z-index:1}.capture-overlay-layer{pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.capture-overlay-layer svg{width:100%;max-width:min(100%,100vh);height:100%}.capture-overlay-faded{opacity:.45}.capture-instruction-chip{top:calc(max(env(safe-area-inset-top), .75rem) + 3.25rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;z-index:3;white-space:nowrap;background:#0000008c;border:1px solid #ffffff1a;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.capture-explainer{text-align:center;z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#0000008c;border:1px solid #ffffff1a;border-radius:14px;width:min(86%,360px);padding:1rem 1.1rem;position:absolute;top:22%;left:50%;transform:translate(-50%)}.capture-explainer-title{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.capture-explainer-body{color:#fffc;margin:0;font-size:.9rem;line-height:1.45}.capture-status{text-align:center;color:#fff;z-index:3;padding:.75rem 1rem;font-size:.95rem;position:absolute;inset:auto 0 25%}.capture-bottom-bar{padding:1.25rem 1rem max(env(safe-area-inset-bottom), 1rem);z-index:3;background:linear-gradient(#0000 0%,#0009 100%);justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.capture-bottom-bar.review{justify-content:space-between;padding-left:1rem;padding-right:1rem}.capture-bottom-bar.review .btn{flex:1;max-width:180px}.capture-bottom-bar .btn-secondary{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-color:#ffffff40}.capture-bottom-bar .btn-secondary:hover:not(:disabled){background:#fff3;border-color:#fff6}.capture-shutter{cursor:pointer;appearance:none;background:#fff;border:4px solid #ffffffd9;border-radius:50%;width:72px;height:72px;min-height:72px;padding:0;transition:transform 80ms,box-shadow .12s;box-shadow:0 0 0 3px #00000073}.capture-shutter:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.capture-shutter:hover:not(:disabled){box-shadow:0 0 0 3px #0009}.capture-shutter:active:not(:disabled){transform:scale(.94)}.capture-shutter:disabled{cursor:not-allowed;background:#fff6}.capture-flash{z-index:6;pointer-events:none;background:#fff;animation:.18s ease-out forwards capture-flash;position:absolute;inset:0}@keyframes capture-flash{0%{opacity:.85}to{opacity:0}}.capture-done{padding:max(env(safe-area-inset-top), 4.5rem) 1rem max(env(safe-area-inset-bottom), 1rem);flex-direction:column;flex:1;gap:1rem;display:flex;overflow:auto}.capture-intro{text-align:center;color:#fff;flex-direction:column;align-items:center;gap:1rem;max-width:380px;margin:auto;padding:1.5rem 1.25rem;display:flex}.capture-intro-title{letter-spacing:-.015em;margin:0;font-size:1.4rem;font-weight:700}.capture-intro-illustration{justify-content:center;align-items:center;margin:.5rem 0;display:flex}.capture-intro-body{margin:0;font-size:.95rem;line-height:1.4}.capture-intro-detail{color:#ffffffb3;margin:0;font-size:.85rem;line-height:1.5}.capture-intro-cta{margin-top:.5rem}.capture-done-title{text-align:center;letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.capture-done-subtitle{text-align:center;color:#ffffffb3;margin:0 0 1rem;font-size:.9rem}.capture-review-both{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.capture-review-both figure{flex-direction:column;gap:.4rem;margin:0;display:flex}.capture-review-both img{aspect-ratio:3/4;object-fit:cover;background:#111;border-radius:12px;width:100%}.capture-review-both figcaption{color:#ffffffa6;text-align:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem}@media (width<=480px){.capture-review-both{grid-template-columns:1fr}}.capture-done-actions{justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.capture-error{color:#fecaca;text-align:left;background:#ef44441f;border:1px solid #ef444473;border-radius:10px;max-width:32rem;margin:.75rem auto 0;padding:.75rem 1rem}.capture-error-title{color:#fee2e2;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.capture-error-body{color:#fecaca;margin:0;font-size:.88rem;line-height:1.4}.diagnostic-view{flex-direction:column;gap:1.25rem;margin:1rem 0 2rem;display:flex}.diagnostic-header{justify-content:space-between;align-items:baseline;display:flex}.diagnostic-header h2{letter-spacing:-.015em;margin:0;font-size:1.25rem}.diagnostic-photos{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.diagnostic-photo{flex-direction:column;gap:.5rem;margin:0;display:flex}.diagnostic-photo figcaption{color:var(--fg-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.85rem}.diagnostic-photo-stage{border:1px solid var(--border);background:#0b0d10;border-radius:10px;width:100%;position:relative;overflow:hidden}.diagnostic-photo-img{object-fit:cover;width:100%;height:100%;display:block}.diagnostic-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.diagnostic-label{fill:#fff;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:600}.diagnostic-label-stroke{fill:none;stroke:#000000d9;stroke-width:2.5px;stroke-linejoin:round;paint-order:stroke}.diagnostic-summary{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.diagnostic-row{grid-template-columns:11rem 1fr;gap:.5rem;font-size:.88rem;display:grid}.diagnostic-row-label{color:var(--fg-muted)}.diagnostic-row-value{color:var(--fg);word-break:break-all}.diagnostic-row-ok .diagnostic-row-value{color:var(--ok)}.diagnostic-row-warn .diagnostic-row-value{color:#d97706}.diagnostic-row-bad .diagnostic-row-value{color:var(--danger)}.diagnostic-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.diagnostic-actions{justify-content:center;gap:.75rem;display:flex}.entry-card-dev{border:1px dashed var(--border-strong);background:#7c3aed0f}.entry-card-dev .entry-card-action{color:#7c3aed}[data-theme=dark] .entry-card-dev{background:#a78bfa14}.entry-card-dev-form{flex-direction:column;gap:.65rem;margin-top:.75rem;display:flex}.entry-card-dev-form label{color:var(--fg-muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.entry-card-dev-form input[type=file]{font:inherit}.synthetic-preview{margin-top:1.5rem}.synthetic-preview p{color:var(--fg-muted);margin:0 0 1rem;font-size:.9rem}.synthetic-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.synthetic-sample{flex-direction:column;align-items:center;gap:.4rem;margin:0;display:flex}.synthetic-sample canvas{border:1px solid var(--border);background:#202020;border-radius:12px;width:100%;max-width:320px;height:auto}.synthetic-sample figcaption{color:var(--fg-muted);text-align:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem}
