/* 导游业务 RPG · PSP 时代机场行动终端 */
:root{--gr-ink:#0d1424;--gr-panel:#121d33;--gr-panel2:#1a2944;--gr-line:#38506f;--gr-gold:#ffd34f;--gr-cyan:#75dcff;--gr-red:#ff615c;--gr-green:#72e2a8;--gr-paper:#f6e5af}
body[data-view="guiderpg"] #view{height:100vh;overflow:hidden;padding:0!important}
body[data-view="guiderpg"] .workspace-bar{display:none}
.grpg-app{position:fixed;left:0;top:0;right:0;bottom:0;z-index:2;overflow:hidden;color:#f8fbff;background:var(--gr-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.grpg-noise{position:absolute;inset:0;pointer-events:none;z-index:10;opacity:.13;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.09) 4px)}
.grpg-topbar{height:66px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:18px;padding:0 24px;border-bottom:3px solid #263b5a;background:linear-gradient(180deg,#152440,#0d172b);position:relative;z-index:4}
.grpg-exit{justify-self:start;color:#aab9cc;font-size:12px;border:1px solid var(--gr-line);padding:9px 12px;background:#111c30}
.grpg-title{text-align:center}.grpg-title span,.grpg-kicker{display:block;color:var(--gr-cyan);font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}.grpg-title b{display:block;margin-top:3px;font:700 17px "Songti SC","STSong",serif}
.grpg-vitals{display:flex;gap:16px;font:600 10px ui-monospace,monospace;color:#9fb0c4}.grpg-vitals b{display:block;color:var(--gr-gold);font-size:13px;margin-top:2px}
.grpg-stage{position:absolute;inset:66px 0 72px;margin:0!important;padding:0!important;min-height:0!important;overflow:auto;background:radial-gradient(circle at 70% 15%,rgba(117,220,255,.08),transparent 26%),linear-gradient(145deg,#0d1728,#15233a)}
.grpg-chapter-rail{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);display:flex;background:#080e1a;border:3px solid #fff;box-shadow:5px 5px 0 #000}
.grpg-chapter-rail[hidden],.grpg-vitals[hidden]{display:none}
.grpg-chapter-rail span{display:flex;align-items:center;gap:5px;color:#64768e;font-size:10px;padding:8px 11px;border-right:1px solid #263852}.grpg-chapter-rail span:last-child{border:0}.grpg-chapter-rail i{font:700 9px ui-monospace,monospace}.grpg-chapter-rail .on{color:#101728;background:var(--gr-gold)}
.grpg-enter{animation:grpgEnter .36s cubic-bezier(.2,.8,.2,1)}@keyframes grpgEnter{from{opacity:0;transform:translateY(8px)}}
.grpg-career{min-height:100%;max-width:1220px;margin:0 auto;padding:48px 34px}.grpg-career>header{max-width:760px}.grpg-career h1,.grpg-journey h1,.grpg-preparation h1{font:900 clamp(34px,5vw,62px)/1.08 "Songti SC","STSong",serif;margin:12px 0}.grpg-career>header p,.grpg-journey header p,.grpg-prep-panel>p{color:#9eafc3;line-height:1.8}
.grpg-career-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0}.grpg-career-cards>button{position:relative;min-height:420px;padding:28px;text-align:left;overflow:hidden;color:#edf5ff;background:linear-gradient(155deg,#172742,#0d1627);border:3px solid #334c6d;transition:.22s}.grpg-career-cards>button:hover{transform:translateY(-7px);border-color:var(--gr-gold);box-shadow:10px 12px 0 #050a12}.grpg-career-cards>button>i{position:absolute;right:10px;top:-27px;font:900 110px/1 ui-monospace;color:rgba(117,220,255,.07)}.grpg-career-portrait{position:absolute;right:-3px;top:42px;width:138px;height:174px;background-image:url("../img/guide-rpg/guide-character-sheet-v1.png");background-size:768px 512px;background-repeat:no-repeat;filter:drop-shadow(7px 8px 0 rgba(0,0,0,.32));image-rendering:pixelated}.grpg-career-portrait.localGuide{background-position:-91px -5px}.grpg-career-portrait.nationalGuide{background-position:-95px -125px}.grpg-career-portrait.tourLeader{background-position:-95px -242px}.grpg-career-cards small{color:var(--gr-cyan);font:700 10px ui-monospace;letter-spacing:.14em}.grpg-career-cards h2{font:900 46px "Songti SC","STSong",serif;margin:18px 0 4px}.grpg-career-cards b{color:var(--gr-gold);font-size:13px}.grpg-career-cards ul{list-style:none;margin:120px 0 35px}.grpg-career-cards li{padding:10px 0;border-bottom:1px solid #2b405c;color:#aebdd0;font-size:12px}.grpg-career-cards>button>span{position:absolute;left:28px;bottom:25px;font-weight:800;color:#fff}.grpg-career>footer{color:#8295ad;font-size:12px}.grpg-career>footer b{color:var(--gr-gold)}
.grpg-journey{max-width:1220px;margin:0 auto;padding:34px}.grpg-journey>header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:27px}.grpg-journey>header h1{font-size:43px}.grpg-journey>header button{padding:9px 13px;border:1px solid #3a5271;color:#9fb1c7;background:#111c30}.grpg-route-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.grpg-route-line:before{content:"";position:absolute;left:4%;right:4%;top:30px;height:3px;background:#31445f}.grpg-route-line article{position:relative;z-index:1;min-height:240px;padding:20px;margin-bottom:6px;background:#111d31;border:2px solid #2c425f}.grpg-route-line article>i{display:grid;place-items:center;width:43px;height:43px;background:#243753;border:3px solid #4b6381;color:#8fa4bd;font:800 12px ui-monospace}.grpg-route-line article.ready{border-color:#546f92}.grpg-route-line article.ready>i{background:var(--gr-gold);border-color:#fff;color:#151d2a}.grpg-route-line article.done{border-color:var(--gr-green)}.grpg-route-line article.done>i{background:var(--gr-green)}.grpg-route-line article.building{opacity:.62}.grpg-route-line small{display:block;color:var(--gr-cyan);font:700 9px ui-monospace;margin-top:18px}.grpg-route-line h2{font:800 28px "Songti SC","STSong",serif;margin:2px 0}.grpg-route-line p{min-height:50px;color:#8fa2b8;font-size:11px;line-height:1.6}.grpg-route-line button{position:absolute;left:18px;bottom:16px;color:#101827;background:var(--gr-gold);padding:9px 12px;font-size:11px;font-weight:800}.grpg-route-line article>span{position:absolute;left:18px;bottom:19px;color:#60758f;font-size:10px}
.grpg-preparation{min-height:100%;display:grid;grid-template-columns:1.2fr .8fr}.grpg-prep-room{position:relative;min-height:620px;overflow:hidden;background:linear-gradient(180deg,#82bed0 0 28%,#d6c7a1 28% 72%,#6e5337 72%);border-right:5px solid #080e19}.grpg-file-cabinet{position:absolute;left:8%;bottom:22%;width:25%;height:36%;display:grid;place-items:center;background:#4d725f;border:8px solid #24392f;box-shadow:10px 10px 0 rgba(0,0,0,.25)}.grpg-file-cabinet:before,.grpg-file-cabinet:after{content:"";position:absolute;left:8%;right:8%;height:2px;background:#20352c}.grpg-file-cabinet:before{top:34%}.grpg-file-cabinet:after{top:67%}.grpg-file-cabinet span{padding:8px;background:#e8dbb6;color:#31311f;border:3px solid #6e5d3a;font:800 11px ui-monospace;z-index:2}.grpg-desk-map{position:absolute;right:7%;bottom:15%;width:48%;height:28%;background:#6b492d;border:8px solid #3d291b;transform:skewX(-5deg);box-shadow:0 22px 0 rgba(0,0,0,.22)}.grpg-desk-map:after{content:"接待计划 · TEAM JX-0726";position:absolute;inset:14% 12%;display:grid;place-items:center;background:#f2e4b7;color:#5d5038;border:3px solid #a69363;font:800 12px ui-monospace;transform:skewX(5deg)}.grpg-clock{position:absolute;right:12%;top:10%;padding:10px 16px;background:#12243f;border:5px solid #f1f1e6;color:var(--gr-gold);font:900 23px ui-monospace;box-shadow:7px 7px 0 rgba(0,0,0,.2)}.grpg-prep-panel{align-self:center;margin:28px;padding:30px;background:#111d31;border:4px solid #fff;box-shadow:9px 9px 0 #000}.grpg-prep-panel h1{font-size:36px}.grpg-prep-list{display:grid;gap:8px;margin:22px 0}.grpg-prep-list button{display:flex;align-items:center;gap:12px;text-align:left;padding:13px;background:#182945;border:2px solid #38516f;color:#a8b8ca}.grpg-prep-list button.on{border-color:var(--gr-green);color:#fff;background:rgba(114,226,168,.1)}.grpg-prep-list i{font:800 15px ui-monospace;color:var(--gr-gold)}
.grpg-brief{min-height:100%;display:grid;grid-template-columns:minmax(460px,1.5fr) minmax(350px,.8fr)}
.grpg-pixel-scene{position:relative;overflow:hidden;background:#b9b39f url("../img/guide-rpg/airport-baggage-hall-v1.png") center/cover no-repeat;border-right:5px solid #09111f;image-rendering:pixelated}
.grpg-board{position:absolute;left:8%;top:8%;width:48%;padding:14px 18px;background:#10294c;border:5px solid #e5e8dc;box-shadow:8px 8px 0 rgba(0,0,0,.25)}.grpg-board span{display:block;color:#79dcff;font:700 10px ui-monospace,monospace}.grpg-board b{display:block;margin-top:8px;font-size:18px}
.grpg-pixel-scene>.grpg-carousel,.grpg-pixel-scene>.grpg-party{display:none}.grpg-conveyor i{position:absolute;width:42px;height:30px;background:#d94d45;border:4px solid #172236;left:calc(5% + var(--i)*11%);top:18%;box-shadow:inset 0 6px #ffc39c}
.grpg-missing{position:absolute;right:23%;top:31%;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(255,97,92,.9);border:4px solid #fff;box-shadow:0 0 0 7px rgba(255,97,92,.25);font:900 32px ui-monospace;color:#fff;animation:grpgPulse 1.1s infinite steps(2)}@keyframes grpgPulse{50%{transform:translateY(-5px)}}
.grpg-map-hero{position:absolute;width:72px;height:92px;transform:translate(-50%,-80%);z-index:4;transition:left .08s linear,top .08s linear;filter:drop-shadow(4px 6px 0 rgba(0,0,0,.35));background-image:url("../img/guide-rpg/guide-character-sheet-v1.png");background-size:512px 341px;background-repeat:no-repeat;image-rendering:pixelated}.grpg-map-hero.localGuide{background-position:-62px -2px}.grpg-map-hero.nationalGuide{background-position:-65px -84px}.grpg-map-hero.tourLeader{background-position:-65px -162px}.grpg-map-hero i{position:absolute;left:50%;bottom:-4px;width:38px;height:12px;border-radius:50%;background:rgba(0,0,0,.28);transform:translateX(-50%);z-index:-1}.grpg-map-npc{position:absolute;right:12%;top:21%;width:62px;height:82px;background-image:url("../img/guide-rpg/guide-character-sheet-v1.png");background-size:512px 341px;background-position:-394px -245px;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(4px 5px 0 rgba(0,0,0,.3))}.grpg-map-npc span{position:absolute;right:-2px;top:-18px;display:grid;place-items:center;width:24px;height:24px;background:var(--gr-gold);color:#101827;border:3px solid #fff;font-weight:900;animation:grpgPulse 1s steps(2) infinite}.grpg-game-hint{position:absolute;left:18px;bottom:18px;padding:8px 11px;background:rgba(7,14,25,.88);border:2px solid #fff;color:#dfeaff;font:700 10px ui-monospace;z-index:5}
.grpg-mission-card{align-self:center;margin:40px;padding:34px;background:linear-gradient(160deg,#17243d,#0c1425);border:4px solid #fff;box-shadow:9px 9px 0 #000}.grpg-mission-card h1,.grpg-event-card h1,.grpg-dispatch h1,.grpg-evidence h1,.grpg-debrief h1,.grpg-question h1{font:800 clamp(25px,3vw,42px)/1.15 "Songti SC","STSong",serif;margin:13px 0}.grpg-mission-card>p{color:#b7c4d4;line-height:1.8;font-size:14px}.grpg-condition{display:grid;grid-template-columns:1fr;gap:7px;margin:22px 0;padding:14px;background:#0b1322;border-left:4px solid var(--gr-gold)}.grpg-condition b{color:var(--gr-gold)}.grpg-condition span{font-size:12px;color:#acbbcd}
.grpg-primary{background:var(--gr-gold);color:#111827;border:0;padding:13px 20px;font-weight:800;box-shadow:0 5px 0 #9c6e08;transition:.15s}.grpg-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}.grpg-primary:active{transform:translateY(3px);box-shadow:0 2px 0 #9c6e08}
.grpg-role-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 24px;background:#0a1220;border-bottom:1px solid var(--gr-line)}.grpg-role-tabs button{text-align:left;padding:12px 15px;background:#14213a;border:2px solid #2e4566;color:#91a3bb}.grpg-role-tabs button.on{color:#fff;border-color:var(--gr-gold);box-shadow:inset 5px 0 var(--gr-gold)}.grpg-role-tabs small{font:700 9px ui-monospace;color:var(--gr-cyan)}.grpg-role-tabs b{display:block;font-size:15px;margin:3px 0}.grpg-role-tabs span{font-size:11px}
.grpg-ops-grid{min-height:calc(100% - 94px);display:grid;grid-template-columns:1.5fr .7fr}.grpg-world-panel{padding:28px}.grpg-world-panel header span{font:700 10px ui-monospace;color:var(--gr-cyan)}.grpg-world-panel header b{display:block;font-size:21px;margin-top:5px}.grpg-baggage-lab{height:calc(100% - 70px);min-height:360px;position:relative;margin-top:20px;background:#d8d1b8;border:8px solid #40526a;box-shadow:inset 0 0 0 4px #8395a6}.grpg-count{position:absolute;top:24px;padding:12px 18px;background:#102039;border:3px solid #fff;z-index:2}.grpg-count.expected{left:24px}.grpg-count.actual{right:24px}.grpg-count small,.grpg-count span{display:block;color:#9aadc1;font-size:10px}.grpg-count b{display:block;font:900 34px ui-monospace;color:var(--gr-gold)}.grpg-conveyor{position:absolute;left:7%;right:7%;top:42%;height:25%;background:#303841;border:10px solid #565d64;transform:skewX(-5deg)}.grpg-gap{position:absolute;right:10%;bottom:8%;display:flex;align-items:center;gap:10px;color:#18243a}.grpg-gap i{background:var(--gr-red);color:#fff;padding:11px;font:900 25px ui-monospace}.grpg-gap span{font-weight:800}
.grpg-intel{padding:34px;background:#101b2e;border-left:1px solid var(--gr-line)}.grpg-intel h2{font:800 28px "Songti SC","STSong",serif;margin:11px 0}.grpg-intel>p{color:#8397af;font-size:12px}.grpg-intel ul{list-style:none;margin:24px 0}.grpg-intel li{padding:13px 0 13px 18px;border-bottom:1px solid #2b3b51;color:#dce6f1;font-size:13px;position:relative}.grpg-intel li:before{content:"◆";position:absolute;left:0;color:var(--gr-gold)}
.grpg-action-layout{display:grid;grid-template-columns:1.3fr .7fr;max-width:1250px;margin:0 auto;padding:34px;gap:24px}.grpg-event-card{padding:28px;background:#111d32;border:3px solid #344c6d}.grpg-event-card>p{color:#9cafc6}.grpg-actions{display:grid;gap:10px;margin-top:24px}.grpg-actions button{text-align:left;padding:16px 18px;background:#1a2a46;border:2px solid #38506f;color:#fff;transition:.15s}.grpg-actions button:hover{border-color:var(--gr-gold);transform:translateX(4px)}.grpg-actions b,.grpg-actions span{display:block}.grpg-actions span{color:#8fa3bb;font-size:11px;margin-top:5px}.grpg-log{background:#080f1c;border:2px solid #273b58;padding:18px}.grpg-log>span{font:700 10px ui-monospace;color:var(--gr-cyan)}.grpg-log p{color:#8092a9;font-size:12px;line-height:1.7}.grpg-log article{padding:12px;margin-top:12px;border-left:4px solid}.grpg-log article.ok{background:rgba(114,226,168,.08);border-color:var(--gr-green)}.grpg-log article.bad{background:rgba(255,97,92,.08);border-color:var(--gr-red)}.grpg-log article b{font-size:12px}.grpg-log article p{margin-top:5px}
.grpg-dispatch,.grpg-evidence,.grpg-debrief{max-width:1180px;margin:0 auto;padding:36px}.grpg-dispatch header>p,.grpg-evidence-copy>p{color:#9baec4}.grpg-dispatch-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.grpg-dispatch-board article{padding:20px;background:#14223a;border:2px solid #344c6d}.grpg-dispatch-board article>span{font:700 9px ui-monospace;color:var(--gr-cyan)}.grpg-dispatch-board article>b{display:block;min-height:48px;margin:10px 0;font-size:16px}.grpg-dispatch-board article div{display:grid;gap:6px}.grpg-dispatch-board button{padding:9px;background:#0d1728;border:1px solid #39516f;color:#9eb0c5}.grpg-dispatch-board button.on{background:var(--gr-gold);color:#101827;border-color:var(--gr-gold);font-weight:800}.grpg-inline-feedback{display:inline-block;margin-left:14px;color:var(--gr-cyan);font-size:12px}
.grpg-evidence{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:center}.grpg-document-desk{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:25px;background:#6b5230;border:8px solid #402d19;box-shadow:inset 0 0 0 3px #9d7b4b}.grpg-document-desk button{text-align:left;min-height:115px;padding:15px;background:var(--gr-paper);color:#302917;border:0;box-shadow:5px 5px 0 rgba(0,0,0,.35);transform:rotate(-1deg)}.grpg-document-desk button:nth-child(2n){transform:rotate(1deg)}.grpg-document-desk button.on{outline:5px solid var(--gr-green)}.grpg-document-desk i{float:right;width:24px;height:24px;display:grid;place-items:center;background:#263957;color:#fff}.grpg-document-desk b,.grpg-document-desk small{display:block}.grpg-document-desk small{margin-top:8px;color:#756745}.grpg-evidence-submit{grid-column:1/-1;text-align:center}.grpg-evidence-submit p{color:var(--gr-cyan);font-size:12px}
.grpg-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:27px 0}.grpg-chain article{position:relative;min-height:185px;padding:18px;background:#14223a;border-top:5px solid var(--gr-gold)}.grpg-chain article>i{font:900 24px ui-monospace;color:#415674}.grpg-chain article b{display:block;margin:14px 0 8px}.grpg-chain article p{color:#9db0c6;font-size:11px;line-height:1.65}.grpg-chain article>span{position:absolute;right:-12px;top:50%;z-index:2;color:var(--gr-gold);font-size:20px}.grpg-role-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.grpg-role-summary article{padding:15px;border:1px solid #39516f}.grpg-role-summary small{color:var(--gr-cyan);font:700 9px ui-monospace}.grpg-role-summary b{display:block;margin:4px 0}.grpg-role-summary p{color:#91a4ba;font-size:11px}
.grpg-transfer{max-width:1100px;margin:0 auto;padding:35px;display:grid;grid-template-columns:1fr 220px;gap:24px}.grpg-question{padding:26px;background:#111d32;border:3px solid #3a526f}.grpg-q-meta{display:flex;justify-content:space-between;color:#8fa2ba;font-size:11px;margin-top:10px}.grpg-q-meta b{color:var(--gr-gold)}.grpg-options{display:grid;gap:8px;margin:25px 0}.grpg-options button{display:flex;gap:12px;text-align:left;align-items:center;padding:13px;background:#172741;border:2px solid #3a526f;color:#dfe8f2}.grpg-options button.on{border-color:var(--gr-gold);background:#293345}.grpg-options i{width:28px;height:28px;display:grid;place-items:center;background:#0b1425;color:var(--gr-gold);font:800 12px ui-monospace}.grpg-options .answer-ok{border-color:var(--gr-green);background:rgba(114,226,168,.12)}.grpg-options .answer-bad{border-color:var(--gr-red);background:rgba(255,97,92,.12)}.grpg-answer{padding:16px;border-left:5px solid}.grpg-answer.ok{border-color:var(--gr-green);background:rgba(114,226,168,.08)}.grpg-answer.bad{border-color:var(--gr-red);background:rgba(255,97,92,.08)}.grpg-answer p{color:#acbdd0;font-size:12px;line-height:1.7}.grpg-source{padding:18px;background:#080f1c;border:1px solid #2f4564}.grpg-source>span{font:700 10px ui-monospace;color:var(--gr-cyan)}.grpg-source code{display:block;margin-top:10px;padding:8px;background:#14223a;color:var(--gr-gold);font-size:10px}.grpg-source p{color:#7f93aa;font-size:11px;line-height:1.6;margin-top:18px}
@media(max-width:900px){.grpg-topbar{grid-template-columns:auto 1fr;padding:0 12px}.grpg-vitals{display:none}.grpg-brief,.grpg-ops-grid,.grpg-action-layout,.grpg-evidence,.grpg-transfer,.grpg-preparation{grid-template-columns:1fr}.grpg-pixel-scene,.grpg-prep-room{min-height:340px;border-right:0;border-bottom:5px solid #09111f}.grpg-mission-card{margin:18px}.grpg-dispatch-board,.grpg-chain{grid-template-columns:1fr}.grpg-chain article{min-height:auto}.grpg-chain article>span{display:none}.grpg-role-tabs{padding:10px;gap:5px}.grpg-role-tabs button{padding:9px}.grpg-role-tabs span{display:none}.grpg-chapter-rail{width:calc(100% - 16px);overflow-x:auto}.grpg-chapter-rail span{flex:1;justify-content:center;min-width:58px}.grpg-intel{border-left:0;border-top:1px solid var(--gr-line)}.grpg-source{display:none}.grpg-career-cards{grid-template-columns:1fr}.grpg-career-cards>button{min-height:315px}.grpg-route-line{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.grpg-app{left:0}.grpg-topbar{padding-left:70px}.grpg-exit{font-size:0}.grpg-exit::after{content:"退出";font-size:11px}}
@media(max-width:560px){.grpg-title span{display:none}.grpg-title b{font-size:14px}.grpg-stage{bottom:62px}.grpg-mission-card h1,.grpg-event-card h1,.grpg-dispatch h1,.grpg-evidence h1,.grpg-debrief h1,.grpg-question h1{font-size:25px}.grpg-pixel-scene{min-height:280px}.grpg-board{width:68%}.grpg-party{display:none}.grpg-dispatch,.grpg-evidence,.grpg-debrief,.grpg-transfer,.grpg-action-layout,.grpg-career,.grpg-journey{padding:18px}.grpg-document-desk{grid-template-columns:1fr}.grpg-role-summary,.grpg-route-line{grid-template-columns:1fr}.grpg-world-panel{padding:14px}.grpg-baggage-lab{min-height:300px}.grpg-conveyor i:nth-child(n+7){display:none}.grpg-career h1,.grpg-journey h1{font-size:34px}.grpg-career-cards>button{min-height:300px}.grpg-journey>header{align-items:start;flex-direction:column}.grpg-prep-panel{margin:14px}.grpg-prep-room{min-height:280px}}
@media(prefers-reduced-motion:reduce){.grpg-enter,.grpg-missing{animation:none}.grpg-primary,.grpg-actions button{transition:none}}

/* 角色表裁切：每张职业卡只显示对应正面站立帧。 */
.grpg-career-portrait{right:14px;width:112px;height:120px}
.grpg-career-portrait.nationalGuide{background-position:-105px -125px}
.grpg-career-portrait.tourLeader{background-position:-105px -242px}

/* 可玩机场层：全幅地图、碰撞反馈、NPC交互与移动端方向盘。 */
.grpg-brief{position:relative;display:block;min-height:100%;overflow:hidden}
.grpg-pixel-scene{position:absolute;inset:0}
.grpg-mission-card{position:absolute;right:24px;top:50%;width:min(350px,31vw);transform:translateY(-50%);margin:0;padding:28px;z-index:7;background:linear-gradient(160deg,rgba(23,36,61,.96),rgba(12,20,37,.97))}
.grpg-mission-card>p{font-size:13px}.grpg-condition{margin:18px 0;padding:12px}
.grpg-map-hero.walking{animation:grpgWalk .14s steps(2) infinite}
.grpg-map-hero.dir-left{transform:translate(-50%,-80%) scaleX(-1)}
@keyframes grpgWalk{50%{margin-top:-5px}}
.grpg-interact-prompt{position:absolute;left:50%;top:15px;transform:translateX(-50%);z-index:8;padding:9px 15px;background:rgba(7,14,25,.9);border:2px solid #7890ad;color:#dce7f4;font-size:11px;font-weight:700;box-shadow:4px 4px 0 rgba(0,0,0,.35)}
.grpg-interact-prompt.ready{border-color:var(--gr-gold);color:var(--gr-gold);animation:grpgReady .8s steps(2) infinite}
@keyframes grpgReady{50%{transform:translateX(-50%) translateY(-3px)}}
.grpg-touch-pad{display:none}

@media(max-width:900px){
  .grpg-mission-card{right:12px;top:80px;width:280px;transform:none;padding:18px}
  .grpg-mission-card h1{font-size:26px}
  .grpg-mission-card>p,.grpg-condition{display:none}
}
@media(max-width:560px){
  .grpg-game-hint{display:none}
  .grpg-interact-prompt{top:auto;bottom:118px;max-width:250px;text-align:center}
  .grpg-touch-pad{position:absolute;left:14px;bottom:14px;z-index:9;display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}
  .grpg-touch-pad button{background:rgba(8,15,27,.9);border:2px solid #fff;color:#fff;font-weight:900}
  .grpg-touch-pad button:nth-child(1){grid-column:2}
  .grpg-touch-pad button:nth-child(2){grid-column:1;grid-row:2}
  .grpg-touch-pad button:nth-child(3){grid-column:2;grid-row:2}
  .grpg-touch-pad button:nth-child(4){grid-column:3;grid-row:2}
  .grpg-touch-pad .action{position:fixed;right:18px;bottom:20px;width:58px;height:58px;border-radius:50%;background:var(--gr-gold);color:#101827;border:4px solid #fff}
  .grpg-mission-card{top:12px;right:10px;width:215px}
  .grpg-mission-card .grpg-primary{font-size:11px;padding:9px}
  .grpg-board{display:none}
}

/* 连续工作日通用业务关卡 */
.grpg-act{min-height:100%;display:grid;grid-template-columns:.9fr 1.1fr}
.grpg-act-scene{position:relative;overflow:hidden;padding:44px;background:linear-gradient(150deg,#162943,#0b1525);border-right:5px solid #080e19}
.grpg-act-scene:after{content:"";position:absolute;inset:0;opacity:.22;background:linear-gradient(90deg,transparent 49%,rgba(117,220,255,.16) 50%,transparent 51%),linear-gradient(transparent 49%,rgba(117,220,255,.12) 50%,transparent 51%);background-size:34px 34px}
.grpg-act-scene>*{position:relative;z-index:1}
.grpg-act-scene h1,.grpg-complete h1{font:900 clamp(48px,7vw,90px)/1 "Songti SC","STSong",serif;margin:18px 0}
.grpg-act-scene>p{max-width:560px;color:#b0c0d2;font-size:15px;line-height:1.9}
.grpg-act-state{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.grpg-act-state span{padding:9px 12px;background:#0b1525;border:1px solid #38506f;color:#8fa4ba;font-size:11px}.grpg-act-state b{display:block;color:var(--gr-gold);font-size:14px}
.grpg-role-lens{max-width:570px;margin-top:12px;padding:13px 15px;background:rgba(8,15,28,.82);border-left:4px solid var(--gr-cyan)}.grpg-role-lens b{color:var(--gr-cyan);font-size:13px}.grpg-role-lens p{color:#c1cede;font-size:11px;margin:3px 0}.grpg-role-lens small{color:#eaa9a6;font-size:10px}
.grpg-act-pixel{position:absolute;left:8%;right:8%;bottom:8%;height:230px;background:linear-gradient(#78b8ca 0 38%,#d4c69e 38% 78%,#74563a 78%);border:7px solid #314863;box-shadow:11px 11px 0 rgba(0,0,0,.25)}
.grpg-act-pixel:before{content:"";position:absolute;left:12%;right:12%;bottom:22%;height:30%;background:#29394b;border:8px solid #111d2d}
.grpg-act-pixel>i{position:absolute;left:46%;bottom:18%;width:72px;height:92px;background-image:url("../img/guide-rpg/guide-character-sheet-v1.png");background-size:512px 341px;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(4px 5px rgba(0,0,0,.3))}
.grpg-act-pixel>i.localGuide{background-position:-62px -2px}.grpg-act-pixel>i.nationalGuide{background-position:-65px -84px}.grpg-act-pixel>i.tourLeader{background-position:-65px -162px}
.grpg-act-pixel>span{position:absolute;right:14px;top:12px;padding:6px 9px;background:#10213a;color:var(--gr-cyan);font:700 10px ui-monospace}
.grpg-act-console{align-self:center;margin:28px;padding:30px;background:#111d31;border:3px solid #38506f;box-shadow:8px 8px 0 #050912}
.grpg-act-console h2{font:800 28px "Songti SC","STSong",serif;margin:12px 0 20px}
.grpg-act-instruction{margin:-12px 0 17px;color:#8fa4bb;font-size:11px;line-height:1.6}
.grpg-act-actions{display:grid;gap:8px;margin-bottom:22px}.grpg-act-actions button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;background:#192a45;border:2px solid #38506f;color:#afbed0}.grpg-act-actions button.on{border-color:var(--gr-gold);color:#fff}.grpg-act-actions button.ok{border-color:var(--gr-green);background:rgba(114,226,168,.1)}.grpg-act-actions button.bad{border-color:var(--gr-red);background:rgba(255,97,92,.1)}.grpg-act-actions i{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#0a1424;color:var(--gr-gold);font:800 11px ui-monospace}
.grpg-act-result{padding:16px;border-left:5px solid}.grpg-act-result.ok{border-color:var(--gr-green);background:rgba(114,226,168,.08)}.grpg-act-result.bad{border-color:var(--gr-red);background:rgba(255,97,92,.08)}.grpg-act-result p{color:#aabacf;font-size:12px;margin:5px 0 12px}.grpg-source-ids{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:13px}.grpg-source-ids code{padding:4px 7px;background:#080f1c;color:var(--gr-cyan);font-size:9px}
.grpg-act-result ol{margin:8px 0 13px;padding-left:22px;color:#dce8f2;font-size:11px}.grpg-act-result li{padding:3px 0}
.grpg-complete{min-height:100%;display:grid;place-content:center;text-align:center;padding:40px;background:radial-gradient(circle at 50% 40%,#213b5c,#09111f 64%)}.grpg-complete-mark{margin:0 auto 20px;width:130px;height:130px;display:grid;place-items:center;border-radius:50%;border:7px double var(--gr-gold);color:var(--gr-gold);font:900 24px ui-monospace;box-shadow:0 0 0 12px rgba(255,211,79,.08)}.grpg-complete h1{font-size:55px}.grpg-complete>p{max-width:680px;margin:0 auto;color:#aabbd0}.grpg-complete-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:27px auto;max-width:760px}.grpg-complete-stats span{padding:14px;background:#111e32;border:1px solid #38506f;color:#8297ae;font-size:10px}.grpg-complete-stats b{display:block;color:var(--gr-gold);font-size:20px}.grpg-complete-actions{display:flex;justify-content:center;gap:10px}.grpg-complete-actions>button:not(.grpg-primary){padding:12px 18px;border:1px solid #4a6485;background:#121f34}
@media(max-width:800px){.grpg-act{grid-template-columns:1fr}.grpg-act-scene{min-height:360px;border-right:0;border-bottom:5px solid #080e19;padding:25px}.grpg-act-pixel{height:160px}.grpg-act-console{margin:14px}.grpg-complete-stats{grid-template-columns:repeat(2,1fr)}}
.grpg-complete{color:#f8fbff}

/* 自由探索垂直切片 */
.grpg-free-hud{position:absolute;z-index:8;left:22px;top:22px;width:260px;padding:18px;background:rgba(8,15,28,.93);border:3px solid #547091;box-shadow:7px 7px 0 rgba(0,0,0,.35);color:#e8f0f8}
.grpg-free-hud h1{font:900 28px/1.05 "Songti SC","STSong",serif;margin:8px 0}.grpg-free-hud p{font-size:11px;line-height:1.65;color:#a9b9cb}
.grpg-objective{margin:12px 0;padding:10px;background:#12233b;border-left:4px solid var(--gr-gold);font-size:11px}.grpg-objective b,.grpg-objective span{display:block}.grpg-objective b{color:var(--gr-gold);font-size:9px;letter-spacing:.14em;margin-bottom:4px}.grpg-inventory{display:flex;flex-wrap:wrap;gap:5px;min-height:28px}.grpg-inventory small{color:#71839a;font-size:10px}.grpg-item{padding:5px 7px;background:#203957;border:1px solid #5e7da2;color:#dff1ff;font-size:10px}
.grpg-end-investigation{width:100%;margin-top:14px}
.grpg-hotspot{position:absolute;z-index:5;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;cursor:pointer;padding:0}.grpg-hotspot i{display:block;width:24px;height:24px;border:3px solid #fff;background:var(--gr-gold);box-shadow:0 0 0 4px rgba(255,211,79,.25);animation:grpg-pulse 1.1s infinite}.grpg-hotspot.object i{background:var(--gr-cyan)}.grpg-hotspot span{position:absolute;inset:0;display:grid;place-items:center;color:#101827;font:900 15px ui-monospace}.grpg-hotspot b{display:block;margin-top:5px;white-space:nowrap;background:rgba(8,15,28,.8);padding:3px 5px;font-size:9px;opacity:0}.grpg-hotspot:hover b{opacity:1}@keyframes grpg-pulse{50%{transform:scale(1.18)}}
.grpg-dialogue-backdrop{position:absolute;inset:0;z-index:20;display:grid;place-items:end center;padding:28px;background:rgba(2,7,15,.42)}.grpg-dialogue{width:min(700px,calc(100% - 36px));padding:18px 20px;background:#101e34;border:3px solid #d5e7f5;box-shadow:8px 8px 0 rgba(0,0,0,.45)}.grpg-dialogue header{display:flex;justify-content:space-between;align-items:center}.grpg-dialogue header button{background:none;border:0;color:#fff;font-size:24px}.grpg-dialogue-text{color:#edf6ff;line-height:1.7;font-size:14px}.grpg-dialogue-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.grpg-dialogue-options button{padding:11px;text-align:left;background:#1b3150;border:2px solid #476989;color:#fff;font-weight:700}.grpg-dialogue-options button:hover{border-color:var(--gr-gold)}.grpg-dialogue-options small{display:block;color:#9eb2c8;font-size:10px;margin-top:4px;font-weight:400}
@media(max-width:800px){.grpg-free-hud{left:10px;top:10px;width:210px;padding:12px}.grpg-free-hud h1{font-size:21px}.grpg-free-hud p{display:none}.grpg-dialogue-options{grid-template-columns:1fr}.grpg-dialogue-backdrop{padding:12px}.grpg-dialogue{width:calc(100% - 10px)}}
