.battle-island{--bi-ink:#d8f4e7;--bi-bg:#0e2630;--bi-border:#638f83;color:var(--bi-ink);font-family:inherit;max-width:1000px;margin:0 auto;padding:12px}.battle-island button,.battle-island select{font:inherit;min-height:44px;border:2px solid #608b80;border-radius:5px;background:#153e40;color:#effff4;padding:9px 14px;cursor:pointer}.battle-island button:hover{background:#24534c}.battle-island button:focus-visible{outline:3px solid #ffdc7b;outline-offset:3px}.battle-island button:disabled{opacity:.55;cursor:default}.bi-heading{position:relative;padding:12px 0 18px;border-bottom:3px double #6d9281}.bi-heading small{letter-spacing:.18em;color:#e1bd68}.bi-heading h1{font-size:30px;margin:4px 0}.bi-heading .bi-back{position:absolute;right:0;top:15px}.bi-notice{min-height:2em;font-size:14px;line-height:1.5;color:#d8e9dd}.bi-lobby{padding:18px;border:3px double #779a85;background:linear-gradient(150deg,#163535,#0c202e);box-shadow:6px 6px 0 #09131c}.bi-lobby h2{font-size:23px}.bi-lobby p{line-height:1.6}.bi-participants{display:grid;gap:12px;margin:18px 0}.bi-participant{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #668a7a;background:#123038}.bi-participant img{width:70px;height:70px;object-fit:contain;image-rendering:pixelated}.bi-participant>div{flex:1;min-width:0}.bi-participant p{font-size:13px;margin:5px 0}.bi-participant small{color:#a8d8b5}.bi-empty{padding:30px 14px;border:1px dashed #5e8278}.bi-subject{width:100%;max-width:360px}.bi-arena{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 90px 1fr;min-height:270px;overflow:hidden;border:3px double #8ba98e;background:radial-gradient(ellipse at 50% 100%,#45745c 0%,#24474a 42%,#101e33 82%);box-shadow:inset 0 0 40px #0007,5px 5px 0 #06141b}.bi-arena::before{content:'';position:absolute;inset:24% 0 0;z-index:-1;opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 23px,#a7c7a8 24px),repeating-linear-gradient(90deg,transparent 0 43px,#a7c7a8 44px);transform:perspective(180px) rotateX(32deg);transform-origin:bottom}.bi-floor{position:absolute;left:6%;right:6%;bottom:20px;height:32px;border:1px solid #d2dda95c;border-radius:50%;background:#83ab7c24;box-shadow:0 0 25px #3fa89555}.bi-fighter{position:relative;min-width:0;z-index:2;padding:14px 12px 0;text-align:center}.bi-left{grid-column:1;grid-row:1}.bi-right{grid-column:3;grid-row:1}.bi-name{display:block;font-size:17px;overflow-wrap:anywhere}.bi-form{display:block;margin:4px 0;font-size:12px;color:#b9ceba}.bi-hp-track{height:15px;background:#221d26;border:2px solid #a5bc99;box-shadow:2px 2px 0 #08141a;overflow:hidden}.bi-hp-fill{display:block;width:100%;height:100%;background:linear-gradient(#beed97,#69bf70);transition:width .7s cubic-bezier(.2,.7,.2,1)}.bi-right .bi-hp-fill{margin-left:auto}.bi-hp-value{display:block;font-size:12px;font-variant-numeric:tabular-nums;margin:5px 0}.bi-pose{height:143px;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 90%;will-change:transform}.bi-avatar{height:132px;max-width:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 4px #03191599);pointer-events:none}.bi-right .bi-avatar{transform:scaleX(-1)}.bi-stats{display:block;font-size:11px;line-height:1.5;color:#bcd1c3;white-space:normal}.bi-countdown{position:relative;grid-column:2;grid-row:1;align-self:start;z-index:5;margin-top:14px;padding:9px 3px;background:#102333;border:2px solid #e5cf8c;text-align:center;box-shadow:3px 3px 0 #061019}.bi-countdown small{display:block;font-size:10px;letter-spacing:.13em;color:#dfc680}.bi-countdown strong{display:block;font-size:23px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:70px}.bi-question{margin-top:18px;background:#f7f4e7;color:#152a2b;border:3px double #7d9a86;border-radius:4px;padding:18px;box-shadow:5px 5px 0 #04191e}.bi-round-kicker{font-size:12px;font-weight:800;letter-spacing:.03em;color:#49614f}.bi-passage{max-height:380px;overflow:auto;overscroll-behavior:contain;border:1px solid #a5b2a4;background:#fffefa;padding:15px;margin:14px 0;scrollbar-gutter:stable}.bi-passage p{white-space:pre-wrap;font-size:16px;line-height:1.85;overflow-wrap:anywhere}.bi-passage h3{font-size:15px}.bi-item{border:0;border-top:2px solid #b2bca9;margin:20px 0 0;padding:16px 0 0;min-width:0}.bi-item legend{font-size:17px;font-weight:800;line-height:1.6;white-space:pre-wrap;padding:0 0 8px;width:100%;overflow-wrap:anywhere}.battle-island .bi-choice{display:block;width:100%;min-height:48px;margin:7px 0;text-align:left;line-height:1.5;background:#fffef6;color:#203a32;border:1px solid #9faf9a;font-size:16px}.battle-island .bi-choice[aria-pressed=true]{background:#e3ebca;border:2px solid #285d45;box-shadow:3px 3px 0 #7f9874}.battle-island .bi-confirm-answer{margin:7px 0 2px;background:#244d43;font-weight:700}.bi-question-image{display:block;max-width:100%;max-height:400px;object-fit:contain;margin:15px auto}.bi-round audio{display:block;width:100%;margin-top:15px}.bi-ready-curtain{padding:30px 10px;border:1px dashed #95a991;text-align:center}.bi-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.bi-submit{font-size:13px;line-height:1.6}.bi-escape{margin:25px 0 15px}.bi-escape .bi-confirm{color:#ffd69b}.bi-rules{margin:18px 0;padding:12px;border:1px solid #63857a;background:#102b31;font-size:13px;line-height:1.7}.bi-rules summary{cursor:pointer;min-height:30px}.bi-answer-review{margin-top:18px;padding:12px;background:#e5eedb;border-left:4px solid #4e7c5e;font-size:14px;line-height:1.7}.bi-result{font-size:28px;color:#ffdc7b;flex-basis:100%;margin:10px 0}.bi-projectile,.bi-impact,.bi-damage{position:absolute;pointer-events:none;z-index:4}.bi-projectile{width:20px;height:20px;border-radius:50%;background:#ffa94c;box-shadow:0 0 12px #ff8e2b;will-change:transform,opacity}.bi-projectile-spark{width:18px;height:15px;background:radial-gradient(#ffec9b,#ff9a38 55%,#ce481e);border-radius:65% 45% 55% 30%}.bi-projectile-flame{width:43px;height:35px;background:radial-gradient(#ffe89c 5%,#ed9e32 50%,#b73a27 80%);box-shadow:0 0 19px #df8a2a99;border-radius:65% 35% 55% 45%}.bi-projectile-bubble{width:15px;height:15px;border:2px solid #d6ffed;background:#78d9d544;box-shadow:inset 2px 2px #fff8,0 0 6px #76cbb6}.bi-projectile-missile{width:22px;height:9px;border-radius:65% 40% 40% 65%;background:linear-gradient(#dbdbcf,#818d8a);box-shadow:0 0 3px #f6ac6b}.bi-projectile-missile::after{content:'';position:absolute;width:75px;height:8px;top:1px;right:15px;background:linear-gradient(90deg,transparent,#9da3a091,#e6b77b);filter:blur(2px);transform-origin:right}.bi-projectile-orb{width:55px;height:55px;background:radial-gradient(#e3ffe8 5%,#a7dbb7 25%,#75a8da 60%,#8072c230);border:2px solid #d4dba1;box-shadow:0 0 20px #a5dada7a,0 0 35px #b3ccab55}.bi-projectile-light{width:24px;height:14px;background:#dfedc8}.bi-impact{width:65px;height:65px;background:radial-gradient(#ffe8a9 0 10%,#eeaa53a8 25%,#b9551c66 50%,transparent 70%);border-radius:40% 60% 55% 45%;box-shadow:0 0 0 3px #f1ba5740}.bi-impact-flame{width:125px;height:110px;background:radial-gradient(#ffe1a4 10%,#dc8d39a0 35%,#9a4e2b60 62%,transparent 72%)}.bi-impact-missile{width:150px;height:140px;border:5px double #f3b85e99;background:radial-gradient(#f4d396 3%,#bf853690 25%,#76766588 45%,transparent 69%);box-shadow:0 0 0 13px #f3c78a22}.bi-impact-orb{width:158px;height:158px;border:5px double #bbd7bc90;background:radial-gradient(#e2efd3 5%,#8cafcb88 38%,#827aaf44 60%,transparent 70%)}.bi-impact-bubble{width:45px;height:45px;border:4px dotted #b1e1da;background:#a1d8ca33}.bi-impact-dash{width:58px;height:58px;border-radius:0;background:#e6cd8c;clip-path:polygon(50% 0,61% 33%,100% 20%,76% 50%,100% 77%,62% 69%,50% 100%,38% 68%,0 80%,25% 50%,0 20%,40% 32%)}.bi-damage{font-size:27px;font-weight:900;text-shadow:2px 2px #1b1519,-1px -1px #1b1519;color:#ffe4a1;transform:translateX(-50%)}.bi-miss{color:#c1e8e6;font-size:23px;letter-spacing:.12em}.battle-island [hidden]{display:none!important}.battle-island-node{position:absolute!important;z-index:10;left:50%;top:8%;transform:translateX(-50%);min-width:108px;min-height:64px;border:3px double #ecd39a!important;border-radius:9px!important;background:linear-gradient(#37575e,#1b343e)!important;color:#fff0be!important;box-shadow:0 8px 0 #18373b,0 13px 0 #42615d,0 19px 10px #09222d88;padding:8px 14px!important;text-align:center;cursor:pointer}.battle-island-node b{display:block;font-size:23px;line-height:1.2}.battle-island-node span{display:block;font-size:16px;font-weight:900}.battle-island-node:focus-visible{outline:3px solid #fff3af;outline-offset:5px}
@media(max-width:600px){.battle-island{padding:5px}.bi-heading h1{font-size:25px}.bi-heading .bi-back{font-size:12px;padding:6px 9px}.bi-arena{grid-template-columns:1fr 74px 1fr;min-height:232px}.bi-fighter{padding:10px 6px 0}.bi-name{font-size:14px}.bi-form{font-size:11px}.bi-pose{height:115px}.bi-avatar{height:108px;max-width:110px}.bi-countdown strong{font-size:19px;min-width:58px}.bi-stats{font-size:10px}.bi-question{padding:12px}.bi-participant{gap:8px;padding:9px;flex-wrap:wrap}.bi-participant img{width:54px;height:54px}.bi-participant button{margin-left:auto}.bi-passage{max-height:330px;padding:10px}.bi-passage p{font-size:16px}.bi-item legend{font-size:16px}.battle-island-node{top:5%;min-width:94px;min-height:58px;padding:7px 9px!important}.battle-island-node span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.bi-hp-fill{transition:width .2s linear}.bi-projectile,.bi-impact{display:none}.bi-pose,.bi-floor{will-change:auto}}
.bi-projectile-missile[data-direction=right]::after{right:auto;left:15px;transform:scaleX(-1)}
.bi-clash{width:110px;height:110px;border:4px double #e8cf9188;background:radial-gradient(#e2ddbd 6%,#81b1bb88 35%,#e7b25a44 62%,transparent 70%)}
.bi-avatar-frame{display:block;position:relative;flex:none;width:132px;height:132px;overflow:hidden;filter:drop-shadow(0 8px 4px #03191599)}.bi-avatar-frame .bi-avatar{display:block;width:100%;height:100%;max-width:none;object-fit:contain;filter:none}.bi-avatar-frame .bi-avatar.bi-sprite-image{width:200%;height:200%;object-fit:fill}.bi-right .bi-avatar{transform:none}.bi-right .bi-avatar-frame{transform:scaleX(-1)}.bi-participant .bi-avatar-frame{width:70px;height:70px}@media(max-width:600px){.bi-avatar-frame{width:108px;height:108px}.bi-participant .bi-avatar-frame{width:54px;height:54px}}
.bi-fragment{position:absolute;width:5px;height:5px;background:#f4bd6e;border-radius:2px;pointer-events:none;will-change:transform,opacity}.bi-fragment-flame{width:10px;height:6px;background:#df8543;clip-path:polygon(0 50%,60% 0,100% 45%,50% 100%)}.bi-fragment-missile{width:8px;height:4px;background:#bdc1a8;box-shadow:0 0 5px #d6aa6e55}.bi-fragment-orb{width:13px;height:3px;background:#c7e5d2}.bi-fragment-bubble{width:7px;height:7px;border:1px solid #b9ebe5;background:transparent;border-radius:50%}.bi-impact-flame::before{content:'';position:absolute;inset:7%;background:#e4a34e88;clip-path:polygon(50% 0,60% 28%,83% 7%,75% 35%,100% 48%,76% 60%,93% 87%,62% 75%,50% 100%,36% 74%,8% 90%,25% 61%,0 48%,28% 35%,15% 6%,41% 27%)}.bi-impact-missile::before{content:'';position:absolute;inset:18%;border:7px solid #6e777477;border-radius:47%;box-shadow:0 0 0 10px #8b8b7055,0 0 0 22px #ccb27c22}.bi-impact-missile::after{content:'';position:absolute;inset:32%;background:#e1bd7680;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 63%,50% 100%,36% 65%,0 50%,35% 35%)}
/* Ice island: cold rock, restrained ice reflections; the question surface stays clear. */
.battle-island{--bi-ink:#deedf5;--bi-bg:#101d31;--bi-border:#7995ac}.bi-heading{border-color:#708ca3}.bi-heading small{color:#bedbef}.bi-notice{color:#cbdfe9}.bi-lobby{border-color:#859eb2;background:linear-gradient(150deg,#1a3048,#0d172b)}.bi-participant{border-color:#5e7e98;background:#14283d}.bi-participant small{color:#a3c8df}.bi-arena{border-color:#8ba8bf;background:radial-gradient(ellipse at 50% 100%,#33596e 0%,#1a324b 42%,#0c1428 82%);box-shadow:inset 0 0 40px #0008,5px 5px 0 #06111e}.bi-arena::before{background:repeating-linear-gradient(0deg,transparent 0 23px,#a4c4d7 24px),repeating-linear-gradient(90deg,transparent 0 43px,#a4c4d7 44px);opacity:.19}.bi-floor{border-color:#a8d2e666;background:#8dc5e024;box-shadow:0 0 25px #86bfd633}.bi-form,.bi-stats{color:#bdd1e2}.bi-countdown{border-color:#bed5e7;background:#101d30}.bi-countdown small{color:#b4d5ea}.bi-question{background:#f1f4f6;color:#142a3a;border-color:#839daf}.bi-passage{background:#fcfdff;border-color:#a4b7c5}.bi-item{border-color:#b0c0cb}.battle-island .bi-choice{background:#fbfdff;border-color:#9bb0c1;color:#183448}.battle-island .bi-choice[aria-pressed=true]{background:#dceaf5;border-color:#38637f;box-shadow:3px 3px 0 #829fb1}.bi-rules{background:#10243a;border-color:#56758e}.bi-answer-review{background:#e0ebf1;border-color:#4c7790}.battle-island-node{border-color:#b8d8eb!important;background:linear-gradient(#36586f,#172b40)!important;color:#e4f4ff!important;box-shadow:0 8px 0 #192c3a,0 13px 0 #38546a,0 19px 10px #08182999}.battle-island-node b{color:#bddff2;text-shadow:0 0 8px #86c5e533}
.bi-arena[data-background=meadow]{background:linear-gradient(#9dd5e326,#def0ac44),url('world-forest.webp') center 70%/cover no-repeat}.bi-arena[data-background=meadow]::before{background:linear-gradient(0deg,#71925a55,transparent);transform:none;opacity:.65}.bi-arena[data-background=meadow] .bi-floor{background:#d8e7a52b;border-color:#e9f1ba99;box-shadow:0 0 20px #a4cb8555}.bi-fighter-head{background:#0b2039c9;border-radius:4px;padding:4px 3px}.bi-stats{background:#10273cdb;padding:3px 1px;border-radius:3px}.bi-hp-value{text-shadow:1px 1px 2px #102036,-1px -1px 2px #102036}
.bi-hud{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:8px;align-items:center;padding:8px;background:#11283ff5;border:2px solid #94b7cd;box-shadow:0 4px 8px #05142177}.bi-hud-player{min-width:0;text-align:center}.bi-hud-left{grid-column:1;grid-row:1}.bi-hud-right{grid-column:3;grid-row:1}.bi-hud-name{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:4px}.bi-hud .bi-hp-track{height:10px}.bi-hud small{font-size:10px}.battle-island .bi-hud-clock{grid-column:2;grid-row:1;min-height:44px;padding:5px 2px;background:#102032;border-color:#b8cddf;color:#e9f5ff;font-size:16px}.bi-hud-clock strong{font-size:16px;font-variant-numeric:tabular-nums}

.rainbow-village-node{position:absolute;z-index:3;left:50%;bottom:2%;transform:translateX(-50%);display:grid;gap:2px;text-align:center;padding:6px 12px;background:#152735e8;color:#e0e8ee;border:1px solid #8aa1ad;border-radius:8px;pointer-events:none}.rainbow-village-node small{font-size:11px;color:#c4ced3}
.bi-heading .bi-refresh{position:absolute;right:0;top:65px;font-size:12px;padding:5px 9px}.bi-heading:has(.bi-refresh:not([hidden])){min-height:85px}.bi-ready-state{position:absolute;z-index:5;top:72px;margin:0;font-size:11px;color:#e5f2fb;background:#142b40e8;padding:3px 6px;border-radius:3px}.bi-ready-state-left{left:8px}.bi-ready-state-right{right:8px}

.bi-readiness{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;background:#142b40;border:1px solid #7799ae;margin-top:6px}.bi-readiness .bi-ready-state{position:static;margin:0;padding:2px 5px;font-size:12px}
.bi-start-countdown{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:84px;height:84px;font:900 62px/1 Arial,sans-serif;color:#edf7fd;background:#10243be8;border:3px double #b8d7ea;border-radius:8px;text-shadow:2px 3px #071422;pointer-events:none}
/* The global terminal surface rule must not paint opaque boxes behind transparent fighters. */
html[data-hanq-theme=terminal] body .battle-island .bi-arena{background:radial-gradient(ellipse at 50% 100%,#33596e 0%,#1a324b 42%,#0c1428 82%)!important}
html[data-hanq-theme=terminal] body .battle-island .bi-arena[data-background=meadow]{background:linear-gradient(#9dd5e326,#def0ac44),url('world-forest.webp') center 70%/cover no-repeat!important}
html[data-hanq-theme=terminal] body .battle-island :is(.bi-fighter,.bi-pose,.bi-avatar-frame){background:transparent!important;background-image:none!important}
html[data-hanq-theme=terminal] body .battle-island .bi-floor{background:#8dc5e024!important}
.bi-submit-state{display:block;min-height:1.5em;font-size:12px;line-height:1.5;margin-top:5px}.bi-start-countdown{font-family:'Galmuri11','D2Coding',ui-monospace,monospace;font-size:72px;font-weight:900;color:#c2c7cb;-webkit-text-stroke:2px #34414c;text-shadow:3px 3px 0 #081625;background:transparent;border:0;box-shadow:none}
html[data-hanq-theme=terminal] body .battle-island .bi-start-countdown{color:#c2c7cb!important;font-family:'SFMono-Regular',Consolas,ui-monospace,monospace!important;font-weight:900;-webkit-text-stroke:2px #34414c;background:transparent!important}
@font-face{font-family:BattleDigits;src:url('fonts/neodgm.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
html[data-hanq-theme=terminal] body .battle-island .bi-start-countdown,.battle-island .bi-start-countdown{font-family:BattleDigits,ui-monospace,monospace!important;font-weight:400}
.battle-island .bi-start-countdown{position:fixed;z-index:80;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}

/* Ambient layers animate only inside the arena; HUD and questions never travel. */
.bi-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}.bi-scene>i{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}.bi-scene-far{inset:-15%;background:radial-gradient(ellipse at 35% 10%,#78bfd633,transparent 45%),radial-gradient(ellipse at 70% 25%,#4a78b233,transparent 55%);animation:bi-atmosphere 21s ease-in-out infinite alternate}.bi-scene-ridge{inset:34% -8% -2%;background:linear-gradient(125deg,#385f7e66,#091528aa);clip-path:polygon(0 65%,15% 10%,25% 50%,40% 0,52% 62%,64% 22%,75% 50%,88% 8%,100% 70%,100% 100%,0 100%);animation:bi-depth 25s ease-in-out infinite alternate}.bi-scene-cloud{inset:4% -35% 20%;opacity:.3;background:radial-gradient(ellipse at 20% 40%,#b5d7ec44,transparent 26%),radial-gradient(ellipse at 65% 28%,#91b8d633,transparent 32%);animation:bi-clouds 27s linear infinite}.bi-scene-mist{inset:40% -45% -30%;opacity:.34;background:radial-gradient(ellipse at 20% 60%,#b2d8e566,transparent 38%),radial-gradient(ellipse at 75% 50%,#79acc855,transparent 42%);animation:bi-mist 17s ease-in-out infinite alternate}.bi-scene-near{inset:82% -20% -18%;background:linear-gradient(10deg,#91c5df33,transparent 65%);animation:bi-near 12s ease-in-out infinite alternate}.bi-mote{left:var(--x);top:-10%;width:var(--size);height:var(--size);border-radius:50%;background:#cfebfa;opacity:.5;animation:bi-snow var(--d) linear var(--delay) infinite}.bi-mote:nth-child(3n){opacity:.24}.bi-floor{z-index:1}.bi-arena[data-background=meadow] .bi-scene-ridge{opacity:.16;background:#1c633d;inset:60% -10% -10%}.bi-arena[data-background=meadow] .bi-scene-far{background:linear-gradient(120deg,transparent 20%,#fff4bf33 28%,transparent 38%,#fff9d322 48%,transparent 58%);animation:bi-sun 18s ease-in-out infinite alternate}.bi-arena[data-background=meadow] .bi-scene-cloud{inset:-10% -40% 42%;opacity:.6;background:radial-gradient(ellipse at 20% 35%,#fffef0bb,transparent 22%),radial-gradient(ellipse at 65% 28%,#fffef088,transparent 28%)}.bi-arena[data-background=meadow] .bi-scene-mist{opacity:.13;background:radial-gradient(ellipse at 35% 70%,#edf4bd,transparent 50%)}.bi-arena[data-background=meadow] .bi-scene-near{background:linear-gradient(10deg,#d8eaaa55,transparent 65%)}.bi-arena[data-background=meadow] .bi-mote{background:#fff0a0;box-shadow:0 0 3px #fff6b655;animation-name:bi-pollen}
@keyframes bi-atmosphere{from{transform:translate3d(-2%,0,0);opacity:.5}to{transform:translate3d(4%,3%,0);opacity:.9}}@keyframes bi-depth{from{transform:translate3d(-1%,0,0)}to{transform:translate3d(2%,2%,0)}}@keyframes bi-clouds{from{transform:translate3d(-12%,0,0)}to{transform:translate3d(15%,2%,0)}}@keyframes bi-mist{from{transform:translate3d(-10%,3%,0) scaleY(.85)}to{transform:translate3d(12%,-3%,0) scaleY(1.1)}}@keyframes bi-near{from{transform:translate3d(-4%,2%,0)}to{transform:translate3d(5%,-2%,0)}}@keyframes bi-snow{0%{transform:translate3d(0,-5px,0);opacity:0}10%{opacity:.55}85%{opacity:.4}100%{transform:translate3d(32px,290px,0);opacity:0}}@keyframes bi-pollen{0%{transform:translate3d(-10px,260px,0);opacity:0}15%{opacity:.6}80%{opacity:.35}100%{transform:translate3d(45px,10px,0);opacity:0}}@keyframes bi-sun{from{transform:translate3d(-4%,0,0);opacity:.3}to{transform:translate3d(5%,1%,0);opacity:.65}}
.bi-charge,.bi-wake,.bi-shockwave{position:absolute;z-index:3;pointer-events:none;will-change:transform,opacity}.bi-charge{width:65px;height:65px;border:2px solid #ffe0a2;border-radius:50%;background:radial-gradient(transparent 35%,#ffc16c33 50%,transparent 70%);box-shadow:inset 0 0 14px #f6b85133}.bi-charge-bubble,.bi-charge-light{border-color:#b2e7de}.bi-charge-orb{width:100px;height:100px;border:3px double #c1e8d9;box-shadow:0 0 15px #9bd2c733}.bi-charge-missile{width:45px;height:45px;border-style:dashed;border-color:#d4c4a5}.bi-wake{height:12px;transform-origin:left center;background:linear-gradient(90deg,transparent,#dba25755,transparent);border-radius:50%}.bi-wake-flame{height:28px;background:linear-gradient(90deg,transparent,#efac5755,transparent)}.bi-wake-missile{height:16px;background:linear-gradient(90deg,transparent,#a8b0aa77,transparent)}.bi-wake-orb{height:35px;background:linear-gradient(90deg,transparent,#accfd755,transparent)}.bi-wake-bubble{background:linear-gradient(90deg,transparent,#a9e6dc44,transparent)}.bi-shockwave{width:65px;height:65px;border:2px solid #f1d29899;border-radius:50%;box-shadow:0 0 0 5px #e8b77522}.bi-shockwave-missile{width:100px;height:80px;border:3px double #d8c7a299;box-shadow:0 0 0 12px #a8b4b022}.bi-shockwave-flame{width:85px;height:75px;border-color:#eebd7799}.bi-shockwave-orb{width:110px;height:110px;border-color:#b9ded399}
@media(prefers-reduced-motion:reduce){.bi-scene>i{animation:none!important;will-change:auto}.bi-mote{display:none!important}.bi-scene-mist,.bi-scene-cloud{opacity:.13}.bi-charge,.bi-wake,.bi-shockwave{display:none!important}}

.bi-item{position:relative}.bi-verdict{position:absolute;right:12px;top:8px;z-index:6;font:900 82px/1 Arial,sans-serif;pointer-events:none;text-shadow:2px 3px #10233344;-webkit-text-stroke:1px currentColor}.bi-correct{color:#116d69}.bi-wrong{color:#ac342c}.bi-verdict-label{display:inline-block;pointer-events:none;font-size:14px;font-weight:900;margin:7px 0 0;padding:4px 9px;border:2px solid currentColor;background:#faffff;border-radius:4px}.bi-item:has(.bi-verdict-label.bi-correct){border-top-color:#287c71}.bi-item:has(.bi-verdict-label.bi-wrong){border-top-color:#ad4f44}@media(prefers-reduced-motion:reduce){.bi-verdict{font-size:64px;opacity:.9}}
.bi-history-card{padding:16px;margin:12px 0;border:2px solid #7a9aaf;background:#142b40}.bi-history-card p{line-height:1.6;font-size:14px}.bi-history-back{display:inline-block;color:#d6edf7;margin:8px 0}.bi-summary{flex-basis:100%;line-height:1.7}.bi-review-passage,.bi-review-explanation{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.bi-review-translation{font-size:14px;color:#435e6e}.bi-review-round{margin-top:18px}.bi-review-round h4{white-space:pre-wrap;line-height:1.6}.bi-review-round button{margin:10px 0}.bi-review-round audio{width:100%;display:block}.bi-review-round details{margin:12px 0}.bi-review-round summary{cursor:pointer;padding:9px}

html body .file-island-map .battle-island-node{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important;clip-path:none!important;width:clamp(108px,15vw,150px);min-height:88px}.battle-island-node::before,.battle-island-node::after{display:none!important}.bi-glacier-icon{display:block;width:100%;height:75px;object-fit:contain;filter:drop-shadow(0 5px 2px #0c343a77);pointer-events:none}.bi-map-label{display:grid!important;width:max-content;max-width:100%;margin:-5px auto 0;padding:4px 13px;background:#142f35df;border:1px solid #8aa998;border-radius:5px;color:#f0edcb;line-height:1.3;text-shadow:0 1px 1px #071819}.bi-map-label strong{font-size:15px}.bi-map-label small{font-size:11px;font-weight:500;color:#c8dfd4;display:block}@media(max-width:600px){.bi-glacier-icon{height:62px}.bi-map-label strong{font-size:14px}.bi-map-label{padding:3px 10px}}
/* Combat-only layers remain visible under the shared terminal theme. */
.battle-island .bi-scene{background:transparent!important}.battle-island .bi-scene-far,.battle-island .bi-scene-ridge,.battle-island .bi-scene-cloud,.battle-island .bi-scene-mist,.battle-island .bi-scene-near{background-color:transparent!important}
.battle-island .bi-stats{position:absolute;bottom:8px;left:4px;right:4px;z-index:8;visibility:hidden;background:#10273cef!important;border:1px solid #b5d6e6;padding:8px;pointer-events:none}.bi-fighter:focus-within .bi-stats,.bi-fighter:hover .bi-stats,.bi-fighter.bi-stats-open .bi-stats{visibility:visible}.bi-pose[role=button]{cursor:help;outline-offset:-4px}.bi-fighter{padding-bottom:12px}.bi-hurt-frame{position:absolute;inset:0;background-size:300% 100%;background-repeat:no-repeat;pointer-events:none;image-rendering:pixelated}.bi-avatar-frame.bi-hurting>.bi-avatar{visibility:hidden}.bi-avatar-frame{position:relative}
.bi-charge-flame{width:58px;height:58px}.bi-charge-missile{width:32px;height:32px}.bi-charge-orb{width:95px;height:95px}.bi-scorch{position:absolute;bottom:18px;height:19px;z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#171b20c9 10%,#44332699 45%,transparent 73%);filter:blur(2px)}.bi-impact{max-width:65%;max-height:230px}.bi-impact-orb{background:radial-gradient(circle,#fff4c8 2%,#f7d985bb 13%,#83cedc88 40%,transparent 68%);box-shadow:none}.bi-impact-missile{background:radial-gradient(circle,#fff2ca 4%,#eea352dd 20%,#b55d3988 44%,#6b626233 60%,transparent 72%);box-shadow:none}.bi-impact-flame{background:radial-gradient(circle,#ffe6a5 3%,#f6a047bb 28%,#d8673288 48%,transparent 70%);box-shadow:none}.bi-impact-spark{background:radial-gradient(circle,#ffdf98 8%,#f3903a 30%,transparent 69%);box-shadow:none}.bi-projectile-missile{width:22px;height:10px}.bi-projectile-orb{width:80px;height:80px}.bi-projectile-flame{width:53px;height:43px}.bi-projectile-spark{width:18px;height:18px}
@media(prefers-reduced-motion:reduce){.bi-hurt-frame,.bi-scorch{display:none!important}.bi-avatar-frame.bi-hurting>.bi-avatar{visibility:visible}.bi-hp-fill{transition:none}}

html[data-hanq-theme=terminal] body .battle-island .bi-scene{background:transparent!important}html[data-hanq-theme=terminal] body .battle-island :is(.bi-verdict,.bi-verdict-label).bi-correct{color:#158879!important}html[data-hanq-theme=terminal] body .battle-island :is(.bi-verdict,.bi-verdict-label).bi-wrong{color:#d54f42!important}
.bi-practice-card[hidden]{display:none!important}.bi-practice-note{font-size:13px;border-left:3px solid #88bacb;padding:8px 12px;order:-1}.bi-charge-mote,.bi-charge-orbit{position:absolute;z-index:4;pointer-events:none;will-change:transform,opacity}.bi-charge-mote{width:5px;height:5px;border-radius:50%;background:#ffd994;box-shadow:0 0 7px #ffb45c88}.bi-charge-mote-orb,.bi-charge-mote-light{background:#e5f7ec;box-shadow:0 0 8px #b4eaf299}.bi-charge-mote-missile{background:#bfd8ea;box-shadow:0 0 6px #8bb6dd99}.bi-charge-orbit{width:104px;height:62px;border:2px dashed #edc08d99;border-radius:50%;box-shadow:0 0 13px #e19e5d33}.bi-charge-orbit-orb{width:130px;height:88px;border-color:#c9e6dbaa;box-shadow:0 0 18px #afd4e744}.bi-charge-orbit-missile{width:83px;height:53px;border-color:#bacbdfaa}.bi-projectile-bubble{border:1px solid #b8ececcc;background:radial-gradient(circle at 30% 25%,#f0fffce8 0 12%,#a6e3df88 20%,#65a7c04d 52%,#b6ebdfbb 75%,transparent 79%);box-shadow:inset -2px -2px 3px #398b9c66,0 0 4px #d8f4e533}
@media(prefers-reduced-motion:reduce){.bi-charge-mote,.bi-charge-orbit{display:none!important}}
.bi-pose{position:relative}.bi-source-fx{position:absolute;inset:0;z-index:4;pointer-events:none;background:transparent!important}.bi-impact-bubble{border:1px solid #b7e9e0aa;background:radial-gradient(circle,#e2fff1bb 0 8%,#76becd66 22%,transparent 45%,#b6e9e477 54%,transparent 68%);box-shadow:none}.bi-shockwave-bubble{border-color:#b0e9df99}
html[data-hanq-theme=terminal] body .battle-island .bi-source-fx{background:transparent!important;background-image:none!important}
.bi-charge-spark,.bi-charge-flame{border-color:#b65b2ccc;background:radial-gradient(circle,#fff0c7 0 13%,#ffa343dd 33%,#d96e3188 60%,transparent 75%);box-shadow:0 0 14px #e58a3b55}.bi-charge-mote-spark,.bi-charge-mote-flame{width:6px;height:6px;background:#ffc36f;border:1px solid #985429aa}.bi-charge-mote-orb{border:1px solid #3d7f91aa}.bi-charge-orbit-spark,.bi-charge-orbit-flame{border-color:#a76132bb}
/* Every sprite carries its actual source-facing direction; never mirror by side alone. */
.bi-left .bi-avatar-frame[data-facing="right"],.bi-right .bi-avatar-frame[data-facing="left"]{transform:none}.bi-left .bi-avatar-frame[data-facing="left"],.bi-right .bi-avatar-frame[data-facing="right"]{transform:scaleX(-1)}
.bi-state-frame{position:absolute;inset:0;background-repeat:no-repeat;pointer-events:none;image-rendering:pixelated}.bi-posed>.bi-avatar,.bi-posed>.bi-hurt-frame{visibility:hidden}.bi-avatar-frame[data-pose="defeat"]{filter:drop-shadow(0 3px 2px #0008)}
.bi-in-match .bi-body{position:relative;isolation:isolate;min-height:min(780px,calc(100dvh - 130px));background:#0a202d;border:2px solid #729caa;overflow:hidden}.bi-in-match .bi-arena{height:min(780px,calc(100dvh - 130px));min-height:480px;border:0;box-shadow:none;align-items:end;grid-template-columns:1fr 74px 1fr}.bi-in-match .bi-fighter{padding:0 12px 18px}.bi-in-match .bi-avatar-frame{width:104px;height:104px}.bi-in-match .bi-pose{height:120px}.bi-in-match .bi-countdown{align-self:start}.bi-in-match .bi-readiness{position:absolute;top:48px;left:10px;right:10px;display:flex;justify-content:space-between;font-size:12px}.bi-in-match .bi-question{position:absolute;z-index:8;inset:90px 12px 155px;margin:0;background:rgba(9,25,36,.96);color:#eff8fc;border:2px solid #789eac;box-shadow:0 7px 24px #0008;display:flex;flex-direction:column;overflow:hidden;padding:12px}.bi-question[hidden]{display:none!important}.bi-in-match .bi-round{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;order:1}.bi-in-match .bi-modal-time{order:0;display:block;text-align:center;border-bottom:1px solid #69818e;padding:0 0 8px;font-size:22px;font-variant-numeric:tabular-nums;color:#fff}.bi-in-match .bi-actions{order:2;flex:none;margin:0;border-top:1px solid #69818e;padding-top:8px}.bi-in-match .bi-actions button{width:100%;font-weight:800}.bi-in-match .bi-round-kicker{color:#b3d9e8}.bi-in-match .bi-passage{max-height:none;overflow:visible;background:#102b3c;color:#f4fafb;border-color:#5b7c8a;padding:12px}.bi-in-match .bi-passage p{font-size:16px;line-height:1.7}.bi-in-match .bi-item{position:relative}.bi-in-match .bi-choice{background:#173448;color:#f7fbff;border-color:#64869b}.bi-in-match .bi-choice[aria-pressed="true"]{background:#245b80;border-color:#9cdcff;color:#fff}.bi-in-match .bi-choice:disabled{opacity:.85}.bi-in-match .bi-escape{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);z-index:7;font-size:12px}.bi-in-match .bi-rules,.bi-in-match .bi-hud{display:none!important}.bi-in-match .bi-practice-note{position:absolute;top:0;left:0;right:0;text-align:center;font-size:11px;z-index:5;margin:2px;pointer-events:none}.bi-in-match .bi-fighter-head{font-size:12px}.bi-in-match .bi-name{font-size:13px}.bi-in-match .bi-form{font-size:11px}.bi-answer-verdict{display:block;text-align:center;font-size:90px;line-height:1.1;pointer-events:none;text-shadow:0 3px 0 #000;animation:bi-answer-stamp .45s cubic-bezier(.1,.8,.2,1) both}.bi-verdict-correct{color:#4d9fff}.bi-verdict-wrong{color:#ff5c67}.bi-revealing .bi-round{scroll-behavior:auto}.bi-revealing .bi-choice{pointer-events:none}.bi-end-screen{position:fixed;inset:0;z-index:1200;overflow:auto;background:rgba(4,14,24,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#f5f9ff;text-align:center}.bi-end-screen .bi-end-arena{position:relative;flex:none;width:min(650px,100%);height:250px!important;min-height:250px!important;max-height:35dvh;pointer-events:none}.bi-end-screen .bi-end-arena .bi-countdown{display:none}.bi-end-screen .bi-result{font-size:clamp(48px,12vw,100px);margin:18px 0 8px;line-height:1.05;color:#bddfff;text-shadow:0 4px 0 #172e47}.bi-point-result{max-width:600px;font-size:20px;line-height:1.7;font-weight:700}.bi-end-reason{font-size:13px;color:#abc0cf}.bi-end-confirm{min-width:180px;font-size:20px!important;margin-top:12px}.bi-review-modal{position:relative;z-index:10;max-height:calc(100dvh - 130px);overflow:auto;overscroll-behavior:contain;background:rgba(8,24,35,.97);color:#f5f9ff;padding:18px;border:2px solid #789eac}.bi-review-modal .bi-question{position:static;display:block;overflow:visible;background:#f4f2e6;color:#1b2b2c;inset:auto;margin:18px 0}.bi-review-backdrop{position:absolute!important;inset:0;opacity:.25;pointer-events:none}.bi-review-modal .bi-review-explanation{color:#243e40}.bi-review-modal h4{font-size:17px}.bi-answer-verdict[aria-label="미응답"]{font-size:24px}
@keyframes bi-answer-stamp{0%{transform:scale(2.2) rotate(-12deg);opacity:0}60%{transform:scale(.94);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-width:500px){.bi-in-match{padding:4px}.bi-in-match .bi-heading{padding:4px 0 7px}.bi-in-match .bi-heading h1{font-size:22px}.bi-in-match>.bi-notice{min-height:0;margin:4px;font-size:11px}.bi-in-match .bi-body,.bi-in-match .bi-arena{min-height:600px;height:calc(100dvh - 115px)}.bi-in-match .bi-question{inset:76px 7px 155px;padding:10px}.bi-in-match .bi-fighter{padding:0 5px 25px}.bi-in-match .bi-avatar-frame{width:88px;height:88px}.bi-in-match .bi-pose{height:100px}.bi-in-match .bi-countdown{margin-top:10px}.bi-in-match .bi-readiness{top:43px}.bi-in-match .bi-round-kicker{font-size:12px}.bi-in-match .bi-item{margin-top:12px;padding-top:12px}.bi-in-match .bi-item legend{font-size:16px;line-height:1.6}.bi-in-match .bi-choice{font-size:16px;min-height:46px}.bi-end-screen{padding:12px}.bi-end-screen .bi-end-arena{height:220px!important;min-height:220px!important}.bi-point-result{font-size:18px}.bi-review-modal{padding:12px;max-height:calc(100dvh - 110px)}}
@media(prefers-reduced-motion:reduce){.bi-answer-verdict{animation:none}.bi-state-frame{transition:none}}
.bi-end-screen .bi-result{flex:0 0 auto}.bi-end-screen>*{flex-shrink:0}.bi-verdict-panel{position:absolute;inset:56px 0 60px;z-index:20;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;background:rgba(6,18,29,.94);pointer-events:none}.bi-verdict-cell{display:flex;flex-direction:column;align-items:center;min-width:90px}.bi-verdict-cell small{font-weight:800;font-size:16px}.bi-verdict-cell .bi-answer-verdict{font-size:110px}.bi-in-match .bi-combat-active .bi-fighter{align-self:center}.bi-end-screen .bi-combat-active .bi-fighter{align-self:end}
/* History navigation belongs to the forest, never above a running battle modal. */
body:has(.battle-island.bi-in-match) .world-global-nav{display:none!important}
.battle-island.bi-in-match{position:fixed;inset:0;z-index:800;max-width:none;margin:0;padding:8px;box-sizing:border-box;background:#071c29;display:flex;flex-direction:column;overflow:hidden}.bi-in-match>.bi-heading{flex:none;padding:4px 0 8px}.bi-in-match>.bi-notice{flex:none;min-height:1.3em;margin:4px;font-size:12px}.bi-in-match .bi-body{flex:1;min-height:0!important;height:auto!important;box-sizing:border-box}.bi-in-match .bi-arena{height:100%!important;min-height:0!important}.bi-in-match .bi-review-modal{box-sizing:border-box;max-height:100%;height:100%}.bi-in-match .bi-end-screen .bi-end-arena{height:240px!important;min-height:240px!important;max-height:none}.bi-in-match>.bi-heading h1{font-size:22px;margin:2px 0}.bi-in-match .bi-question{inset:65px 8px 155px}.bi-in-match .bi-readiness{top:30px}.bi-in-match .bi-countdown{margin-top:4px}.bi-in-match .bi-heading .bi-back{top:4px}
.bi-in-match .bi-combat-active .bi-floor{bottom:36%}.bi-end-screen .bi-floor{bottom:20px!important}.bi-readiness[hidden]{display:none!important}
.bi-ready-stamp{position:absolute;top:7px;left:50%;transform:translateX(-50%) rotate(-9deg);font-size:26px;font-weight:900;color:#d3f9ff;text-shadow:2px 3px 0 #143743,-1px -1px 0 #143743;z-index:4;letter-spacing:.02em;pointer-events:none;animation:bi-ready-pop .35s cubic-bezier(.1,.9,.2,1) both}.bi-ready-stamp[hidden]{display:none!important}.bi-arena[data-first-ready] .bi-pose{padding-top:36px;box-sizing:content-box}@keyframes bi-ready-pop{from{opacity:0;transform:translateX(-50%) rotate(-17deg) scale(2)}65%{opacity:1;transform:translateX(-50%) rotate(-7deg) scale(.94)}to{opacity:1;transform:translateX(-50%) rotate(-9deg) scale(1)}}@media(prefers-reduced-motion:reduce){.bi-ready-stamp{animation:none}}
/* Battle verdict colours and translucency are semantic, including the terminal theme. */
html[data-hanq-theme="terminal"] body .battle-island .bi-answer-verdict.bi-verdict-correct{color:#4599ff!important}html[data-hanq-theme="terminal"] body .battle-island .bi-answer-verdict.bi-verdict-wrong{color:#ff586b!important}html[data-hanq-theme="terminal"] body .battle-island.bi-in-match .bi-question{background:rgba(9,25,36,.94)!important;color:#eff8fc!important}html[data-hanq-theme="terminal"] body .battle-island .bi-verdict-panel{background:rgba(6,18,29,.94)!important}html[data-hanq-theme="terminal"] body .battle-island :is(.bi-verdict-cell,.bi-round,.bi-question-content,.bi-item){background:transparent!important}html[data-hanq-theme="terminal"] body .battle-island .bi-end-screen{background:rgba(4,14,24,.97)!important}html[data-hanq-theme="terminal"] body .battle-island .bi-review-modal{background:rgba(8,24,35,.97)!important}
/* The persistent HUD owns the readable name and HP bars above every question panel. */
.bi-in-match .bi-hud{display:grid!important;position:absolute;inset:0 0 auto;z-index:10;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:6px;padding:6px;box-sizing:border-box;border:0;background:rgba(7,24,35,.98)!important;pointer-events:none}.bi-in-match .bi-hud-player{min-width:0;margin:0;padding:0;background:transparent!important;grid-row:1}.bi-in-match .bi-hud-left{grid-column:1}.bi-in-match .bi-hud-right{grid-column:3}.bi-in-match .bi-hud-name{display:block;font-size:13px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bi-in-match .bi-hud-player small{font-size:12px;line-height:17px}.bi-in-match .bi-hud-clock{grid-column:2;grid-row:1;margin:0;padding:3px;min-width:0;min-height:0;font-size:10px;line-height:15px;background:transparent!important;pointer-events:none}.bi-in-match .bi-hud-clock strong{display:block;font-size:20px;line-height:25px}.bi-in-match .bi-question{top:85px}.bi-in-match .bi-arena:not(.bi-end-arena) :is(.bi-fighter-head,.bi-hp-track,.bi-hp-value,.bi-countdown){visibility:hidden}.bi-in-match .bi-end-arena :is(.bi-fighter-head,.bi-hp-track,.bi-hp-value){visibility:visible}
/* HP interpolation uses an independent rAF clock; terminal-theme transition:none cannot cancel it. */
.bi-hp-track{position:relative}.bi-hp-fill{position:relative;z-index:1;transition:none!important}.bi-hp-lag{position:absolute;top:0;bottom:0;left:0;width:100%;display:block;background:#f2b44f!important;z-index:0;pointer-events:none;transition:none!important}[data-hp="right"]{margin-left:auto}.bi-hp-lag[data-hp-lag="right"]{left:auto;right:0}

/* A committed selection stays stronger than a candidate under a finger. */
html body .battle-island .bi-choice[aria-pressed="true"]{background:#174f79!important;border:3px solid #8ed8ff!important;box-shadow:inset 5px 0 #8ed8ff,0 0 0 1px #07243d!important;color:#fff!important;font-weight:800!important}
html body .battle-island .bi-choice:not([aria-pressed="true"]):hover,html body .battle-island .bi-choice:not([aria-pressed="true"]):active{background:#263e49!important;border-color:#78949b!important;box-shadow:none!important;color:#ecf5f5!important}
.bi-submission-done{padding:12px 24px;color:#b9f7d0;font-size:20px;border:2px solid #78bc92;background:#123c30;text-align:center}
.bi-projectile-flame{width:94px!important;height:72px!important;box-shadow:0 0 24px #f9a438aa!important}.bi-projectile-orb{width:clamp(160px,48vw,280px)!important;height:clamp(160px,48vw,280px)!important;background:radial-gradient(#fff8c1 5%,#ffd86b 32%,#f5a345 57%,#e36d2966 70%,transparent 73%)!important}
/* The entry label matches the other map destinations; glacier art stays unchanged. */
html body .file-island-map .bi-map-label{box-sizing:border-box;width:120px;max-width:none;min-height:90px;padding:12px 8px;justify-content:center;gap:5px;border:3px double #dbd5a7;background:#102f24f5!important;box-shadow:0 4px 0 #061a19!important}
html body .file-island-map .bi-map-label strong{font-size:19px!important;line-height:1.5;color:#ff817b!important;font-weight:900}
html body .file-island-map .bi-map-label small{font-size:14px;line-height:1.5;color:#dce9e5}
@media(max-width:700px){html body .file-island-map .bi-map-label{width:104px;min-height:76px;padding:10px 8px;gap:3px}html body .file-island-map .bi-map-label strong{font-size:19px!important}html body .file-island-map .bi-map-label small{font-size:12px}}
.bi-charge-orb{width:clamp(150px,42vw,260px)!important;height:clamp(150px,42vw,260px)!important;background:radial-gradient(#fffbd0 5%,#ffe281 35%,#ffa33d 60%,transparent 74%)!important}.bi-impact-orb{max-width:90%;max-height:none}.bi-impact-missile{max-width:82%;max-height:none}.bi-impact-flame{max-width:72%;max-height:none}
@media(hover:hover) and (pointer:fine){html body .file-island-map .battle-island-node .bi-map-label{transition:scale .25s ease,box-shadow .25s ease!important}html body .file-island-map .battle-island-node:hover .bi-map-label,html body .file-island-map .battle-island-node:focus-visible .bi-map-label{scale:1.08;box-shadow:0 7px 0 #061a19,0 0 18px #84d6e14d!important}}
@media(prefers-reduced-motion:reduce){html body .file-island-map .battle-island-node .bi-map-label{transition:none!important;scale:1!important}}
html body .tc-battle-wrongnotes .tc-answer-option[aria-checked=true]{background:#174f79!important;border:3px solid #8ed8ff!important;box-shadow:inset 5px 0 #8ed8ff!important;font-weight:800!important;color:#fff!important}
html body .tc-battle-wrongnotes .tc-answer-option:not([aria-checked=true]):hover,html body .tc-battle-wrongnotes .tc-answer-option:not([aria-checked=true]):active{background:#263e49!important;box-shadow:none!important;border-color:#78949b!important}
@media(max-width:700px){html body .file-island-map .bi-map-label{margin-top:-58px}}

.bi-heading .bi-refresh{top:15px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;font-size:27px;line-height:1}
.bi-heading:has(.bi-refresh:not([hidden])){min-height:70px}.bi-practice-area{margin-top:22px;border-top:1px solid #527369;padding-top:12px}

.bi-ready-curtain{font-size:15px;line-height:1.75;text-align:left}.bi-ready-curtain h3{margin:8px 0}.bi-ready-curtain .bi-rules{margin:10px 0;padding:10px}.bi-room-exit{align-self:center;min-width:100px;margin:10px auto}

html body .battle-island .bi-history-card.bi-history-win{background:#102c49!important;border:2px solid #73b4f3!important;box-shadow:inset 5px 0 #73b4f3}
html body .battle-island .bi-history-card.bi-history-loss{background:#401f2b!important;border:2px solid #ed8c98!important;box-shadow:inset 5px 0 #ed8c98}
html body .battle-island .bi-history-card.bi-history-neutral{background:#1c3035!important;border:2px solid #8caaa9!important}
.bi-history-card>strong{display:block;font-size:19px;line-height:1.5}.bi-history-card>p{font-size:14px;line-height:1.7;overflow-wrap:anywhere}

/* Part 6 uses one shared passage and numbered blanks, including single-item replay. */
.bi-p6-passage{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}
.bi-p6-blank{display:inline-block;padding:0 .3em;margin:0 .12em;background:#d8ebff;color:#153f6a;border:1px solid #6486ad;border-radius:3px;font-weight:800;white-space:nowrap}

.bi-p6-verdict-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--bi-p6-verdict-rows,2),minmax(0,1fr));gap:4px;padding:4px;box-sizing:border-box;container-type:size}
.bi-p6-verdict-panel .bi-verdict-cell{min-width:0;min-height:0;height:100%;justify-content:center;gap:2px}
.bi-p6-verdict-panel .bi-verdict-cell small{font-size:14px;white-space:nowrap;line-height:1.2}
.bi-p6-verdict-panel .bi-verdict-cell .bi-answer-verdict{font-size:clamp(28px,25cqh,88px);line-height:1}
.bi-p6-verdict-panel .bi-receipt-confirmed{position:absolute;left:8px;top:-26px;font-size:14px}
@keyframes bi-p6-answer-stamp{0%{transform:rotate(-10deg) scale(1.35);opacity:0}45%{transform:rotate(3deg) scale(.94);opacity:1}100%{transform:rotate(0) scale(1);opacity:1}}
.bi-p6-verdict-panel .bi-answer-verdict{animation:bi-p6-answer-stamp .36s ease-out both}
@media(prefers-reduced-motion:reduce){.bi-p6-verdict-panel .bi-answer-verdict{animation:none}}

.bi-invite-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#08152bc9}.bi-invite-dialog{width:min(440px,100%);padding:28px;border:2px solid #7edcff;border-radius:20px;background:#102a46;color:#fff;box-shadow:0 20px 90px #0008}.bi-invite-dialog h2{font-size:21px;line-height:1.5}.bi-invite-dialog button{min-height:48px;margin:16px 10px 0 0;padding:10px 24px}.bi-invite-dialog .bi-accept{background:#83e3ff;color:#102a46}

.bi-invite-overlay,.bi-invite-dialog{box-sizing:border-box}
.bi-invite-countdown{display:block;margin:12px 0;font-size:30px;font-variant-numeric:tabular-nums}

/* Keep long nicknames and consent actions inside small or zoomed viewports. */
.bi-invite-overlay{box-sizing:border-box;grid-template-columns:minmax(0,1fr);overflow:auto}
.bi-invite-dialog{box-sizing:border-box;min-width:0;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
@media(max-width:360px){.bi-invite-overlay{padding:16px}.bi-invite-dialog{padding:20px;max-height:calc(100dvh - 32px)}}

/* Small body checks and larger claw swipes share a short physical exchange. */
.bi-weak-swipe,.bi-weak-impact{position:absolute;z-index:25;pointer-events:none;background:transparent!important}
.bi-weak-swipe{width:48px;height:50px;display:flex;gap:5px;transform:translate(-50%,-50%)}
.bi-weak-swipe i{display:block;width:5px;height:46px;border-radius:80% 10%;background:linear-gradient(#fffad4,#ffcc69 55%,transparent)!important;box-shadow:0 0 5px #ffdc89;transform:rotate(28deg)}
.bi-weak-swipe[data-attacker=right] i{transform:rotate(-28deg)}
.bi-weak-impact{width:32px;height:32px;border:3px solid #fff5cb;border-radius:50%;box-shadow:0 0 8px #ffd381}
