/* World-first RPG skin. All progress and actions use the original local game. */
.game-shell{--ink:#f6e8c9;--muted:#a9b7bd;--line:#66573b;--green:#756037;--card:#14202e;--paper:#092c43;--sage:#283c44;--shadow:0 6px 0 #080e18aa;--gold:#e3ba6d;--panel:#111b2bea;color:var(--ink);background:var(--paper);overflow:hidden;height:100dvh;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.game-shell main,.game-shell .layout,.game-shell .content{margin:0;padding:0;max-width:none;display:block}
.game-shell .page-heading,.game-shell footer,.game-shell .sidebar-note{display:none}
.game-shell .topbar{position:static;height:0;min-height:0;padding:0;border:0;background:none;display:block}
.game-shell .map-card{position:fixed;inset:0;border:0;border-radius:0;background:#0b7399;box-shadow:none}
.game-shell #map-viewport{position:absolute;inset:0;height:100%;background:#0b7399}
.game-shell #world{width:100%;height:100%}
.game-shell .map-top{position:absolute;z-index:3;bottom:116px;left:26px;padding:9px 14px;background:var(--panel);border-left:2px solid var(--gold);color:#ebd8ad;pointer-events:none}
.game-shell .map-coordinate,.game-shell .map-top small,.game-shell .map-top .online-dot{display:none}
.game-shell .map-bottom{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);padding:6px 15px;background:#101b29d9;color:#e6d5b0;border:1px solid #917746;font-size:10px;gap:20px}
.game-shell .party-hud,.game-shell .resource-hud,.game-shell .topbar nav,.game-shell .map-caption,.game-shell .next-card,.game-shell .map-controls,.game-shell .sidebar,.game-shell .large-panel,.game-shell dialog{background:var(--panel);border:2px solid #c39b55;box-shadow:inset 0 0 0 3px #172333,inset 0 0 0 4px #695537,0 5px 0 #09132199;border-radius:5px}
.game-shell .party-hud{position:fixed;left:22px;top:20px;z-index:10;display:flex;gap:9px;padding:10px}
.game-shell .portrait-button{width:72px;padding:0;color:#f1dfba;position:relative;font-size:10px;text-align:center}
.game-shell .portrait-button canvas{display:block;background:#243443;border:1px solid #ad894b;width:72px;height:58px;image-rendering:pixelated;object-fit:contain}
.game-shell .portrait-button span{display:block;padding:5px 0;letter-spacing:1px}
.game-shell .world-title{position:fixed;z-index:3;left:50%;top:25px;transform:translateX(-50%);text-align:center;text-shadow:0 2px 4px #122234;color:#fff0ca;pointer-events:none}
.game-shell .world-title strong{font:700 23px Georgia,"Songti SC",serif;letter-spacing:5px}.game-shell .world-title small{display:block;font:8px Georgia,serif;letter-spacing:3px;margin-top:9px}
.game-shell .resource-hud{position:fixed;z-index:10;right:22px;top:20px;display:flex;align-items:center;gap:23px;padding:15px 19px;font-size:11px;color:var(--gold)}
.game-shell .resource-hud b{font:18px Georgia,serif;color:#fff1ce;margin-left:9px}.game-shell .resource-hud button{border-left:1px solid #65533a;padding-left:17px;font-size:12px}
.game-shell .identity{position:fixed;z-index:10;right:24px;top:87px;color:#f4e4bf;text-shadow:0 1px 3px #15263d;gap:9px}.game-shell .identity select{color:#f2e3bd;background:#172332;border:1px solid #9d8149;font-size:11px;padding:7px}.game-shell #save-status{font-size:9px;color:#e2ddc9}.game-shell option{background:#172332}
.game-shell .topbar nav{position:fixed;z-index:15;bottom:25px;left:22px;display:flex;height:75px;margin:0;padding:5px;gap:5px;width:auto}
.game-shell .nav{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:72px;padding:10px 13px;border:1px solid #66583e;color:#d2c7b0;font-size:13px;background:#182737}
.game-shell .nav small{font:8px Georgia,serif;letter-spacing:1px;color:#a5987c}.game-shell .nav.active{background:#3b3827;color:#ffe4a1;border-color:#f3d181;box-shadow:inset 0 0 0 1px #9b773a}.game-shell .nav.active:after{display:none}.game-shell .nav:hover{border-color:#e5bd72;filter:brightness(1.18)}
.game-shell .map-caption{top:150px;left:25px;padding:15px 19px;gap:8px;max-width:300px;pointer-events:none}.game-shell .tiny-label,.game-shell .eyebrow{color:#cbb27e}.game-shell .map-caption strong{font-size:18px;color:#ffe4ad}.game-shell .map-caption>span:last-child{color:#c4c9c4;font-size:10px}
.game-shell .below-map{display:contents}.game-shell .next-card{position:fixed;right:22px;top:136px;width:310px;z-index:5;padding:19px 20px;color:#f8e7c2}.game-shell .section-heading{color:#f3d28e;font-size:13px}.game-shell .next-card small{display:block;font:8px Georgia,serif;letter-spacing:2px;margin-top:7px;color:#9f947d}.game-shell .next-content{margin:15px 0 0;gap:12px}.game-shell .next-content h3{font-size:13px;line-height:1.7}.game-shell .next-content p{color:#b4bcae;line-height:1.7}.game-shell .quest-icon{background:#29343b;color:var(--gold);border-color:#8c7244}.game-shell .quest-check{color:#f6d390;border-color:#aa8848;border-radius:2px}.game-shell .text-button{color:#d4b77c}.game-shell .letter-teaser{display:none}
.game-shell .ceremony-link{position:fixed;z-index:4;bottom:122px;right:25px;width:auto;max-width:280px;padding:12px 16px;border:1px solid #c39b55;background:#152333e8;color:#f2db9e;font-size:11px}.game-shell .ceremony-link small{color:#c1c6bc}
.game-shell .map-controls{right:25px;bottom:30px;padding:7px;font-size:10px;color:#f4e5c8}.game-shell .map-controls button{min-width:37px;height:34px;color:#e7c787}.game-shell .map-help{bottom:83px;right:26px;left:auto;color:#e3d5b8;background:#162635cf}.game-shell .control-divider{border-color:#695a3c}
.game-shell .sidebar{position:fixed;z-index:25;top:145px;left:22px;width:310px;max-height:calc(100dvh - 255px);overflow:auto;padding:23px;display:block;scrollbar-color:#a4844d #152232}.game-shell .sidebar .card{border:0;box-shadow:none;background:none;padding:0 0 20px;margin:0}.game-shell .drawer-close,.game-shell .panel-close{position:absolute;top:10px;right:12px;color:#d8bb82;font-size:25px;z-index:2}.game-shell .sidebar .hero-card{display:block}.game-shell .sidebar .portrait-wrap{height:120px;background:none}.game-shell .portrait-wrap canvas{width:200px;height:122px}.game-shell .hero-card h2{font-size:16px;color:#f5ddb0}.game-shell .hero-card h2 span{background:#314545;color:#bbd6cb}.game-shell .level-tag{background:#483f2b;color:#f4d386;border-color:#967847}.game-shell .hero-card .mini{color:#b3bfb7}.game-shell .bar{background:#080f1b;border:1px solid #414332;height:8px}.game-shell .bar i{background:#d97774}.game-shell .vital.mp .bar i{background:#63afcb}.game-shell .vital.xp .bar i{background:#d8b269}.game-shell .vital-head span:last-child{color:#c1c5b3}.game-shell .rest-button{background:#28392f;color:#dce3b9;border-color:#61734c}.game-shell #stage-list{display:block}.game-shell .stage-item{min-width:0;color:#e8d7b4}.game-shell .stage-node{background:#1c2e3a;border-color:#837244;color:#ccb783}.game-shell .stage-item.current .stage-node{background:#876a34;color:#fff1c4;box-shadow:0 0 0 3px #9e794e33}.game-shell .stage-item small{color:#9faeab}
.game-shell .large-panel{position:fixed;z-index:20;left:50%;top:145px;transform:translateX(-50%);width:min(760px,calc(100% - 44px));max-height:calc(100dvh - 255px);min-height:0;overflow:auto;padding:30px;color:#e9dec6}.game-shell .large-panel .panel-heading{padding-right:20px}.game-shell .large-panel h2{color:#f6d798}.game-shell .task-row{background:#1b2b39;border-color:#4d503e}.game-shell .task-main h3{color:#f4e3bf}.game-shell .task-row.done h3{color:#9da996}.game-shell .task-meta,.game-shell .task-note,.game-shell #journal-summary{color:#b4bdba}.game-shell .badge{background:#343d40;color:#d1c398}.game-shell .badge.secret{background:#383347;color:#c7b7e0}.game-shell .badge.key{background:#493f28;color:#ecd089}.game-shell .task-actions button{color:#cfbd96}.game-shell .task-toggle{border-color:#aa8d55}.game-shell .task-row.done .task-toggle{background:#59744c}.game-shell input,.game-shell select,.game-shell textarea{background:#0d1927;color:#f6e8ca;border-color:#766441}.game-shell .primary{background:#92723a;border-color:#d3af67;color:#fff4d6}.game-shell .secondary{background:#273744;color:#e6d3ad;border-color:#7c6d49}.game-shell .danger-button{background:#35232d;border-color:#8b5962;color:#e8b6ae}.game-shell .letter,.game-shell #letter-form{background:#23313b;border-color:#7c704f;box-shadow:none}.game-shell .letter p{color:#e2d8be}.game-shell .letter-top,.game-shell .letter-bottom{color:#bca97e}.game-shell .stage-finish{background:#2d3c32}.game-shell .muted{color:#acb8b5}.game-shell dialog{color:#eee0c0}.game-shell dialog::backdrop{background:#050e1caa;backdrop-filter:none}.game-shell #settings-dialog p{color:#b9c2bd}.game-shell #settings-dialog a{color:#e1c48b}.game-shell #toast{background:#152838;border:1px solid #ddbc72;color:#f6e6c7;bottom:115px}.game-shell #map-toast{background:#132c37eb;color:#ffe2a0;border-color:#e0bb66}.game-shell .load-error{position:fixed;z-index:99;top:120px;left:30%;max-width:50%;margin:0}
@media(max-width:1100px){.game-shell .world-title{display:none}.game-shell .next-card{width:270px}.game-shell #save-status{display:none}.game-shell .map-caption{max-width:270px}.game-shell .map-bottom{display:none}}
@media(max-width:700px){.game-shell .party-hud{left:10px;top:10px;padding:6px;gap:5px}.game-shell .portrait-button{width:43px;font-size:8px}.game-shell .portrait-button canvas{width:43px;height:40px}.game-shell .portrait-button span{letter-spacing:0}.game-shell .resource-hud{right:10px;top:10px;padding:10px;gap:10px;font-size:8px}.game-shell .resource-hud span:first-child{display:none}.game-shell .resource-hud b{font-size:13px;margin-left:4px}.game-shell .resource-hud button{font-size:10px;padding-left:8px}.game-shell .identity{top:61px;right:10px}.game-shell .identity select{max-width:100px;font-size:10px;padding:5px}.game-shell .map-caption{top:108px;left:10px;max-width:210px;padding:10px 13px}.game-shell .map-caption strong{font-size:14px}.game-shell .map-caption>span:last-child{display:none}.game-shell .next-card{top:auto;bottom:150px;right:10px;width:230px;padding:12px 14px}.game-shell .next-card .section-heading{font-size:11px}.game-shell .next-card small{display:none}.game-shell .next-content{margin-top:9px;gap:8px}.game-shell .next-content h3{font-size:11px}.game-shell .quest-icon{display:none}.game-shell .next-content p{font-size:8px}.game-shell .ceremony-link{bottom:305px;right:10px;padding:8px 12px;font-size:10px}.game-shell .ceremony-link>span:first-child,.game-shell .ceremony-link small{display:none}.game-shell .topbar nav{bottom:12px;left:10px;right:10px;height:64px;justify-content:space-around;gap:3px;padding:4px}.game-shell .nav{min-width:0;flex:1;padding:6px;font-size:11px;gap:6px}.game-shell .nav small{font-size:7px}.game-shell .map-controls{bottom:89px;right:10px;padding:2px}.game-shell .map-controls button{min-width:29px;height:29px}.game-shell .map-help{display:none}.game-shell .map-top{bottom:94px;left:10px;font-size:9px;padding:8px}.game-shell .map-top b{font-size:10px}.game-shell .sidebar{left:10px;top:105px;width:calc(100% - 20px);max-height:calc(100dvh - 190px);padding:23px}.game-shell .sidebar .hero-card .section-heading,.game-shell .sidebar .hero-card .mini{display:block}.game-shell .sidebar .hero-card #vitals{display:block}.game-shell .vital{margin:12px 0}.game-shell .vital-head{font-size:10px}.game-shell .large-panel{top:105px;max-height:calc(100dvh - 190px);width:calc(100% - 20px);padding:24px 16px}.game-shell .panel-heading h2{font-size:17px}.game-shell .panel-heading .primary{font-size:10px}.game-shell .resource-hud,.game-shell .party-hud{box-shadow:inset 0 0 0 2px #172333,0 3px 0 #09132199}}
@media(max-height:580px) and (min-width:701px){.game-shell .map-caption{display:none}.game-shell .large-panel,.game-shell .sidebar{top:130px;max-height:calc(100dvh - 220px)}.game-shell .party-hud{top:10px}.game-shell .next-card{top:120px}.game-shell .ceremony-link{display:none}}
