/* Game-only RO HUD. Admin retains its own workspace layout. */
.game-page{margin:0;overflow:hidden;background:#25382b;color:#243b58;font-family:Tahoma,Arial,sans-serif;--ink:#263e60;--muted:#647790;--line:#b2c1d5;--paper:#edf3fc}
.game-screen{position:fixed;inset:0}
.game-page .canvas-wrap{height:100%;width:100%;min-height:0;max-height:none}
.game-page canvas{outline:none}
.game-page button{font:11px Tahoma,Arial,sans-serif;border:1px solid #8ba2c0;border-radius:3px;background:linear-gradient(#fff,#dce7f6);color:#233e64;padding:6px 10px;box-shadow:inset 0 0 0 1px #ffffff70}
.game-page button:hover:enabled{background:linear-gradient(#fff,#c6dcf6)}
.game-page button:disabled{opacity:.55}
.hud-window,.run-hud{position:absolute;z-index:5;background:#edf3fcf0;border:1px solid #6d87b1;border-radius:4px;box-shadow:1px 2px 5px #10233850}
.hud-window{top:12px;left:12px;width:236px}
.ro-title{height:23px;padding:4px 8px;background:linear-gradient(#638cc8,#38639e);color:#fff;border-bottom:1px solid #31588c;font-size:11px;font-weight:bold;text-shadow:0 1px #24436c;display:flex;align-items:center;justify-content:space-between;border-radius:3px 3px 0 0}
.hud-version{font-size:8px;font-weight:normal;opacity:.8}
.hud-body{padding:8px}
.hud-identity{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:6px}
.hud-identity>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hud-identity>span{font-size:10px;color:#516784;flex-shrink:0}
.game-page .class-label{font-size:10px;color:#5b7293;margin:3px 0 7px}
.game-page .meter{position:relative;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:5px;height:15px;margin:4px 0}
.game-page .meter-label{display:contents;font-size:10px}
.game-page .meter-label>span{grid-column:1;grid-row:1;color:#3b5575;white-space:nowrap}
.game-page .meter-label>b{position:absolute;right:3px;top:2px;width:calc(100% - 50px);text-align:center;font-size:9px;line-height:11px;color:#fff;text-shadow:1px 1px #182e49,-1px -1px #182e4970;z-index:1;font-weight:normal}
.game-page .meter-track{grid-column:2;grid-row:1;height:13px;border:1px solid #7992b0;border-radius:1px;background:#bac9dc;box-shadow:inset 0 1px 2px #182d4140}
.game-page .meter-fill{background:linear-gradient(#88d594,#4baf64);transition:width .1s}
.game-page .meter.sp .meter-fill{background:linear-gradient(#88b9ed,#4c89cf)}
.game-page .meter.exp .meter-fill{background:linear-gradient(#e5cc83,#bb9c4a)}
.game-page .meter.job .meter-fill{background:linear-gradient(#c2a8dc,#9072b6)}
.hud-buttons{display:flex;gap:5px;border-top:1px solid #c0cee0;padding-top:7px;margin-top:7px}
.hud-buttons button{flex:1;padding:5px 4px}
.hud-buttons span:not(:empty){font-weight:bold;color:#245891}
.run-hud{top:12px;right:12px;width:230px;padding:8px}
.run-summary{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding-bottom:6px;border-bottom:1px solid #bdcee4}
.hud-currency{color:#92701e}
#run-info{display:flex;gap:12px;justify-content:space-between}
.game-page .info-row{font-size:10px;margin:7px 0;gap:5px;color:#526a88}
.game-page .info-row b{color:#233f65}
.run-buttons{display:flex;justify-content:space-between;gap:4px}
.run-buttons button{padding:5px 8px}
.game-page .wave-banner{z-index:5;top:13px;background:#edf3fce8;border:1px solid #7897be;color:#264366;box-shadow:1px 2px 5px #10233840;font:12px Tahoma,Arial,sans-serif;padding:9px 16px;border-radius:3px;max-width:calc(100vw - 520px);white-space:normal;line-height:1.5}
.skill-dock{position:absolute;z-index:5;bottom:34px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:5px;background:#edf3fce6;border:1px solid #7795be;border-radius:4px;max-width:calc(100vw - 240px);overflow-x:auto}
.game-page .skill-slot{position:relative;min-width:64px;max-width:100px;padding:4px 4px 3px;display:flex;flex-direction:column;align-items:center;gap:3px}
.game-page .skill-icon{height:32px;width:32px;border:1px solid #9db2cf;background:#e3ecf9;border-radius:2px;color:#5174a0}
.slot-name{font-size:9px;max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot-level{position:absolute;right:5px;top:5px;font-size:9px;color:#2b507d;background:#f2f6ffde;padding:1px 2px}
.slot-cooldown{position:absolute;top:13px;font-size:11px;color:white;text-shadow:1px 1px 2px #132b45;font-weight:bold}
.cooling .skill-icon{filter:brightness(.65)}
#buff-list{position:absolute;z-index:5;right:12px;top:123px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}
.game-page .buff{font-size:10px;background:#edf3fce8;border:1px solid #7e9cc3;color:#27456c;margin:0;padding:6px 8px;border-radius:3px}
.world-footer{position:absolute;bottom:0;left:0;right:0;min-height:24px;padding:5px 10px;display:flex;gap:16px;align-items:center;font-size:9px;color:#e8eff8;text-shadow:0 1px 2px #162736;background:#172c4059;pointer-events:none}
.world-footer>div{display:flex;gap:9px;align-items:center}
.world-footer b{font-size:10px;font-weight:normal}
#mode-label{opacity:.8;font-size:8px}
#save-state{margin-left:auto;font-size:8px;opacity:.75}
.game-page .warp{z-index:6;bottom:40px;right:16px;background:linear-gradient(#f4eafa,#c5b2d8);border-color:#9478ac}
.game-page #touch-pad{z-index:6;bottom:90px}
.game-page .hub-overlay{z-index:8;background:#10243833}
.game-page .hub-card{background:#edf3fcf5;border:1px solid #6f8eb8;border-radius:4px;padding:22px;box-shadow:0 8px 25px #10223850;max-width:640px}
.game-page .hub-card h1{font:bold 22px Tahoma,Arial,sans-serif;margin:6px 0 10px;color:#25476f;letter-spacing:0}
.game-page .hub-card>p{font-size:11px;color:#536d8e;line-height:1.6}
.game-page .eyebrow{color:#6c83a0;letter-spacing:1px}
.game-page .hub-title .ornament{font-size:26px;color:#7999c1}
.game-page .map-grid{margin-top:15px;gap:10px}
.game-page .map-card{background:#f5f8fe;border:1px solid #a9bed8;border-radius:3px}
.game-page .map-art{height:30px}
.game-page .map-body h3{font:bold 13px Tahoma,Arial,sans-serif}
.game-page .map-body p{font-size:10px;color:#5b7696}
.game-page .map-actions button{font-size:10px;padding:7px}
.game-page .hub-bottom{color:#657f9c;font-size:10px}
.game-page dialog{padding:0;border:1px solid #587dac;border-radius:4px;background:#edf3fc;color:#294362;box-shadow:0 8px 40px #10223870}
.game-page dialog::backdrop{background:#112c464f;backdrop-filter:blur(1px)}
.game-page .dialog-head{padding:8px 12px;margin:0;background:linear-gradient(#668cc7,#386299);color:white}
.game-page .dialog-head h2{font:bold 14px Tahoma,Arial,sans-serif}
.game-page .dialog-head button{background:#dce8f8;color:#25486e;padding:3px 7px}
.game-page #modal-content{padding:20px;overflow:auto}
.game-page .content-card{background:#f8faff;border-color:#b6c7df;border-radius:3px}
.game-page .content-card h3{font:bold 14px Tahoma,Arial,sans-serif}
.game-page .content-card p,.game-page .muted,.game-page .stat-row small{color:#617b9a}
.game-page input,.game-page select,.game-page textarea{background:#fff;border-color:#9ab2cf;color:#26476c}
.game-page .talent-branch{border-top-color:#739aca}
.game-page .pause-overlay{z-index:15;background:#19344bc2}
.game-page .pause-overlay h2{font:bold 26px Tahoma,Arial,sans-serif}
.game-page #toast{background:#e8f1ff;color:#23476f;border:1px solid #6e94c1;border-radius:3px;bottom:115px}
.game-page .preview-strip{position:fixed;z-index:18;bottom:0;left:0;right:0;padding:5px;font-size:10px}
@media(max-width:900px){.game-page .wave-banner{top:122px;right:12px;left:auto;transform:none;max-width:215px;font-size:11px}.game-page #buff-list{top:185px}.control-hint{display:none}}
@media(max-width:600px){.hud-window{top:7px;left:7px;width:191px}.hud-body{padding:6px}.hud-version{display:none}.run-hud{top:7px;right:7px;width:169px;padding:6px}.run-buttons button{font-size:10px;padding:5px}.game-page .meter{grid-template-columns:40px 1fr;gap:3px}.game-page .meter-label>b{width:calc(100% - 44px)}.game-page .hud-identity{font-size:11px}.game-page .wave-banner{top:205px;left:50%;right:auto;transform:translateX(-50%);max-width:290px;text-align:center;min-width:160px}.game-page #buff-list{top:114px;right:7px;max-width:167px}.game-page .buff{font-size:9px;padding:4px 5px}.world-footer{font-size:8px}.world-footer #mode-label,.world-footer #save-state{display:none}.skill-dock{max-width:calc(100vw - 120px);bottom:35px;padding:3px;gap:3px}.game-page .skill-slot{min-width:54px}.slot-name{max-width:66px;font-size:8px}.game-page .warp{bottom:125px;right:12px;font-size:11px}.game-page #touch-pad{bottom:110px;left:14px;width:82px;height:82px}.game-page #touch-pad:after{line-height:82px}.game-page .hub-overlay{padding:12px}.game-page .hub-card{padding:16px;max-height:calc(100dvh - 24px);overflow:auto}.game-page .hub-card h1{font-size:20px}.game-page .hub-card>p{font-size:10px}.game-page .hub-bottom{gap:6px}.game-page .hub-bottom>span{display:none}.game-page .hub-bottom button{font-size:10px}.game-page[data-mode=hub] .hud-window,.game-page[data-mode=hub] .run-hud{visibility:hidden}.game-page[data-mode=hub] .world-footer{display:none}}
@media(max-width:360px){.hud-window{width:176px}.run-hud{width:158px}.run-buttons button{padding:5px 3px}}
@media(max-height:500px) and (orientation:landscape){.hud-window{width:210px}.game-page .hub-card{max-height:calc(100dvh - 16px);overflow:auto}.game-page .wave-banner{top:10px;left:50%;right:auto;transform:translateX(-50%);max-width:210px}.game-page .hub-overlay{padding:8px}.game-page .map-art{display:none}}
