:root{--bg:#0a0a0c;--card:#16161b;--line:#26262e;--txt:#f3efe6;--mut:#9a958c;--gold:#e8b44a;--red:#e2463b}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.4 -apple-system,system-ui,"Segoe UI",Roboto,sans-serif}
body{max-width:560px;margin:0 auto;min-height:100vh;background:radial-gradient(120% 60% at 50% -10%,#2a1a14 0,transparent 60%),var(--bg)}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(10,10,12,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center}#logo{height:34px;max-width:200px;object-fit:contain;background:#fff;padding:4px 12px;border-radius:10px}.wordmark{font-family:Georgia,serif;font-size:21px;letter-spacing:.5px}.wordmark b{color:var(--gold);font-style:italic}
.me{font-size:22px;color:var(--gold)}
main{padding-bottom:40px}h2{font-family:Georgia,serif;font-weight:400;margin:18px 14px 8px;font-size:20px}h3{margin:16px 14px 8px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--mut)}
.hero{position:relative;background:#000;aspect-ratio:16/10;overflow:hidden}.hero video,.vid{width:100%;height:100%;object-fit:contain;background:#000;display:block}
.script{position:absolute;left:0;right:0;bottom:0;height:30px;overflow:hidden;background:linear-gradient(transparent,rgba(0,0,0,.92) 35%);transition:height .3s ease;padding:0 12px;touch-action:none;cursor:ns-resize;z-index:3}
.script.open{height:72%;overflow-y:auto;background:rgba(0,0,0,.88)}.script .grab{position:absolute;top:2px;left:50%;width:34px;height:3px;margin-left:-17px;border-radius:2px;background:#777}
.script .cur{line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.script.open .cur{display:none}.script .full{display:none;padding:14px 0}.script.open .full{display:block}
.line{margin:0 0 9px;font-size:14px;opacity:.55}.line.on{opacity:1}.who{display:block;font-size:10px;letter-spacing:2px;color:var(--gold)}
.meta{padding:10px 14px;display:flex;gap:10px;align-items:flex-start}.meta .t{flex:1}.meta .t b{display:block;font-size:16px}.meta small,.mut{color:var(--mut);font-size:12px}
.pill{display:inline-block;padding:3px 9px;border-radius:99px;background:#26262e;font-size:11px;letter-spacing:.5px}.pill.gold{background:var(--gold);color:#1a1205;font-weight:700}
.shorts{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px}.short{position:relative;aspect-ratio:9/14;border-radius:14px;overflow:hidden;background:#000;border:1px solid var(--line)}
.short video{width:100%;height:100%;object-fit:cover}.short .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 9px 9px;background:linear-gradient(transparent,#000c);font-size:12px}.short .cap b{display:block;font-size:13px}
.rank{position:absolute;top:8px;left:8px;z-index:2;font:700 12px Georgia;background:#000a;padding:2px 8px;border-radius:8px}
.endcard{position:absolute;inset:0;z-index:5;display:none;align-items:center;justify-content:center;background:rgba(5,5,7,.86);backdrop-filter:blur(3px)}.endcard.show{display:flex}
.endcard .c{display:flex;gap:10px;padding:16px;width:92%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.choice{flex:1;border-radius:14px;padding:14px 10px;text-align:center}.choice b{display:block;font-size:18px}.choice span{font-size:12px;opacity:.8}
.choice.raid{flex:1.5;background:linear-gradient(135deg,var(--red),#a82519);box-shadow:0 6px 24px #e2463b55}.choice.rate{background:#24242c;border:1px solid #3a3a44}
.replay{position:absolute;top:8px;right:8px;background:#0008;border-radius:20px;padding:4px 10px;font-size:12px}
.btn{display:block;width:calc(100% - 28px);margin:10px 14px;padding:14px;border-radius:14px;background:var(--red);font-weight:700;text-align:center}.btn.alt{background:#24242c;border:1px solid #3a3a44}.btn:disabled{opacity:.4}
.list{padding:0 14px}.row{display:flex;gap:12px;align-items:center;padding:10px;margin-bottom:8px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.row video{width:84px;height:84px;object-fit:cover;border-radius:10px;background:#000}.row .t{flex:1;min-width:0}.score{font:700 22px Georgia;color:var(--gold)}.row.champ{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.acts{display:flex;gap:6px;margin-top:6px}.acts a{font-size:12px;padding:5px 10px;border-radius:9px;background:#24242c}
.rec{position:relative;background:#000;aspect-ratio:3/4;max-height:62vh;width:100%;overflow:hidden}.rec video{width:100%;height:100%;object-fit:cover}.mirror{transform:scaleX(-1)}
.prompter{position:absolute;left:0;right:0;bottom:0;max-height:45%;overflow-y:auto;padding:12px 14px;background:linear-gradient(transparent,#000d 20%)}
.recdot{position:absolute;top:10px;left:10px;background:var(--red);padding:3px 10px;border-radius:9px;font-size:12px;font-weight:700;display:none}.recdot.on{display:block;animation:bl 1s infinite}@keyframes bl{50%{opacity:.4}}
input[type=text]{width:calc(100% - 28px);margin:6px 14px;padding:13px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--txt);font-size:16px}
.slider{padding:10px 14px}.slider label{display:flex;justify-content:space-between}.slider label b{color:var(--gold);font:700 20px Georgia}.slider p{margin:2px 0 6px;color:var(--mut);font-size:12px}
input[type=range]{width:100%;accent-color:var(--gold);height:30px}
.overall{text-align:center;padding:14px}.overall b{font:700 54px Georgia;color:var(--gold)}
.h2h{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px}.h2h .side{border-radius:14px;overflow:hidden;background:#000;border:2px solid var(--line);position:relative}.h2h .side video{width:100%;aspect-ratio:3/4;object-fit:cover}
.h2h .side .lab{padding:8px;text-align:center;background:var(--card);font-size:13px}.h2h .side.win{border-color:var(--gold)}.vs{text-align:center;font:italic 28px Georgia;color:var(--gold);margin:14px}
.badge{display:flex;gap:12px;align-items:center;margin:8px 14px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#3a2a0e,#1c150a);border:1px solid var(--gold)}.badge .i{font-size:30px}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#222;border:1px solid var(--gold);padding:10px 16px;border-radius:12px;opacity:0;transition:.3s;pointer-events:none;z-index:99;max-width:90%}#toast.show{opacity:1}
.empty{margin:10px 14px;padding:18px;border:1px dashed #3a3a44;border-radius:14px;text-align:center;color:var(--mut)}
.poster{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#111 center/cover no-repeat;overflow:hidden}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0003,#000a)}
.poster .play{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;background:#000a;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--gold);padding-left:4px}
.poster .pt{position:absolute;z-index:1;left:10px;right:10px;top:10px;font:italic 14px Georgia;text-shadow:0 1px 4px #000}
.poster.sm .play{width:40px;height:40px;font-size:15px}.poster.sm .pt{display:none}
.row .poster{width:84px;height:84px;flex:none;border-radius:10px}.h2h .side .poster{aspect-ratio:3/4;height:auto}
.hero .poster{cursor:pointer}.raider{background:linear-gradient(135deg,#3b1d16,#14141a)}
.note{margin:10px 14px;padding:12px;border-radius:12px;background:#24242c;border:1px solid var(--gold);text-align:center;font-size:13px}
.demo{margin:0;padding:6px 14px;font-size:11px;text-align:center;color:#1a1205;background:var(--gold)}
@media (max-width:380px){.choice b{font-size:15px}.overall b{font-size:42px}}
