/* R32 메뉴 흐름 레이아웃(타이틀·세이브·직업·설정·로딩·조작 안내). 부품은 ui-r32.css 디자인 시스템. */
#front-menu[data-ui=r32]{font-family:var(--aw-serif)}
#front-menu[data-ui=r32] .t31-art{inset:-2.5%!important;background-position:50% 50%;animation:none}
#front-menu[data-ui=r32] .t31-art.plain{display:none}
.t32-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}.t32-video.on{opacity:1}
.r32-stage{position:fixed;inset:0;width:100vw!important;height:100vh!important;z-index:-6;display:block}
#front-menu[data-ui=r32] .t31-vignette{background:radial-gradient(ellipse 80% 75% at 50% 45%,transparent 45%,#000000b0 85%,#000 100%),linear-gradient(0deg,#000000d8 0,#00000070 20%,transparent 40%),linear-gradient(180deg,#000000a8 0,transparent 24%)!important}
/* 타이틀: 로고 화면 폭 56%, 불꽃 일렁임은 t31-ember+sweep, 메뉴는 로고 계열 금색 세리프 */
#front-menu[data-ui=r32]>.t31-logo{width:56vw!important;max-width:1180px;top:2.5vh!important;animation:t31-logo-in 1.6s ease-out both,r32-flame 2.6s ease-in-out 1.6s infinite!important}
#front-menu[data-ui=r32]>.t31-sweep{width:56vw!important;max-width:1180px;top:2.5vh!important}
@keyframes r32-flame{0%,100%{filter:drop-shadow(0 6px 18px #000) drop-shadow(0 0 22px #ff7a2a40) brightness(1)}23%{filter:drop-shadow(0 6px 18px #000) drop-shadow(0 -2px 34px #ff8a3a70) brightness(1.07)}41%{filter:drop-shadow(0 6px 18px #000) drop-shadow(0 0 26px #ff6a1a50) brightness(1.02)}67%{filter:drop-shadow(0 6px 18px #000) drop-shadow(0 -3px 40px #ffa04a80) brightness(1.1)}84%{filter:drop-shadow(0 6px 18px #000) drop-shadow(0 0 24px #ff7a2a48) brightness(1.03)}}
#front-menu[data-ui=r32] .front-panel.front-title{bottom:7vh}
#front-menu[data-ui=r32] .t31-menu button{font-family:var(--aw-serif)!important;font-weight:800!important;background-image:linear-gradient(180deg,#f6e3b0 0,#d9b46a 50%,#9c7037 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;text-shadow:none!important;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 10px #000)}
#front-menu[data-ui=r32] .t31-menu button:is(:hover,:focus-visible):not(:disabled){background-image:linear-gradient(180deg,#fffbe6 0,#ffd98a 50%,#e09a3e 100%)!important;filter:drop-shadow(0 0 6px #ffb44a) drop-shadow(0 0 18px #ff8a2a88) drop-shadow(0 2px 2px #000)}
#front-menu[data-ui=r32] .t31-menu button:active:not(:disabled){transform:translateY(1px) scale(.98)}
#front-menu[data-ui=r32] .t31-menu button:disabled{background-image:linear-gradient(#7a6d5c,#5a5044)!important;filter:drop-shadow(0 2px 2px #000);opacity:.75}
.r32-account{position:fixed;right:28px;bottom:42px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:2}
.r32-account:empty{display:none}
/* 공통: 패널 컨테이너는 화면 전체를 덮는 투명 층 */
#front-menu[data-ui=r32] .front-panel:is(.front-slots,.front-new){position:fixed;inset:0;width:auto;padding:0;margin:0;background:none!important;border:0!important;box-shadow:none!important;text-align:left}
#front-menu[data-ui=r32] .front-panel:is(.front-slots,.front-new) .front-error{position:fixed;left:50%;bottom:1.2vh;transform:translateX(-50%);margin:0;color:var(--aw-danger);font-size:13px}
#front-menu[data-ui=r32] .front-panel button.aw-btn{display:inline-flex;width:auto;margin:0;min-height:46px;padding:0 26px;background:none;box-shadow:none;border-color:transparent;font-family:var(--aw-serif)}
#front-menu[data-ui=r32] .front-panel button.aw-btn.aw-small{min-height:34px;padding:0 12px}
#front-menu[data-ui=r32] .front-panel button.aw-btn.secondary{color:#b9a888;font-size:14px}
.r32-play{min-width:230px;font-size:18px!important;letter-spacing:.3em!important}
/* 세이브(캐릭터 선택): 왼쪽 세로 슬롯 목록 */
.r32-slot-panel{position:fixed;left:3vw;top:8vh;width:min(410px,30vw);max-height:76vh;overflow:auto;padding:4px 6px 8px}
.r32-slot-list{display:grid;gap:8px}
#front-menu[data-ui=r32] .save-slot{background:none;border:0;display:block}
#front-menu[data-ui=r32] .save-slot .slot-select{display:grid;grid-template-columns:22px 62px 1fr;align-items:center;gap:12px;width:100%;min-height:92px;margin:0;padding:8px 10px;border:1px solid #3a2e20;background:linear-gradient(90deg,#120e0bcc,#0a0807aa);box-shadow:inset 0 0 0 1px #000;text-align:left;letter-spacing:0;cursor:pointer;transition:border-color .12s,background .12s}
#front-menu[data-ui=r32] .save-slot .slot-select:hover:not(:disabled){border-color:#8a6a3d;background:linear-gradient(90deg,#221a12dd,#0f0c09bb)}
#front-menu[data-ui=r32] .save-slot .slot-select[aria-current=true]{border-color:var(--aw-gold);background:linear-gradient(90deg,#3a2a14ee,#140f0bcc);box-shadow:inset 0 0 0 1px #000,0 0 14px #d9b46a44,inset 0 0 22px #d9b46a22}
#front-menu[data-ui=r32] .save-slot .slot-select:disabled{opacity:.5;cursor:default}
#front-menu[data-ui=r32] .slot-number{font:600 14px var(--aw-serif);color:var(--aw-gold-dim);writing-mode:vertical-rl}
.r32-portrait{display:grid;place-items:center;width:62px;height:78px;overflow:hidden}
.r32-portrait img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.95)}
.r32-portrait-empty{font:300 30px var(--aw-serif);color:#5d4d38}
#front-menu[data-ui=r32] .slot-info{display:grid;gap:3px;min-width:0}
#front-menu[data-ui=r32] .slot-info b{font:800 18px var(--aw-serif);color:var(--aw-gold-hi);letter-spacing:.04em;overflow-wrap:anywhere}
#front-menu[data-ui=r32] .empty .slot-info b{color:#a89676;font-weight:600}
#front-menu[data-ui=r32] .slot-info span{font:13px var(--aw-serif);color:var(--aw-text)}
#front-menu[data-ui=r32] .slot-info .r32-slot-class{color:#e6cf9a}
#front-menu[data-ui=r32] .slot-info small{font:12px var(--aw-serif);color:var(--aw-text-dim)}
.r32-slot-tools{display:flex;gap:10px;justify-content:space-between}
/* 아래 가운데: 이름·직업·버튼 */
.r32-foot{position:fixed;left:50%;bottom:4.5vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:min(560px,92vw)}
.r32-hero-name{font:800 clamp(30px,2.6vw,46px)/1.05 var(--aw-serif);letter-spacing:.14em;text-indent:.14em;color:transparent;background:linear-gradient(180deg,#fff4cf 0,#e7c37b 50%,#a37636 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 3px #000) drop-shadow(0 0 16px #000)}
.r32-hero-sub{font:600 15px var(--aw-serif);letter-spacing:.18em;color:#cdb98f;text-shadow:0 1px 2px #000,0 0 10px #000}
.r32-foot-buttons{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:10px;flex-wrap:wrap}
/* 직업 선택 */
.r32-top-ribbon{position:fixed;left:50%;top:3.5vh;transform:translateX(-50%);width:min(620px,80vw);font-size:24px!important}
.r32-class-pick{position:fixed;inset:auto 0 auto 0;top:62.5vh;display:block;pointer-events:none;margin:0}
#front-menu[data-ui=r32] .front-panel .r32-nameplate{position:absolute;transform:translateX(-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:170px;min-height:0;padding:7px 18px 8px;border:1px solid #3a2e20;background:linear-gradient(#120e0bd8,#080605d8);box-shadow:inset 0 0 0 1px #000;text-align:center;cursor:pointer;letter-spacing:.06em}
#front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=archer]{left:33%}
#front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=witch]{left:67%}
#front-menu[data-ui=r32] .front-panel .r32-nameplate b{font:800 20px var(--aw-serif);color:#cdb88e}
#front-menu[data-ui=r32] .front-panel .r32-nameplate small{font:12px var(--aw-serif);color:var(--aw-text-dim);white-space:nowrap}
#front-menu[data-ui=r32] .front-panel .r32-nameplate:hover{border-color:#8a6a3d}
#front-menu[data-ui=r32] .front-panel .r32-nameplate[aria-pressed=true]{border-color:var(--aw-gold);box-shadow:inset 0 0 0 1px #000,0 0 16px #d9b46a55}
#front-menu[data-ui=r32] .front-panel .r32-nameplate[aria-pressed=true] b{color:var(--aw-gold-hi)}
.r32-class-foot{bottom:2.2vh;width:min(600px,92vw);min-width:0;padding:2px 10px 4px;gap:4px}
.r32-class-foot .r32-hero-name{font-size:34px}
.r32-class-desc{margin:4px 0 2px;font:15px/1.6 var(--aw-serif);color:var(--aw-text);text-wrap:balance}
.r32-stats{display:grid;grid-template-columns:repeat(4,auto auto);gap:4px 10px;justify-content:center;align-items:center;margin:4px 0 0}
.r32-stats dt{font:600 13px var(--aw-serif);color:var(--aw-text-dim);letter-spacing:.08em}
.r32-stats dd{display:flex;gap:3px;margin:0 10px 0 0}
.r32-stats i{width:14px;height:7px;transform:skewX(-20deg);background:#2a2118;border:1px solid #4a3a26}.r32-stats i.on{background:linear-gradient(#ffe39a,#c08a3c);border-color:#f4d28c;box-shadow:0 0 6px #e7b25c88}
.r32-name-row{display:flex;align-items:center;gap:12px;justify-content:center;font:600 14px var(--aw-serif);color:var(--aw-text-dim);letter-spacing:.2em}
.r32-name-row .aw-input{width:260px;text-align:center;margin:0}
/* 가운데 상자형(설정·삭제·인트로·제작진) */
#front-menu[data-ui=r32] .front-panel.r32-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(640px,94vw);max-height:92vh;overflow:auto;padding:6px 22px 8px;text-align:center;box-shadow:0 30px 80px #000c;background:radial-gradient(ellipse 90% 80% at 50% 35%,#1a140e 0,#0c0a08 60%,#070605 100%) padding-box;border:30px solid transparent;border-image:var(--aw-panel) 108 / 46px / 4px stretch}
#front-menu[data-ui=r32] .front-panel.r32-modal h2.aw-ribbon{font:800 21px/1 var(--aw-serif);letter-spacing:.32em;color:transparent;margin:6px auto 18px}
#front-menu[data-ui=r32] .r32-modal .front-brand{display:none}
#front-menu[data-ui=r32] .r32-modal .r32-hero-name{display:block;margin:6px 0 4px;font-size:30px}
#front-menu[data-ui=r32] .r32-intro .intro-lines p{font:16px/2 var(--aw-serif);letter-spacing:.08em;color:var(--aw-text);margin:0}
#front-menu[data-ui=r32] .r32-settings .settings-grid{display:grid;grid-template-columns:1fr;gap:10px;text-align:left}
#front-menu[data-ui=r32] .r32-settings label{display:grid;grid-template-columns:1fr minmax(180px,1.1fr) 44px;align-items:center;gap:14px;font:600 14px var(--aw-serif);color:var(--aw-text);letter-spacing:.06em;padding:4px 6px;border-bottom:1px solid #2a2118}
#front-menu[data-ui=r32] .r32-settings select.aw-input{width:100%;margin:0;padding:6px 10px;min-height:36px;font:600 14px var(--aw-serif);color:var(--aw-gold-hi)}
#front-menu[data-ui=r32] .r32-settings input[type=range]{width:100%;accent-color:#d9b46a}
#front-menu[data-ui=r32] .r32-settings output{font:600 13px var(--aw-serif);color:var(--aw-gold);text-align:right}
#front-menu[data-ui=r32] .t31-credits p{font:15px/1.6 var(--aw-serif);color:var(--aw-text)}
#front-menu[data-ui=r32] .r32-modal .front-error{color:var(--aw-danger);font-size:12px;min-height:0;margin:6px 0 0}
/* 로딩 화면: 지역 일러스트 + 지역명 + 팁 + 금테 진행 바 */
#loading[data-r32]{background:#000 var(--r32-loading-art) center/cover no-repeat!important;display:block}
#loading[data-r32]::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000 0,#000000d0 16%,transparent 46%),linear-gradient(180deg,#000000b0 0,transparent 22%),radial-gradient(ellipse 80% 80% at 50% 45%,transparent 50%,#0009 100%);pointer-events:none}
#loading[data-r32]>span,#loading[data-r32]>h1{display:none}
#loading[data-r32] .r32-place{position:absolute;left:50%;top:5vh;transform:translateX(-50%);font:800 clamp(30px,3vw,52px) var(--aw-serif);letter-spacing:.3em;text-indent:.3em;color:transparent;background:linear-gradient(180deg,#fff4cf,#d9b46a 55%,#946a30);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 3px 4px #000) drop-shadow(0 0 18px #000);white-space:nowrap}
#loading[data-r32] #loading-text{position:absolute;left:50%;bottom:calc(6vh + 30px);transform:translateX(-50%);margin:0;font:13px var(--aw-serif);color:var(--aw-text-dim);letter-spacing:.1em;white-space:nowrap}
#loading[data-r32] progress{position:absolute;left:50%;bottom:6vh;transform:translateX(-50%);width:min(760px,70vw);height:14px;margin:0;appearance:none;-webkit-appearance:none;border:1px solid #8a6a3d;background:#0a0806;box-shadow:0 0 0 1px #000,0 0 0 3px #1c150d,0 0 0 4px #5a4126;border-radius:0}
#loading[data-r32] progress::-webkit-progress-bar{background:#0a0806}
#loading[data-r32] progress::-webkit-progress-value{background:linear-gradient(180deg,#ffe7a6,#c9913f 55%,#7a4f1c);box-shadow:0 0 10px #ffb44a88;transition:width .3s}
#loading[data-r32] output{position:absolute;left:calc(50% + min(380px,35vw) + 14px);bottom:calc(6vh - 3px);font:600 14px var(--aw-serif);color:var(--aw-gold)}
#loading[data-r32] .r32-tip{position:absolute;left:50%;bottom:calc(6vh + 62px);transform:translateX(-50%);width:min(900px,86vw);margin:0;text-align:center;font:16px/1.6 var(--aw-serif);color:#e2d2ae;text-shadow:0 2px 3px #000,0 0 14px #000;letter-spacing:.04em}
#loading[data-r32] .r32-tip.in{animation:r32-tip .5s ease-out}
@keyframes r32-tip{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
#loading[data-r32] #retry{position:absolute;left:50%;bottom:calc(6vh + 110px);transform:translateX(-50%)}
/* 첫 플레이 조작 안내 */
#r32-tutorial{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;background:radial-gradient(ellipse at center,#000000a0,#000000d8);animation:r32-fade .35s ease-out}
@keyframes r32-fade{from{opacity:0}}
.r32-tut-panel{width:min(600px,92vw);padding:4px 24px 10px;text-align:center}
.r32-tut-panel .aw-ribbon{font-size:22px;margin:4px auto 16px}
.r32-tut-keys{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 12px;text-align:left;align-items:baseline}
.r32-tut-keys dt{font:800 15px var(--aw-serif);color:var(--aw-gold-hi);text-align:right;white-space:nowrap}
.r32-tut-keys dd{margin:0;font:15px/1.5 var(--aw-serif);color:var(--aw-text)}
.r32-tut-dots{display:flex;justify-content:center;gap:8px;margin:8px 0}.r32-tut-dots i{width:9px;height:9px;transform:rotate(45deg);background:#3a2e20;border:1px solid #6f5634}.r32-tut-dots i.on{background:var(--aw-gold);box-shadow:0 0 8px #d9b46a}
/* 게임 안 공통 패널에 디자인 시스템 적용(키 안내·오류 창·스킬 트리) */
#key-guide{font-family:var(--aw-serif)!important;border:30px solid transparent!important;border-image:var(--aw-panel) 108 / 46px / 4px stretch!important;background:radial-gradient(ellipse 90% 80% at 50% 35%,#1a140ef2 0,#0c0a08f2 60%,#070605f5 100%) padding-box!important;box-shadow:0 30px 80px #000c!important}
#key-guide h2{font:800 18px var(--aw-serif)!important;letter-spacing:.3em;color:transparent!important;background:linear-gradient(180deg,#fff2c8,#e8c47c 45%,#a87a3a);-webkit-background-clip:text;background-clip:text;text-align:center}
#key-guide dt{color:var(--aw-gold-hi)!important;font-family:var(--aw-serif)}#key-guide dd{color:var(--aw-text)!important;font-family:var(--aw-serif)}
#recovery-dialog section{border:30px solid transparent!important;border-image:var(--aw-panel) 108 / 46px / 4px stretch!important;background:#0b0907 padding-box!important;font-family:var(--aw-serif)}
#recovery-dialog button{font-family:var(--aw-serif)!important;border:14px solid transparent!important;border-width:14px 22px!important;border-image:var(--aw-btn) 30 44 fill / 14px 22px stretch!important;background:none!important;color:#d9c49a!important}
#recovery-dialog button:hover{border-image-source:var(--aw-btn-hover)!important;color:var(--aw-gold-hi)!important}
.growth-panel{font-family:var(--aw-serif)!important;border:30px solid transparent!important;border-image:var(--aw-panel) 108 / 46px / 4px stretch!important;background:radial-gradient(ellipse 90% 80% at 50% 35%,#1a140ef4 0,#0c0a08f4 60%,#070605f6 100%) padding-box!important}
@media(max-width:899px){.r32-slot-panel{position:fixed;left:2vw;right:2vw;top:2vh;width:auto;max-height:46vh}.r32-foot{bottom:2vh}.r32-class-pick{top:56vh}#front-menu[data-ui=r32] .front-panel .r32-nameplate{min-width:120px;padding:4px 8px}.r32-stats{grid-template-columns:repeat(2,auto auto)}#front-menu[data-ui=r32]>.t31-logo,#front-menu[data-ui=r32]>.t31-sweep{width:88vw!important}}
@media(prefers-reduced-motion:reduce){#front-menu[data-ui=r32]>.t31-logo{animation:none!important}#loading[data-r32] .r32-tip.in{animation:none}}
/* R32 수정 1: 옛 .front-panel button 규칙(테두리·폭 100%)이 디자인 시스템을 덮던 문제 */
#front-menu[data-ui=r32] .front-panel button.aw-btn{border-style:solid!important;border-color:transparent!important;border-width:14px 22px!important;border-image:var(--aw-btn) 30 44 fill / 14px 22px stretch!important;background:none!important;box-shadow:none!important;width:auto!important;display:inline-flex!important;color:#d9c49a;text-shadow:0 1px 2px #000,0 0 8px #000}
#front-menu[data-ui=r32] .front-panel button.aw-btn:is(:hover,:focus-visible):not(:disabled){border-image-source:var(--aw-btn-hover)!important;color:var(--aw-gold-hi)}
#front-menu[data-ui=r32] .front-panel button.aw-btn:active:not(:disabled){border-image-source:var(--aw-btn-down)!important}
#front-menu[data-ui=r32] .front-panel button.aw-btn.aw-small{border-width:10px 16px!important;border-image-width:10px 16px!important}
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play{border-image-source:var(--aw-btn-sel)!important;color:#2b1906!important;text-shadow:0 1px 0 #f4dca0!important}
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play:is(:hover,:focus-visible):not(:disabled){filter:brightness(1.12) drop-shadow(0 0 10px #ffb44a88)}
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play:disabled{filter:grayscale(.9) brightness(.55)}
#front-menu[data-ui=r32] .front-panel .r32-nameplate{width:auto!important;margin:0!important}
#front-menu[data-ui=r32] .front-panel label.r32-name-row{display:flex!important;text-align:left}
#front-menu[data-ui=r32] .front-panel input.aw-input{border:1px solid var(--aw-gold-deep)!important;outline:none;margin:0!important}
#front-menu[data-ui=r32] .front-panel input.aw-input:focus-visible{border-color:var(--aw-gold)!important;box-shadow:inset 0 2px 6px #000,0 0 8px #d9b46a55}
#front-menu[data-ui=r32] .front-panel.r32-modal{overflow:visible;max-height:none}
#front-menu[data-ui=r32] .front-panel.r32-settings{width:min(880px,96vw)}
#front-menu[data-ui=r32] .r32-settings .settings-grid{grid-template-columns:1fr 1fr;column-gap:26px}
#front-menu[data-ui=r32] .r32-settings label{grid-template-columns:auto 1fr 34px;gap:10px}
#front-menu[data-ui=r32] .r32-settings .r32-set-label{white-space:nowrap}
.r32-slot-panel{overflow:visible;max-height:none}
/* 게임 중 설정: 뒤에 게임 화면이 어둡게 보이게(고전 ARPG 옵션 결) */
#front-menu[data-ui=r32][data-ingame=true]{background:#000000a8!important}
#front-menu[data-ui=r32][data-ingame=true] :is(.t31-art,.t31-fog,.t31-embers){display:none}
/* R32 수정 2: 직업 정보는 테두리 없이 화면 아래 어둠 띠 위 글자(고전 ARPG 결), 모델 다리를 가리지 않게 */
#front-menu[data-ui=r32] .front-panel.front-new::after,#front-menu[data-ui=r32] .front-panel.front-slots::after{content:'';position:fixed;left:0;right:0;bottom:0;height:34vh;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#000000f0 0,#000000c0 45%,transparent 100%)}
.r32-class-foot{bottom:2.5vh;padding:0;gap:3px}
.r32-class-foot .r32-class-desc{max-width:620px}
#front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=archer]{left:35%}#front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=witch]{left:65%}
.r32-class-pick{top:63vh}
.r32-name-row span{white-space:nowrap}
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play{color:#1e1204!important;font-weight:800!important}
/* R32 타이틀 카엘라: 영상(-7) 위·안개(-4) 아래 투명 3D 층 */
#front-menu[data-ui=r32][data-stage=title] .t31-art{z-index:-7}
#front-menu[data-ui=r32][data-stage=title] .r32-stage{z-index:-6}
/* 주 버튼: 금빛 판 위 어두운 글자는 작게 보면 묻힘 → 밝은 판(호버판) + 금빛 글자 + 금테 빛 */
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play,.aw-btn.r32-play{border-image-source:var(--aw-btn-hover)!important;color:#ffe6a6!important;text-shadow:0 0 8px #ffb44a99,0 2px 2px #000!important;filter:drop-shadow(0 0 6px #d9b46a66)}
#front-menu[data-ui=r32] .front-panel button.aw-btn.r32-play:is(:hover,:focus-visible):not(:disabled),.aw-btn.r32-play:hover{border-image-source:var(--aw-btn-sel)!important;color:#1a0f03!important;text-shadow:none!important}
.r32-class-portrait{position:fixed;right:4vw;top:50%;transform:translateY(-55%);width:min(220px,13vw);aspect-ratio:4/5;margin:0;padding:0;border-width:10px!important;border-image-width:10px!important;box-shadow:0 20px 50px #000c,0 0 30px #d9b46a22}
.r32-class-portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05)}
.r32-class-portrait::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 30%,transparent 55%,#0008 100%)}
@media(max-width:899px){.r32-class-portrait{display:none}}
.r32-account-status{font:12px var(--aw-serif);color:var(--aw-text-dim);text-shadow:0 1px 2px #000}
.r32-account .aw-btn{min-width:190px}
/* 게임 중 설정: 뒤에 게임 화면 그대로(어둡게) */
body[data-front=settings]:has(#front-menu[data-ingame=true])>#world{visibility:visible}
/* 초상 수정(유저 "튄다"): 게임 톤으로 재처리한 초상을 작은 원형 금속 액자 안에 */
.r32-class-portrait{width:150px!important;height:150px!important;aspect-ratio:auto;right:5vw;top:46%;border:0!important;border-image:none!important;border-radius:50%;padding:0;overflow:hidden;background:#0a0806;box-shadow:0 0 0 2px #000,0 0 0 5px #6f5634,0 0 0 6px #2a1f14,0 0 0 8px #b08a4a,0 0 0 9px #000,0 18px 40px #000c!important}
.r32-class-portrait img{object-position:50% 22%;transform:scale(1.18);transform-origin:50% 25%}
.r32-class-portrait::after{border-radius:50%;background:radial-gradient(circle at 50% 40%,transparent 55%,#000a 100%),linear-gradient(200deg,transparent 60%,#ff8a3a22)}
/* 직업 선택 오른쪽 '플레이 방식' 패널(현대 ARPG 결) — 초상은 그 위 */
.r32-playstyle{position:fixed;right:2.5vw;top:43vh;width:min(330px,22vw);padding:0 6px 4px;text-align:left}
.r32-playstyle .aw-ribbon{font-size:15px;margin:-2px auto 10px}
.r32-play-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #2a2118}
.r32-play-row:last-child{border-bottom:0}
.r32-play-row img{width:48px;height:48px;border-radius:50%;box-shadow:0 0 0 1px #000,0 0 0 3px #8a6a3d,0 0 0 4px #000}
.r32-play-row b{display:block;font:800 15px var(--aw-serif);color:var(--aw-gold-hi)}
.r32-play-row small{display:block;font:12px/1.45 var(--aw-serif);color:var(--aw-text)}
.r32-class-portrait{top:20vh!important;right:calc(2.5vw + min(330px,22vw)/2 - 75px)!important;transform:none!important}
@media(max-width:899px){.r32-playstyle{display:none}}
/* 사망 화면(고전 ARPG 결): 검은 화면 대신 게임이 어둡고 붉게 비치고, 큰 핏빛 세리프 + 안내 */
#death-overlay{background:radial-gradient(ellipse 70% 60% at 50% 48%,#2a0303a8 0,#120000d8 60%,#050000f2 100%)!important;font-family:var(--aw-serif)}
#death-overlay[data-phase=alive]{background:none!important}
#death-title{font:800 clamp(44px,4.2vw,72px) var(--aw-serif)!important;letter-spacing:.24em!important;color:transparent!important;background:linear-gradient(180deg,#ff8a6a 0,#c0281c 45%,#5a0806 100%);-webkit-background-clip:text;background-clip:text;border:0!important;padding:10px 40px!important;filter:drop-shadow(0 0 18px #a4140c) drop-shadow(0 3px 3px #000);animation:r32-death-in 1.2s ease-out both}
/* R32aud A9: 같은 뜻의 줄이 #death-checkpoint('…에서 다시 일어난다')와 두 번 보여 끔(영어 화면에서도 한국어로 나오던 문제) */#death-overlay::after{content:none;display:block;margin-top:6px;font:14px var(--aw-serif);letter-spacing:.14em;color:#b9a07c;opacity:.85}
html[lang=en] #death-overlay::after{content:'You will rise again at the last campfire'}
#death-overlay .death-gold-loss,#death-overlay p{font-family:var(--aw-serif)!important;color:#e2c79a!important;letter-spacing:.08em}
@keyframes r32-death-in{from{opacity:0;transform:scale(1.08);filter:blur(6px)}to{opacity:1}}
/* 로딩 화면이 하단 HUD·지도보다 위(진행 바 아래로 HUD가 비치던 문제) */
#loading[data-r32]:not(.done){z-index:9000!important}
/* ===== R32b 로딩 화면 재작업: 켄번스 원화·안개·불씨, 아래 어둠 띠 위 금속 지역명·설화·팁 카드·녹은 금 진행 바·룬 ===== */
#loading[data-r32]{background:#000!important;overflow:hidden}
#loading[data-r32]>progress,#loading[data-r32]>output,#loading[data-r32]>.r32-place,#loading[data-r32]>.r32-tip{display:none!important}
#loading[data-r32]::before{z-index:2}
.r32-ld{position:absolute;pointer-events:none}
.r32-ld-art{inset:-4%;background:#000 center/cover no-repeat;animation:r32-kenburns 26s ease-in-out infinite alternate;filter:saturate(.9) contrast(1.06)}
@keyframes r32-kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-1.6%,-1.2%)}}
.r32-ld-fog{left:-30%;right:-30%;z-index:1;background:radial-gradient(ellipse at 30% 60%,#a8a2b81f,transparent 60%),radial-gradient(ellipse at 75% 40%,#8f8aa01a,transparent 55%);filter:blur(10px)}
.r32-ld-fog.a{bottom:-6%;height:50%;animation:t31-drift 40s linear infinite alternate}.r32-ld-fog.b{bottom:18%;height:36%;opacity:.7;animation:t31-drift 60s linear infinite alternate-reverse}
.r32-ld-embers{inset:0;z-index:1;overflow:hidden}
.r32-ld-embers i{position:absolute;bottom:-4%;width:3px;height:3px;border-radius:50%;background:radial-gradient(circle,#fff1c0,#ff9a3a 50%,transparent 70%);box-shadow:0 0 6px #ff8a2a;animation:r32-ember linear infinite;opacity:0}
@keyframes r32-ember{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}70%{opacity:.6}100%{transform:translate(30px,-70vh);opacity:0}}
.r32-ld-band{left:0;right:0;bottom:0;height:30vh;z-index:3;display:grid;justify-items:center;align-content:end;gap:6px;padding:0 0 4.2vh;background:linear-gradient(0deg,#000000f2 0,#000000c8 45%,transparent 100%)}
#loading[data-r32] .r32-ld-band .r32-place{position:static;transform:none;display:block;font:800 clamp(34px,3.4vw,60px)/1 var(--aw-serif);letter-spacing:.26em;text-indent:.26em;color:transparent;background:linear-gradient(180deg,#fff6d8 0,#e9c67e 42%,#a8762f 70%,#6e4614 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 22px #ff9a3a55)}
.r32-place-sub{font:600 13px var(--aw-serif);letter-spacing:.5em;text-indent:.5em;color:#a8916a;text-transform:uppercase;margin-top:-2px}
.r32-lore{margin:8px 0 6px;font:italic 400 17px/1.5 var(--aw-serif);color:#d9c8a2;letter-spacing:.06em;text-shadow:0 2px 3px #000;transform:skewX(-6deg)}
.r32-tipcard{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:14px;width:min(720px,86vw);padding:8px 16px 8px 8px;border:1px solid #5a4126;background:linear-gradient(90deg,#0b0907e6,#0b090799);box-shadow:inset 0 0 0 1px #000,0 8px 24px #000a}
.r32-tipcard img{width:56px;height:56px;object-fit:cover;box-shadow:0 0 0 1px #000,0 0 0 2px #8a6a3d}
.r32-tipcard .r32-tip{position:static!important;transform:none!important;width:auto!important;display:block!important;margin:0;text-align:left;font:15px/1.5 var(--aw-serif)!important;color:#e2d2ae}
.r32-tipcard.in{animation:r32-tip-in .5s ease-out}@keyframes r32-tip-in{from{opacity:0;transform:translateY(6px)}}
.r32-bar{position:relative;width:min(760px,70vw);height:6px;margin-top:12px;border:1px solid #8a6a3d;background:#0a0806;box-shadow:0 0 0 1px #000,0 0 0 3px #1c150d}
.r32-bar-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(180deg,#fff0b8,#e1a748 45%,#8c5517);box-shadow:0 0 10px #ffb44a99;transition:width .25s}
.r32-bar-spark{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle,#fffbe6 0,#ffc25a 35%,#ff7a1a 60%,transparent 72%);filter:blur(.3px);animation:t31-flame .4s steps(3) infinite;transition:left .25s}
.r32-rune{position:absolute;right:4vw;bottom:4vh;width:46px;height:46px;color:#c9a35c;opacity:.85;animation:r32-rune 6s linear infinite;filter:drop-shadow(0 0 6px #ffb44a66)}
.r32-rune svg{width:100%;height:100%}@keyframes r32-rune{to{transform:rotate(360deg)}}
#loading[data-r32] #loading-text{bottom:1.4vh!important;z-index:3;font-size:11px!important;opacity:.6}
@media(prefers-reduced-motion:reduce){.r32-ld-art,.r32-ld-fog,.r32-ld-embers i,.r32-rune{animation:none}}
#loading[data-r32] .r32-ld-band .r32-lore{font:italic 400 19px/1.5 var(--aw-serif)!important;color:#e2d2ae!important;margin:10px 0 8px!important;opacity:.95}
#loading[data-r32] .r32-tipcard .r32-tip{text-align:left!important;justify-self:start}
#loading[data-r32] .r32-tipcard img{filter:brightness(1.35) contrast(1.1)}
/* R32c 직업 선택 반응형(유저 1920×911에서 이름·설명·이름판·능력치 겹침, 플레이 방식 패널 잘림) */
.r32-class-foot .r32-name-row{display:inline-flex!important}
.r32-class-foot{row-gap:2px}
@media (max-height:1000px){
 .r32-class-pick{top:60vh}
 #front-menu[data-ui=r32] .front-panel .r32-nameplate{padding:4px 14px 5px;min-width:140px}
 #front-menu[data-ui=r32] .front-panel .r32-nameplate b{font-size:16px}
 .r32-class-foot{bottom:1.6vh}
 .r32-class-foot .r32-hero-name{font-size:28px}
 .r32-class-foot .r32-hero-sub{font-size:13px}
 .r32-class-desc{font-size:13.5px;line-height:1.45;margin:2px 0 0;max-width:560px}
 .r32-class-foot .aw-divider{display:none}
 .r32-stats{margin:2px 0}
 .r32-class-foot .r32-foot-buttons{margin-top:4px}
 .r32-name-row .aw-input{min-height:34px;padding:4px 10px}
 .r32-class-portrait{width:112px!important;height:112px!important;top:9vh!important}
 .r32-playstyle{top:24vh}
 .r32-top-ribbon{top:2vh}
}
@media (max-height:820px){.r32-class-desc{display:none}.r32-class-pick{top:58vh}}
/* R32c: 튜토리얼 '다음'은 포커스 상태에서도 밝은 판+금빛 글자(금판+어두운 글자 대비 약함) */
#r32-tutorial .aw-btn.r32-play,#r32-tutorial .aw-btn.r32-play:is(:focus,:focus-visible,:hover){border-image-source:var(--aw-btn-hover)!important;color:#ffe6a6!important;text-shadow:0 0 8px #ffb44a99,0 2px 2px #000!important;font-weight:800}
#r32-tutorial .aw-btn.r32-play:hover{filter:brightness(1.15) drop-shadow(0 0 10px #ffb44a88)}
/* R32ui 해상도 행렬: 빈 오류 줄은 자리를 차지하지 않게(390px 타이틀에서 '게스트로 시작'과 겹침) · 폰 폭 직업 선택은 이름판을 양옆으로 벌리고 아래 큰 이름은 이름판과 중복이라 숨김 */
#front-menu .front-error:empty{visibility:hidden}
@media (max-width:560px){
 #front-menu[data-ui=r32] .front-panel .r32-nameplate{min-width:0;width:44vw!important;padding:4px 6px 5px}
 #front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=archer]{left:25%}
 #front-menu[data-ui=r32] .front-panel .r32-nameplate[data-class=witch]{left:75%}
 #front-menu[data-ui=r32] .front-panel .r32-nameplate small{white-space:normal}
 .r32-class-foot .r32-hero-name,.r32-class-foot .r32-hero-sub{display:none}
}
/* ---- R32p2 설정: 탭(영상·소리·조작) + ui-r32 드롭다운(어두운 판·금테·금 화살표·포커스 링, 키보드는 기본 select 그대로) ---- */
#front-menu[data-ui=r32] .r32-set-tabs{display:flex;justify-content:center;gap:8px;margin:-4px 0 14px}
#front-menu[data-ui=r32] .r32-set-tabs .r32-set-tab{min-width:96px}
#front-menu[data-ui=r32] .r32-set-tabs .r32-set-tab[aria-selected=false]{color:var(--aw-text-dim)}
#front-menu[data-ui=r32] .r32-set-tabs .r32-set-tab:focus-visible{outline:2px solid var(--aw-gold-hi);outline-offset:2px}
#front-menu[data-ui=r32] .r32-settings .settings-grid{align-content:start;min-height:calc(3 * 52px)}
#front-menu[data-ui=r32] .r32-settings .settings-grid [hidden]{display:none!important}
#front-menu[data-ui=r32] .r32-settings .settings-grid:not([data-tab=controls]) .qs-front-keys{display:none!important}
:is(#front-menu[data-ui=r32] .r32-settings select.aw-input){-webkit-appearance:none;appearance:none;box-sizing:border-box;border-radius:0;padding:6px 34px 6px 12px;border:1px solid var(--aw-gold-dim);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d9b46a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 11px center/12px 8px,linear-gradient(#1a140e,#0a0806);box-shadow:inset 0 2px 6px #000,0 0 0 1px #000;color:var(--aw-gold-hi);font-family:var(--aw-serif);cursor:pointer;color-scheme:dark}
:is(#front-menu[data-ui=r32] .r32-settings select.aw-input):hover{border-color:var(--aw-gold)}
:is(#front-menu[data-ui=r32] .r32-settings select.aw-input):focus-visible{outline:2px solid var(--aw-gold-hi);outline-offset:2px;border-color:var(--aw-gold);box-shadow:inset 0 2px 6px #000,0 0 10px #d9b46a66}
:is(#front-menu[data-ui=r32] .r32-settings select.aw-input) option{background:#0e0b08;color:var(--aw-text)}
@supports (appearance:base-select){
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input),:is(#front-menu[data-ui=r32] .r32-settings select.aw-input)::picker(select){appearance:base-select}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input)::picker-icon{display:none}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input)::picker(select){margin-top:2px;padding:4px;border:1px solid var(--aw-gold-dim);background:linear-gradient(#15110d,#0a0806);box-shadow:0 0 0 1px #000,0 14px 34px #000d;color:var(--aw-text)}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input) option{padding:7px 12px;font:600 14px var(--aw-serif);color:var(--aw-text);background:transparent}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input) option:is(:hover,:focus,:focus-visible){background:#2c2116;color:var(--aw-gold-hi);outline:none}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input) option:checked{color:var(--aw-gold-hi);background:#3a2a14}
 :is(#front-menu[data-ui=r32] .r32-settings select.aw-input) option::checkmark{color:var(--aw-gold)}
}
@media(max-width:700px){
 #front-menu[data-ui=r32] .r32-settings .settings-grid{grid-template-columns:1fr;gap:6px}
 #front-menu[data-ui=r32] .r32-settings label{grid-template-columns:minmax(0,1fr) minmax(120px,1.1fr) 30px;gap:8px}
 #front-menu[data-ui=r32] .r32-settings .r32-set-label{white-space:normal;line-height:1.3}
 #front-menu[data-ui=r32] .r32-set-tabs .r32-set-tab{min-width:0;flex:1}
}
/* R32r 타이틀 접속 묶음: 텔레그램 로그인 / 게스트 시작을 한 판에 + 설명 한 줄(접속 불가면 묶음 자체가 없음) */
.r32-account-group{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:min(260px,80vw);padding:10px 12px 9px;background:#0d0a08cc;border:1px solid #4a3a26;box-shadow:0 0 0 1px #000,0 10px 26px #000a}
.r32-account-group .aw-btn{min-width:0!important;width:100%}
.r32-account-note{font:12px/1.45 var(--aw-serif);color:var(--aw-text-dim);text-shadow:0 1px 2px #000;text-align:left}
@media(max-width:560px){.r32-account{right:50%;transform:translateX(50%);bottom:56px;align-items:center}}
/* R32r 직업 선택: 원형 초상을 '플레이 방식' 패널 머리(제목 아래) 안으로 — 패널 금속 테두리에 걸치지 않게(1920·1280 행렬), 폰 폭은 기존대로 숨김 */
.r32-playstyle{top:18vh}
.r32-playstyle .r32-class-portrait{position:relative!important;top:auto!important;right:auto!important;left:auto!important;transform:none!important;display:block;margin:4px auto 12px!important}
@media (max-height:1000px){.r32-playstyle{top:10vh}.r32-playstyle .r32-class-portrait{margin:2px auto 8px!important}}
/* R32s-top(ZONE_SCORES Top10 #10): 메뉴·직업 선택·세이브 슬롯·설정 글자 최소 14px(1080p·720p·폰 폭 공통). 크기만 올림 — 배치·색은 그대로. */
#front-menu[data-ui=r32] .t31-footer span{font-size:14px!important}
#front-menu[data-ui=r32] .r32-set-tabs .r32-set-tab,#front-menu[data-ui=r32] .aw-btn.aw-small{font-size:14px}
#front-menu[data-ui=r32] .r32-settings output{font-size:14px}
#front-menu[data-ui=r32] .slot-info span,#front-menu[data-ui=r32] .slot-info small{font-size:14px}
#front-menu[data-ui=r32] .front-panel .r32-nameplate small{font-size:14px}
#front-menu[data-ui=r32] .r32-stats dt{font-size:14px}
#front-menu[data-ui=r32] .r32-name-row,#front-menu[data-ui=r32] .r32-name-row span{font-size:14px!important}
#front-menu[data-ui=r32] .front-error,#front-menu[data-ui=r32] .front-panel:is(.front-slots,.front-new) .front-error,#front-menu[data-ui=r32] .r32-modal .front-error{font-size:14px}
#front-menu[data-ui=r32] .r32-account-status,#front-menu[data-ui=r32] .r32-account-note,#front-menu[data-ui=r32] .r32-play-row small,#front-menu[data-ui=r32] .r32-place-sub{font-size:14px}
#front-menu[data-ui=r32] .r32-class-foot .r32-hero-sub,#front-menu[data-ui=r32] .r32-class-desc{font-size:14px}
/* R32o: 폰 폭(≤560px)에서는 14px로 커진 직업 설명이 이름판과 겹쳐(행렬 class-select@390x844) — 이름판·부제가 직업을 이미 알려 주므로 설명만 숨김 */
@media(max-width:560px){#front-menu[data-ui=r32] .r32-class-desc{display:none}}
