/* 이세계출근 픽셀 UI 톤앤매너 (2026-10-15)
   벤치마킹: 스타듀밸리·언더테일·Dead Cells·Brawlhalla UI → 두꺼운 잉크 외곽선 + 계단 모서리 + 단색 패널 + 하드 그림자 + 픽셀 한글 폰트.
   원칙: ① 글자는 항상 흰색/금색 + 잉크 외곽선(그림 위에서도 읽힘) ② 둥근 모서리·부드러운 그라데이션 금지 ③ 팔레트는 6색(잉크·보라·금·분홍·하늘·민트). */
@font-face{font-family:Galmuri11;font-weight:700;src:url(assets/Galmuri11-Bold.woff2) format('woff2');font-display:swap}
@font-face{font-family:Galmuri11;font-weight:400;src:url(assets/Galmuri11-Bold.woff2) format('woff2');font-display:swap}
:root{--ink:#120c26;--p1:#1d1540;--p2:#2e2166;--p3:#43308f;--gold:#ffd84a;--pink:#ff5fa8;--cyan:#52e6ff;--mint:#7dffd2;--txt:#fff;--sub:#d9ccff;
 --otl:-2px 0 0 var(--ink),2px 0 0 var(--ink),0 -2px 0 var(--ink),0 2px 0 var(--ink),-2px -2px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink);
 --step:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink);--drop:6px 8px 0 0 #0009}
html body,html body button,html body input,html body select,html body textarea{font-family:Galmuri11,'Malgun Gothic',sans-serif!important;font-weight:700}
html body{-webkit-font-smoothing:none;font-smooth:never}

/* ---- 글자: 외곽선 + 밝은 색 ---- */
.title-copy h1,.title-copy h2,.title-copy .overline,.synopsis,.kicker span,.title-footer,.title-footer *,
.menu-btn span,.menu-btn b,.menu-btn i,.difficulty-panel span,.difficulty-panel small,
.screen-head h2,.screen-head span,.roster-card b,.roster-card span,.fighter-card *,.route-copy *,.route-node b,.route-node span,
.dialogue-box *,.result-screen h2,.result-screen>p,.result-screen>span,.result-stats *,.chapter-badge *,.versus,
.online-panel *,.pause-screen *,.guide-grid *,.menu-tools small,#shareStatus,.dlg-char b{text-shadow:var(--otl)!important;letter-spacing:0!important}
.title-copy h1,.title-copy h1 small{font-family:Galmuri11,sans-serif!important}
.title-copy h1{color:var(--gold)!important;font-weight:700!important;font-size:clamp(40px,7.2vw,92px)!important;text-shadow:-4px 0 0 var(--ink),4px 0 0 var(--ink),0 -4px 0 var(--ink),0 4px 0 var(--ink),-4px -4px 0 var(--ink),4px 4px 0 var(--ink),-4px 4px 0 var(--ink),4px -4px 0 var(--ink),0 10px 0 #a5367a,4px 10px 0 var(--ink),-4px 10px 0 var(--ink)!important}
.title-copy h1 small{color:var(--cyan)!important;font-size:clamp(12px,1.6vw,20px)!important;text-shadow:var(--otl)!important}
.title-copy h2{font-family:Galmuri11,sans-serif!important;color:#fff!important;font-weight:700!important}.title-copy h2 em{color:var(--pink)!important;font-style:normal}
.title-copy .overline{color:var(--mint)!important}
.synopsis{color:#fff!important;background:#120c26cc;padding:8px 12px;box-shadow:var(--step);display:inline-block;line-height:1.6}
.kicker span{background:var(--p2)!important;border:0!important;box-shadow:var(--step);color:var(--gold)!important}
.title-footer{color:#fff!important}.title-footer a{color:var(--cyan)!important}


/* ---- 패널: 계단 모서리 + 안쪽 금테 + 하드 그림자 ---- */
.menu-btn,.menu-btn.hot,.difficulty-panel,.route-copy,.dialogue-box,.result-stats,.fighter-card,.online-panel,.pause-screen>div,.guide-grid article,.guide-grid article.super,.arcade-guide,#ctlPanel .ctl-in,.menu-tools button,.share-actions button,.back-btn,.round-tool,.confirm-btn,.rk-modal,.rk-panel{
 border:0!important;border-radius:0!important;clip-path:none!important;background:var(--p1)!important;
 box-shadow:var(--step),inset 0 0 0 3px #ffd84acc,inset 0 7px 0 0 #ffffff14,inset 0 -7px 0 0 #00000040,var(--drop)!important}
.menu-btn{padding:14px 18px!important;background:var(--p2)!important}
.menu-btn.hot{background:linear-gradient(0deg,#7a2f78 0 50%,#a5367a 50%)!important;box-shadow:var(--step),inset 0 0 0 3px var(--gold),inset 0 7px 0 0 #ffffff26,inset 0 -7px 0 0 #00000040,var(--drop)!important}
.menu-btn:hover,.menu-btn:focus-visible{transform:translate(0,-3px);filter:brightness(1.15)}.menu-btn:active{transform:translate(0,3px)}
.menu-btn>span{color:var(--cyan)!important;font-size:13px!important}.menu-btn b{color:#fff!important;font-size:21px!important}.menu-btn i{color:var(--sub)!important;font-style:normal!important;font-size:13px!important}
.rk-menu{background:linear-gradient(0deg,#1d5a8a 0 50%,#2478b5 50%)!important}
.difficulty-panel>span{color:var(--gold)!important}#difficultyChoices button{background:var(--p3)!important;border:0!important;border-radius:0!important;box-shadow:var(--step);color:#fff!important;text-shadow:var(--otl);margin:0 4px}
#difficultyChoices button[aria-pressed=true]{background:var(--gold)!important;color:var(--ink)!important;text-shadow:none!important}
.confirm-btn{background:linear-gradient(0deg,#e0a21c 0 50%,var(--gold) 50%)!important;color:var(--ink)!important;text-shadow:none!important;font-size:22px!important}
.confirm-btn:hover{filter:brightness(1.1)}.confirm-btn:active{transform:translateY(3px)}
.confirm-btn span{text-shadow:none!important}
.text-btn,#resultMenu,#resultRetry{background:var(--p2)!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:var(--step),var(--drop)!important;text-shadow:var(--otl)}
.back-btn{background:var(--p3)!important;color:#fff!important}
.share-actions button{background:var(--p2)!important;color:#fff!important}#shareLink,#onlineKakao{background:#fee500!important;color:#191919!important;text-shadow:none!important}
.menu-tools button{background:var(--p2)!important;color:#fff!important}.menu-tools small{color:#fff!important}

/* ---- 화면 머리글 · 배경 ---- */
.screen-head{background:var(--p1)!important;border:0!important;box-shadow:0 5px 0 0 var(--ink),0 8px 0 0 var(--gold)!important}
.screen-head h2{font-family:Galmuri11,sans-serif!important;color:#fff!important;font-size:28px!important;font-weight:700!important}.screen-head span{color:var(--gold)!important}
.select-screen,.route-screen,.dialogue-screen,.result-screen,.guide-screen,.online-screen{background:linear-gradient(#0000 0 0),repeating-conic-gradient(#1a1240 0 25%,#1d1546 0 50%) 0 0/16px 16px!important;background-color:#1a1240!important}
.result-screen,.route-screen{background:radial-gradient(ellipse at 50% 30%,#43308f 0,#1d1540 55%,#120c26 100%)!important}

/* ---- 캐릭터 선택 ---- */
.roster-card{background:var(--p1)!important;border:0!important;border-radius:0!important;box-shadow:var(--step),inset 0 0 0 2px #6a58c8;overflow:hidden}
.roster-card.on{box-shadow:var(--step),inset 0 0 0 3px var(--gold),0 0 0 7px var(--gold)!important;transform:translateY(-3px);z-index:2}
.roster-card img{image-rendering:pixelated}
.roster-card b{background:#120c26e8!important;color:#fff!important;font-size:12px!important;padding:3px 4px!important}
.roster-card span{background:var(--ink)!important;color:var(--gold)!important;padding:0 4px!important}
.roster-card.on::before{background:var(--pink)!important;color:#fff!important;text-shadow:var(--otl)}
.fighter-card{background:#120c26ee!important}.fighter-card *{color:#fff}
.fighter-card h3,.fighter-meta h3{font-size:30px!important;color:var(--gold)!important}
#fighterQuote,.fighter-meta p{color:#fff!important;background:#120c26e0;padding:6px 8px;line-height:1.5;box-shadow:var(--step)}
.fighter-num{opacity:.18!important}
.stat i,.stat div,.stat b{border-radius:0!important}
.signature,#fighterMission,.fighter-moves{background:#120c26e0!important;border:0!important;box-shadow:var(--step)!important;color:#fff!important}
.fighter-moves b,.signature b{color:var(--gold)!important}.signature small,#fighterClass{color:var(--cyan)!important}

/* ---- 스토리 지도 · 대화 · 결과 ---- */
.route-node{border:0!important;border-radius:0!important;background:var(--p2)!important;box-shadow:var(--step),inset 0 0 0 2px #6a58c8!important;color:#fff!important}
.route-node.on{background:var(--gold)!important;box-shadow:var(--step),0 0 0 7px var(--pink)!important}.route-node.on b,.route-node.on span{color:var(--ink)!important;text-shadow:none!important}
.route-copy{background:#120c26f0!important}.route-copy h3{color:var(--gold)!important}.route-copy p{color:#fff!important;line-height:1.6}.route-copy>span{color:var(--cyan)!important}
.dialogue-box{background:#120c26f2!important}.dialogue-box span{color:var(--gold)!important}.dialogue-box p{color:#fff!important;line-height:1.7;font-size:1.05em}
#dialogueNext,.dlg-skip{background:var(--gold)!important;color:var(--ink)!important;border:0!important;border-radius:0!important;box-shadow:var(--step);text-shadow:none!important}
.result-seal{border:0!important;box-shadow:var(--step),inset 0 0 0 3px var(--gold)!important;background:var(--p2)!important;color:var(--gold)!important;font-family:Galmuri11,sans-serif!important;border-radius:0!important}
.result-screen h2{color:#fff!important;font-family:Galmuri11,sans-serif!important}.result-screen>p{color:var(--sub)!important}
.result-stats div{background:var(--p2)!important}.result-stats small{color:var(--cyan)!important}.result-stats b{color:#fff!important;font-family:Galmuri11,sans-serif!important}
#gradeVal{color:#ff5a6e!important;font-size:1.3em}
.pause-screen>div{background:#120c26f2!important}.pause-screen h2{color:var(--gold)!important}
.guide-grid article{background:var(--p1)!important}.guide-grid h3{color:var(--gold)!important}.guide-grid small,.guide-grid p{color:#fff!important}
.online-panel p,.online-panel label{color:#fff!important}.online-panel input,.online-panel select{background:var(--ink)!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:var(--step),inset 0 0 0 2px var(--gold)}
#difficultyHint{color:#fff!important}

/* ---- 게임 바깥 틀 ---- */
#game-shell{box-shadow:0 0 0 4px var(--ink),0 0 0 8px var(--gold),0 0 0 12px var(--ink),0 30px 90px #000!important}
#game-shell::after{display:none!important}
#app{background:repeating-conic-gradient(#120c26 0 25%,#170f31 0 50%) 0 0/24px 24px!important}
#cornerBrand,.title-footer b{font-family:Galmuri11,sans-serif!important}

/* ---- 전투 화면 위 버튼(모바일 포함): 단색 + 잉크 테두리 + 계단 모서리 ---- */
#mobile .tb,.round-tool,#pauseBtn,#soundBtn{border-radius:0!important;border:4px solid var(--ink)!important;box-shadow:inset 0 0 0 3px var(--gold),inset 0 6px 0 0 #ffffff30,inset 0 -6px 0 0 #00000050,4px 6px 0 0 #0009!important;}
#mobile .tb b,#mobile .tb small,#mobile .tb em{font-family:Galmuri11,sans-serif!important;font-style:normal;text-shadow:var(--otl);color:#fff;font-weight:700}
#mobile .tb small{opacity:1!important}
#mobile .tb.main{background:linear-gradient(0deg,#1f4fc4 0 50%,#3f7cf0 50%)!important}
#mobile .tb.heavy{background:linear-gradient(0deg,#b52a3a 0 50%,#e84a5a 50%)!important}
#mobile .tb.jump{background:linear-gradient(0deg,#3a3a7a 0 50%,#55559e 50%)!important}
#mobile .tb.dash{background:linear-gradient(0deg,#33305e 0 50%,#4a4780 50%)!important}
#mobile .tb.skill{background:linear-gradient(0deg,#0f7a78 0 50%,#1fb4ae 50%)!important}
#mobile .tb.tag,#mobile .tb.down{background:linear-gradient(0deg,#7a2f78 0 50%,#a5367a 50%)!important}
.stick-base{border-radius:0!important;border:4px solid var(--ink)!important;box-shadow:inset 0 0 0 3px #ffd84a99!important;background:#120c2688!important}
.stick-knob{border-radius:0!important;background:var(--gold)!important;border:4px solid var(--ink)!important}

/* ---- 새로 만든 랭킹/엔딩 UI ---- */
#rkLayer{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;font-family:Galmuri11,sans-serif;color:#fff}
#rkLayer[hidden]{display:none}
#rkLayer.rk-dim{background:#0a0618d9}
.rk-eyebrow{color:var(--cyan);font-size:13px;text-shadow:var(--otl)}
.rk-panel,.rk-modal{background:var(--p1)!important;width:min(720px,94vw);max-height:92vh;display:flex;flex-direction:column;padding:16px 20px}
.rk-modal{width:min(440px,92vw);gap:10px}.rk-modal h2,.rk-panel h2{margin:2px 0;font-size:26px;color:var(--gold);text-shadow:var(--otl)}.rk-modal p{font-size:14px;line-height:1.6;margin:0;color:var(--sub)}
.rk-modal label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--cyan);text-shadow:var(--otl)}
.rk-modal input{background:var(--ink);color:#fff;border:0;padding:10px;font-size:16px;box-shadow:var(--step),inset 0 0 0 2px var(--gold)}
.rk-panel header{display:flex;justify-content:space-between;align-items:center}
.rk-x{background:var(--p3);color:#fff;border:0;width:40px;height:40px;font-size:18px;box-shadow:var(--step);cursor:pointer}
.rk-tabs{display:flex;gap:8px;margin:10px 0}.rk-tabs button{flex:1;background:var(--p2);color:#fff;border:0;padding:9px 4px;font-size:14px;box-shadow:var(--step);cursor:pointer;text-shadow:var(--otl)}
.rk-tabs button.on{background:var(--gold);color:var(--ink);text-shadow:none}
.rk-body{overflow-y:auto;flex:1;min-height:120px;max-height:46vh;display:flex;flex-direction:column;gap:6px;padding:6px 4px}
.rk-load{text-align:center;color:var(--sub);padding:28px 8px;font-size:14px;line-height:1.6}
.rk-r{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;background:var(--p2);padding:8px 10px;box-shadow:var(--step)}
.rk-r.me{background:#7a2f78;box-shadow:var(--step),inset 0 0 0 3px var(--gold)}
.rk-r .n{font-size:18px;text-align:center;color:var(--gold);text-shadow:var(--otl)}.rk-r .nm{font-size:16px;text-shadow:var(--otl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-r small{display:block;font-size:11px;color:var(--sub);text-shadow:none}.rk-r em{font-style:normal;font-size:18px;color:var(--mint);text-shadow:var(--otl)}
.rk-mine{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:8px;background:var(--ink);padding:8px 12px;box-shadow:inset 0 0 0 2px var(--gold)}.rk-mine span{color:var(--cyan);font-size:13px}.rk-mine b{font-size:26px;color:var(--gold);text-shadow:var(--otl)}.rk-mine small{font-size:12px;color:var(--sub)}
.rk-recruit{position:relative;margin:8px 0;background:var(--p2);padding:8px 12px 14px;font-size:14px;box-shadow:var(--step);text-align:left}.rk-recruit em{font-style:normal;color:var(--gold)}.rk-recruit small{display:block;color:var(--sub);font-size:12px;margin-top:3px}
.rk-recruit i{position:absolute;left:8px;right:8px;bottom:5px;height:6px;background:var(--ink)}.rk-recruit i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--p);background:var(--mint)}
.rk-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.rk-row .rk-btn{flex:1;min-width:104px}
.rk-btn{background:var(--p3);color:#fff;border:0;padding:12px 10px;font-size:15px;cursor:pointer;box-shadow:var(--step),inset 0 0 0 2px #ffffff30,var(--drop);text-shadow:var(--otl)}
.rk-btn.gold{background:linear-gradient(0deg,#e0a21c 0 50%,var(--gold) 50%);color:var(--ink);text-shadow:none}.rk-btn.kakao{background:#fee500;color:#191919;text-shadow:none}.rk-btn:active{transform:translateY(3px)}
.rk-toast{position:fixed;left:50%;bottom:8%;transform:translateX(-50%);z-index:9500;background:var(--ink);color:#fff;padding:10px 16px;box-shadow:var(--step),inset 0 0 0 2px var(--gold);font-family:Galmuri11,sans-serif;font-size:14px}
.rk-chip{display:inline-block;margin-top:12px;background:#7a2f78;padding:10px 14px;box-shadow:var(--step),inset 0 0 0 3px var(--gold);font-size:15px;line-height:1.5;text-shadow:var(--otl);animation:rkPulse 1.2s steps(2) infinite}.rk-chip em{font-style:normal;color:var(--gold)}.rk-chip small{display:block;font-size:11px;color:var(--sub)}
@keyframes rkPulse{50%{transform:translateY(-3px)}}
.rk-result{width:min(460px,92%);margin:8px auto;text-align:center;font-family:Galmuri11,sans-serif}
.rk-pt small{display:block;color:var(--cyan);font-size:12px;text-shadow:var(--otl)}.rk-pt b{font-size:34px;color:var(--gold);text-shadow:var(--otl)}
.rk-line{font-size:15px;margin:4px 0;text-shadow:var(--otl);line-height:1.5}.rk-line b{color:var(--gold);font-size:1.3em}.rk-line small{color:var(--sub);text-shadow:var(--otl)}.rk-line.dim{color:var(--sub)}
.rk-beat{margin:6px 0;padding:8px;box-shadow:var(--step)}.rk-beat b{display:block;font-size:20px;text-shadow:var(--otl)}.rk-beat span{font-size:13px;text-shadow:var(--otl)}.rk-beat.win{background:#1f8f5a}.rk-beat.lose{background:#a5362e}
#rkLayer.rk-end{background:#000}
#rkEnd{width:min(100vw,calc(100vh*16/9));aspect-ratio:16/9;image-rendering:pixelated;display:block}
.rk-skip{position:absolute;right:14px;top:14px;background:var(--p2);color:#fff;border:0;padding:8px 12px;box-shadow:var(--step);font-size:13px;cursor:pointer;text-shadow:var(--otl);opacity:.85}
.rk-endbtns{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);width:min(92vw,720px);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;background:#120c26ee;padding:12px;box-shadow:var(--step),inset 0 0 0 3px var(--gold)}
.rk-endbtns[hidden]{display:none}.rk-goal{width:100%;text-align:center;font-size:16px;text-shadow:var(--otl)}.rk-goal small{display:block;font-size:12px;color:var(--sub);margin-top:3px}.rk-endbtns .rk-btn{flex:1;min-width:130px}
@media(max-height:520px){.rk-panel{padding:8px 12px}.rk-body{max-height:38vh}.rk-modal h2,.rk-panel h2{font-size:20px}.rk-btn{padding:8px;font-size:13px}.rk-r{padding:5px 8px}.rk-r .nm{font-size:14px}}
html body .menu-btn>span,html body .screen-head span,html body .kicker span,html body .result-screen>span,html body .chapter-badge small,html body .guide-screen *{font-family:Galmuri11,'Malgun Gothic',sans-serif!important}
html body .menu-btn.hot,html body.x .menu-btn[data-open=story],html .menu-btn[data-open=story]{background:linear-gradient(0deg,#7a2f78 0 50%,#a5367a 50%)!important}
html body .menu-btn.rk-menu{background:linear-gradient(0deg,#1d5a8a 0 50%,#2478b5 50%)!important}
.result-screen{overflow-y:auto}
.rk-result{display:block}
@media(max-height:520px){
 .rk-result{width:100%;margin:6px 0 0;text-align:left;grid-column:2}
 .rk-pt{display:flex;align-items:baseline;gap:10px}.rk-pt small{display:inline}.rk-pt b{font-size:26px}
 .rk-beat{padding:4px 8px}.rk-beat b{font-size:15px;display:inline;margin-right:8px}.rk-beat span{font-size:12px}
 .rk-line{font-size:13px}.rk-recruit{padding:5px 10px 12px;font-size:12px}.rk-recruit small{display:none}
 .rk-panel{display:grid!important;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto minmax(0,1fr);column-gap:14px;width:min(900px,97vw);max-height:97vh}
 .rk-panel header,.rk-tabs{grid-column:1/3}.rk-tabs{margin:2px 0 6px}
 .rk-body{grid-column:1;max-height:none!important;min-height:0}.rk-panel footer{grid-column:2;overflow-y:auto;min-height:0}
 .rk-recruit small{display:block}.rk-recruit{font-size:12px}
}
@media(max-height:520px){
 .rk-result{position:absolute!important;grid-column:auto!important;right:2.5%;bottom:3%;width:37%!important;margin:0!important}
 .rk-result .rk-recruit,.rk-result .rk-line br,.rk-result .rk-line br+small{display:none!important}
 .result-screen{overflow:hidden}
}
@media(max-height:520px){
 html body #resultNext,html body #resultRetry,html body #resultMenu{min-height:0!important;padding:7px 10px!important;font-size:15px!important;height:auto!important;margin:3px 0!important}
 html body .share-actions{flex-wrap:nowrap!important;gap:6px!important;margin-top:4px!important}
 html body .share-actions button{flex:1;min-width:0;padding:7px 3px!important;font-size:12px!important;height:auto!important;min-height:0!important}
 html body #shareStatus{font-size:11px!important}
 .rk-result{bottom:2%}
}
@media(max-height:520px){
 html body .share-actions button{min-height:34px!important;line-height:1.15!important;padding:6px 3px!important}
 html body .rk-result{right:auto!important;left:3%!important;bottom:1.5%!important;width:44%!important}
 .rk-pt b{font-size:20px!important}.rk-pt small{font-size:11px}.rk-line{font-size:12px!important;margin:2px 0!important}.rk-beat{margin:3px 0!important}
}
@media(max-height:520px){.rk-result:has(.rk-beat) .rk-pt{display:none}}
.rk-bonus{font-size:13px;color:var(--mint);text-shadow:var(--otl);margin:2px 0}.rk-bonus b{color:var(--gold)}
.rk-cards{width:min(820px,96vw);text-align:center;font-family:Galmuri11,sans-serif}
.rk-cards h2{font-size:28px;color:var(--gold);text-shadow:var(--otl);margin:4px 0}.rk-cards p{font-size:13px;color:var(--sub);margin:0 0 12px}
.rk-cardrow{display:flex;gap:12px;justify-content:center}
.rk-card{flex:1;max-width:250px;background:var(--p2);color:#fff;border:0;padding:14px 10px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:var(--step),inset 0 0 0 3px var(--gold),inset 0 8px 0 0 #ffffff1c,var(--drop);transition:transform .08s steps(2)}
.rk-card:hover,.rk-card:focus-visible{transform:translateY(-8px);background:#4a35a0}.rk-card:active{transform:translateY(2px)}
.rk-card .ic{font-size:44px;font-weight:400;filter:drop-shadow(3px 3px 0 #000)}.rk-card strong{font-size:18px;color:var(--gold);text-shadow:var(--otl)}.rk-card em{font-style:normal;font-size:13px;line-height:1.5;color:#fff;min-height:40px}.rk-card small{font-size:11px;color:var(--mint)}
.rk-owned{margin:12px auto 4px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:22px}.rk-owned span:first-child{font-size:12px;color:var(--cyan);margin-right:6px;text-shadow:var(--otl)}
@media(max-height:520px){.rk-cards h2{font-size:20px}.rk-cards p{display:none}.rk-card{padding:8px 6px}.rk-card .ic{font-size:30px}.rk-card strong{font-size:14px}.rk-card em{font-size:11px;min-height:0}.rk-owned{font-size:16px;margin:6px auto}}
html body .route-copy h3{font-size:26px!important;word-break:keep-all}
#mobile .tb.assist{background:linear-gradient(0deg,#a5367a 0 50%,#ff5fa8 50%)!important}
#mobile:not(.as-ready) .tb.assist{filter:grayscale(.7) brightness(.75)}
#mobile.as-ready .tb.assist{animation:ultReady 1s steps(2) infinite}
.rk-tt{font-style:normal;font-size:10px;background:var(--gold);color:var(--ink);padding:1px 4px;margin-left:6px;text-shadow:none;vertical-align:middle}

/* 성능: 전투 중 캔버스 위 버튼은 자기 층(합성 레이어)으로 분리, 큰 그림자·필터 최소화 */
#mobile .tb,.stick-base,.stick-knob{will-change:transform;contain:layout paint style}
#mobile .tb{box-shadow:inset 0 0 0 3px var(--gold),inset 0 6px 0 0 #ffffff30,inset 0 -6px 0 0 #00000050!important}
#game-shell canvas{will-change:contents}
/* ---- 데스크탑(마우스·키보드) 전용 다듬기 ---- */
html:not(.touch) .round-tool{top:15.5%!important;right:1.1%!important;width:clamp(34px,2.6vw,52px)!important;height:clamp(34px,2.6vw,52px)!important;font-size:clamp(16px,1.3vw,24px)!important;background:var(--p2)!important}
html:not(.touch) .round-tool.sound{right:calc(1.1% + clamp(44px,3.3vw,64px))!important}
html:not(.touch) .arcade-guide{clip-path:none!important;bottom:4.4%!important;width:min(96%,1300px)!important;background:#120c26f2!important;padding:.7vw 1vw!important}
html:not(.touch) .arcade-guide kbd{min-width:clamp(40px,2.8vw,60px)!important;height:clamp(30px,2.2vw,44px)!important;font-size:clamp(14px,1.15vw,22px)!important;border-radius:0!important;background:var(--p3)!important;font-family:Galmuri11,sans-serif!important}
html:not(.touch) .arcade-guide em{font-size:clamp(11px,.85vw,16px)!important;color:#fff!important;text-shadow:var(--otl)}
html:not(.touch) .arcade-guide *{font-family:Galmuri11,sans-serif}
html:not(.touch) .arcade-guide small,html:not(.touch) .arcade-guide b{font-size:clamp(11px,.85vw,15px)!important;color:#fff;text-shadow:var(--otl)}
/* 큰 모니터: 메뉴·글자를 화면 너비에 맞춰 키운다 */
@media (min-width:1500px) and (hover:hover){html:not(.touch) .menu-btn b{font-size:clamp(21px,1.5vw,32px)!important}html:not(.touch) .menu-btn i,html:not(.touch) .menu-btn>span{font-size:clamp(13px,.95vw,19px)!important}html:not(.touch) .synopsis{font-size:clamp(15px,1.1vw,22px)!important}}
/* ---- 작은 PC 창·확대 배율: .screen 전체를 --z 만큼 줄여 잘림 방지 ---- */
html.cz:not(.touch) .screen{transform:scale(var(--z));transform-origin:0 0;width:calc(100%/var(--z))!important;height:calc(100%/var(--z))!important;inset:0 auto auto 0!important}
/* ---- 폰 메뉴: STORY 핵심색 복구(터치 규칙에 덮여 갈색이 됐음) + 글자가 칸을 넘지 않게 ---- */
html.touch body .menu-btn.hot,html.touch body .menu-btn[data-open=story]{background:linear-gradient(0deg,#7a2f78 0 50%,#a5367a 50%)!important}
html.touch body .menu-btn.rk-menu{background:linear-gradient(0deg,#1d5a8a 0 50%,#2478b5 50%)!important}
html body .menu-btn b,html body .menu-btn i{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-height:520px){
 html body .menu-btn{padding:5px 9px!important}
 html body .menu-btn b{font-size:15px!important}html body .menu-btn[data-open=story] b{font-size:19px!important}
 html body .menu-btn i{font-size:10px!important}html body .menu-btn>span{font-size:9px!important}
}
