:root{color-scheme:dark;--jam-bg:#020304;--jam-ink:#f3f4f2;--jam-muted:#8b999d;--jam-mint:#d3f2e5;--jam-border:#ffffff1a;--dock-left:clamp(16px,4vw,48px);--dock-top:16px;--dock-size:48px}
*{box-sizing:border-box}[hidden]{display:none!important}
body.jammin-skin{margin:0;min-height:100svh;background:var(--jam-bg);color:var(--jam-ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;--gold:#c1e8da;--muted:#8b999d;--bg:#020304;--panel:#0d1215;--ink:#f3f4f2}
.jammin-skin a{color:inherit;text-decoration:none}.jammin-skin button,.jammin-skin textarea,.jammin-skin input,.jammin-skin select{font:inherit}.jammin-skin button{cursor:pointer}.jammin-skin button:disabled{cursor:default}
.jammin-skin :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid #a1edee;outline-offset:4px}
.jammin-header{position:relative;min-height:80px;max-width:none!important;margin:0!important;padding:16px var(--dock-left)!important;display:flex;align-items:center;gap:24px;border:0!important;background:transparent;color:#8e9da0}
.jammin-brand{display:inline-flex!important;align-items:center;min-height:48px;flex:none;padding-left:62px;position:relative;text-decoration:none;font-size:22px!important;font-weight:600!important;letter-spacing:-.055em!important;white-space:nowrap;color:#f0f5f0!important}
.jammin-brand span,.jammin-brand strong{color:inherit!important;font:inherit!important;letter-spacing:inherit!important}
.brand-orb{position:absolute;left:0;top:0;width:48px;height:48px;display:grid;place-items:center;isolation:isolate;pointer-events:none}
.thinking-orb-layer{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;pointer-events:none;transition:opacity 1.1s ease-in-out}
.thinking-orb-layer.visible{opacity:.94;z-index:1}.orb-fallback{position:absolute;inset:0;width:100%;height:100%;opacity:.5;transition:opacity 1.1s ease;pointer-events:none}
.orb-ready .orb-fallback{opacity:0}.orb-bridge{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.94;pointer-events:none;transition:opacity 1.1s ease}.orb-ready .orb-bridge{opacity:0}
.jammin-skin .primary{background:#d3f2e5;color:#172b24;border:0;border-radius:12px;padding:12px 18px;font-size:13px;font-weight:550}
.jammin-skin .secondary{background:#ffffff05;color:#99afa7;border:1px solid #ffffff16;border-radius:12px;padding:10px 15px;font-size:12px;font-weight:400}
.jammin-skin .profile-access{display:inline-flex;align-items:center;gap:14px;font-size:12px;margin-left:auto;min-width:0}.jammin-skin .profile-access a{color:#9bb2aa}.jammin-skin .profile-access a:last-child{border:1px solid #ffffff19;border-radius:22px;padding:7px 11px;color:#d3f2e5}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* The existing catalog, library and account use the same restrained palette. */
.jammin-skin:not(.jammin-room):not(.jammin-auth) main{animation:jam-page-in 1.35s ease both}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(.top,.top-inner,header){background:transparent;border-color:#ffffff10;color:#8b9c9c}
.jammin-skin:not(.jammin-room):not(.jammin-auth) header>a:not(.jammin-brand){font-size:12px;color:#8b9c9c}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(h1,h2,h3){font-family:inherit;font-weight:500;letter-spacing:-.035em;color:#edf3ee}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(.eyebrow,.badge,.price,.quantity,.amount,.hero-editor summary,.history-film,.history-score){color:#bddbcc}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(.muted,.intro,.lead,.note,.footnote,small,details,footer){color:#7d9292}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(.stage,.wallet,.profile,.stat,.pack,.overview,.activity,.ledger,.card,.create-hero,.hero,.fighter,.hero-editor,.welcome,.history-series){background:#ffffff03;border-color:#ffffff15;box-shadow:none}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(input,textarea,select){background:#ffffff05;color:#e5efea;border-color:#ffffff20;accent-color:#c1e8da;outline-color:#a1edee}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(button.primary,.cta,.pack button,#confirm){background:#d3f2e5;color:#172b24;border-color:transparent}
.jammin-skin:not(.jammin-room):not(.jammin-auth) button:not(.game):not(.primary):not(#confirm){background:#ffffff06;color:#adc0b9;border-color:#ffffff18}
.jammin-skin:not(.jammin-room):not(.jammin-auth) dialog{background:#101619;border-color:#ffffff20;color:#e5efea;border-radius:22px}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
.jammin-skin:not(.jammin-room):not(.jammin-auth) :is(.tabs a,.pill,.transactions th,.filters button){color:#8fa7a0}.jammin-skin .tabs{border-color:#ffffff15}
.jammin-skin:not(.jammin-room):not(.jammin-auth) .profile-access a{color:#adc8bd}
.jammin-login .top{position:relative;backdrop-filter:none}.jammin-login .top-inner{max-width:none;display:flex;flex-wrap:wrap;gap:20px;padding:16px var(--dock-left)}
.jammin-login .modes{background:#ffffff04;border:1px solid #ffffff12;border-radius:14px;padding:4px}.jammin-login .modes span{font-size:11px;color:#91a4a0}.jammin-login .modes input:checked+span{background:#d3f2e518;color:#d3f2e5}
.jammin-login .top-inner>a:not(.jammin-brand){font-size:12px;color:#869b97}.jammin-login main{max-width:1120px;padding-top:50px}.jammin-login .heading{display:block;text-align:center;margin-bottom:40px}.jammin-login h1{font-size:32px;margin-bottom:9px}.jammin-login .heading p{font-size:13px;color:#7d9390}.jammin-login .game{background:#0b1012;border-color:#ffffff1b;box-shadow:none}.jammin-login .game:hover{border-color:#c1e8da77}.jammin-login .caption{background:linear-gradient(transparent,#020304ed)!important}.jammin-login .caption b:after{color:#c1e8da}
.jammin-account :is(.wallet,.pack.featured,.stat){background:#ffffff03!important;border-color:#ffffff1b!important}.jammin-account .wallet .amount{color:#e3efe7}.jammin-account .pack.featured{box-shadow:0 0 0 1px #b1dfca25!important}.jammin-account .pack:before{color:#b1d8c6;background:#b1d8c60e}.jammin-account :is(.total,.transactions td,.transactions th){border-color:#ffffff12}.jammin-account .help a{color:#bddbcc}
.jammin-about .hero{background:transparent;border:0}.jammin-about h1 em{color:#b9dacb}.jammin-about .card{border-radius:20px}.jammin-about .hero-art{border-color:#ffffff15}
.jammin-index main{margin-left:auto!important;margin-right:auto!important;max-width:1000px!important}.jammin-index #history-close{display:block!important}.jammin-index #setup-screen:before{display:none}.jammin-index #setup-screen .quick-options{background:#ffffff03;border-color:#ffffff15;box-shadow:none}.jammin-index .fighter{border-radius:20px;background:#ffffff03!important}.jammin-index .hero-mark{background:transparent}.jammin-index .hero-mark span{color:#a5c9bb}.jammin-index .room-bar{font-size:12px;color:#79908a}.jammin-index .history-cover{border-radius:12px}
.jammin-campfire .heading{max-width:900px;margin:35px auto 40px}.jammin-campfire .heading h1{font-size:32px}.jammin-campfire .welcome{display:block;max-width:760px;margin:0 auto;border:0;text-align:center}.jammin-campfire .welcome>img{display:none}.jammin-campfire .welcome>div{padding:20px 30px}.jammin-campfire .welcome small{display:none}.jammin-campfire .scene:has(img[src="/cards/campfire-v1.jpg"]):has(video[hidden]){display:none}.jammin-campfire .scene{background:#020304}.jammin-campfire .scene img,.jammin-campfire .scene video{border-radius:20px}.jammin-campfire .stage{background:transparent;border:0}.jammin-campfire .timeline-item.active{border-color:#abcdbf;color:#abcdbf;background:#abcdbf08}.jammin-campfire .health i{background:#b0d0bd}.jammin-campfire .stats,.jammin-campfire .action label{color:#a4bdb0}
@keyframes jam-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.jammin-header{gap:12px;min-height:80px;flex-wrap:wrap}.jammin-brand{font-size:20px!important;padding-left:55px}.jammin-header nav{gap:12px}.jammin-skin .profile-access{font-size:11px;gap:10px}.jammin-login .top-inner{gap:14px}.jammin-login .brand{display:inline-flex}.jammin-login .modes{order:4;width:100%;justify-content:center}.jammin-login .top-inner>a:not(.jammin-brand){font-size:11px}.jammin-login main{padding-top:28px}.jammin-login .heading{margin-bottom:28px}.jammin-skin:not(.jammin-room):not(.jammin-auth) .jammin-header>a:not(.jammin-brand){font-size:11px}.jammin-index header{flex-wrap:wrap}.jammin-index header .profile-access{margin-left:auto}.jammin-index #history-toggle{font-size:11px}.jammin-account .jammin-header{justify-content:flex-start}.jammin-account .jammin-header>a:not(.jammin-brand){padding:3px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Account access is the final, compact action in every shared header. */
.profile-icon,.jammin-skin .profile-access .profile-icon{display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid #c1e8da35;border-radius:50%;background:#c1e8da09;color:#c5dfd5;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:0;text-decoration:none;overflow:hidden;transition:background .3s,border-color .3s,color .3s}
.profile-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.profile-icon:hover,.jammin-skin .profile-access .profile-icon:hover{color:#eefff7;border-color:#c1e8da70;background:#c1e8da16}
.profile-icon.profile-member,.jammin-skin .profile-access .profile-icon.profile-member{background:#c1e8da20;border-color:#c1e8da45;color:#dcf6e9}
.profile-icon:focus-visible{outline:2px solid #a1edee;outline-offset:4px}
.jammin-skin .compact-profile{gap:12px}.jammin-skin .profile-access .profile-balance{font-size:13px;color:#bad8cd;padding:0;border:0;white-space:nowrap}
.jammin-room .room-nav>.profile-icon{margin-left:6px}
.jammin-header{padding-right:clamp(16px,2vw,24px)!important}
@media(max-width:420px){.jammin-room .jammin-header{gap:8px}.jammin-room .room-nav{gap:6px}.jammin-room .room-nav>.profile-icon{margin-left:2px}.jammin-room .jammin-brand{padding-left:49px;font-size:19px!important}}
@media(max-width:359px){.jammin-room .jammin-brand>span{display:none}.jammin-room .jammin-brand{width:48px;padding-left:0}}
@media(prefers-reduced-motion:reduce){.profile-icon{transition:none}}

/* One request, chosen output format. */
.answer-format{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #ffffff14;border-radius:11px;background:#ffffff02;width:max-content;max-width:100%}
.answer-format button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:7px 9px;background:transparent;color:#778c88;font:inherit;font-size:11px;line-height:1.4;white-space:nowrap;cursor:pointer;transition:background .4s,color .4s}
.answer-format button[aria-pressed=true]{background:#c8efdf12;color:#d0e8df}.answer-format button:hover{color:#e2f1ea}.answer-format button:disabled{cursor:default;opacity:.5}
.answer-format button:focus-visible{outline:1px solid #c7e9dc;outline-offset:2px}.answer-format svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}

/* The catalog keeps captions readable without requiring hover. */
.jammin-login .game{aspect-ratio:auto;background:transparent;border-color:transparent;text-align:start;transition:opacity .6s,border-color .35s}
.jammin-login .game:hover{transform:none}
.jammin-login .game img{height:auto;aspect-ratio:3/2;border-radius:20px}
.jammin-login .game .caption,.jammin-login .game.endless .caption{position:static;opacity:1!important;background:none!important;padding:16px 8px 20px;display:block;transform:none!important}
.jammin-login .game .caption b,.jammin-login .game.endless .caption b{font-size:19px;line-height:1.3;font-weight:500}
.jammin-login .caption small{color:#90a29e;font-size:13px;line-height:1.6}
.jammin-login .game:focus-visible{outline:2px solid #b7e7d8;outline-offset:5px}

/* Keep the orb and room controls on one row on narrow screens. */
@media(max-width:480px){.jammin-room .jammin-header{flex-wrap:nowrap;gap:8px}.jammin-room .jammin-brand{width:48px;padding-left:0}.jammin-room .jammin-brand>span,.jammin-room .jammin-brand>strong{display:none}.jammin-room .room-nav{gap:6px}.jammin-room .room-nav .language-picker summary{min-width:40px;padding:0 5px}.jammin-room .room-nav .language-picker summary>span:first-child{display:none}}

.jammin-login .game-mode-note{position:absolute;top:14px;right:14px;padding:6px 10px;border-radius:20px;background:#09110dbc;color:#d6e4dd;font-size:12px;backdrop-filter:blur(8px);pointer-events:none}

/* Duel handoff: the characters carry the scene; controls stay in the header. */
.jammin-index #history-toggle svg,.jammin-index #menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.jammin-index #history-toggle,.jammin-index #menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #d9d9d914;border-radius:50%;background:#cfcfcf04;color:#a5a5a5}
.jammin-index #settings-close{float:right;width:32px;height:32px;padding:0;font-size:24px;border:0;background:none;color:#9d9d9d}
.ready-people{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center}
.ready-people>span{width:32px;height:32px;border:1px solid #d0d0d030;border-radius:50%;display:grid;place-items:center;background:#c7c7c70a;color:#d2d2d2;font-size:12px}
.ready-people>span+span{border-color:#c0c0c030;background:#cccccc0a;color:#d2d2d2}
.ready-edit{display:none}
.duel-launch-cost{font-size:12px;color:#8e8e8e;text-align:center;letter-spacing:.04em}
body[data-duel-stage=ready]{background:radial-gradient(ellipse at 26% 44%,#3e3e3e18,transparent 45%),radial-gradient(ellipse at 76% 43%,#3939391a,transparent 43%),#050505!important}
body[data-duel-stage=ready] .jammin-header{position:relative;gap:10px;min-height:88px!important}
body[data-duel-stage=ready] .jammin-brand{margin-right:auto!important}
body[data-duel-stage=ready] .profile-access{margin-left:8px}
body[data-duel-stage=ready] .jammin-header>a[href^="/stories"],body[data-duel-stage=ready] .room-bar,body[data-duel-stage=ready] .game-path,body[data-duel-stage=ready] #turn-status,body[data-duel-stage=ready] .quick-options,body[data-duel-stage=ready] #reset-turns,body[data-duel-stage=ready] .company-people,body[data-duel-stage=ready] .fighters,body[data-duel-stage=ready] #voice-status{display:none!important}
body[data-duel-stage=ready] main{max-width:1180px!important;width:100%;padding:0 28px 32px!important;box-sizing:border-box;margin-top:0!important;animation:none}
body[data-duel-stage=ready] #setup-screen{display:flex;flex-direction:column;min-height:calc(100svh - 120px);justify-content:center;padding:20px 0 36px}
body[data-duel-stage=ready] #turn-title{font-size:clamp(21px,2.4vw,30px)!important;font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:0 0 8px;color:#e5e5e5;text-align:center}
body[data-duel-stage=ready] #duel{display:flex;align-items:center;flex-direction:column;gap:0;margin:0;padding:0;border:0;background:none;box-shadow:none}
.duel-ready-stage{width:100%;margin:0}
.ready-pair{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,5vw,80px);align-items:center;width:100%}
.ready-hero{min-width:0;margin:0;position:relative;text-align:center}
.ready-portrait{position:relative;height:clamp(240px,44svh,470px);isolation:isolate;display:grid;place-items:center}
.ready-portrait img{position:absolute;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transform:translateY(9px) scale(.985);transition:opacity 1s ease,transform 1.3s cubic-bezier(.2,.7,.25,1);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent);mask-composite:intersect}
.portrait-loaded .ready-portrait img{opacity:1;transform:none}
.ready-aura{width:64%;aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#c5c5c517 0,#9c9c9c06 45%,transparent 70%);border:1px solid #cbcbcb08;box-shadow:0 0 60px #c8c8c806,inset 0 0 50px #c5c5c505;animation:ready-breathe 7s ease-in-out infinite alternate}
.ready-hero:nth-of-type(2) .ready-aura{animation-delay:-3s;background:radial-gradient(ellipse,#bcbcbc19,transparent 68%)}
.portrait-loaded .ready-aura{opacity:.35}
.ready-hero figcaption{display:flex;align-items:center;justify-content:center;gap:8px;color:#b2b2b2;font-size:13px;font-weight:400;margin:2px 0 20px}
.ready-dot{width:4px;height:4px;flex-shrink:0;background:#c0c0c0;border-radius:50%;box-shadow:0 0 9px #c4c4c466}
.ready-hero:nth-of-type(2) .ready-dot{background:#c4c4c4}
.ready-versus{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:15px;font-style:italic;font-family:Georgia,serif;font-weight:400;color:#8f8f8f78;letter-spacing:.02em}
body[data-duel-stage=ready] .duel-launch-cost{order:2;margin:13px 0 0;line-height:1.4;font-size:11px;color:#8c8c8c}
body[data-duel-stage=ready] #start{order:1;width:auto;min-width:208px;min-height:52px;margin:12px 0 0;padding:13px 36px;border-radius:30px;border:1px solid #dbdbdb30;background:#e0e0e0;color:#232323;box-shadow:0 8px 35px #c7c7c708;font-size:15px;font-weight:500;transition:background .25s,box-shadow .25s,transform .25s}
body[data-duel-stage=ready] #start:hover:not(:disabled){background:#ededed;box-shadow:0 8px 40px #c7c7c717;transform:translateY(-1px)}
body[data-duel-stage=ready] #start:disabled{opacity:.45}
body[data-duel-stage=ready] .ready-edit:not([hidden]){display:block;order:3;color:#8a8a8a;font-size:12px;text-decoration:none;margin-top:24px;padding:8px;transition:color .25s}
body[data-duel-stage=ready] .ready-edit:hover{color:#dbdbdb}
body[data-duel-stage=ready] #game-menu{position:fixed;z-index:30;right:24px;top:92px;width:min(360px,calc(100vw - 32px));box-sizing:border-box;max-height:calc(100svh - 116px);overflow:auto;padding:22px;border:1px solid #d8d8d81c;border-radius:22px;background:#131313f5;box-shadow:0 18px 80px #0009;backdrop-filter:blur(22px)}
body[data-duel-stage=ready] #game-menu label,body[data-duel-stage=ready] #game-menu small{font-size:12px;line-height:1.7;color:#9e9e9e;text-align:left;letter-spacing:0}
body[data-duel-stage=ready] #game-menu select,body[data-duel-stage=ready] #game-menu input{width:100%;max-width:100%;box-sizing:border-box;font-size:13px}
body[data-duel-stage=ready] #game-menu .battle-rule{display:block;margin:18px 0 0;padding:0}
body[data-duel-stage=ready] #game-menu .battle-rule label{display:block}
body[data-duel-stage=ready] #game-menu .battle-rule small{display:block;margin-top:8px}
body[data-duel-stage=ready] #error{max-width:500px;margin:0 auto;text-align:center}
@keyframes ready-breathe{from{transform:scale(.96);opacity:.5}to{transform:scale(1.04);opacity:.95}}
@media(max-width:700px){
 body[data-duel-stage=ready] .jammin-header{padding:12px 16px!important;gap:7px;flex-wrap:nowrap;min-height:72px!important}
 body[data-duel-stage=ready] .jammin-brand{width:40px;padding-left:0!important}
 body[data-duel-stage=ready] .jammin-brand>span{display:none}
 body[data-duel-stage=ready] .ready-people{position:static;transform:none;margin-right:auto;gap:4px}
 body[data-duel-stage=ready] .ready-people>span{width:26px;height:26px;font-size:10px}
 body[data-duel-stage=ready] .profile-access{margin-left:0;gap:6px}
 body[data-duel-stage=ready] #history-toggle,body[data-duel-stage=ready] #menu-toggle{width:34px;height:34px;flex-shrink:0}
 body[data-duel-stage=ready] .language-picker summary{min-width:30px;padding:0 4px}
 body[data-duel-stage=ready] .language-picker summary>span:first-child{display:none}
 body[data-duel-stage=ready] main{padding:0 16px 20px!important}
 body[data-duel-stage=ready] #setup-screen{min-height:calc(100svh - 104px);padding:12px 0 20px}
 .ready-pair{gap:10px}.ready-portrait{height:clamp(220px,40svh,400px)}.ready-hero figcaption{margin-top:10px;font-size:12px}
 body[data-duel-stage=ready] #game-menu{right:16px;top:76px}
}
@media(prefers-reduced-motion:reduce){.ready-aura{animation:none}.ready-portrait img{transition:none;transform:none}body[data-duel-stage=ready] #start{transition:none}}
body[data-duel-stage=ready] #game-menu label:has(#duration),body[data-duel-stage=ready] #game-menu label:has(#preset){display:block}
body[data-duel-stage=ready] #game-menu select{margin-left:0}
body[data-duel-stage=ready] .room-bar:has(#room-connection:not([hidden])){display:block!important;position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:40;font-size:12px;background:#1c1c1cee;padding:9px 16px;border-radius:20px}
body[data-duel-stage=ready] .room-bar:has(#room-connection:not([hidden]))>:not(#room-connection){display:none}

@media(max-width:420px){
 body[data-duel-stage=ready] .jammin-header{padding-inline:12px!important;gap:4px}
 body[data-duel-stage=ready] #history-toggle{display:none}
 body[data-duel-stage=ready] .jammin-brand{width:32px;min-width:32px}
 body[data-duel-stage=ready] .brand-orb{width:32px;height:32px}
 body[data-duel-stage=ready] .profile-access{gap:4px}
 body[data-duel-stage=ready] .profile-access .profile-icon{width:32px;height:32px;min-width:32px}
 body[data-duel-stage=ready] .profile-access #wallet-badge{font-size:12px}
}

/* A single quiet dialog surface for settings and saved duels. */
.jammin-index.duel-panel-open{overflow:hidden}
.jammin-index #duel-panel-backdrop{position:fixed;inset:0;z-index:60;background:#0505058c;backdrop-filter:blur(7px);animation:duel-panel-shade .2s ease-out}
.jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu{
 position:fixed;z-index:61;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));height:auto;max-height:calc(100svh - 48px);margin:0;padding:28px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;
 border:1px solid #cacaca25;border-radius:24px;background:linear-gradient(145deg,#1d1d1dee,#101010fa);color:#e3e3e3;box-shadow:0 24px 120px #0008,inset 0 1px #e5e5e508;backdrop-filter:blur(24px);animation:duel-panel-enter .28s cubic-bezier(.2,.7,.3,1)
}
.jammin-index #history-dialog:not(.open){display:none}
.jammin-index #history-dialog.open{display:block}
.jammin-index .duel-panel-heading,.jammin-index .history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:0}
.jammin-index .duel-panel-heading h2,.jammin-index .history-heading h2{font-size:24px;font-weight:500;letter-spacing:-.7px;line-height:1.3;margin:0;color:#e5e5e5}
.jammin-index #settings-close,.jammin-index #history-close{display:grid;place-items:center;float:none;flex-shrink:0;width:32px;height:32px;min-height:32px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:#a0a0a0;font-size:24px;font-weight:300;line-height:1;cursor:pointer}
.jammin-index #settings-close:hover,.jammin-index #history-close:hover{background:#d8d8d80b;color:#e9e9e9}
.jammin-index #game-menu label,body[data-duel-stage=ready] #game-menu label{display:block;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:0;color:#a9a9a9;margin:16px 0 8px;text-align:left}
.jammin-index #game-menu .duel-preset-label:has(select:disabled){display:none!important}
.jammin-index #world,body[data-duel-stage=ready] #game-menu #world{display:block;box-sizing:border-box;width:100%;min-height:132px;max-height:280px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:13px 15px;font:inherit;font-size:14px;line-height:1.7;color:#dedede;background:#c6c6c605;border:1px solid #b8b8b823;border-radius:12px;box-shadow:none;transition:border-color .2s,background .2s}
.jammin-index #world:focus-visible{outline:1px solid #b6b6b68c;outline-offset:2px;border-color:#b6b6b64d;background:#cfcfcf08}
.jammin-index #game-menu select,body[data-duel-stage=ready] #game-menu select{display:block;width:100%;max-width:100%;box-sizing:border-box;margin:6px 0 0;padding:11px 12px;border:1px solid #b8b8b823;border-radius:10px;color:#d5d5d5;background:#161616;font-size:13px;line-height:1.5}
.jammin-index #game-menu #rules-toggle{display:block;width:100%;text-align:left;margin:20px 0 0;padding:14px 0;border:0;border-top:1px solid #d2d2d214;border-radius:0;background:none;font-size:12px;font-weight:400;color:#b1b1b1}
.jammin-index #rules-toggle:before{content:'›';display:inline-block;margin-right:10px;transition:transform .2s}
.jammin-index #rules-toggle[aria-expanded=true]:before{transform:rotate(90deg)}
.jammin-index #game-menu #rules-panel p{font-size:12px;line-height:1.8;color:#a0a0a0;white-space:pre-wrap;margin:0 0 16px}
.jammin-index #game-menu .battle-rule,body[data-duel-stage=ready] #game-menu .battle-rule{display:block;padding:0;margin:0;max-width:100%}
.jammin-index #game-menu .battle-rule small{display:block;color:#8c8c8c;font-size:11px;line-height:1.6;margin:8px 0 0;letter-spacing:0}
.jammin-index #settings-done{display:block;width:auto;margin:24px 0 0 auto;padding:10px 24px;min-height:40px;border:0;border-radius:24px;background:#dbdbdb;color:#252525;font-size:13px;font-weight:500}
.jammin-index #history{display:grid;gap:10px;padding:0;min-height:96px;align-content:start;font-size:13px;line-height:1.7;color:#9b9b9b}
.jammin-index #history:empty:after{content:'…'}
.jammin-index #history .history-series{border:1px solid #c2c2c21c;background:#b5b5b505;border-radius:14px;box-shadow:none}
.jammin-index #history .history-item{display:grid;grid-template-columns:88px minmax(0,1fr) 22px;grid-template-rows:auto auto;align-items:center;gap:5px 14px;text-align:left;padding:12px!important;margin:0;background:transparent;border:0;box-shadow:none;color:#dcdcdc}
.jammin-index #history .history-item:after{content:'▷';grid-column:3;grid-row:1/3;color:#c4c4c4;font-size:22px;font-weight:300}
.jammin-index #history .history-cover{grid-column:1;grid-row:1/3;width:88px;height:72px;aspect-ratio:auto;object-fit:cover;border-radius:8px;margin:0}
.jammin-index #history .history-item b{grid-column:2;grid-row:1;font-size:14px;line-height:1.35;font-weight:500;overflow-wrap:anywhere;align-self:end;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jammin-index #history .history-item small{grid-column:2;grid-row:2;font-size:10px;line-height:1.5;letter-spacing:0;color:#989898;margin:0;align-self:start}
.jammin-index #history .history-item:not(:has(img)){grid-template-columns:minmax(0,1fr) 22px}
.jammin-index #history .history-item:not(:has(img)) b,.jammin-index #history .history-item:not(:has(img)) small{grid-column:1}
.jammin-index #history .history-item:not(:has(img)):after{grid-column:2}
.jammin-index #history .history-state{grid-column:1/-1;font-size:10px;color:#a6a6a6;margin:2px 0 0}
.jammin-index #history .history-rounds{padding:0 12px 10px;gap:5px}
.jammin-index #history .history-round{width:27px;min-width:27px;padding:4px 0;font-size:11px;background:transparent;border-color:#c2c2c222;border-radius:7px}
.jammin-index #history .history-round.selected{background:#c8c8c8;color:#202020;border-color:transparent}
.jammin-index #history .history-score{font-size:11px;color:#c0c0c0;padding:0 12px 8px}
.jammin-index #history .history-film,.jammin-index #history .history-watch{font-size:11px;color:#b8b8b8}
.jammin-index .history-all{display:block;text-align:right;border-top:1px solid #d2d2d214;padding-top:18px;margin-top:20px;font-size:12px;color:#c7c7c7;text-decoration:none}
body[data-duel-stage=ready] #history-toggle{display:inline-flex}
@keyframes duel-panel-enter{from{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.99)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes duel-panel-shade{from{opacity:0}to{opacity:1}}
@media(max-width:480px){
 .jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu{padding:22px;border-radius:20px;max-height:calc(100svh - 24px)}
 .jammin-index .duel-panel-heading h2,.jammin-index .history-heading h2{font-size:22px}
 body[data-duel-stage=ready] .ready-people>span{width:22px;height:22px}
 body[data-duel-stage=ready] #history-toggle,body[data-duel-stage=ready] #menu-toggle{width:30px;height:30px}
 body[data-duel-stage=ready] .jammin-header{gap:4px}
}
@media(prefers-reduced-motion:reduce){.jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu,.jammin-index #duel-panel-backdrop{animation:none}}
.jammin-index .duel-duration-options{display:flex;gap:8px}
.jammin-index #game-menu .duel-duration-options button{flex:1;min-width:0;margin:0;padding:9px 8px;min-height:36px;border:1px solid #b8b8b823;border-radius:20px;background:transparent;color:#a7a7a7;font-size:12px;transition:background .2s,color .2s}
.jammin-index #game-menu .duel-duration-options button[aria-pressed=true]{background:#d7d7d7;border-color:transparent;color:#252525}
.jammin-index #game-menu .duel-duration-options button:disabled{opacity:.45;cursor:default}
.jammin-index .history-empty{min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:14px}
.jammin-index .history-empty p{max-width:220px;font-size:13px;line-height:1.7;margin:0;color:#9c9c9c}
.jammin-index .history-empty-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c2c2c221;border-radius:50%;font-size:23px;color:#9b9b9b}
.jammin-index #history .history-item[data-state=ready] .history-state{display:none}
.jammin-index #game-menu #settings-close{margin:0;background:transparent}
.jammin-index #history-dialog #history-close{background:transparent}
.jammin-index #game-menu #settings-done{margin:24px 0 0 auto;background:#dbdbdb;color:#252525}
.jammin-index #game-menu .duel-duration-options button[aria-pressed=true]{background:#d7d7d7!important;color:#252525!important;border-color:transparent!important}

/* Void: two quiet sources of light, one shared space. */
body.jammin-index[data-duel-stage=ready]{background:radial-gradient(ellipse at 25% 43%,#a2aaca06,transparent 42%),radial-gradient(ellipse at 75% 43%,#c6b8a306,transparent 42%),#030304!important;color:#ececee}
.jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu{background:radial-gradient(ellipse at 0 0,#b6bfd008,transparent 48%),radial-gradient(ellipse at 100% 0,#c8bba807,transparent 48%),linear-gradient(155deg,#101012f7,#070708fc);border-color:#ffffff17;box-shadow:0 28px 100px #000b,inset 0 1px #ffffff07;color:#e6e6e9}
.jammin-index #duel-panel-backdrop{background:#00000088;backdrop-filter:blur(5px)}
.jammin-index #duel #start{background:#e4e4e8;color:#151517;border-color:#ffffff18;box-shadow:0 6px 30px #ffffff06}
.jammin-index #duel #start:hover:not(:disabled){background:#f3f3f5;box-shadow:0 8px 40px #ffffff0b}
.jammin-index #game-menu #settings-done{background:#e4e4e8;color:#151517}
.jammin-index #game-menu #world{background:#ffffff03;border-color:#ffffff16;color:#dedee2}
.jammin-index #game-menu select{background:#101013;color:#d4d4d9;border-color:#ffffff16}
.jammin-index #game-menu #world:focus-visible{outline:1px solid #c0c0cc88;background:#ffffff05;border-color:#ffffff33}
.jammin-index :is(button,a,summary,input,select,textarea):focus-visible{outline:1px solid #c6c6d0;outline-offset:3px}
.jammin-index .ready-people{gap:13px}
.jammin-index .ready-people:before{content:'';position:absolute;height:1px;width:15px;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,#cbd1e43d,#ffffff10,#d4c6b53d);pointer-events:none}
.jammin-index .ready-people>span{position:relative;background:#0c0c0f;color:#cccdd4;border-color:#b5bfd32b;box-shadow:0 0 18px #a7b5d30a}
.jammin-index .ready-people>span+span{background:#0d0c0c;color:#d5d0c9;border-color:#c3b9a82b;box-shadow:0 0 18px #c3b2990a}
.jammin-index .ready-aura{border:0;background:radial-gradient(ellipse,#b8c4e00b,transparent 68%);box-shadow:none}
.jammin-index .ready-hero:nth-of-type(2) .ready-aura{background:radial-gradient(ellipse,#d4c4aa0b,transparent 68%)}
.jammin-index #history .history-item,.jammin-index #history .history-round{color:#cdCDD4}
.jammin-index #history .history-round.selected{background:#dedee5;color:#18181b}
.jammin-index .profile-access,.jammin-index #wallet-badge,.jammin-index .language-picker summary,.jammin-index .profile-icon{color:#b9b9c1}
@media(max-width:480px){.jammin-index .ready-people{gap:7px}.jammin-index .ready-people:before{width:9px}}

/* Match the approved composition, with the later void palette retained. */
.jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu{
 width:min(440px,calc(100vw - 32px));padding:24px 26px 20px;border-radius:22px;border-color:#c9ced333;
 background:radial-gradient(ellipse at 0 0,#b6bfd006,transparent 48%),radial-gradient(ellipse at 100% 0,#c8bba805,transparent 48%),linear-gradient(150deg,#111114f5,#070708fa);
 box-shadow:0 24px 90px #0009,inset 0 1px #ffffff05
}
.jammin-index #duel-panel-backdrop{background:#00000066;backdrop-filter:blur(2px)}
.jammin-index .duel-panel-heading,.jammin-index .history-heading{margin-bottom:18px;gap:12px;min-height:36px}
.jammin-index #settings-title,.jammin-index #history-title{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:31px;line-height:1.15;letter-spacing:-.5px;font-weight:400;color:#e8e8ec}
.jammin-index #game-menu #settings-close,.jammin-index #history-dialog #history-close{width:24px;height:28px;min-height:28px;border-radius:5px;color:#b1b1bc;background:none;margin:0;padding:0}
.jammin-index #settings-close svg,.jammin-index #history-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.jammin-index #game-menu label,body[data-duel-stage=ready] #game-menu label{font-size:13px;line-height:1.45;margin:16px 0 8px;color:#b7b7c1}
.jammin-index #game-menu .duel-panel-heading+label{margin-top:0}
.jammin-index #world,body[data-duel-stage=ready] #game-menu #world{min-height:88px;height:104px;max-height:240px;resize:vertical;padding:10px 13px;border-radius:8px;font-size:13px;line-height:1.65;background:#ffffff02}
.jammin-index #game-menu .duel-duration-options{gap:10px}
.jammin-index #game-menu .duel-duration-options button{min-height:35px;height:35px;padding:6px 10px;font-size:13px;line-height:1.4;border-radius:22px}
.jammin-index #game-menu select,body[data-duel-stage=ready] #game-menu select{min-height:38px;padding:8px 12px;font-size:13px;line-height:1.5;border-radius:7px;margin-top:7px;background:#ffffff02}
.jammin-index #game-menu #rules-toggle{margin:20px 0 0;padding:17px 0 3px;font-size:13px;min-height:36px;color:#bcbcc5;background:none}
.jammin-index #game-menu #rules-panel small{display:block;font-size:12px;line-height:1.7;color:#a1a1ad;margin:12px 0}
.jammin-index #game-menu #settings-done{min-height:36px;padding:8px 23px;margin:18px 0 0 auto;font-size:13px;line-height:1.45;box-shadow:0 0 20px #ffffff04}
.jammin-index #history{gap:12px}
.jammin-index #history .history-series{border-radius:10px;background:#ffffff02;border-color:#c7cbd31f}
.jammin-index #history .history-item{grid-template-columns:126px minmax(0,1fr) 28px;gap:4px 14px;padding:7px!important;min-height:96px;background:transparent!important}
.jammin-index #history .history-cover{width:126px;height:82px;border-radius:6px;filter:saturate(.88)}
.jammin-index #history .history-item b{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:17px;line-height:1.3;letter-spacing:-.15px;font-weight:400;color:#e4e4e8}
.jammin-index #history .history-item small{font-size:11px;line-height:1.55;color:#93939f;margin-top:3px}
.jammin-index #history .history-item:after{content:'';width:28px;height:28px;border:1px solid #c3c6d170;border-radius:50%;background:none;align-self:center}
.jammin-index #history .history-item{position:relative}
.jammin-index #history .history-item:before{content:'';position:absolute;right:17px;top:calc(50% - 5px);width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #d8d8de;pointer-events:none}
.jammin-index #history .history-item:hover{background:#ffffff04!important}
.jammin-index .history-all{font-size:12px;padding-top:20px;margin-top:22px;color:#c9c9d1}
.jammin-index .ready-people>span{width:40px;height:40px;background-size:cover;background-position:center 27%;background-repeat:no-repeat;border-width:1px}
body[data-duel-stage=ready] #history-toggle,body[data-duel-stage=ready] #menu-toggle{border-color:transparent!important;background:transparent!important;color:#b9bbc5!important}
@media(max-width:480px){
 .jammin-index #game-menu,.jammin-index #history-dialog,body[data-duel-stage=ready] #game-menu{padding:22px 20px 18px;border-radius:20px}
 .jammin-index .duel-panel-heading h2,.jammin-index .history-heading h2{font-size:27px}
 .jammin-index #history .history-item{grid-template-columns:90px minmax(0,1fr) 26px;gap:4px 10px;min-height:85px}
 .jammin-index #history .history-cover{width:90px;height:70px}
 .jammin-index #history .history-item b{font-size:16px}
 .jammin-index #history .history-item small{font-size:10px}
 .jammin-index #history .history-item:after{width:26px;height:26px}
 .jammin-index #history .history-item:before{right:16px}
 .jammin-index #world,body[data-duel-stage=ready] #game-menu #world{height:126px}
 body[data-duel-stage=ready] .ready-people>span{width:26px;height:26px}
}
.jammin-index #ready-people>span{background-size:cover;background-position:center 27%;background-repeat:no-repeat}
@media(max-width:480px){.jammin-index #settings-title,.jammin-index #history-title{font-size:27px}}

/* Immersive duel: two worlds stay present until the common frame is ready. */
body[data-duel-stage="arena"] .room-bar,body[data-duel-stage="arena"] .game-path,body[data-duel-stage="arena"] .arena-heading{display:none!important}
body[data-duel-stage="arena"] main{max-width:none;padding:0 3vw}
body[data-duel-stage="arena"] .stage{border:0;background:#030305;border-radius:0;box-shadow:none;min-height:0;height:min(70svh,780px);aspect-ratio:auto;margin:0;overflow:hidden}
body[data-duel-stage="arena"] #arena-placeholder{inset:0;background:radial-gradient(ellipse at 28% 55%,#93765310,transparent 45%),radial-gradient(ellipse at 72% 55%,#74659a14,transparent 45%);border:0;border-radius:0}
.duel-wait-worlds{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-around;isolation:isolate}
.duel-wait-worlds img{width:47%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse,#000 28%,#000b 48%,transparent 72%);animation:duel-world-float 7s ease-in-out infinite alternate}
.duel-wait-worlds img:last-child{animation-delay:-3s}
.duel-wait-worlds i{position:absolute;width:22%;height:22%;border-radius:50%;background:radial-gradient(ellipse,#d6cbee18,transparent 65%);filter:blur(18px);animation:duel-converge 4s ease-in-out infinite alternate;z-index:-1}
body[data-duel-stage="arena"] #placeholder-label{display:none}
body[data-arena-phase="waiting"] #battle-context,body[data-arena-phase="waiting"] .progress-meta,body[data-arena-phase="waiting"] .round-progress,body[data-arena-phase="waiting"] .progress-hint,body[data-arena-phase="waiting"] #balance-toggle,body[data-arena-phase="waiting"] #arena-screen>details,body[data-arena-phase="waiting"] .result-actions,body[data-arena-phase="waiting"] #new-game,body[data-arena-phase="waiting"] #rematch{display:none!important}
body[data-arena-phase="waiting"] .status{justify-content:center;gap:12px;margin:8px 0 20px;color:#9c99a6;font-size:13px;font-weight:400}
body[data-arena-phase="waiting"] .status strong{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;color:#74717e}
body[data-duel-stage="arena"] #poster,body[data-duel-stage="arena"] #video{width:100%;height:100%;object-fit:contain;border-radius:0}
body[data-duel-stage="arena"] #poster{mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);animation:duel-frame-in .8s ease both}
@keyframes duel-world-float{from{transform:translate3d(0,5px,0)}to{transform:translate3d(0,-5px,0)}}
@keyframes duel-converge{from{opacity:.3;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}
@keyframes duel-frame-in{from{opacity:0}to{opacity:1}}
@media(max-width:650px){body[data-duel-stage="arena"] .stage{height:60svh}.duel-wait-worlds img{width:52%}}
@media(prefers-reduced-motion:reduce){.duel-wait-worlds img,.duel-wait-worlds i,body[data-duel-stage="arena"] #poster{animation:none}}

body[data-arena-phase="waiting"] #timer{display:inline!important}

@media(max-width:700px){
 body[data-duel-stage=arena] .jammin-header{padding:12px 16px!important;gap:7px;flex-wrap:nowrap;min-height:72px!important}
 body[data-duel-stage=arena] .jammin-brand{width:40px;padding-left:0!important}
 body[data-duel-stage=arena] .jammin-brand>span{display:none}
 body[data-duel-stage=arena] .ready-people{position:static;transform:none;margin-right:auto;gap:4px}
 body[data-duel-stage=arena] .ready-people>span{width:26px;height:26px;font-size:10px}
 body[data-duel-stage=arena] .profile-access{margin-left:0;gap:6px}
 body[data-duel-stage=arena] #history-toggle,body[data-duel-stage=arena] #menu-toggle{width:34px;height:34px;flex-shrink:0}
 body[data-duel-stage=arena] .language-picker summary{min-width:30px;padding:0 4px}
 body[data-duel-stage=arena] .language-picker summary>span:first-child{display:none}

}

body[data-duel-stage="arena"] .progress-meta,body[data-duel-stage="arena"] .round-progress,body[data-duel-stage="arena"] .progress-hint{display:none!important}

/* Battle presentation: lightweight presets, no generation on selection. */
.duel-styles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 18px}
.duel-styles>span{font-size:11px;color:#8e8b96;margin-right:8px}
.duel-styles button{font:inherit;font-size:12px;font-weight:400;color:#9c99a5;background:#ffffff03;border:1px solid #ffffff0d;border-radius:100px;padding:7px 13px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.duel-styles button:hover{color:#eeeaf7;border-color:#ffffff30}
.duel-styles button[aria-pressed=true]{color:#eeeaf7;background:#c2bbdc12;border-color:#c2bbdc50}
.duel-styles button:focus-visible{outline:2px solid #c2bbdc;outline-offset:3px}
.duel-styles button:disabled{cursor:default;opacity:.5}
@media(max-width:480px){.duel-styles{gap:5px}.duel-styles button{padding:7px 10px;font-size:11px}.duel-styles>span{width:100%;margin:0 0 3px}}
@media(prefers-reduced-motion:reduce){.duel-styles button{transition:none}}

.jammin-index #game-menu .duel-styles button[aria-pressed=true]{background:#c2bbdc18!important;border-color:#c2bbdc60!important;color:#eeeaf7!important}

/* Cinematic playback: one scene, one outcome, details on demand. */
body[data-duel-stage=arena] .jammin-header{border:0!important;background:#030305;position:relative;z-index:2}
body[data-duel-stage=arena] main{padding:0!important;width:100%;max-width:none!important}
body[data-duel-stage=arena] #arena-screen{max-width:none!important;margin:0!important;padding:0!important}
body[data-duel-stage=arena] .stage{height:calc(100svh - 165px);min-height:350px;max-height:1000px;background:#030305;isolation:isolate}
body[data-duel-stage=arena] .stage:after{display:none}
body[data-duel-stage=arena] #video,body[data-duel-stage=arena] #poster{position:absolute;inset:0;object-fit:contain;mask-image:linear-gradient(#000 78%,#000b 91%,transparent)}
body[data-duel-stage=arena] #poster{z-index:1}
body[data-duel-stage=arena] #video{z-index:2;opacity:0;transition:opacity .65s ease}
body.cinema-video-visible[data-duel-stage=arena] #video{opacity:1}
body[data-duel-stage=arena] #arena-placeholder{z-index:0}
body[data-duel-stage=arena] #winner-overlay,body[data-duel-stage=arena] #balance-toggle,body[data-duel-stage=arena] #rematch,body[data-duel-stage=arena] #new-game,body[data-duel-stage=arena] #round-result>button{display:none!important}
body[data-cinema=playing] #arena-screen>.status,body[data-cinema=finished] #arena-screen>.status{display:none}
body[data-duel-stage=arena] #round-result{position:absolute;z-index:3;bottom:16px;left:50%;transform:translateX(-50%);width:min(680px,88%);margin:0!important;padding:40px 16px 8px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:radial-gradient(ellipse at bottom,#030305bf,transparent 70%)!important;text-align:center;pointer-events:none;animation:cinema-result .7s ease both;text-shadow:0 2px 16px #000}
body[data-duel-stage=arena] #round-result>span{font-size:10px;letter-spacing:.36em;color:#c3bac9}
body[data-duel-stage=arena] #round-result h2{font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);font-weight:400;line-height:1.1;letter-spacing:-.03em;margin:9px 0 12px;color:#f0e9dd}
body[data-duel-stage=arena] #round-result p{font-size:13px;line-height:1.55;color:#c5c0ca;max-width:600px;margin:0 auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#cinema-controls{margin:0 auto;padding:0 3vw 24px;color:#bab7c2;max-width:1800px}
#cinema-controls button,#cinema-compose button{background:transparent;border:0;font:inherit;color:inherit;box-shadow:none}
#cinema-seek{display:block;appearance:none;width:100%;height:12px;border:0;border-radius:0;padding:0;margin:0;cursor:pointer;background:linear-gradient(transparent 5px,#ffffff35 5px,#ffffff35 6px,transparent 6px);accent-color:#ddd5e9}
#cinema-seek::-webkit-slider-thumb{appearance:none;width:6px;height:6px;border-radius:50%;background:#e6deef}
.cinema-controls-row{display:flex;align-items:center;gap:15px;padding-top:10px}
#cinema-controls button{padding:9px 8px;border-radius:24px;cursor:pointer;font-size:13px;min-height:38px}
#cinema-controls button:hover{color:white;background:#ffffff08}
#cinema-play,#cinema-sound,#cinema-fullscreen{font-size:23px!important;width:38px;flex-shrink:0}
#cinema-time{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.cinema-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:auto}
#cinema-controls #cinema-continue{border:1px solid #d3ccd080;padding:9px 23px;color:#e6e0e9;min-width:142px}
#cinema-next span{margin-left:14px}
#cinema-details{color:#aaa5b0!important}
#cinema-score{font:400 19px Georgia,serif;color:#e4dce8;white-space:nowrap;padding:0 8px}
#duel-analysis{width:min(780px,calc(100vw - 32px));max-height:85svh;overflow:auto;background:#101015;color:#d4d0da;border:1px solid #ffffff18;border-radius:24px;padding:28px}
#duel-analysis:not([open]){display:none}
#duel-analysis::backdrop{background:#0009;backdrop-filter:blur(14px)}
#duel-analysis h2{font:400 27px Georgia,serif;margin:0}
#duel-analysis #battle-context{border:0;background:transparent;margin:20px 0;padding:0;font-size:12px}
#duel-analysis #battle-context p{font-size:13px}
#duel-analysis #decision{background:transparent;border:0;padding:0;margin:20px 0}
#duel-analysis #stats,#duel-analysis #beats{font-size:12px}
#duel-analysis #battle-score{font-size:14px;color:#c1b6cc}
#duel-analysis #battle-actors{gap:20px}
#duel-analysis #battle-actors b{font-size:14px}
#duel-analysis #series-controls{margin:20px 0;display:flex;flex-wrap:wrap;gap:8px}
#duel-analysis #series-controls button{font-size:12px;width:auto}
#cinema-downloads{display:flex;gap:20px;font-size:12px;color:#aaa2b0}
#cinema-compose{width:min(680px,calc(100% - 36px));margin:0 auto 40px;padding:24px;border:1px solid #ffffff18;border-radius:24px;background:#0c0c10;animation:cinema-result .3s ease both;color:#ddd7e4}
.cinema-compose-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.cinema-compose-head button{font-size:24px!important;width:36px;height:36px;background:none;border:0;color:#bcb5c3;cursor:pointer}
#cinema-move-label{font-size:15px}
#cinema-continuity{font-size:12px;color:#95909e;line-height:1.5;margin:8px 0 16px}
#cinema-move{min-height:90px;background:#ffffff03;border:1px solid #ffffff15;border-radius:15px;padding:14px;color:#e7e2ed;font-size:16px;line-height:1.5;resize:vertical}
.cinema-compose-foot{display:flex;align-items:center;gap:14px;margin-top:14px}
#cinema-cost{margin-left:auto;font-size:12px;color:#a39aaa}
#cinema-submit{border:1px solid #c5b7d660!important;border-radius:30px;padding:10px 18px!important}
#cinema-form-error{font-size:12px;color:#f1b3b8}
#cinema-stage:fullscreen{height:100vh!important;max-height:none;background:#000}
@keyframes cinema-result{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:700px){body[data-duel-stage=arena] .stage{height:62svh;min-height:300px}#cinema-controls{padding:0 16px 20px}.cinema-controls-row{flex-wrap:wrap;gap:7px}.cinema-actions{order:5;width:100%;gap:8px;margin-top:10px}#cinema-time{margin-right:auto}#cinema-score{font-size:14px;padding:0 2px}body[data-duel-stage=arena] #round-result{bottom:0}body[data-duel-stage=arena] #round-result p{font-size:12px}#duel-analysis{padding:20px}#cinema-compose{padding:18px}.ready-people{gap:5px}}
@media(prefers-reduced-motion:reduce){body[data-duel-stage=arena] #video{transition:none}#cinema-compose,body[data-duel-stage=arena] #round-result{animation:none}}
#arena-screen:fullscreen{background:#030305;overflow:auto}#arena-screen:fullscreen .stage{height:calc(100svh - 110px);max-height:none}
body[data-duel-stage=arena] .ready-people>span:after{content:attr(aria-label);position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:10px;font-weight:400;white-space:nowrap;color:#b4aeba;max-width:90px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){body[data-duel-stage=arena] .ready-people>span:after{display:none}}

@media(hover:hover) and (pointer:fine){
 body[data-cinema=playing][data-cinema-paused=false] #cinema-controls{opacity:.28;transition:opacity .4s ease 1s}
 body[data-cinema=playing][data-cinema-paused=false] #cinema-controls:is(:hover,:focus-within){opacity:1;transition-delay:0s}
}
@media(prefers-reduced-motion:reduce){body[data-cinema] #cinema-controls{transition:none!important}}

#cinema-media-error{font-size:13px;text-align:center;color:#c9bdce;margin:0 20px 18px}

/* Quiet, consistent controls; the next move stays private during handoff. */
#cinema-controls button svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
#cinema-controls button[data-icon=play] svg{fill:currentColor;stroke-width:0}
#cinema-controls button:is(#cinema-play,#cinema-sound,#cinema-fullscreen){display:grid;place-items:center;width:44px;min-height:44px}
#cinema-controls button:focus-visible,#cinema-compose button:focus-visible{outline:1px solid #d8c9e9;outline-offset:4px}
#cinema-compose[data-player="2"]{border-color:#a997c72d}
#cinema-handoff{text-align:center;padding:26px 10px 18px;animation:cinema-result .35s ease both}
#cinema-handoff>span{font-size:25px;color:#bba2d3}
#cinema-handoff p{font-size:10px;letter-spacing:.18em;color:#a69bab;margin:16px 0 24px}
#cinema-handoff #cinema-accept{border:1px solid #c5b7d64a;border-radius:30px;padding:12px 24px;cursor:pointer}
#cinema-compose-foot[hidden]{display:none}
@media(prefers-reduced-motion:reduce){#cinema-handoff{animation:none}}

/* Hide legacy setup during the draft-aware route decision, never the error UI. */
.duel-entry-pending #setup-screen,.duel-entry-pending .game-path,.duel-entry-pending .room-bar{visibility:hidden}

/* Saved fights sit directly below the logo. */
.jammin-index .duel-brand-nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:none;margin-right:auto}
.jammin-index .jammin-header #history-toggle{margin:0;flex:none;width:auto;min-width:64px;height:28px;padding:0 9px;gap:6px;border-radius:9px;border:1px solid #ffffff18!important;background:#ffffff04!important;color:#c6c3cd!important;font-size:11px}
.jammin-index .jammin-header #history-toggle svg{width:15px;height:15px}
.jammin-index .jammin-header #history-toggle>span{display:inline}
.jammin-index .jammin-header #history-toggle:hover,.jammin-index .jammin-header #history-toggle[aria-expanded=true]{background:#ffffff10!important;border-color:#ffffff48!important;color:#fff!important}
.jammin-index .jammin-header #menu-toggle{margin-left:auto}
.jammin-index #history-dialog{inset:120px auto auto var(--dock-left);transform:none;max-height:calc(100svh - 144px);animation:duel-history-enter .22s ease-out}
@keyframes duel-history-enter{from{opacity:0;translate:-12px 0}to{opacity:1;translate:0 0}}
@media(max-width:700px){.jammin-index #history-dialog{inset:112px auto auto 12px;max-height:calc(100svh - 128px)}}
@media(prefers-reduced-motion:reduce){.jammin-index #history-dialog{animation:none}}

.jammin-index .jammin-header .language-picker{display:none}
.jammin-index .duel-language-setting{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-top:18px;margin-top:18px;border-top:1px solid #ffffff12;font-size:13px;color:#b7b7c1}
.jammin-index #settings-language-label{padding-top:8px}
.jammin-index #settings-language .language-picker{display:block;font-size:12px}
.jammin-index #settings-language summary{min-height:34px;border-radius:9px;border-color:#ffffff20;background:#ffffff04;color:#d6d3dd}
.jammin-index #settings-language .language-options{position:static;margin-top:8px;min-width:150px;background:#111114;border-color:#ffffff20;border-radius:12px;box-shadow:none}
.jammin-index #settings-language .language-options a{color:#d6d3dd}

#cinema-context{display:flex;align-items:center;gap:16px;margin:0 0 18px;color:#a4a0b2;font-size:12px}
#cinema-origin{width:110px;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid #ffffff12}
#cinema-condition{margin:0;line-height:1.6}
body[data-arena-phase="waiting"] .duel-wait-worlds img{will-change:transform}
body:not([data-arena-phase="waiting"]) .duel-wait-worlds img,body:not([data-arena-phase="waiting"]) .duel-wait-worlds i{animation-play-state:paused}
@media(max-width:500px){#cinema-context{gap:10px;font-size:11px}#cinema-origin{width:85px}}

/* The completed bout keeps its verdict on the frame and opens the analysis beside it. */
.cinema-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,0fr);transition:grid-template-columns .65s ease;align-items:center}
.cinema-view{min-width:0}
body[data-cinema=finished] .cinema-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(20px,3vw,56px);padding-right:clamp(20px,4vw,72px)}
#cinema-summary{min-width:0;padding:28px 0;color:#d4cedb;animation:cinema-result .55s ease both}
#cinema-summary h2{font:400 clamp(24px,2.4vw,36px) Georgia,serif;color:#f0e9dd;margin:0 0 20px}
#cinema-summary-verdict{font-size:16px;line-height:1.7;margin:0 0 20px}
#cinema-summary-beats{padding-left:20px;color:#a9a1b3;font-size:14px;line-height:1.6}
#cinema-summary-beats li{padding:0 0 12px 6px}
#cinema-summary button{font:inherit;color:inherit;background:transparent;box-shadow:none;cursor:pointer}
#cinema-summary #cinema-details{border:0;padding:8px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
#cinema-summary .cinema-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:26px 0 0}
#cinema-summary .cinema-actions button{border:1px solid #ffffff25;border-radius:14px;padding:14px 20px;text-align:left;font-size:15px;min-height:48px}
#cinema-summary #cinema-continue{background:#e7ddeb;color:#16121b;border-color:#e7ddeb}
#cinema-summary button:hover{filter:brightness(1.16)}
#cinema-summary button:focus-visible{outline:2px solid #e7ddeb;outline-offset:4px}
#cinema-summary button:disabled{opacity:.4;cursor:wait}
#cinema-sound{margin-left:auto}
@media(max-width:800px){body[data-cinema=finished] .cinema-layout{grid-template-columns:minmax(0,1fr);padding:0;gap:0}#cinema-summary{padding:12px 24px 32px}body[data-cinema=finished] .stage{height:48svh;min-height:280px}#cinema-summary .cinema-actions{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.cinema-layout{transition:none}#cinema-summary{animation:none}}

body[data-cinema=finished] .cinema-layout:has(#cinema-summary[hidden]){grid-template-columns:minmax(0,1fr) minmax(0,0fr);gap:0;padding-right:0}
body[data-duel-stage=arena][data-cinema=finished] .stage{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
body[data-duel-stage=arena][data-cinema=finished] #round-result{bottom:0;background:linear-gradient(transparent,#030305db)!important}

/* Online launch retains the agreed universe and states the payer before a click. */
body[data-journey=online][data-duel-stage=ready]{background:linear-gradient(0deg,#070c12 5%,#070c12cb 60%,#070c128c),var(--world-image) center/cover fixed!important}
body[data-journey=online][data-duel-stage=ready] #turn-title{font:clamp(28px,3vw,42px)/1.2 Georgia,serif!important;letter-spacing:0}
body[data-journey=online][data-duel-stage=ready] #turn-hint{color:#a4b5c0;text-align:center;margin:6px 0 18px;font-size:13px}
body[data-journey=online][data-duel-stage=ready] #duel #start{background:#e5c09b;color:#1a1918;border-color:#e5c09b70}
body[data-journey=online][data-duel-stage=ready] .duel-launch-cost{display:none}
#duel-launch-note{order:2;color:#acb9c3;font-size:12px;text-align:center;max-width:410px;line-height:1.7;margin:18px auto 0}

#launch-journey{display:flex;justify-content:space-between;list-style:none;padding:8px 0 20px;margin:0;color:#73818c;font-size:11px;gap:10px;border-bottom:1px solid #c5d3e218}
#launch-journey li{flex:1;position:relative;padding-top:14px;text-align:center}
#launch-journey li:before{content:'';position:absolute;top:0;left:calc(50% - 3px);width:5px;height:5px;border-radius:50%;background:#61717d}
#launch-journey [aria-current=step]{color:#f3d8ba}#launch-journey [aria-current=step]:before{background:#f3d8ba;box-shadow:0 0 16px #edbc83}
body[data-journey=online][data-duel-stage=ready] #setup-screen{min-height:calc(100svh - 195px)}
@media(max-width:700px){#launch-journey{font-size:9px;gap:5px;padding-bottom:14px}#launch-journey li{line-height:1.5}#duel-launch-note{max-width:320px;padding:0 8px}}

.jammin-index .jammin-header .compact-profile .profile-icon:before{content:none}

#launch-consent{order:3;text-align:center;margin:20px auto 0;max-width:500px;color:#adbbc5;font-size:12px}
#launch-consent>p{line-height:1.7}#launch-consent label{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px}
#launch-consent input{width:17px;height:17px;accent-color:#e5bf96}
#launch-consent>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
#launch-consent button,#rematch-cancel{min-height:44px;padding:10px 18px;border:1px solid #dcb38d55;border-radius:14px;background:#dcb38d0d;color:#edd2b7;font:inherit}
#launch-consent button:disabled{opacity:.45}#launch-consent button:focus-visible{outline:2px solid #edc497;outline-offset:3px}
#rematch-status{font-size:13px;color:#d7bea5;line-height:1.6}#cinema-skip{margin-left:auto;font-size:12px;padding:8px;color:#d4c3b5}

/* Conditions precede the final action and stay in view with the fighters. */
body[data-journey=online][data-duel-stage=ready] #setup-screen{padding-top:10px;justify-content:flex-start}
body[data-journey=online][data-duel-stage=ready] .ready-portrait{height:clamp(170px,26svh,290px)}
body[data-journey=online][data-duel-stage=ready] .ready-hero figcaption{margin-bottom:8px}
body[data-journey=online][data-duel-stage=ready] #duel-launch-note{order:1;margin:10px auto 0;max-width:570px}
body[data-journey=online][data-duel-stage=ready] #launch-consent{order:2;margin:8px auto 0}
body[data-journey=online][data-duel-stage=ready] #launch-participants{margin:0}
body[data-journey=online][data-duel-stage=ready] #duel #start{order:3;margin-top:16px}
#duel-voice-status{color:#a5b5c0;text-align:center;font-size:12px;line-height:1.6;padding:0 20px;max-width:650px;margin:12px auto}
.profile-dropdown{position:relative;flex-shrink:0}
.profile-dropdown>summary{cursor:pointer;list-style:none}
.profile-dropdown>summary::-webkit-details-marker{display:none}
.profile-dropdown[open]>summary{border-color:#c1e8da70;background:#c1e8da16;color:#eefff7}
.profile-dropdown-panel{position:absolute;top:calc(100% + 10px);right:0;width:228px;max-width:calc(100vw - 32px);padding:6px;border:1px solid #ffffff18;border-radius:16px;background:#111917f5;box-shadow:0 16px 48px #0008;backdrop-filter:blur(20px);color:#dce8e2;z-index:100;text-align:left}
.profile-dropdown:not([open])>.profile-dropdown-panel{display:none}
.profile-dropdown-name{padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid #ffffff10;color:#8da79d;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jammin-skin .profile-dropdown-panel a,.profile-dropdown-panel button{display:flex;align-items:center;gap:11px;width:100%;min-height:44px;margin:0;padding:11px 12px;border:0!important;border-radius:10px;background:transparent;color:#dce8e2!important;font:400 13px/1.4 system-ui,sans-serif;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}
.jammin-skin .profile-dropdown-panel a:hover,.profile-dropdown-panel button:hover{background:#ffffff08;color:#fff!important}
.profile-dropdown-panel :is(a,button):focus-visible{outline:2px solid #a1edee;outline-offset:-2px}
.profile-dropdown-panel svg{flex:none;width:18px;height:18px;fill:none;stroke:#91aca0;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.profile-dropdown-panel form{margin:4px 0 0;padding-top:4px;border-top:1px solid #ffffff10}
#cinema-voice{font-size:12px;white-space:normal}
@media(max-width:700px){body[data-journey=online][data-duel-stage=ready] .ready-portrait{height:clamp(160px,24svh,240px)}body[data-journey=online][data-duel-stage=ready] #turn-hint{margin-bottom:8px}}

body[data-journey="online"][data-duel-stage="arena"]{background:linear-gradient(#060b10e8,#060b10ef),var(--world-image) center/cover fixed!important}
@media(max-width:800px){#cinema-summary{padding:12px 20px 24px}#cinema-summary h2{font-size:25px;margin-bottom:12px}#cinema-summary-verdict{font-size:14px;line-height:1.55;margin-bottom:12px}#cinema-summary-beats{font-size:13px;line-height:1.5}#cinema-summary-beats li{padding-bottom:8px}#cinema-summary .cinema-actions{margin-top:16px}#cinema-summary .cinema-actions button{min-height:44px;padding:11px 16px}}
