@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;700;900&display=swap');
:root{font-family:'Noto Sans KR','Malgun Gothic',sans-serif;color:#23372f;background:#c7d7d2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.45}button:focus-visible{outline:3px solid #f5b535;outline-offset:4px}#stage{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;top:26px;left:36px;right:36px;display:flex;align-items:start;justify-content:space-between;z-index:3;pointer-events:none}.company{font-size:15px;font-weight:900;letter-spacing:-.6px}.company span{display:block;font-size:10px;font-weight:500;margin-top:4px;color:#52675d}.utilities{display:flex;gap:8px;pointer-events:auto}.utilities button{background:#f3f4e9cc;border:1px solid #576d5c4d;border-radius:5px;padding:9px 12px;font-size:11px}.intro{position:fixed;top:17%;left:5.5%;z-index:2;pointer-events:none}.clock{font-family:monospace;font-size:19px;font-weight:bold;color:#455a4e;letter-spacing:3px;margin:0 0 15px}.intro h1{font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-size:clamp(48px,5.7vw,90px);font-weight:900;line-height:1.03;letter-spacing:-5px;margin:0;transform:rotate(-3deg);text-shadow:1px 3px #edf0db}.premise{font-size:14px;line-height:1.8;margin:27px 0 20px}.premise strong{font-size:20px;font-weight:900}.quote{font-size:12px;line-height:1.6;background:#fff9e8;padding:12px 17px;box-shadow:3px 4px 0 #5d6a5220;transform:rotate(2deg);max-width:225px;border-top:3px solid #f0ad43}.play-status{position:fixed;right:34px;top:110px;z-index:2;display:flex;gap:20px;align-items:center}.play-status>div>span{font-size:10px;display:block}.play-status strong{font-size:34px;font-weight:900;display:block;line-height:1.35}.play-status strong span{font-size:12px;margin-left:5px}.stamp{border:2px solid #c05b48;border-radius:7px;color:#b14d3a;padding:6px 14px;transform:rotate(7deg);text-align:center}.stamp strong{font-size:23px}#timer{font-size:25px;font-weight:900;background:#fff2bd;border-radius:6px;padding:8px}#timer.urgent{color:#b7412d}.controls{position:fixed;z-index:3;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(480px,calc(100vw - 32px));text-align:center}#instruction{font-size:12px;margin:0 0 12px;background:#f4f5ebdf;border-radius:4px;display:inline-block;padding:7px 13px}.slap{display:flex;align-items:center;justify-content:center;gap:12px;border:2px solid #873524;background:#e96847;color:#fff6de;box-shadow:0 6px 0 #873524;padding:13px 22px;min-height:61px;width:100%;border-radius:9px;font-weight:900;font-size:18px}.slap>span{font-size:26px}.slap:active{transform:translateY(4px);box-shadow:0 2px 0 #873524}kbd{font:10px monospace;border:1px solid #fff6;padding:4px;border-radius:3px;font-weight:normal}.secondary{display:flex;gap:8px;justify-content:center;margin-top:16px}.secondary button{background:#f3f4e9e8;border:1px solid #52644866;border-radius:4px;padding:8px 13px;font-size:11px}.small-print{font-size:9px;margin-bottom:0;color:#344d40}.feedback{position:fixed;z-index:5;top:15%;left:50%;transform:translateX(-50%) rotate(-4deg);font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-size:clamp(22px,3vw,40px);color:#fff9e3;text-shadow:2px 2px 0 #7c3b27,-1px -1px 0 #7c3b27;pointer-events:none;opacity:0;transition:opacity .15s}.feedback.show{opacity:1}.loading{position:fixed;left:50%;top:48%;transform:translate(-50%,-50%);background:#fff7e6;padding:18px;border-radius:8px;font-size:13px;max-width:80vw;text-align:center;z-index:4}dialog{border:1px solid #73816b;background:#fbf7e8;color:#263a31;padding:30px;border-radius:12px;max-width:min(430px,calc(100vw - 28px));max-height:85vh;overflow:auto;box-shadow:0 20px 80px #1a2b3566}dialog::backdrop{background:#1b302c80}dialog h2{font-size:25px;line-height:1.3;letter-spacing:-1px}dialog p{font-size:13px;line-height:1.9}dialog button{display:block;background:#e96847;color:#fff9e5;border:0;padding:13px 17px;border-radius:6px;margin-top:10px;width:100%;font-weight:700}.result-small{color:#9b5943;font-weight:bold}#freePlay{background:#dee6d8;color:#263a31}
@media(max-width:760px){header{left:16px;right:16px;top:15px}.company{font-size:13px}.company span{font-size:8px}.utilities button{font-size:10px;padding:7px 9px}.intro{top:90px;left:20px}.intro h1{font-size:43px;letter-spacing:-2px}.clock{font-size:12px;margin-bottom:10px}.premise{display:none}.quote{font-size:10px;max-width:155px;margin-top:16px;padding:8px 10px}.play-status{top:95px;right:17px;gap:9px;align-items:start;flex-direction:column}.play-status strong{font-size:26px}.stamp{padding:5px 10px}.stamp strong{font-size:18px}.controls{bottom:max(17px,env(safe-area-inset-bottom))}.slap{font-size:15px;min-height:54px;padding:10px 15px}.slap kbd{display:none}.small-print{font-size:8px}#instruction{font-size:10px;padding:7px 9px}.secondary{margin-top:13px}.feedback{top:29%;font-size:23px;width:100%;text-align:center}.loading{font-size:11px}}
@media(max-height:680px){.intro{top:80px}.intro h1{font-size:37px}.quote{margin-top:8px}.controls{bottom:12px}.small-print{display:none}.secondary{margin-top:11px}.controls #instruction{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#appearanceLabel{font-size:9px;max-width:112px;line-height:1.4;margin:3px auto 0;white-space:normal}
@media(max-width:760px){#appearanceLabel{font-size:8px;max-width:75px}}

.tool-tray{display:flex;justify-content:center;gap:6px;margin:0 auto 10px}.tool-tray button{border:1px solid #52644880;background:#f9f6e9;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:700}.tool-tray button[aria-pressed=true]{background:#23372f;color:#fff9e3;border-color:#23372f;box-shadow:0 3px 0 #f0ad43}.slap #actionText{font-size:18px}.slap #actionIcon{font-size:26px}
@media(max-width:760px){.tool-tray button{padding:7px 12px;font-size:11px}.tool-tray{margin-bottom:8px}.slap #actionText{font-size:15px}#instruction{margin-bottom:8px}}

#impactWord{position:fixed;z-index:4;left:57%;top:34%;pointer-events:none;opacity:0;font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-size:clamp(48px,8vw,110px);color:#ffdc59;-webkit-text-stroke:2px #653421;text-shadow:4px 5px 0 #653421;transform:rotate(-14deg) scale(.6)}#impactWord.strike{animation:comic-impact .38s both}@keyframes comic-impact{0%{opacity:0;transform:rotate(-20deg) scale(.4)}15%{opacity:1;transform:rotate(-12deg) scale(1.2)}40%{opacity:1;transform:rotate(-14deg) scale(1)}100%{opacity:0;transform:rotate(-8deg) scale(1.08) translateY(-18px)}}
@media(max-width:760px){#impactWord{left:55%;top:35%;font-size:58px}}@media(prefers-reduced-motion:reduce){#impactWord.strike{animation:none;opacity:1;transform:rotate(-10deg);font-size:40px}}

#impactWord[data-combo="2"],#impactWord[data-combo="3"]{color:#fff3b6;text-shadow:5px 6px 0 #8f3725,-3px -2px 0 #8f3725}#impactWord::after{content:'';position:absolute;inset:-10px -24px;border-top:5px solid #eaa635;border-bottom:3px solid #eaa635;transform:skew(-20deg) rotate(-8deg);opacity:.65;z-index:-1}@media(prefers-reduced-motion:reduce){#impactWord::after{display:none}}

.prank-controls{display:flex;gap:8px;margin-top:13px}.prank-controls button{flex:1;border:1px solid #324f44;background:#e7efdb;border-radius:5px;padding:9px;font-size:12px;font-weight:900}#finishPrank{border:2px solid #a33d2e;background:#fff0d6;color:#9d3529}#finishPrank.stamp-ready{background:#e96847;color:#fff8e8;box-shadow:0 3px 0 #803523}#prankStatus{font-size:10px;background:#fff9e6e6;display:inline-block;border-radius:3px;padding:4px 7px;margin:8px 0 0;max-width:100%}.controls .secondary{margin-top:8px}.controls .small-print{margin-top:7px}@media(max-width:760px){.prank-controls{margin-top:10px;gap:7px}.prank-controls button{font-size:11px;padding:8px 5px}#prankStatus{font-size:9px;margin-top:6px}}@media(max-height:680px){#instruction,.small-print{display:none!important}#prankStatus{font-size:9px;margin-top:5px}.prank-controls{margin-top:8px}.tool-tray{margin-bottom:6px}.controls{bottom:8px}}

body.prank-active .tool-tray,body.prank-active #slap,body.prank-active #instruction{display:none}body.prank-active #prankStatus{font-size:11px;font-weight:700}

@media(max-width:760px){body.prank-active .play-status{display:none}}

.character-badge{position:fixed;z-index:2;left:50%;top:75px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:3px;pointer-events:none}.character-badge #characterTitle{font-size:9px;letter-spacing:2px;color:#52675d}.character-badge #characterName{font-size:16px;font-weight:900;background:#fff9e8e8;border-bottom:2px solid #de9e42;padding:4px 14px;max-width:240px;overflow-wrap:anywhere}.character-badge #actorAction{font-size:10px;background:#fff9e8e8;padding:3px 8px;max-width:260px;text-align:center}.character-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0 22px}.character-choices button{margin:0;padding:12px 6px;background:#e4e9dc;color:#294238;border:2px solid transparent;font-size:12px;min-height:88px}.character-choices button span{display:block;font-size:10px;font-weight:400;margin-top:5px}.character-choices button[aria-pressed=true]{border-color:#9f442e;background:#fff0d0;box-shadow:0 3px 0 #9f442e}#characterDialog label{display:block;font-weight:700;font-size:13px}#characterDialog label span{font-size:10px;font-weight:400}#nickname{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid #748570;border-radius:5px;margin-top:8px;background:#fffdf4;color:#23372f}#nickname:focus-visible{outline:3px solid #e5ab42}.nickname-note{font-size:10px!important;color:#52675d}dialog .quiet{background:#e3e9dc;color:#263a31}body.prank-active #characters{opacity:.6}@media(max-width:760px){.character-badge{top:61px;left:auto;right:17px;transform:none;align-items:flex-end}.character-badge #characterTitle{display:none}.character-badge #characterName{font-size:11px;max-width:155px;padding:3px 8px}.character-badge #actorAction{font-size:9px;max-width:170px}.utilities{gap:4px}.utilities button{padding:7px}.character-choices{gap:5px}#characterDialog{padding:22px}}

body.finish-active .tool-tray,body.finish-active #slap,body.finish-active #instruction,body.finish-active .prank-controls{display:none}body.finish-active .character-badge #actorAction{font-weight:900;color:#a33d2e}body.finish-active #prankStatus{font-size:12px;font-weight:900}@media(max-width:760px){body.finish-active .play-status,body.finish-active .intro{display:none}}

#finishSelection{font:inherit;font-size:13px;width:100%;padding:10px;border:1px solid #748570;border-radius:5px;margin-top:7px;background:#fffdf4;color:#23372f}#finishSelection:focus-visible{outline:3px solid #e5ab42}.finish-select-label{margin-top:18px}#characterDialog{max-height:90vh}#characterDialog h2{margin-top:8px}body.resisting .character-badge #actorAction{background:#ffe6ad;color:#803523;font-weight:900}

.attack-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0 0 10px}.attack-choices button{border:1px solid #52644870;border-radius:4px;background:#fff9e8;color:#365243;padding:8px 2px;font-size:11px;font-weight:700;white-space:nowrap}.attack-choices button[aria-pressed=true]{color:#fff6de;background:#9a432d;border-color:#743521;box-shadow:0 2px 0 #743521}.tool-tray{margin-bottom:6px}.controls #instruction{max-width:100%;line-height:1.5}body.prank-active .attack-choices,body.finish-active .attack-choices{display:none}body.guard-broken .character-badge #actorAction{background:#9a432d;color:#fff9e8;font-weight:900}body.guard-broken #instruction{background:#fff0b6;color:#743521;font-weight:700}
@media(max-width:760px){.attack-choices{gap:3px;margin-bottom:8px}.attack-choices button{padding:8px 1px;font-size:10px}.controls #instruction{padding:5px 8px}.tool-tray button{padding:6px 12px}}
@media(max-height:680px){.attack-choices{margin-bottom:6px}.attack-choices button{padding:6px 1px}.controls #prankStatus{display:none}body.prank-active #prankStatus,body.finish-active #prankStatus{display:inline-block}}

#stage{cursor:crosshair;outline:none}.keyboard-controls{pointer-events:none;width:min(600px,calc(100vw - 32px))}.keyboard-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;background:#fff9e8ee;border:1px solid #52644850;border-radius:6px;padding:10px 12px}.keyboard-legend span{font-size:12px;white-space:nowrap}.keyboard-controls kbd{display:inline-block;color:#fff9e8;background:#294238;border-color:#294238;font-size:11px;padding:4px 7px;min-width:24px;text-align:center}.keyboard-controls .attack-readout{font-size:11px;margin:7px 0;color:#294238}.attack-readout strong{background:#fff4d7;padding:2px 7px;border-radius:3px}.keyboard-secondary{font-size:10px;margin:7px 0}.keyboard-secondary kbd{font-size:9px;padding:2px 5px;min-width:18px}.keyboard-controls #prankStatus{line-height:1.5}#aimMarker{position:fixed;z-index:4;width:17px;height:17px;border:2px solid #e18a2f;border-radius:50%;box-shadow:0 0 0 1px #fff9e8;transform:translate(-50%,-50%);pointer-events:none}#aimMarker::after{content:'';position:absolute;width:3px;height:3px;background:#fff9e8;left:5px;top:5px;border-radius:50%}body.prank-active .keyboard-legend,body.prank-active .attack-readout,body.finish-active .keyboard-legend,body.finish-active .attack-readout{display:none}@media(max-width:760px){.keyboard-legend{padding:8px 6px;gap:6px}.keyboard-legend span{font-size:10px}.keyboard-controls kbd{font-size:10px;padding:3px 5px;min-width:21px}.keyboard-secondary{font-size:9px}}@media(max-height:680px){.keyboard-controls .keyboard-legend{padding:6px}.keyboard-controls .attack-readout{margin:5px 0}.keyboard-controls #prankStatus{display:inline-block}}

/* The match reads as a stamped leave request, while the actual office stays the hero. */
.duel-hud{position:fixed;z-index:3;top:75px;left:50%;transform:translateX(-50%);width:min(650px,calc(100vw - 32px));display:grid;grid-template-columns:1.4fr .8fr 1fr;background:#fff9e8f2;border:2px solid #294238;border-radius:5px;box-shadow:3px 4px 0 #29423825;pointer-events:none}.duel-hud[hidden],.boss-cue[hidden]{display:none}.duel-hud>div{padding:9px 15px}.duel-hud>div+div{border-left:1px dashed #748570}.duel-hud span{display:block;font-size:10px}.duel-hud strong{display:block;font-size:27px;line-height:1.2}.duel-goal b{font-weight:500;background:#e4e9dc;padding:1px 5px;margin-left:5px}.duel-hud small{font-size:9px}.duel-will strong{font-size:22px;letter-spacing:4px;color:#a13e2d}.duel-hud progress{height:5px;width:100%;display:block;margin-top:5px;accent-color:#294238}.duel-hud.urgent{border-color:#a13e2d}.duel-hud.urgent .duel-clock strong{color:#a13e2d}.boss-cue{position:fixed;z-index:3;top:163px;left:50%;transform:translateX(-50%);width:min(490px,calc(100vw - 32px));background:#fff9e8ed;text-align:center;font-size:12px;padding:7px 12px;border-left:4px solid #748570;pointer-events:none}.boss-cue progress{width:100%;height:4px;margin-top:5px;display:block;accent-color:#a13e2d}.boss-cue.warning{background:#ffe6ad;border-color:#a13e2d;font-weight:900}.boss-cue.unblockable{background:#9a432d;color:#fff9e8}.boss-cue.unblockable progress{accent-color:#fff0b6}.defense-readout,.defense-legend{display:none}.duel .defense-readout{display:block;font-size:11px;background:#fff9e8ed;width:fit-content;margin:5px auto;padding:4px 9px}.duel .defense-legend{display:flex;justify-content:center;gap:10px;font-size:10px;margin:5px auto}.duel .play-status{display:none}.duel .character-badge{top:210px}.duel .character-badge #actorAction{max-width:310px}.duel .intro{top:auto;bottom:210px;left:22px}.duel .intro .clock,.duel .intro h1,.duel .intro .premise{display:none}.duel .intro .quote{font-size:11px;max-width:235px;padding:8px 11px}.duel .attack-readout{display:none}#difficultySelection{font:inherit;font-size:13px;width:100%;padding:10px;border:1px solid #748570;border-radius:5px;margin-top:7px;background:#fffdf4;color:#23372f}#difficultySelection:focus-visible{outline:3px solid #e5ab42}#resultDialog[data-outcome=loss]{border:3px solid #a13e2d}#resultDialog[data-outcome=loss] .result-small,#resultDialog[data-outcome=loss] h2{color:#a13e2d}#resultDialog[data-outcome=win]{border:3px solid #294238}body.defeat-active .keyboard-legend,body.defeat-active .defense-legend,body.defeat-active .defense-readout,body.defeat-active #instruction,body.defeat-active .attack-readout,body.defeat-active .intro,body.defeat-active .play-status{display:none}body.finish-active .duel-hud,body.finish-active .boss-cue,body.finish-active .defense-legend,body.finish-active .defense-readout,body.defeat-active .duel-hud,body.defeat-active .boss-cue{display:none}body.defeat-active .character-badge{top:80px}body.defeat-active #actorAction{background:#9a432d;color:#fff9e8}.duel .feedback{font-size:clamp(17px,2.5vw,26px);top:29%;max-width:90vw}.duel .keyboard-controls .small-print{display:none}
@media(max-width:760px){.duel-hud{top:62px;width:calc(100vw - 24px);grid-template-columns:1.25fr .8fr 1fr}.duel-hud>div{padding:7px 9px}.duel-hud strong{font-size:23px}.duel-hud span{font-size:9px}.duel-will strong{font-size:18px;letter-spacing:2px}.duel-hud small{font-size:8px}.boss-cue{top:140px;font-size:10px;width:calc(100vw - 24px);padding:6px 8px}.duel .character-badge{top:190px;right:12px}.duel .character-badge #actorAction{max-width:155px;font-size:8px}.duel .intro{bottom:205px;left:14px}.duel .intro .quote{max-width:210px;font-size:10px;padding:6px 9px}.duel .controls #instruction{font-size:10px;margin-bottom:6px}.duel .defense-legend{gap:8px;font-size:9px}.duel .keyboard-secondary{font-size:8px}.duel .keyboard-controls{bottom:max(10px,env(safe-area-inset-bottom))}.duel .keyboard-legend{padding:6px;gap:5px}.duel .feedback{top:24%;font-size:18px}body.defeat-active .character-badge{top:65px}body.defeat-active .controls{bottom:12px}}
@media(max-height:680px){.duel .intro{display:none}.duel .character-badge #actorAction{display:none}.duel .defense-readout{margin:2px auto}.duel .keyboard-controls #prankStatus{font-size:9px;margin:3px}.duel .keyboard-secondary{margin:3px}.duel .boss-cue{top:133px}.duel .duel-hud{top:57px}}
.duel .character-badge{left:36px;right:auto;top:215px;transform:none;align-items:flex-start}.duel .defense-legend{width:fit-content;background:#fff9e8ed;padding:5px 10px;border-radius:4px;color:#23372f}.duel .character-badge #characterTitle{display:none}
@media(max-width:760px){.duel .character-badge{top:187px;left:12px;right:auto}.duel .character-badge #actorAction{display:none}.duel .character-badge #characterName{font-size:10px;padding:2px 7px}body.defeat-active .character-badge{top:65px}.duel .defense-legend{padding:4px 7px}}
/* First-person return: keep the opponent and hands clear of dense HUD rows. */
.duel .duel-hud{top:69px;width:min(610px,calc(100vw - 32px));border-width:1px;box-shadow:0 3px 0 #29423820}.duel .duel-hud>div{padding:7px 13px}.duel .duel-hud strong{font-size:23px}.duel .duel-will strong{font-size:19px}.duel .boss-cue{top:143px;font-size:11px;padding:5px 10px}.duel .controls{width:min(760px,calc(100vw - 30px));bottom:16px}.duel .keyboard-legend{max-width:600px;margin:auto}.duel .defense-readout{display:none}.duel .defense-legend{margin:9px auto 7px}.duel .keyboard-secondary{margin:5px auto 0;font-size:9px}.duel:not(.finish-active):not(.defeat-active):not(.prank-active) #prankStatus{display:none}.duel #instruction{font-size:10px;padding:5px 9px;margin-bottom:8px}.duel .intro{bottom:154px}.duel .intro .quote{max-width:210px;font-size:10px}.duel .character-badge{top:195px}.duel .character-badge #actorAction{max-width:220px;font-size:9px}
@media(max-width:760px){.duel .duel-hud{top:58px;width:calc(100vw - 24px)}.duel .duel-hud>div{padding:6px 8px}.duel .duel-hud strong{font-size:20px}.duel .duel-will strong{font-size:16px}.duel .boss-cue{top:127px}.duel .controls{bottom:10px}.duel .intro{display:none}.duel .character-badge{top:176px}.duel .character-badge #actorAction{max-width:150px;font-size:8px}.duel .defense-legend{margin:7px auto}.duel #instruction{font-size:9px}.duel .keyboard-secondary{font-size:8px}}

/* Six chances stay readable without widening the compact first-person HUD. */
.duel .duel-will strong{font-size:16px;letter-spacing:1px;white-space:nowrap}
@media(max-width:760px){.duel .duel-will strong{font-size:12px;letter-spacing:0}}

/* Native language picker: combat keys and numeric readouts retain their direction. */
.language-picker{display:flex;align-items:center;gap:5px;color:#294238;font-size:10px;font-weight:700}.language-picker>span{white-space:nowrap}.language-picker select{font:inherit;max-width:133px;border:1px solid #74857070;border-radius:5px;padding:9px 5px;background:#fff9e8;color:#294238;cursor:pointer}.language-picker select:focus-visible{outline:3px solid #e5ab42}.utilities{align-items:center;flex-wrap:wrap;justify-content:flex-end}.stage-challenge{display:block;margin:5px auto 0;font-size:10px;line-height:1.4;color:#294238;background:#fff9e8e8;border-inline-start:3px solid var(--stage-accent,#294238);width:fit-content;max-width:100%;padding:4px 8px}.stage-challenge[hidden]{display:none}.stage-challenge.complete{background:#dcebd8;font-weight:800}.duel .duel-hud{border-color:var(--stage-accent,#294238)}.duel-hud progress{accent-color:var(--stage-accent,#294238)}html[dir=rtl] .keyboard-legend,html[dir=rtl] .defense-legend,html[dir=rtl] .keyboard-secondary,html[dir=rtl] .duel-clock strong,html[dir=rtl] .duel-goal strong,html[dir=rtl] .duel-will strong{direction:ltr;unicode-bidi:isolate}html[dir=rtl] dialog{text-align:right}html[dir=rtl] .intro{text-align:right}.language-picker select{direction:ltr}.utilities button{white-space:normal;max-width:145px}.duel .boss-cue{line-height:1.4}.duel .duel-hud{grid-template-columns:minmax(0,1.4fr) minmax(68px,.8fr) minmax(95px,1fr)}.duel-hud span{overflow-wrap:anywhere}.keyboard-legend span{white-space:normal}.controls #instruction{overflow-wrap:anywhere}
@media(max-width:760px){header{align-items:flex-start}.utilities{max-width:245px;gap:4px}.language-picker{font-size:9px}.language-picker>span{display:none}.language-picker select{padding:7px 3px;width:102px}.utilities button{font-size:9px;padding:7px 5px;max-width:73px}.company span{max-width:110px}.duel .duel-hud{top:90px}.duel .boss-cue{top:161px}.duel .character-badge{top:207px}.stage-challenge{font-size:9px;max-width:calc(100vw - 35px);margin-top:4px}.keyboard-legend span{font-size:9px}.duel .controls{bottom:max(8px,env(safe-area-inset-bottom))}body.finish-active .stage-challenge,body.defeat-active .stage-challenge{display:none}}
@media(max-height:680px){.stage-challenge{display:none}.duel .duel-hud{top:72px}.duel .boss-cue{top:144px}.language-picker select{padding:6px 3px}}

dialog .dialog-language{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;font-size:11px!important}dialog .dialog-language select{font:inherit;border:1px solid #748570;border-radius:5px;padding:7px;background:#fffdf4;color:#23372f;min-width:125px;direction:ltr}dialog .dialog-language select:focus-visible{outline:3px solid #e5ab42}

body.duel:not(.finish-active):not(.defeat-active) .boss-cue{top:var(--boss-cue-y,143px)}body.duel:not(.finish-active):not(.defeat-active) .character-badge{top:var(--actor-y,195px)}.play-status strong span{margin-inline-start:3px}input[dir=auto]{unicode-bidi:plaintext}

body.duel:not(.finish-active):not(.defeat-active) .duel-hud{top:var(--hud-y,69px)}body:not(.duel):not(.finish-active):not(.defeat-active) .intro{top:var(--intro-y,140px)}

.duel .duel-will strong{letter-spacing:0;direction:ltr;unicode-bidi:isolate}.duel #healthMeter{accent-color:#4a7751}

.menu-actions{display:flex;gap:10px;margin:16px 0}.menu-actions button{flex:1;margin:0!important}.menu-customize{border-top:1px dashed #748570;padding-top:14px;margin-top:18px}.menu-customize summary{cursor:pointer;font-size:13px;padding:6px 0}.menu-customize h3{font-size:18px}#characters kbd{font-size:9px;margin-inline-start:4px}

.character-badge #characterName{font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-size:30px!important;font-weight:900;line-height:1.2;max-width:330px;padding:9px 14px!important;white-space:normal;overflow-wrap:anywhere;background:#fff8df;color:#23372f;border:2px solid #294238;border-bottom:5px solid #e96847;box-shadow:3px 3px 0 #29423830}.character-badge[data-custom-name=true] #characterName{background:#ffe6a2}.character-badge[data-custom-name=true] #characterTitle{display:none}#nickname{font-size:20px;font-weight:700;border:2px solid #748570}#characterDialog label[for=nickname]{margin-top:8px}@media(max-width:760px){.character-badge #characterName{font-size:22px!important;max-width:min(300px,calc(100vw - 24px));padding:6px 10px!important;border-bottom-width:4px}}
