:root{--ink:#f2f0ea;--ink-2:#b9b5aa;--card:#100e14eb;--accent:#ffd27a}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);overscroll-behavior:none;background:#0c0a10;margin:0;font-family:-apple-system,PingFang SC,Noto Sans SC,system-ui,sans-serif}#table{touch-action:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;inset:0}#overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#0605098c;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}#overlay.visible{display:flex}#overlay.tap{-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer;background:#0605092e}.tap-body{text-align:center;pointer-events:none}.tap-hint{text-shadow:0 4px 30px #0009;margin:12px 0 8px;font-size:clamp(22px,4vw,34px);font-weight:600;animation:2.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.card{background:var(--card);border:1px solid #ffffff14;border-radius:22px;width:min(560px,100%);max-height:100%;padding:28px 26px;overflow:auto;box-shadow:0 30px 80px #00000080}.card.result{width:min(880px,100%)}.eyebrow{letter-spacing:.28em;color:var(--ink-2);text-transform:uppercase;font-size:11px}h1{margin:14px 0 12px;font-size:clamp(26px,5vw,38px);font-weight:600;line-height:1.2}h2{margin:0 0 12px;font-size:18px;font-weight:600}.lede{color:var(--ink-2);margin:0 0 22px;font-size:15px;line-height:1.7}.fine{color:#7d7970;margin:18px 0 0;font-size:12px;line-height:1.6}.choices{flex-direction:column;gap:10px;display:flex}button,.button{appearance:none;color:var(--ink);font:inherit;cursor:pointer;text-align:center;background:#ffffff0f;border:1px solid #ffffff24;border-radius:14px;padding:14px 18px;font-size:16px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#ffffff1f}button.primary{background:var(--accent);color:#1a1408;border-color:#0000;font-weight:600}button.primary:hover{background:#ffe0a0}button.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.loading{text-align:center}.loading p{color:var(--ink-2)}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:6px auto 14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.bar i{background:var(--accent);height:100%;transition:width .2s;display:block}.result-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:14px;display:grid}.shot img,.shot video{aspect-ratio:1;object-fit:cover;background:#000;border-radius:16px;width:100%;display:block}.cast{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.cast li{align-items:center;gap:10px;font-size:14px;display:flex}.cast li.off{opacity:.45}.cast i{border-radius:50%;flex:none;width:12px;height:12px}.cast b{min-width:3em;font-weight:600}.cast em{color:var(--ink);background:#ffffff1a;border-radius:6px;padding:1px 6px;font-size:11px;font-style:normal}.cast span{color:var(--ink-2)}.forms{color:var(--ink-2);margin:0 0 14px;font-size:13px}.forms em{color:var(--accent);background:#ffd27a2e;border-radius:8px;margin-right:4px;padding:2px 8px;font-style:normal}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions.again{margin-top:10px}.actions button,.actions .button{padding:11px 14px;font-size:14px}.toast{color:var(--ink);opacity:0;z-index:20;pointer-events:none;background:#14121af2;border:1px solid #ffffff1f;border-radius:12px;padding:10px 16px;font-size:14px;transition:opacity .25s,transform .25s;position:fixed;top:22px;left:50%;transform:translate(-50%,-20px)}.toast.in{opacity:1;transform:translate(-50%)}@media (width<=640px){.card{border-radius:18px;padding:22px 18px}.result-grid{grid-template-columns:1fr}}.dw-head{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 8px;display:flex}.dw-head button{padding:7px 12px;font-size:13px}.drawer{z-index:9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0c14f5;border-top:1px solid #ffffff1a;max-height:62vh;padding:14px 16px 22px;transition:transform .25s;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%);box-shadow:0 -20px 60px #00000080}.drawer.open{padding-bottom:56px;transform:translateY(0)}.drawer{max-height:42vh}body.wide .drawer{border-top:0;border-left:1px solid #ffffff1a;width:min(400px,38vw);max-height:none;padding:16px 18px 24px;inset:0 0 0 auto;transform:translate(105%);box-shadow:-20px 0 60px #00000080}body.wide .drawer.open{padding-bottom:24px;transform:translate(0)}body.wide .dw-grid{grid-template-columns:1fr}.dw-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px;max-width:1100px;margin:0 auto;display:grid}.drawer h3{letter-spacing:.2em;color:var(--ink-2);text-transform:uppercase;margin:4px 0 8px;font-size:11px}.drawer .row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.drawer .hint{color:#8b8778;font-size:12px}.drawer input[type=number],.drawer select{color:var(--ink);font:inherit;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;padding:9px 10px;font-size:14px}.drawer input[type=number]{width:84px}.drawer button,.drawer .file{border-radius:10px;padding:9px 12px;font-size:13px}.drawer .file{cursor:pointer;color:var(--ink);border:1px dashed #ffffff40}.drawer .file input{display:none}.drawer .locks button{opacity:.6;align-items:center;gap:6px;display:inline-flex}.drawer .locks button i{background:var(--c);border-radius:50%;width:10px;height:10px}.drawer .locks button.on{opacity:1;border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}.drawer .hold.on{color:#1a1408;background:#ff8a5b}.drawer button[disabled]{opacity:.5;cursor:default}.drawer button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.drawer .hits{gap:10px 8px}.drawer .hit{flex-direction:column;align-items:center;gap:4px;display:flex}.drawer .hit>button{border-color:var(--c);flex-direction:column;justify-content:center;align-items:center;gap:3px;width:74px;height:54px;padding:4px 6px;display:flex}.drawer .hit>button:active{background:var(--c)}.drawer .hit svg{width:48px;height:14px;display:block;overflow:visible}.drawer .hit svg rect{fill:var(--c)}.drawer .hit b{color:var(--c);white-space:nowrap;font-size:11px;line-height:1}.drawer .hit select{border-radius:8px;padding:3px 4px;font-size:11px}.drawer .hit .x{padding:1px 6px;font-size:11px}.drawer svg.take{background:#ffffff0a;border-radius:8px;width:100%;max-width:380px;height:44px;display:block}.drawer svg.take rect{fill:var(--accent)}.drawer svg.take line{stroke:#ffffff1f;stroke-width:1px}.drawer svg.take line.beat{stroke:#ffffff52}.drawer .meter{vertical-align:middle;background:#ffffff14;border-radius:4px;width:90px;height:8px;display:inline-block;overflow:hidden}.drawer .meter i{background:var(--accent);width:0;height:100%;transition:width 50ms linear;display:block}.tray-btn{z-index:11;width:44px;height:30px;color:var(--ink-2);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;font-size:14px;display:flex;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}.tray-btn.on{color:var(--accent);border-color:var(--accent)}.sound-btn{letter-spacing:1px;font-size:12px}.sound-btn.off{color:var(--accent);border-color:var(--accent)}.drop-hint{z-index:12;border:3px dashed var(--accent);color:var(--ink);pointer-events:none;background:#ffd27a1f;justify-content:center;align-items:center;font-size:20px;display:none;position:fixed;inset:0}.drop-hint.on{display:flex}
