@font-face{font-family:BladeGothic;src:url("assets/fonts/gothic-jp.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:BladeMincho;src:url("assets/fonts/mincho-jp.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:BladePOP;src:url("assets/fonts/pop-jp.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:BladeBrush;src:url("assets/fonts/handwritten-jp.woff2") format("woff2");font-weight:900;font-display:swap}
:root{--paper:#f6f6f0;--ink:#202e43;--blue:#234cce;--line:#dce0df;--orange:#dc744c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ed9f52;outline-offset:4px}a{text-decoration:none}header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.logo{font-size:24px;font-weight:900;letter-spacing:-1px}.logo span{font-size:20px}.logo i{font-style:normal;color:var(--blue);font-size:34px;margin-left:12px}nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:700}nav button{background:none;border:0}nav .active{color:var(--blue);position:relative}nav .active:after{content:'';height:3px;position:absolute;bottom:-31px;background:var(--blue);left:0;right:0}.profile{font-size:12px;display:flex;align-items:center;gap:12px}.profile b{background:#e5e9df;border-radius:50%;padding:10px 14px;font-size:17px}main{max-width:1480px;margin:auto;padding:0 5%}.intro{display:flex;align-items:center;gap:75px;padding:45px 0 35px;position:relative}.small{font-size:12px;font-weight:700;letter-spacing:2px}h1{font-size:38px;line-height:1.4;margin:12px 0 0;letter-spacing:2px;font-weight:900}.intro p{font-size:13px;line-height:2.2;color:#657080}.stamp{margin-left:auto;margin-right:12px;transform:rotate(9deg);border:2px solid var(--orange);color:var(--orange);padding:8px;font-family:serif;font-size:24px;line-height:1.05}.game-layout{display:grid;grid-template-columns:260px minmax(350px,1fr) 270px;border:1px solid #d4dadb;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 30px #233a4a06}.builder{padding:24px;border-right:1px solid var(--line)}h2,.ui-title{font-size:17px;margin:0;font-weight:700}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading>span{font-size:10px;color:var(--blue);background:#edf1ff;padding:5px 9px;border-radius:4px}.character-preview{text-align:center;padding:16px 0 20px}.character-preview>span{display:block;font-family:'Yu Mincho',serif;font-weight:900;font-size:100px;line-height:1.4;color:var(--blue);text-shadow:3px 4px 0 #d9e3ff}.character-preview small{font-size:10px;color:#79818f}label{display:block;font-size:11px;font-weight:700;margin:12px 0 8px}label span{font-size:9px;color:#8a919d;margin-left:8px;font-weight:400}.input-wrap{display:flex;border:1px solid #ced4de;border-radius:6px;overflow:hidden}input{width:100%;min-width:0;padding:9px 12px;border:1px solid #ced4de;font:inherit;border-radius:5px}.input-wrap input{border:0;font-size:20px;font-family:serif}.input-wrap button{border:0;background:#fff;width:42px;color:var(--blue);font-size:24px}.quick{display:flex;gap:6px;margin-top:9px}.quick button{flex:1;padding:6px 0;background:#f2f4f8;border:0;border-radius:4px;font-family:serif}.fonts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fonts button{font-size:11px;padding:8px 2px;border:1px solid #dce0e7;border-radius:4px;background:#fff}.fonts .selected{background:#edf2ff;color:var(--blue);border-color:var(--blue)}.stats{margin-top:23px}.stats>div{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:10px}.stats span{width:55px}.stats i{height:5px;background:#edf0f6;flex:1;border-radius:8px;overflow:hidden}.stats i b{display:block;height:100%;background:var(--blue)}.stats strong{font-size:10px;width:20px}.note{font-size:9px;line-height:1.8;color:#9298a2;margin:20px 0 0}.battle{background:#edf2f6;position:relative;display:flex;flex-direction:column;min-width:0}.arena-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;font-size:10px;color:#5c7084}.arena-head i{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:5px}.arena-head button{border:0;background:none;font-size:10px;color:#6e7d8d}.versus{display:flex;align-items:center;justify-content:center;gap:45px}.versus>div{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px}.versus small{font-size:9px;color:#7c8996;grid-column:1/3}.versus b{font-family:serif;font-size:34px;color:var(--blue)}.versus span{font-size:9px;color:#7e8998}.versus>strong{font-size:17px;font-style:italic;color:#9baaba}.versus>div:last-child b{color:var(--orange)}.stadium{position:relative;margin:auto 0;width:100%;isolation:isolate}.stadium svg{display:block;width:100%;height:auto}.top{position:absolute;top:49%;left:34%;width:66px;height:66px;border-radius:50%;transform:rotate(-15deg);display:grid;place-items:center;border:7px double #b7caff;background:radial-gradient(circle,#fff 18%,#aabffe 25%,#2c5ddb 58%,#16317d 60%);box-shadow:0 10px 8px #213a674a}.top span{font-family:'Yu Mincho',serif;font-size:36px;font-weight:900;color:#173897;text-shadow:1px 1px white}.top.orange{top:36%;left:60%;transform:rotate(15deg);border-color:#ffd0aa;background:radial-gradient(circle,#fff 18%,#ffcfae 25%,#ee9967 58%,#b05d38 60%)}.orange span{color:#a35126}.arena-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2px;color:#8696a6}.battle-bottom{margin-top:auto;padding:25px 22px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.battle-bottom button{border:1px solid #ccd7e0;border-radius:20px;font-size:11px;padding:9px 12px;background:transparent}.battle-bottom>div{text-align:center}.battle-bottom div>span{display:block;font-size:12px;font-weight:700}.battle-bottom small{display:block;font-size:8px;color:#8793a0;margin-top:6px}.time{font-size:25px;font-weight:800;text-align:center}.time small{font-weight:400;margin:0}.modes{padding:26px 21px;border-left:1px solid var(--line)}.modes>p{font-size:10px;color:#9199a5;margin-bottom:23px}.mode{width:100%;display:flex;align-items:center;gap:12px;background:white;border:1px solid #e0e4e9;border-radius:8px;padding:14px 12px;margin-top:10px;text-align:left}.mode.selected{border:1.5px solid var(--blue);background:#f1f5ff}.mode-icon{font-size:22px;color:var(--blue)}.mode b{display:block;font-size:13px}.mode small{display:block;font-size:9px;color:#8993a3;margin-top:5px}.mode i{font-style:normal;margin-left:auto;color:var(--blue)}.difficulty{display:flex;justify-content:space-between;align-items:center;margin:12px 4px 18px;font-size:10px}.difficulty button{border:0;background:#f0f2f5;font-size:10px;padding:5px 10px}.difficulty .selected{background:var(--ink);color:white;border-radius:4px}.launch{display:flex;justify-content:space-between;width:100%;background:var(--blue);border:0;border-radius:6px;padding:17px;color:white;font-size:15px;font-weight:800;margin-top:24px;box-shadow:0 4px 0 #153695}.launch:hover{background:#163faf}.demo-note{font-size:8px;color:#949dab;display:block;text-align:center;margin-top:12px}.event{margin-top:25px;background:#f4f1e8;border-radius:7px;padding:15px 12px;position:relative;overflow:hidden}.event>span{font-size:8px;color:#8c8063}.event .ui-subtitle{font-size:16px;margin:9px 0}.event p{font-size:9px;color:#8d8677}.event button{background:none;border:0;padding:4px 0;font-size:9px;position:relative;z-index:1}.event>b{position:absolute;right:-4px;bottom:-18px;font-family:serif;font-size:90px;color:#d5cbb1;opacity:.5;transform:rotate(-12deg)}.how{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:30px;margin:38px 0 45px}.how>div>span{color:var(--blue);font-size:10px;font-weight:700}.how h2{font-size:22px;line-height:1.6;margin-top:9px}.how article{border-left:1px solid var(--line);padding-left:25px;padding-top:5px}.how article>b{font-size:12px;color:var(--blue);font-style:italic}.how h3{font-size:14px;margin:10px 0}.how p{font-size:10px;line-height:2;color:#818997}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;align-items:center;gap:24px}footer .logo{font-size:15px}footer span,footer small{font-size:9px;color:#939ba7}footer small{margin-left:auto}.battle-message{position:absolute;inset:35% 0 auto;text-align:center;font-size:42px;font-weight:900;color:var(--blue);z-index:3;text-shadow:0 2px 0 white}.running .blue{animation:orbit 1s linear infinite}.running .orange{animation:orbit2 1.2s linear infinite}@keyframes orbit{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(95px,-40px) rotate(180deg)}50%{transform:translate(110px,35px) rotate(360deg)}75%{transform:translate(-35px,10px) rotate(540deg)}100%{transform:translate(0,0) rotate(720deg)}}@keyframes orbit2{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(-140px,65px) rotate(-360deg)}100%{transform:translate(0,0) rotate(-720deg)}}dialog{border:1px solid #d4dbe8;border-radius:15px;padding:35px;max-width:90vw;color:var(--ink)}dialog::backdrop{background:#20334c77}dialog p{font-size:13px;line-height:2}dialog button{float:right;background:none;border:0;color:var(--blue);font-size:11px;margin-bottom:25px}dialog .ui-title{clear:both}@media(min-width:1600px){main{padding:0 35px}}@media(max-width:1100px){main{padding:0 3%}.game-layout{grid-template-columns:220px minmax(280px,1fr)}.modes{grid-column:1/3;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.modes>.ui-title,.modes>p{grid-column:1/4;margin:0}.mode{margin:0}.difficulty{grid-column:1;grid-row:4}.launch{grid-column:2/4;margin:0}.demo-note{grid-column:2/4}.event{grid-column:1/4;margin:0}.event>b{right:20px}.builder{padding:20px}.how{gap:15px}}@media(max-width:640px){header{height:70px;padding:0 5%}.logo{font-size:18px}.logo span{font-size:15px}.logo i{font-size:24px}nav{gap:15px}nav>a,nav #sound,.profile{display:none}main{padding:0 4%}.intro{padding:30px 5px 25px;gap:10px}h1{font-size:27px}.intro p{display:none}.small{font-size:9px;letter-spacing:1px}.stamp{font-size:19px;margin:0 8px 0 auto}.game-layout{grid-template-columns:1fr}.battle{grid-row:1;min-height:380px}.builder{border-right:0;border-top:1px solid var(--line);display:grid;grid-template-columns:105px 1fr;gap:0 20px}.section-heading{grid-column:1/3}.character-preview{grid-column:1;grid-row:2/7;align-self:center}.character-preview>span{font-size:70px}.character-preview small{font-size:8px}.builder>label,.input-wrap,.quick,.fonts{grid-column:2}.stats,.note{grid-column:1/3}.stats{margin-top:8px}.note{margin-top:5px}.modes{grid-column:1;grid-template-columns:1fr}.modes>.ui-title,.modes>p,.difficulty,.launch,.demo-note,.event{grid-column:1;grid-row:auto}.difficulty{margin:0 3px}.how{grid-template-columns:1fr;gap:20px;padding:0 8px}.how>div h2 br{display:none}.how article{padding-left:18px}.how p br{display:none}.how p{margin:0}.how h3{display:inline;margin-left:12px}.top{width:50px;height:50px;border-width:5px}.top span{font-size:27px}.battle-bottom{padding:20px 14px}.battle-bottom small{font-size:8px}.battle-message{font-size:30px}footer{flex-wrap:wrap;gap:12px}footer small{margin:0;width:100%}}@media(prefers-reduced-motion:reduce){.running .top{animation:none}}
/* Direct manipulation combat surface */
#combat{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:none;cursor:grab}#combat:active{cursor:grabbing}.stadium>.top{display:none}.arena-caption{pointer-events:none}.battle-message{pointer-events:none;top:20%;font-size:32px}.battle-bottom #hint{font-size:10px}.battle-bottom #status{color:var(--blue)}.launch:disabled{opacity:.55;cursor:default}#sound{display:block}@media(max-width:640px){nav #sound{display:block;font-size:10px}nav{gap:5px}.battle-bottom #hint{font-size:8px}}
#tops3d{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}#combat{z-index:2}.battle-message{z-index:4}
/* Player-facing arena: scene first, controls in a temporary drawer. */
.immersive{--ink:#e5f5ff;--blue:#65dfff;--line:#526e8555;background:#06101d;color:var(--ink);overflow:hidden;height:100dvh}.immersive header{position:fixed;inset:0 0 auto;height:66px;z-index:10;padding:0 28px;border:0;background:linear-gradient(#06101dee,transparent)}.immersive header .logo{font-size:19px;color:white}.immersive header .logo span{font-size:17px}.immersive header .logo i{color:#67dfff}.immersive nav{gap:24px}.immersive nav .active,.immersive .profile{display:none}.immersive nav button{font-size:11px;color:#bdd7e8}.immersive #customize{border:1px solid #7692a955;background:#21384b66;border-radius:5px;padding:10px 16px;color:white}.immersive main{max-width:none;padding:0;height:100%;margin:0}.immersive .intro,.immersive .how,.immersive footer{display:none}.immersive .game-layout{display:block;background:radial-gradient(ellipse at 50% 65%,#25455f 0,#12273b 38%,#06101d 75%);border:0;border-radius:0;height:100%;box-shadow:none;overflow:hidden}.immersive .battle{height:100%;background:none;display:block;overflow:hidden}.immersive .arena-head{position:absolute;top:76px;left:30px;right:30px;z-index:6;color:#83a0b7;font-size:10px;padding:0}.immersive .arena-head>span{letter-spacing:3px}.immersive .arena-head #reset{color:#b4c7d5;border:1px solid #5f7a9144;border-radius:4px;padding:8px 15px}.immersive .arena-head i{background:#58defe;box-shadow:0 0 10px #58defe}.immersive .scene-lights{position:absolute;inset:0;pointer-events:none;background:linear-gradient(116deg,transparent 25%,#62ceff0b 26%,transparent 43%),linear-gradient(244deg,transparent 25%,#62ceff0b 26%,transparent 43%)}.immersive .scene-lights:before,.immersive .scene-lights:after{content:'';position:absolute;top:15%;left:8%;width:24%;height:4px;background:#dcf7ff;box-shadow:0 0 18px #68d5ff,0 0 75px 16px #68d5ff44;transform:rotate(-14deg)}.immersive .scene-lights:after{left:auto;right:8%;transform:rotate(14deg)}.immersive .stadium{position:absolute;width:min(1300px,112vw);left:50%;top:49%;transform:translate(-50%,-50%);margin:0;filter:drop-shadow(0 20px 60px #0007)}.immersive .stadium svg{width:100%}.immersive .arena-caption{display:none}.immersive .versus{position:absolute;inset:120px 40px auto;justify-content:space-between;z-index:5;pointer-events:none}.immersive .versus>strong{display:none}.immersive .versus>div{padding:10px 18px;border-top:2px solid #61d5ff;background:linear-gradient(90deg,#102e48cc,transparent);min-width:150px;grid-template-columns:auto auto}.immersive .versus>div:first-child{position:fixed;bottom:110px;left:32px;transform:none}.immersive .versus>div:last-child{margin-left:auto;border-color:#ff9469;background:linear-gradient(-90deg,#4a251eaa,transparent);text-align:right}.immersive .versus b{font-size:40px;color:#6adfff;text-shadow:0 0 20px #42b8fa88}.immersive .versus>div:last-child b{color:#ffa175}.immersive .versus small{color:#a3c6df;font-size:10px;letter-spacing:2px}.immersive .versus span{color:#9ab0c1}.immersive .battle-bottom{position:absolute;inset:auto 0 0;margin:0;padding:20px 32px 22px;z-index:6;background:linear-gradient(transparent,#06101df5 45%);display:flex;justify-content:space-between;align-items:end;height:112px}.immersive #direction{background:#102b40;border:1px solid #476780;border-radius:6px;padding:12px 16px;color:#caeaff;min-width:100px}.immersive .battle-bottom>div:not(#action-dock){position:absolute;bottom:35px;left:50%;transform:translateX(-50%);width:45%;text-align:center}.immersive .battle-bottom #status{color:#7ce4ff;font-size:18px;font-weight:900;letter-spacing:2px}.immersive .battle-bottom #hint{font-size:11px;color:#8faabe;margin-top:10px}.immersive .time{position:fixed;top:86px;left:50%;transform:translateX(-50%);font-size:35px;line-height:1;border:1px solid #5b85a64a;border-radius:6px;background:#0c2032c9;padding:10px 28px;color:#e8f8ff;font-variant-numeric:tabular-nums}.immersive .time small{color:#7e9bb1;font-size:8px;letter-spacing:2px;margin-top:6px}.immersive #action-dock{margin-left:auto;order:2;position:static;transform:none}.immersive .launch{margin:0;border:1px solid #6de1ff;border-radius:6px;background:#67ddff;color:#05213a;box-shadow:0 0 25px #37c3ff33;padding:14px 22px;min-width:185px;font-size:13px}.immersive .launch:hover{background:#bcf2ff}.immersive .launch:disabled{opacity:.35}.immersive .launch-instruction{position:absolute;top:19%;left:50%;transform:translateX(-50%);z-index:5;text-align:center;pointer-events:none;width:100%;transition:opacity .2s}.immersive .launch-instruction span{display:block;font-size:10px;letter-spacing:5px;color:#81abc7}.immersive .launch-instruction b{display:block;font-size:28px;font-weight:900;letter-spacing:4px;color:#f2faff;margin-top:10px;text-shadow:0 3px 20px #000}.immersive .launch-instruction small{display:block;font-size:11px;color:#8fb2c9;margin-top:10px}.immersive.in-battle .launch-instruction{opacity:0}.immersive #combat{cursor:crosshair}.immersive #combat:active{cursor:grabbing}.immersive .battle-message{top:35%;font-size:52px;font-style:italic;color:#a7edff;text-shadow:0 0 30px #009afa,3px 4px #061727}.immersive .builder,.immersive .modes{display:none;position:fixed;top:76px;bottom:22px;z-index:20;background:#0c2135f5;border:1px solid #476c88;border-radius:12px;overflow-y:auto;box-shadow:0 10px 60px #0008;padding:24px;color:#d4e9f6}.immersive.settings-open .builder{display:block;right:300px;width:280px}.immersive.settings-open .modes{display:block;right:24px;width:265px}.immersive .section-heading>span{background:#153a50;color:#81ddff}.immersive .character-preview>span{color:#79dfff;text-shadow:3px 4px #133d61}.immersive .quick button,.immersive .fonts button,.immersive .mode,.immersive input,.immersive .input-wrap button{background:#18344d;color:#c9e4f6;border-color:#49677f}.immersive .input-wrap{border-color:#49677f}.immersive .fonts .selected,.immersive .mode.selected{background:#21465f;border-color:#70dcff;color:#9deaff}.immersive .stats i{background:#234359}.immersive .stats i b{background:#69dbff}.immersive .mode-icon,.immersive .mode i{color:#7cdfff}.immersive .modes>p,.immersive .mode small,.immersive .note,.immersive .character-preview small{color:#8aa5bb}.immersive .difficulty button{background:#1b3a52;color:#b1cada}.immersive .difficulty .selected{background:#72daff;color:#0b2034}.immersive .event{background:#183c50}.immersive .event>*{color:#b8d9e9}.immersive #close-settings{background:none;border:0;color:#c6e9ff;font-size:22px}.immersive #room input{background:#18344d}.immersive dialog{background:#10283e;color:#d8eaff;border-color:#56839c}.immersive dialog button{color:#75dcff}.immersive .demo-note{color:#7593a9}.immersive .stats,.immersive .note{font-size:10px}@media(max-width:700px){.immersive header{padding:0 14px;height:56px}.immersive header .logo{font-size:15px}.immersive header .logo span{font-size:13px}.immersive header .logo i{display:none}.immersive nav{gap:6px}.immersive nav button{font-size:9px}.immersive #customize{padding:8px}.immersive #guide{display:none}.immersive .arena-head{top:65px;left:16px;right:16px}.immersive .arena-head>span{font-size:8px;letter-spacing:1px}.immersive .arena-head #reset{font-size:9px;padding:7px}.immersive .time{top:98px;font-size:27px;padding:7px 20px}.immersive .versus{inset:145px 16px auto}.immersive .versus>div{min-width:100px;padding:8px}.immersive .versus>div:first-child{left:16px;bottom:160px}.immersive .versus b{font-size:29px}.immersive .versus span{font-size:8px}.immersive .stadium{width:155vw;top:51%}.immersive .launch-instruction{top:26%}.immersive .launch-instruction b{font-size:20px;letter-spacing:2px}.immersive .launch-instruction small{font-size:9px}.immersive .battle-bottom{height:160px;padding:18px 16px;align-items:end}.immersive .battle-bottom>div:not(#action-dock){bottom:90px;width:90%}.immersive .battle-bottom #status{font-size:16px}.immersive .battle-bottom #hint{font-size:9px}.immersive .launch{min-width:145px;padding:13px;font-size:12px}.immersive #direction{min-width:90px;font-size:10px;padding:12px}.immersive.settings-open .builder{left:12px;right:12px;top:65px;width:auto;bottom:44%;padding:16px;display:grid;grid-template-columns:90px 1fr}.immersive .section-heading{grid-column:1/3}.immersive .character-preview{grid-row:2/7}.immersive .character-preview>span{font-size:64px}.immersive.settings-open .modes{left:12px;right:12px;width:auto;top:58%;bottom:12px;padding:16px}.immersive .modes h2,.immersive .modes>p,.immersive .event,.immersive .demo-note{display:none}.immersive .mode{margin-top:6px;padding:9px}.immersive .difficulty{margin:8px}.immersive .battle-message{font-size:37px}}@media(prefers-reduced-motion:reduce){.immersive .launch-instruction{transition:none}}
@media(max-width:700px){.immersive .stadium{width:120vw}}
.immersive.in-battle .stadium{filter:drop-shadow(0 20px 60px #0007) drop-shadow(0 0 12px #5bdaff12)}
/* Softer studio lighting lets the machined materials carry the scene. */
.immersive .game-layout{background:radial-gradient(ellipse at 50% 61%,#28333e 0,#141e29 43%,#080f18 80%)}.immersive .scene-lights{background:linear-gradient(116deg,transparent 25%,#d1e3ed06 26%,transparent 43%),linear-gradient(244deg,transparent 25%,#d1e3ed06 26%,transparent 43%)}.immersive .scene-lights:before,.immersive .scene-lights:after{height:2px;background:#bed2df;box-shadow:0 0 15px #d5eaff55,0 0 70px 12px #d5eaff15}.immersive .launch-instruction b{font-size:23px}.immersive .launch-instruction{top:17%}.immersive.in-battle .stadium{filter:drop-shadow(0 20px 60px #0007)}@media(max-width:700px){.immersive .launch-instruction{top:26%}.immersive .launch-instruction b{font-size:18px}}
#critical-flash{position:absolute;top:40%;left:0;right:0;z-index:5;pointer-events:none;text-align:center;font-size:36px;font-weight:900;font-style:italic;color:#bdefff;text-shadow:0 0 20px #008cff,2px 3px #102943}#critical-flash[data-attacker=com]{color:#ffcbbb;text-shadow:0 0 20px #ff4026,2px 3px #45221b}@media(max-width:700px){#critical-flash{font-size:24px}}
/* Anime tournament palette: blue hour, crystal enclosure, coral gear rail. */
.immersive{--blue:#addffc;background:#302978}.immersive .game-layout{background:radial-gradient(ellipse at 50% 58%,#899fdb 0,#667ac2 31%,#4b52a5 60%,#343177 100%)}.immersive header{background:linear-gradient(#312b7d77,transparent)}.immersive .battle:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 18%,#d3efff0c 18.15%,transparent 30%),linear-gradient(252deg,transparent 18%,#d3efff0c 18.15%,transparent 30%)}.immersive .scene-lights{background:linear-gradient(120deg,transparent 30%,#dffbff10 31%,transparent 43%),linear-gradient(240deg,transparent 30%,#dffbff10 31%,transparent 43%)}.immersive .scene-lights:before,.immersive .scene-lights:after{height:5px;top:14%;width:20%;background:#dcfaff;box-shadow:0 0 14px #cbf6ff66,0 0 55px 15px #c9eaff10;border-radius:5px}.immersive .arena-head{color:#d1dafe}.immersive .arena-head i{background:#ffe3a2;box-shadow:0 0 8px #fff2bb}.immersive .arena-head #reset{color:#f0efff;border-color:#c6d2fc44;background:#3d3b8b44}.immersive nav button{color:#eeecff}.immersive #customize{background:#3a327944;border-color:#c3c7f644}.immersive .time{background:#353a8980;border-color:#c1d2ff66;color:#fff;border-radius:3px 3px 16px 16px;box-shadow:0 7px 0 #29246122}.immersive .time small{color:#cfdcfa}.immersive .launch-instruction span{color:#dee4ff;letter-spacing:3px}.immersive .launch-instruction b{font-size:27px;letter-spacing:3px;text-shadow:0 2px 0 #2d357177,0 0 30px #55549655}.immersive .launch-instruction small{color:#eeeaff}.immersive .versus>div{background:linear-gradient(90deg,#344387a8,transparent);border-top:2px solid #b5eeff}.immersive .versus>div:last-child{background:linear-gradient(-90deg,#933b6a88,transparent);border-color:#ffcebc}.immersive .versus b{color:#c4f7ff;text-shadow:0 2px #355c91}.immersive .versus>div:last-child b{color:#ffdbbd;text-shadow:0 2px #98496d}.immersive .versus small,.immersive .versus span{color:#e1e8ff}.immersive .battle-bottom{background:linear-gradient(transparent,#333377b8 80%)}.immersive .battle-bottom #status{color:#fff7de;letter-spacing:2px}.immersive .battle-bottom #hint{color:#d4dcff}.immersive #direction{background:#38418b66;border-color:#bdcffa77;color:#f0efff}.immersive .launch{border:1px solid #fff3c4;border-radius:4px 4px 15px 4px;background:#ffda92;color:#393678;box-shadow:0 5px 0 #be8e6755,0 0 30px #ffdd8622}.immersive .launch:hover{background:#ffe9b6}.immersive .stadium{top:51%;filter:drop-shadow(0 20px 45px #25256a55)}.immersive.in-battle .stadium{filter:drop-shadow(0 20px 45px #25256a55)}.immersive .builder,.immersive .modes{background:#323a7af5;border-color:#9ba9e5;color:#f2f2ff}.immersive .quick button,.immersive .fonts button,.immersive .mode,.immersive input,.immersive .input-wrap button{background:#464c92;color:#f3f3ff;border-color:#7d91c6}.immersive .fonts .selected,.immersive .mode.selected{background:#526aa1;border-color:#b7ecff;color:#f4ffff}.immersive .section-heading>span{background:#596ba1;color:#def9ff}.immersive .character-preview>span{color:#c0f0ff;text-shadow:3px 4px #414880}.immersive .difficulty .selected{background:#ffe2a3;color:#424072}.immersive .event{background:#4d4c8a}.immersive .note,.immersive .character-preview small,.immersive .mode small,.immersive .modes>p{color:#c2ccec}.immersive .stats i{background:#596092}.immersive .stats i b{background:#b7e3ff}.immersive .battle-message{color:#fff3d6;text-shadow:3px 4px #775c9a,0 0 28px #deecff;font-size:46px}#critical-flash{color:#fff9ea;text-shadow:3px 3px #3776ab,0 0 20px #52c6ff}#critical-flash[data-attacker=com]{color:#fff2da;text-shadow:3px 3px #b65570,0 0 20px #ff8f6e}@media(max-width:700px){.immersive .launch-instruction b{font-size:21px}.immersive .stadium{top:52%}.immersive .battle-message{font-size:30px}}
.immersive .launch-instruction b{color:#2a3c7a;text-shadow:0 1px 0 #ffffff99}.immersive .launch-instruction span,.immersive .launch-instruction small{color:#385286}@media(max-width:700px){.immersive .launch-instruction b{color:#fff;text-shadow:0 2px #3e468b}.immersive .launch-instruction span,.immersive .launch-instruction small{color:#e9f3ff}}
/* Royal colosseum: limestone, burgundy banners and antique gold HUD. */
.immersive{--blue:#d8bd83;background:#253638}.immersive .game-layout{background:radial-gradient(ellipse at 50% 61%,#b6b2a0 0,#647271 45%,#293a3c 85%)}.immersive .battle:before,.immersive .scene-lights{display:none}.immersive header{background:linear-gradient(#203638b3,transparent)}.immersive nav button{color:#f4eddc}.immersive header .logo i{color:#e0c78e}.immersive #customize{background:#273d3b80;border:1px solid #cbb89066}.immersive .arena-head{color:#eee4cc}.immersive .arena-head i{background:#ddc384;box-shadow:none}.immersive .arena-head #reset{background:#273b3b88;border-color:#cbb89066;color:#f7edd6}.immersive .stadium{top:51%;width:min(1440px,115vw);filter:none}.immersive.in-battle .stadium{filter:none}.immersive .stadium>svg{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 93%,transparent)}.immersive .time{background:#273b3dcc;border:1px solid #c5af76;border-radius:2px;color:#f8edcd;box-shadow:0 3px 0 #c5af7622}.immersive .time small{color:#d9ccb0}.immersive .launch-instruction{top:20%}.immersive .launch-instruction span,.immersive .launch-instruction small{color:#fff4d7;text-shadow:0 1px 4px #293631}.immersive .launch-instruction b{color:#fff7de;text-shadow:0 2px 5px #293631;font-family:'Yu Mincho',serif;font-size:26px;letter-spacing:4px}.immersive .versus>div{background:linear-gradient(90deg,#274745bb,transparent);border-color:#7bc8c4}.immersive .versus>div:last-child{background:linear-gradient(-90deg,#6d243bcc,transparent);border-color:#d4a277}.immersive .versus b{color:#c4ebe6;text-shadow:0 2px #304d4d}.immersive .versus>div:last-child b{color:#f2cfa2;text-shadow:0 2px #7a3544}.immersive .versus small,.immersive .versus span{color:#ede6cf}.immersive .battle-bottom{background:linear-gradient(transparent,#203537d9 80%)}.immersive .battle-bottom #status{color:#f3dfae}.immersive .battle-bottom #hint{color:#d1d2c2}.immersive #direction{background:#263e3fbb;border-color:#afaa8566;color:#ede5d2}.immersive .launch{background:linear-gradient(#e5cd96,#cba96e);border:1px solid #f4e1ae;border-radius:3px;color:#33403d;box-shadow:0 3px 0 #8d785466}.immersive .launch:hover{background:#f0dcaf}.immersive .builder,.immersive .modes{background:#263f40f5;border-color:#a89d76;color:#f0e9d7}.immersive .quick button,.immersive .fonts button,.immersive .mode,.immersive input,.immersive .input-wrap button{background:#3a5454;color:#f1ecdd;border-color:#70817a}.immersive .fonts .selected,.immersive .mode.selected{background:#4b6864;border-color:#c9b379;color:#fff1cc}.immersive .section-heading>span{background:#48635d;color:#f2d99d}.immersive .event{background:#3f5551}.immersive .character-preview>span{color:#c0e5df;text-shadow:3px 4px #244847}.immersive .stats i{background:#58736c}.immersive .stats i b{background:#cfc29a}.immersive .difficulty .selected{background:#d8c595;color:#344b48}.immersive .note,.immersive .character-preview small,.immersive .mode small,.immersive .modes>p{color:#c1cbbb}.immersive .battle-message{color:#f6e0a8;text-shadow:2px 3px #693e40,0 0 14px #ecd69788}@media(max-width:700px){.immersive .stadium{width:132vw;top:52%}.immersive .launch-instruction{top:25%}.immersive .launch-instruction b{font-size:20px;letter-spacing:2px}.immersive .launch-instruction span,.immersive .launch-instruction small{color:#fff5df}}
.immersive .battle:has(.battle-message:not(:empty)) .launch-instruction{opacity:0}
@media(max-width:700px){.immersive .battle:before{content:'';display:block;position:absolute;inset:-20px;background:linear-gradient(#203638a6,#203638e0),url('assets/royal-colosseum-45.webp') center/cover;filter:blur(14px);pointer-events:none}.immersive .stadium{z-index:1}.immersive .stadium>svg{mask-image:linear-gradient(to bottom,transparent,#000 21%,#000 82%,transparent)}}
.immersive .stadium{top:53%;width:min(1180px,112vw,calc((100dvh - 178px)*1.4615))}
.immersive .launch-instruction{top:20%;width:auto;white-space:nowrap}.immersive .launch-instruction b{font-family:'Yu Gothic',sans-serif;font-size:22px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 5px #12213e}
.immersive .versus>div{border:1px solid #90d5ff;border-left:5px solid #1f92ff;background:linear-gradient(110deg,#0d3978ef,#246ccbaa);border-radius:2px;box-shadow:inset 0 2px #e4faff66,0 4px 14px #08264c33}.immersive .versus>div:last-child{border-color:#ffb1bd;border-right:5px solid #fa3856;border-left-width:1px;background:linear-gradient(250deg,#771734ef,#dc3859aa)}.immersive .versus b{color:#fff;text-shadow:0 2px #165eae}.immersive .versus>div:last-child b{color:#fff;text-shadow:0 2px #a12242}.immersive .versus small,.immersive .versus span{color:#eaf8ff}.immersive .time{background:#173b59e8;border-color:#bce7ff;border-radius:4px;color:#fff;box-shadow:0 3px 0 #163252}.immersive .time small{color:#c7e7fa}.immersive .launch{background:linear-gradient(#53bfff,#1674e0);color:#fff;border:1px solid #d0edff;box-shadow:0 3px 0 #0a3b8e;border-radius:4px;font-weight:900}.immersive .launch:hover{background:linear-gradient(#9bddff,#429bfd)}.immersive .battle-bottom #status{color:#fff;text-shadow:0 2px #184475}.immersive .character-preview>span{color:#69caff;text-shadow:3px 4px #164990}.immersive .battle-message{color:#fff;text-shadow:3px 4px #174d91,0 0 18px #98d9ff}
@media(max-width:700px){.immersive .stadium{width:120vw;top:53%}.immersive .launch-instruction{top:25%;width:95%;white-space:normal}.immersive .launch-instruction b{font-size:18px}.immersive .versus>div{min-width:114px}.immersive .versus b{font-size:32px}}
#challenge-progress{position:absolute;top:126px;left:32px;z-index:6;display:grid;grid-template-columns:auto auto;gap:5px 13px;padding:12px 16px;border-left:4px solid #75cfff;background:linear-gradient(110deg,#174676e8,#23659ba8);box-shadow:inset 0 1px #bce8ff88;color:#fff}#challenge-progress b{font-size:21px}#challenge-progress span{font-size:15px;align-self:center}#challenge-progress small{grid-column:1/-1;font-size:10px;color:#cdeaff}#challenge-result{position:absolute;left:50%;bottom:155px;transform:translateX(-50%);z-index:7;max-width:88%;padding:14px 22px;text-align:center;background:#153b5ce8;border:1px solid #a2d4ec;border-radius:5px;box-shadow:0 8px 25px #06253f55}#challenge-result p{color:#fff;font-size:15px;margin:0 0 9px}#edit-character{padding:8px 16px;border:1px solid #6f9ab4;border-radius:3px;background:#19415e;color:#cceaff;font-size:12px}#challenge-progress[hidden],#challenge-result[hidden],#challenge-explainer[hidden],.difficulty[hidden]{display:none!important}#challenge-explainer{font-size:12px;line-height:1.7;color:#c6e1f5;margin:14px 0}#prepare{width:100%;margin:10px 0 0}.immersive .modes>p{color:#c6e1f5}.immersive #reset:disabled{opacity:.35}.immersive.settings-open .builder,.immersive.settings-open .modes{background:#173c59f7;border-color:#6fa8cf}.immersive .quick button:hover{border-color:#9bdaff;background:#255c86}
@media(max-width:700px){#challenge-progress{top:144px;left:16px;padding:9px 12px;gap:4px 8px}#challenge-progress b{font-size:17px}#challenge-progress span{font-size:12px}#challenge-result{bottom:148px;width:calc(100% - 42px);padding:12px 15px}#challenge-result p{font-size:13px}.immersive.settings-open .builder{bottom:48%;row-gap:7px}.immersive.settings-open .modes{top:53%}.immersive .modes .mode{padding:10px 12px}.immersive .modes .mode-icon{font-size:23px}.immersive #prepare{min-width:0;padding:12px}.immersive .demo-note{display:none}.immersive #challenge-explainer{font-size:11px;margin:9px 0;line-height:1.5}}
.energy-meter{grid-column:1/-1;min-width:116px;margin-top:4px}.immersive .energy-meter span{display:flex;justify-content:space-between;align-items:center;color:#e3f4ff;font-size:10px;letter-spacing:0}.immersive .energy-meter b{font-size:11px;line-height:1.2;text-shadow:none;color:#fff}.energy-meter i{display:block;height:5px;margin-top:5px;background:#08254699;border-radius:2px;overflow:hidden}.energy-meter em{display:block;width:100%;height:100%;background:#79d5ff;transition:width .09s linear}.versus>div:last-child .energy-meter em{background:#ff90a2}.immersive .mode.selected,.immersive .fonts .selected{background:#1e649b;border-color:#80cfff;color:#effaff}@media(max-width:700px){.energy-meter{min-width:96px}.immersive .energy-meter span{font-size:9px}.immersive .energy-meter b{font-size:10px}}

#character-help{font-size:10px;line-height:1.6;color:#badbf4;margin:7px 0 10px}.immersive #prepare:disabled{opacity:.45;cursor:default;box-shadow:none}.immersive #customize{border-color:#81caff;background:#175185a8;color:#effaff}@media(max-width:700px){#character-help{grid-column:2;font-size:9px;line-height:1.4;margin:0}.immersive header nav{gap:8px}.immersive #customize{padding:8px;font-size:11px}}

@media(max-width:700px){.immersive.settings-open .input-wrap{min-height:40px}.immersive.settings-open .input-wrap input{height:40px;padding:8px 10px}}

/* Opponent telemetry and local match records. */
.immersive .versus .energy-state{display:block;margin-top:7px;font-size:10px;line-height:1.4;letter-spacing:0;color:#ffe3e8;white-space:nowrap}
.immersive #enemy-energy-card[data-state=tired]{border-color:#ffca93}
.immersive #enemy-energy-card[data-state=danger]{border-color:#fff0bd;box-shadow:0 0 22px #ff6c6655;animation:enemy-alert 1.2s ease-in-out infinite}
.immersive #enemy-energy-card[data-state=danger] .energy-state{color:#fff4be;font-weight:900}
.immersive #enemy-energy-card[data-state=stopped]{filter:saturate(.45)}
@keyframes enemy-alert{50%{box-shadow:0 0 32px #ff6c6699}}
#com-settings[hidden]{display:none}
#com-settings{border-top:1px solid #8abde044;margin:15px 0;padding-top:12px}
#com-settings .ui-subtitle{margin:0 0 10px;font-size:14px;color:#d7edff}
#com-settings label{display:block;font-size:11px;color:#d8e5ee}
#com-settings label small{float:right;font-size:10px;color:#aac7dd}
#com-settings input,#com-settings select{display:block;box-sizing:border-box;width:100%;height:38px;margin:5px 0 10px;padding:7px 9px;border:1px solid #6e9fbe;border-radius:3px;background:#234d6b;color:#fff;font:inherit;font-size:13px}
.com-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#com-stats{margin:0;font-size:10px;line-height:1.5;color:#b6d9f0}
#challenge-result{width:360px;padding:15px 20px;bottom:140px}
#battle-report{margin:10px 0;text-align:left}
#battle-report>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#aacce3;line-height:1.9}
#battle-report b{font-weight:600;color:#e4f4ff}
#battle-report p{font-size:11px;line-height:1.6;margin:8px 0 0;padding-top:8px;border-top:1px solid #6fa4cc44;color:#c3e1f6}
.immersive #direction:disabled{opacity:.5;cursor:default}
#records{width:min(540px,calc(100vw - 36px));box-sizing:border-box;max-height:82dvh;padding:26px;background:#12334b;color:#eff7ff;border:1px solid #7bbde9;border-radius:8px;box-shadow:0 25px 70px #00182799}
#records::backdrop{background:#0a1c2cc4;backdrop-filter:blur(5px)}
#records .ui-title{margin:0 0 10px;font-size:23px}#records .ui-subtitle{margin:24px 0 10px;font-size:13px;color:#b6def8}
#records>p{font-size:12px;line-height:1.7;color:#aac4d8;margin:0}
#close-records{float:right;padding:7px 9px;color:#e0f4ff;background:#234d69;border:1px solid #679ab9;border-radius:3px;font-size:11px}
#profile-records{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#profile-records>div{display:flex;align-items:center;gap:9px;padding:10px;background:#21465f;border-left:2px solid #70c8ff;font-size:10px}
#profile-records b{font-size:24px;color:#b9e6ff}#profile-records strong{margin-left:auto;color:#fff;font-size:12px}#profile-records p{font-size:12px;color:#a3c0d2;grid-column:1/-1}
#battle-history{list-style:none;margin:0;padding:0}
#battle-history li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #6e97b533;font-size:11px;color:#d6eaf9}
#battle-history li b{font-size:19px;color:#fff}#battle-history small{display:block;margin-top:4px;font-size:10px;color:#acc9dd}
.history-result{flex-shrink:0;width:42px;font-size:11px;font-weight:900;color:#b6c9d7}.history-result.win{color:#7fd1ff}.history-result.loss{color:#ff9eae}
@media(prefers-reduced-motion:reduce){.immersive #enemy-energy-card[data-state=danger]{animation:none}}
@media(max-width:700px){.immersive header{padding-left:12px;padding-right:12px}.immersive header nav{gap:5px}.immersive header nav button{padding:7px 5px;font-size:10px}.immersive #customize{font-size:10px;padding:7px 5px}.immersive .versus .energy-state{font-size:8px;margin-top:5px}.immersive.settings-open .modes{overflow-y:auto}#challenge-result{bottom:133px;width:calc(100% - 38px);max-height:36dvh;overflow-y:auto;padding:12px 15px}#battle-report>div{font-size:10px}#battle-report p{font-size:10px}#records{padding:18px}#profile-records{grid-template-columns:1fr 1fr;gap:5px}#profile-records>div{gap:6px;padding:8px}#profile-records strong{font-size:10px}}
@media(max-width:700px){.immersive .launch-instruction{top:29%}}

.ui-subtitle{font-weight:700}
/* Round entrance sits inside the stadium and blocks launch until it clears. */
#round-intro[hidden]{display:none}
#round-intro{position:absolute;inset:0;z-index:18;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(115deg,#082d54ec,#152b3eea 52%,#591e2ced);color:white;pointer-events:auto;overflow:hidden;border-radius:inherit;text-align:center}
#intro-round{font-size:clamp(24px,4vw,48px);border-bottom:2px solid #f5cf78;padding:0 30px 10px;color:#f5cf78}
.intro-match{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,70px);margin:18px 0}
.intro-match>div{display:flex;flex-direction:column;min-width:90px;max-width:180px}
.intro-match b{font-size:clamp(65px,9vw,115px);line-height:1.2;text-shadow:0 5px 0 #173d66,0 10px 24px #269af9aa}
.intro-match>div:last-child b{text-shadow:0 5px 0 #68212b,0 10px 24px #f4435faa}
.intro-match span{font-size:13px;overflow-wrap:anywhere}
.intro-match em{font-size:clamp(24px,4vw,42px);color:#f5cf78;font-weight:900}
#round-intro small{color:#d9e5ef;font-size:12px}
#round-intro.is-visible{animation:round-banner .3s both}
#round-intro.is-visible .intro-match>div:first-child{animation:round-player .5s both}
#round-intro.is-visible .intro-match>div:last-child{animation:round-enemy .5s both}
@keyframes round-banner{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@keyframes round-player{from{transform:translateX(-100px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes round-enemy{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}
#ranking{width:min(620px,92vw);max-height:85dvh;box-sizing:border-box}
#ranking>button{float:right;background:none;border:0;cursor:pointer;padding:8px;color:#234c6c}
#ranking p{font-size:13px;color:#526879;line-height:1.65}
.immersive #ranking{background:#102e46;color:#eef7ff;border-color:#6290b1}
.immersive #ranking p,.immersive #ranking th,.immersive #ranking td small{color:#bbd3e6}
.immersive #ranking td b,.immersive #ranking td strong,.immersive #ranking>button{color:#e2f2ff}
.immersive #ranking .ranking-you{background:#174b70}
.round-entering .launch-instruction{visibility:hidden}
.ranking-tabs{display:flex;gap:8px;margin:18px 0}
.ranking-tabs button{float:none;margin:0;padding:10px 14px;border:1px solid #b7c9d8;border-radius:6px;background:#f4f8fb;color:#28455e;cursor:pointer}
.ranking-tabs button[aria-pressed=true]{background:#123e62;color:white;border-color:#123e62}
.ranking-scroll{overflow-x:auto}
#ranking table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}
#ranking th{text-align:left;color:#62788a;font-size:12px;padding:12px 8px;border-bottom:2px solid #c2d1de}
#ranking td{padding:12px 8px;border-bottom:1px solid #dce5ed;max-width:170px;overflow:hidden;text-overflow:ellipsis}
#ranking td b{font-size:28px;color:#125485;margin-right:10px}
#ranking td small{font-size:11px;color:#617888}
#ranking td strong{font-size:23px;color:#123e62}
.ranking-you{background:#eaf4ff}
@media(max-width:500px){.intro-match>div{min-width:75px}.ranking-tabs button{flex:1;font-size:12px;padding:10px 8px}#ranking td{padding:10px 5px}#ranking td small{display:block}header nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#round-intro.is-visible,#round-intro.is-visible .intro-match>div{animation:none}}
.player-identity{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding:10px 12px;margin-bottom:10px;border:1px solid #73b6d755;background:#0c304a;border-radius:5px}
.player-identity span,.player-identity small{font-size:10px;color:#b5d4e9}.player-identity b{font-size:13px;color:#e5f5ff;letter-spacing:1px}
.you-badge{display:block;width:fit-content;background:#f5cf78;color:#183954;font-size:10px;font-style:normal;font-weight:800;padding:2px 6px;margin-top:4px;border-radius:3px}
.immersive #ranking .ranking-you{background:#195b83;box-shadow:inset 4px 0 #f5cf78}
#ranking .ranking-podium td:first-child{color:#f5cf78;font-weight:800}
#ranking-self{position:sticky;bottom:-1px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;margin-top:16px;background:#194b6b;border:1px solid #edc46b;border-radius:7px;box-shadow:0 -8px 20px #102e4688;color:#f3f9ff}
#ranking-self>span{font-size:12px}#ranking-self small{display:block;font-size:10px;color:#c6dfee;margin-top:5px}#ranking-self>strong{font-size:36px;color:#ffdc84;white-space:nowrap}#ranking-self>strong small{display:inline;font-size:14px;margin-left:4px}#ranking-self .self-score{text-align:right}#ranking-self .self-score b{font-size:28px;margin-right:6px}#ranking-self .unranked{font-size:18px}
.show-result .launch-instruction,.show-result #battle-message{visibility:hidden}
.immersive #challenge-result{top:52%;bottom:auto;transform:translate(-50%,-50%);width:min(420px,88vw);max-height:65dvh;overflow-y:auto;padding:22px 24px;background:linear-gradient(150deg,#163e5bf7,#0b2942f7);border:1px solid #7eb3d2;border-radius:12px;box-shadow:0 18px 50px #06253f80;text-align:center}
.immersive #challenge-result[data-outcome=win]{border-color:#edca79}
#challenge-detail{font-weight:700;line-height:1.6}
#result-streak{font-size:40px;font-weight:900;color:#ffdc84;line-height:1.3;letter-spacing:1px}
#challenge-result #result-motivation{font-size:12px;color:#d2e6f3;margin:8px 0 16px;line-height:1.6}
#result-action-dock .launch,.immersive #result-action-dock #launch{position:static;display:flex;width:100%;margin:0;padding:16px 20px;min-height:56px;font-size:17px;font-weight:800;color:#243f4c;background:linear-gradient(#ffe8a6,#efc96b);border:1px solid #ffe5a0;border-radius:7px;box-shadow:0 4px 0 #a97e37;text-align:left}
#result-action-dock .launch:hover{filter:brightness(1.08);transform:translateY(-1px)}
#result-action-dock .launch:active{transform:translateY(2px);box-shadow:0 2px 0 #a97e37}
#result-details{margin:18px 0 8px;text-align:left;border-top:1px solid #7096b155;padding-top:10px}
#result-details summary{font-size:11px;color:#c3dcea;text-align:center;cursor:pointer;padding:6px}
#result-details #battle-report{margin-top:8px}
#challenge-result #edit-character{background:transparent;border:0;font-size:11px;color:#b2cfe2;text-decoration:underline;padding:7px}
.show-result #direction{visibility:hidden}
@media(max-width:700px){.immersive #challenge-result{top:51%;bottom:auto;width:calc(100% - 44px);max-height:62dvh;padding:18px}#result-streak{font-size:36px}.immersive #result-action-dock #launch{padding:14px 16px;font-size:16px}#ranking-self{padding:12px;gap:8px;flex-wrap:wrap}#ranking-self>strong{font-size:30px}#ranking-self>span small{font-size:9px}}
@media(max-width:440px){.immersive header .logo{white-space:nowrap;font-size:13px;flex-shrink:0}.immersive header nav{flex-wrap:nowrap;gap:2px}.immersive header nav button,.immersive header #customize{font-size:9px;padding:6px 3px}.immersive header .seo-nav{font-size:9px}}
@media(max-width:500px){#ranking table{table-layout:fixed;font-size:11px}#ranking th{font-size:10px;padding:10px 4px}#ranking th:nth-child(1){width:13%}#ranking th:nth-child(2){width:42%}#ranking th:nth-child(3){width:23%}#ranking th:nth-child(4){width:22%}#ranking td:nth-child(2){white-space:normal;overflow-wrap:anywhere;font-size:10px}#ranking td b{margin-right:0;font-size:25px}#ranking td strong{font-size:22px}}
.player-identity label{margin:5px 0 0;font-size:10px}.player-identity label span{font-size:9px;margin-left:6px}.player-identity input{font-size:12px;padding:8px 10px}
.id-options summary{font-size:10px;color:#d5e8f4;padding:4px 0;cursor:pointer}.id-options input{margin:6px 0}.player-identity{margin-top:14px}
.blade-font-panel{grid-column:1/-1;border:1px solid #719dbc66;border-radius:9px;padding:12px;background:#10334c;margin-top:14px;min-width:0}
.font-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#bcd6e8;margin-bottom:10px}.font-heading b{font-size:10px;color:#ffdc84}
.immersive .blade-font-panel .fonts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid #75a3c1;border-radius:6px;overflow:hidden}
.immersive .blade-font-panel .fonts button{position:relative;padding:12px 1px 17px;font-size:11px;border:0;border-right:1px solid #75a3c144;border-radius:0;background:#173e59;color:#c7dfec;min-width:0}
.immersive .blade-font-panel .fonts button:last-child{border-right:0}
.immersive .blade-font-panel .fonts button.selected{background:#f4d382;color:#233f50;font-weight:900}
.blade-font-panel .fonts button.selected:after{content:'✓';position:absolute;bottom:1px;left:0;right:0;text-align:center;font-size:10px}
.blade-font-panel .character-preview{padding:10px 0 14px;margin-top:10px;border-radius:7px;background:radial-gradient(ellipse,#1a5574,#0d2d45)}
.immersive .blade-font-panel .character-preview>span{font-size:88px;line-height:1.25;color:#e4f5ff;text-shadow:0 3px 0 #287ba7}
.blade-font-panel .character-preview small{display:block;padding:5px 10px;color:#c3dcea;font-size:10px}
.blade-font-panel .stats{margin:0}.blade-font-panel .stats>div{margin:10px 0}.blade-font-panel .stats strong{color:#f5d580}
#result-ranking{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;text-align:left;padding:10px 12px;margin:12px 0 16px;background:#195171;border:1px solid #efcf7d;border-radius:6px}
#result-ranking>span{font-size:11px;color:#eff8ff}#result-ranking small{display:block;font-size:9px;color:#bcd7e8;margin-top:3px}#result-ranking>strong{font-size:30px;color:#ffdc84}#result-ranking>strong small{display:inline;margin-left:3px;font-size:12px}#result-ranking .unranked{font-size:16px}
#challenge-result #result-ranking p{grid-column:1/-1;font-size:10px;color:#d7e8f4;margin:3px 0 0}
@media(max-width:700px){.immersive.settings-open .builder{display:block}.blade-font-panel .character-preview{display:block}.blade-font-panel .stats{display:block}.immersive .blade-font-panel .character-preview>span{font-size:76px}.immersive .blade-font-panel .fonts button{font-size:12px}.player-identity{margin-top:12px}.immersive #challenge-result{max-height:70dvh}#result-ranking{margin:10px 0 12px;padding:9px 11px}}
