:root{--bg:#f6f5f2;--card:#fff;--ink:#1d1d1b;--muted:#6b6a66;--accent:#2f6fdf;--error:#b3261e;--line:#dddbd5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#161615;--card:#22221f;--ink:#f0efea;--muted:#a3a29c;--line:#3a3935;--accent:#7aa7ff;--error:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}#app{max-width:640px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}h1,h2{margin:0 0 12px}.step,.muted{color:var(--muted)}.error{color:var(--error)}ul{padding-left:20px}li{margin:4px 0}button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;padding:12px 18px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;margin-top:12px}button[disabled]{opacity:.5;cursor:default}.row{gap:8px;display:flex}.row button{flex:1}.preview-slot,.still{margin:12px 0;position:relative}.preview{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:60vh;display:block;transform:scaleX(-1)}.still-img{transform:scaleX(-1)}.overlay{color:#fff;text-shadow:0 2px 12px #0009;pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:72px;font-weight:700;display:flex;position:absolute;inset:0}.bar{background:var(--line);border-radius:3px;height:6px;margin:12px 0;overflow:hidden}.bar>div{background:var(--accent);width:0;height:100%;transition:width .25s linear}form label{margin:12px 0 4px;font-weight:600;display:block}input,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;width:100%;padding:10px}.nn{grid-template-columns:repeat(9,1fr);gap:4px;display:grid}.nn label{text-align:center;border:1px solid var(--line);cursor:pointer;border-radius:8px;margin:0;padding:8px 0;font-weight:400}.nn input{display:none}.nn input:checked+span{color:var(--accent);font-weight:700}dl{grid-template-columns:auto 1fr;gap:4px 12px;display:grid}dt{color:var(--muted)}code{word-break:break-all}.hint{min-height:1.4em;margin:8px 0 0;font-weight:600}.hint-ok{color:#1e7d3a}.hint-fix{color:#a15c00}@media (prefers-color-scheme:dark){.hint-ok{color:#6fd08c}.hint-fix{color:#ffb44d}}.debug-line{color:#fff;z-index:10;background:#000000b3;padding:4px 8px;font:11px/1.3 ui-monospace,monospace;position:fixed;bottom:0;left:0;right:0}.test-controls{margin-top:8px}.test-controls button{border-style:dashed}.thinking{justify-content:center;gap:8px;margin:16px 0;display:flex}.thinking span{opacity:.3;background:currentColor;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite think}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}@keyframes think{0%,80%,to{opacity:.3}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking span{opacity:.6;animation:none}}.op button{text-align:left;width:100%;margin:6px 0;display:block}.op textarea,.op select{box-sizing:border-box;width:100%;font:inherit}.op-check{border:1px solid #8884;border-radius:8px;margin:8px 0}.op-check label{flex:1}.op .rv-table{border-collapse:collapse;width:100%;font-size:14px}.op .rv-table td,.op .rv-table th{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid #8883;padding:4px 6px}.op .tv h3{margin:4px 0}.op .tv-meta{font-size:13px}.time-left{text-align:center;font-variant-numeric:tabular-nums;min-height:1.2em;margin:8px 0 0;font-size:28px;font-weight:700}.share-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-row code{border:1px solid var(--line);border-radius:8px;flex:220px;padding:10px}.card+.card{margin-top:16px}.op .op-comp li{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;margin:8px 0;display:grid}.op .op-comp li label{grid-column:1/-1}.op .op-comp li select{min-width:0}.op .op-move{gap:4px;display:flex}.op .op-move button{width:auto;margin:0;padding:8px 12px;display:inline-block}.op .op-comp li small{grid-column:1/-1}.op .op-add button{width:auto;margin:0}.live-badge{z-index:30;color:#fff;background:#b3261e;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;position:fixed;top:12px;left:12px;box-shadow:0 2px 10px #00000040}.live-badge:before{content:"● "}.op-required{color:var(--accent);font-weight:600}
