:root{color-scheme:dark;--ink:#0b1016;--panel:#171f28;--gold:#b3ddf2;--white:#f5f1e9;--muted:#a3adb8}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}main{max-width:1320px;margin:auto;padding:0 28px}header{min-height:90px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #343d47}.brand{font-size:27px;font-weight:900;letter-spacing:-1px;text-decoration:none;color:var(--white);line-height:.95}.brand span{display:block;font-size:10px;letter-spacing:3px;color:var(--gold);margin-top:10px}.broadcast{margin-left:auto;font-weight:900;font-size:26px;border:1px solid #45505c;padding:8px 12px}.broadcast b{font-size:11px;color:var(--muted)}.quiet{background:#171f28;color:var(--white);border:1px solid #434e5a;padding:11px 14px;min-height:44px;font-size:13px;border-radius:5px}.primary{background:var(--gold);color:var(--ink);border:0;border-radius:5px;padding:17px 25px;font-weight:900;min-height:54px;text-transform:uppercase}.eyebrow{font-size:11px;font-weight:800;color:var(--gold);letter-spacing:1.6px;margin:0 0 9px}.section-top{padding:27px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.section-top .eyebrow{margin:0}h1{font-size:25px;letter-spacing:-.7px;margin:0}h2{font-size:28px}.selection-layout{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}.spotlight{position:sticky;top:15px;border:1px solid #424c57;background:radial-gradient(ellipse at 50% 40%,#334451,#111923 75%);overflow:hidden;border-radius:8px}.spotlight-art{height:440px;position:relative;background:linear-gradient(transparent 90%,#0b1016a0)}#selectionPreview{display:block;width:100%;height:100%;object-fit:contain}.preview-number{position:absolute;top:15px;left:18px;font-weight:900;color:#ffffff32;font-size:52px;letter-spacing:-4px}.selected-info{border-top:3px solid var(--crew,var(--gold));padding:20px;display:flex;flex-direction:column;gap:7px}.selected-info .eyebrow{margin:0}.selected-info strong{font-size:28px;line-height:1;text-transform:uppercase;letter-spacing:-1px}.selected-info>span:last-child{font-size:13px;color:var(--muted);line-height:1.5}.roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.player-card{position:relative;overflow:hidden;background:linear-gradient(160deg,#293642,#151c24);padding:0;border:1px solid #414d5b;border-radius:6px;color:white;text-align:left;min-width:0;transition:border-color .15s,background .15s}.player-card.selected{border:2px solid var(--gold);background:linear-gradient(160deg,#48505a,#222832);box-shadow:inset 0 0 0 1px #b3ddf2}.player-card img,.roster-portrait{display:block;width:100%;height:124px;object-fit:contain}.card-top{position:absolute;top:8px;left:8px;background:#0b1016bf;font-size:10px;font-weight:900;color:var(--gold);padding:4px 5px}.card-name{display:block;border-top:3px solid var(--crew);background:#10171ecc;padding:10px 8px;min-height:55px}.card-name strong{font-size:12px;line-height:1.2;display:block;text-transform:uppercase}.card-name small{display:none}.setup{position:sticky;bottom:0;z-index:5;display:flex;align-items:end;justify-content:flex-end;gap:16px;padding:17px 0;background:#0b1016f2;border-top:1px solid #434c56;margin-top:22px;backdrop-filter:blur(15px)}.opponent{display:flex;flex-direction:column;gap:7px;flex:1;max-width:340px}.opponent label{font-size:10px;font-weight:900;color:var(--muted);letter-spacing:2px}select{color:white;background:#18212b;border:1px solid #576573;border-radius:5px;padding:14px 12px;min-height:54px;max-width:100%;width:100%;font-size:15px}.fiction,#assetStatus{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0}.match-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px}.match-top>span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:1.5px}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:14px 18px;background:#171f28;border:1px solid #3d4651;border-bottom:0;border-radius:7px 7px 0 0}.scoreboard>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.scoreboard .eyebrow{margin:0;font-size:10px}.scoreboard strong{font-size:17px;text-transform:uppercase;line-height:1.1}.score{grid-column:2;grid-row:1/3;font-size:38px;font-weight:900;color:var(--gold)}.scoreboard .cpu{text-align:right}.scoreboard .cpu .score{grid-column:1}.scoreboard .score-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.score-center strong{font-size:12px;color:var(--muted)}.stage{position:relative;background:#17232d;border:1px solid #3d4651;overflow:hidden;aspect-ratio:2/1}#cartoonArena{display:block;width:100%;height:100%;object-fit:cover}#crowd{display:none}.cartoon-call{position:absolute;top:18px;left:20%;right:20%;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;pointer-events:none}.cartoon-call strong{font-size:clamp(22px,2.5vw,34px);font-weight:900;line-height:1;text-shadow:0 2px 12px #000}.cartoon-call span{font-size:12px;background:#0b1016db;border:1px solid #677889;padding:6px 11px;border-radius:20px;color:var(--white)}.intro{position:absolute;inset:0;background:#0b1016e8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.intro h2{font-size:40px;text-transform:uppercase;line-height:1;margin:10px 0}.intro p{font-size:16px;color:var(--muted);max-width:500px;line-height:1.5}.ticker{display:none}.play-controls{padding:0 0 15px;text-align:center}.play-controls>p:first-child{font-size:14px;color:var(--white);min-height:22px;margin:15px 0 12px}.sequence{display:none}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:660px;margin:auto}.choices button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;background:#1b2631;color:white;border:1px solid #66788a;border-radius:7px;min-height:85px;padding:13px;touch-action:manipulation}.choices button:hover:not(:disabled),.choices button:active:not(:disabled){background:#32485a;border-color:var(--gold)}.choices button span{font-size:33px}.choices button strong{font-size:14px;letter-spacing:.5px}.choices button small{position:absolute;right:7px;bottom:6px;font-size:10px;color:var(--muted)}.play-controls>.primary{margin-top:14px;width:100%;max-width:660px}.rules{font-size:11px;color:var(--muted);line-height:1.5;margin:12px 0}.throw-log{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;gap:6px;margin:10px 0;padding:0}.throw-log li{font-size:11px;color:var(--muted);background:#17212b;border-radius:4px;padding:7px 10px}footer{border-top:1px solid #303b47;display:flex;justify-content:space-between;gap:20px;padding:20px 0;color:var(--muted);font-size:11px}footer a{color:var(--muted)}dialog{background:#141f29;color:white;border:1px solid #667889;border-radius:8px;max-width:900px;width:calc(100% - 30px);padding:25px}dialog::backdrop{background:#000b}dialog p{font-size:14px;line-height:1.65;color:#b9c4d0}dialog a{color:var(--gold)}#closeSources{float:right}#sourceList{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}#sourceList article{padding:15px;background:#22303c}#sourceList h3{font-size:16px;margin:0}#sourceList p{font-size:12px}#sourceList a{font-size:12px}@media(max-width:1000px){.selection-layout{grid-template-columns:280px 1fr;gap:16px}.roster{grid-template-columns:repeat(3,minmax(0,1fr))}.spotlight-art{height:390px}.selected-info strong{font-size:24px}}@media(max-width:640px){main{padding:0 14px}header{min-height:74px;gap:10px}.brand{font-size:23px}.brand span{font-size:9px;letter-spacing:2px}.broadcast{display:none}#history{margin-left:auto;padding:10px;font-size:11px}.section-top{padding:20px 0 15px;align-items:start;flex-direction:column;gap:7px}h1{font-size:25px}.selection-layout{display:flex;flex-direction:column;gap:15px}.spotlight{position:relative;top:0;width:100%;display:grid;grid-template-columns:43% 57%;align-items:center}.spotlight-art{height:248px}.preview-number{font-size:36px;left:9px;top:9px}.selected-info{padding:14px 15px 14px 8px;border-top:0;border-left:2px solid var(--crew,var(--gold))}.selected-info strong{font-size:25px;letter-spacing:-.7px}.selected-info>span:last-child{font-size:12px}.roster{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-card{display:grid;grid-template-columns:76px 1fr;align-items:center;min-height:104px}.player-card img,.roster-portrait{height:102px;width:76px;object-fit:cover}.card-name{border-top:0;background:transparent;border-left:2px solid var(--crew);padding:8px;min-height:46px;display:flex;align-items:center}.card-name strong{font-size:12px}.card-top{top:5px;left:5px;font-size:9px;padding:2px 4px}.setup{margin-top:15px;padding:12px 0 calc(12px + env(safe-area-inset-bottom));gap:10px;align-items:end}.opponent{min-width:0}.opponent label{font-size:9px}.setup .primary{width:42%;font-size:12px;padding:16px 10px}.setup select{font-size:13px;padding:12px 8px}.match-top{margin:12px 0 8px}.match-top>span{font-size:9px;letter-spacing:.5px}.scoreboard{padding:12px 10px;gap:9px}.scoreboard strong{font-size:12px}.score{font-size:30px}.scoreboard .eyebrow{font-size:8px;letter-spacing:1px}.score-center strong{font-size:9px}.score-center .eyebrow{max-width:65px}.scoreboard>div{gap:4px 7px}.stage{aspect-ratio:900/950}.cartoon-call{top:15px;left:13%;right:13%}.cartoon-call strong{font-size:23px}.cartoon-call span{font-size:11px;padding:5px 9px}.play-controls{position:sticky;bottom:0;background:#0b1016f5;backdrop-filter:blur(15px);padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:4}.play-controls>p:first-child{margin:3px 0 9px;font-size:12px;min-height:17px}.choices{gap:8px}.choices button{flex-direction:column;gap:5px;min-height:79px;padding:10px 5px}.choices button span{font-size:30px}.choices button strong{font-size:12px}.choices button small{display:none}.rules,.throw-log{display:none}.play-controls>.primary{margin-top:10px;min-height:48px}.intro{padding:20px}.intro h2{font-size:30px}.intro p{font-size:14px}footer{flex-direction:column;gap:7px;padding:16px 0}#sourceList{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}} 
@media(max-width:640px){#selection{padding-bottom:105px}.setup{position:fixed;left:14px;right:14px;bottom:0;margin:0;padding-left:0;padding-right:0}.play-controls{position:fixed;left:14px;right:14px;bottom:0}#match{padding-bottom:170px}.scoreboard>div{min-width:0}.scoreboard strong{overflow-wrap:anywhere}.card-name strong{overflow-wrap:normal}.fiction{max-width:350px}}

.duo-link{display:block;padding:14px 0;color:var(--gold);font-size:13px;text-decoration:none;border-bottom:1px solid #343d47}.duo-note{font-size:13px;color:var(--gold);line-height:1.5}body[data-duo-test] .roster{grid-template-columns:repeat(2,minmax(0,1fr));align-self:start}body[data-duo-test] .roster-portrait{height:260px}body[data-duo-test] .card-name strong{font-size:16px}@media(max-width:640px){body[data-duo-test] .roster-portrait{height:102px}body[data-duo-test] .card-name strong{font-size:12px}}

body[data-three-d] .stage{aspect-ratio:16/10}body[data-three-d] .cartoon-call{top:16px}body[data-three-d] .cartoon-call strong{font-size:28px}body[data-three-d] .player-card img,body[data-three-d] .roster-portrait{object-fit:contain}body[data-three-d] #crowd{display:none}@media(max-width:640px){body[data-three-d] .stage{aspect-ratio:900/950}body[data-three-d] .cartoon-call strong{font-size:23px}}

.gesture-labels{position:absolute;bottom:43px;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.gesture-labels span{background:#0b1016e8;border:1px solid #52616c;border-radius:4px;color:#b3ddf2;padding:7px 10px;font-size:14px;font-weight:800}@media(max-width:640px){.gesture-labels{left:10px;right:10px;bottom:45px}.gesture-labels span{font-size:12px;padding:6px 8px}}

body[data-three-d] .stage{background:#16212e url('cartoon-street.webp') center/cover no-repeat}body[data-three-d] .cartoon-call{background:#0b1016d9;border-radius:7px;padding:9px 15px}
