.join-shell{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 18% 14%,rgba(116,158,180,.18),transparent 34%),#e9f0f4;color:#20323d}.join-card{width:min(480px,100%);border:1px solid #cbd9e0;border-radius:22px;background:#fffffff7;box-shadow:0 22px 60px #334d5b26;padding:clamp(24px,6vw,42px)}.join-mark{display:inline-flex;min-height:30px;align-items:center;border-radius:999px;background:#e6eef2;color:#315f7a;padding:5px 11px;font-size:12px;font-weight:800;letter-spacing:.06em}.join-eyebrow{margin:24px 0 4px;color:#5b7482;font-size:13px;font-weight:750}.join-card h1{margin:12px 0 10px;color:#1d2d38;font-size:clamp(28px,7vw,42px);line-height:1.12;letter-spacing:-.025em}.join-card>p{margin:0;color:#667985;line-height:1.72}.join-form{display:grid;gap:9px;margin:28px 0 16px}.join-form label{color:#526873;font-size:13px;font-weight:800}.join-form input{width:100%;min-height:52px;border:1px solid #c5d4dc;border-radius:12px;background:#fff;color:#1d2d38;padding:11px 13px;font:inherit;font-size:17px;letter-spacing:.025em;text-transform:uppercase}.join-form input:focus{outline:4px solid rgba(49,95,122,.14);border-color:#315f7a}.join-submit{min-height:52px;margin-top:5px}.join-verified,.join-status{display:grid;gap:3px;border:1px solid #c8ddd3;border-radius:12px;background:#edf6f1;color:#315e49;padding:12px 14px;margin:14px 0}.join-status{border-color:#e3d2ae;background:#faf4e7;color:#76591f;line-height:1.5}.join-verified span{font-size:12px}.join-privacy{border-top:1px solid #e1e8eb;margin-top:22px;padding-top:18px;color:#74858f;font-size:12px;line-height:1.65}@media(max-width:420px){.join-shell{padding:12px;place-items:stretch}.join-card{min-height:calc(100dvh - 24px);display:flex;flex-direction:column;justify-content:center;border-radius:18px}}.showcase-entry,.showcase-complete,.showcase-missing{--demo-blue:#4263df;--demo-ink:#202d3b;color:var(--demo-ink);font-family:Microsoft YaHei,sans-serif;background:#f5f7fb;min-height:100dvh;box-sizing:border-box}.showcase-entry *{box-sizing:border-box}.showcase-brand{max-width:1280px;margin:auto;padding:26px 32px;display:flex;gap:12px;align-items:center}.showcase-brand>span:last-child{color:#4b5563;font-size:13px;margin-left:8px}.showcase-mark{background:#4263df;color:#fff;border-radius:10px;font-size:24px;width:38px;height:38px;text-align:center;line-height:38px}.showcase-entry-grid{max-width:1280px;margin:auto;padding:14px 32px 30px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.showcase-intro{padding-top:26px}.showcase-eyebrow{font-size:13px;font-weight:650;letter-spacing:.06em;color:#3459cd}.showcase-intro h1,.showcase-complete h1{font-size:clamp(36px,4.2vw,60px);line-height:1.18;letter-spacing:-.04em;margin:20px 0}.showcase-intro>p{font-size:17px;line-height:1.9;color:#475569;margin:20px 0}.showcase-preview{border-radius:22px;overflow:hidden;background:#e8ecec;margin-top:24px;aspect-ratio:4/3}.showcase-preview img{width:100%;height:100%;object-fit:cover}.showcase-intro>.showcase-caption{font-size:13px;margin-top:14px;color:#3459cd}.showcase-setup{background:#fff;border:1px solid #dce3ef;border-radius:24px;padding:26px;box-shadow:0 15px 40px #21375c08}.showcase-section-title{display:flex;gap:10px;align-items:center;margin-bottom:16px}.showcase-section-title>span{font-size:11px;color:#4263df;background:#f0f4ff;border-radius:7px;padding:7px;font-weight:700}.showcase-section-title h2{font-size:18px;margin:0}.showcase-bags{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px}.showcase-bags button{font:inherit;border:1px solid #dce3ef;border-radius:14px;background:#fafbfd;text-align:left;padding:12px;min-height:142px;cursor:pointer;color:#202d3b;transition:background .15s,border-color .15s}.showcase-bags button.is-selected{border:2px solid #4263df;background:#f1f5ff;padding:11px;box-shadow:0 0 0 2px #4263df12}.showcase-bags img{height:68px;width:100%;object-fit:contain;margin-bottom:8px}.showcase-bags strong{display:block;font-size:14px}.showcase-bags small{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#4b5563}.showcase-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.showcase-fields label{font-size:13px;font-weight:600}.showcase-fields select{display:block;width:100%;margin-top:8px;min-height:44px;border:1px solid #c6d1e1;border-radius:9px;background:#fff;color:#202d3b;font:inherit;padding:10px}.showcase-wide{grid-column:1/-1}.showcase-start{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#4263df;color:#fff;border:0;border-radius:12px;min-height:52px;padding:14px 22px;font:600 17px Microsoft YaHei,sans-serif;text-decoration:none;width:100%;margin-top:24px;cursor:pointer}.showcase-start:hover{background:#3459cd}.showcase-start:disabled{cursor:wait;background:#dce3ed;color:#334155}.showcase-local-note{font-size:12px;color:#4b5563;line-height:1.6;margin:12px 0 0}.showcase-footer{max-width:1280px;margin:auto;padding:0 32px 24px;display:flex;justify-content:space-between;gap:20px;color:#4b5563;font-size:12px}.showcase-footer a{color:#3459cd;min-height:44px;display:inline-flex;align-items:center}.showcase-entry :focus-visible,.demo-hud :focus-visible,.world-interaction-prompt :focus-visible{outline:3px solid #3355d1;outline-offset:3px}.showcase-complete{display:grid;place-items:center;padding:28px}.showcase-complete>div{max-width:520px}.showcase-complete p{line-height:1.8}.showcase-complete small{display:block;margin-top:16px;color:#4b5563}.showcase-missing{padding:50px}.demo-hud{position:absolute;inset:20px 20px auto;z-index:35;pointer-events:none;display:flex;justify-content:space-between;gap:12px;font-family:Microsoft YaHei,sans-serif;color:#202d3b}.demo-hud-card{background:#fffffff2;border:1px solid #d3dcec;border-radius:13px;box-shadow:0 5px 20px #23395712;padding:12px 16px;max-width:340px}.demo-hud-card small{display:block;color:#3459cd;font-size:11px;margin-bottom:5px}.demo-hud-card strong{font-size:16px}.demo-hud-card p{font-size:12px;line-height:1.5;margin:6px 0 0;color:#4b5563}.demo-hud a{pointer-events:auto;align-self:start;background:#fff;border:1px solid #d3dcec;border-radius:10px;padding:12px 16px;color:#3459cd;text-decoration:none;font-size:13px;min-height:44px}.world-interaction-prompt{font:14px Microsoft YaHei,sans-serif;color:#202d3b;width:216px;background:#fffffff2;border:1px solid #bdcce9;border-radius:12px;padding:12px;box-shadow:0 8px 24px #20345424;pointer-events:auto;position:relative}.world-interaction-prompt:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:24px;background:#8eabd6}.world-interaction-prompt strong{display:block;font-size:14px;margin-bottom:5px}.world-interaction-prompt small{display:block;font-size:11px;color:#4b5563;margin-bottom:9px}.world-interaction-prompt button{display:block;width:100%;min-height:40px;background:#4263df;border:0;border-radius:7px;color:#fff;font:600 13px Microsoft YaHei,sans-serif;cursor:pointer;margin-top:7px}.world-interaction-prompt button.secondary{background:#f2f5fb;color:#3459cd;border:1px solid #d4def0}.world-interaction-prompt button:disabled{background:#e5eaf2;color:#4b5563;cursor:default}.world-interaction-prompt kbd{font:10px sans-serif;margin-left:8px;border:1px solid #ffffff80;border-radius:3px;padding:1px 4px}.showcase-world .world-mode-switch,.showcase-world .world-hint,.showcase-world .paper-view-controls{display:none!important}@media(max-width:760px){.showcase-brand{padding:18px 20px}.showcase-brand>span:last-child{font-size:11px}.showcase-entry-grid{grid-template-columns:1fr;gap:20px;padding:0 20px 24px}.showcase-intro{padding-top:6px}.showcase-intro h1{font-size:38px;margin:14px 0}.showcase-intro>p{font-size:14px;margin:12px 0}.showcase-preview{display:none}.showcase-setup{padding:18px;border-radius:18px}.showcase-footer{padding:0 20px 20px;align-items:center}.demo-hud{inset:max(10px,env(safe-area-inset-top)) 10px auto}.demo-hud-card{max-width:230px;padding:9px 12px}.demo-hud-card strong{font-size:13px}.demo-hud-card p{font-size:11px}.demo-hud a{padding:10px;font-size:12px}.world-interaction-prompt{width:182px;padding:9px}.world-interaction-prompt button{min-height:44px}}@media(prefers-reduced-motion:reduce){.showcase-entry *{transition:none!important}}.touch-interaction-help{display:none}.demo-hud-tools{display:flex;gap:8px;align-items:flex-start;pointer-events:auto}.demo-hud-tools button{background:#f2f6ff;color:#3459cd;border:1px solid #bdcce9;border-radius:10px;min-height:44px;padding:12px 14px;font:13px Microsoft YaHei,sans-serif;cursor:pointer}.demo-hud-tools button[aria-pressed=true]{background:#4263df;color:#fff;border-color:#4263df}.capture-all-hud .world-action-bar .world-help-button{display:grid!important;grid-template-columns:1fr;justify-items:center;align-content:center;gap:6px}.capture-all-hud .world-action-bar .hud-action:disabled{opacity:1;color:#526785;background:#f1f4f8;box-shadow:0 4px 14px #20345416;cursor:default}.capture-all-hud .world-action-bar .world-shot-back:disabled{opacity:1;color:#526785;background:#f1f4f8;cursor:default}.capture-all-hud .world-action-bar{z-index:65}@media(max-width:760px){.demo-hud-tools{flex-direction:column;gap:6px}.demo-hud-tools button{padding:9px;font-size:11px}.capture-all-hud .demo-hud-card{max-width:200px}.capture-all-hud .world-action-bar .hud-action{width:60px;height:60px}}.world-prompt-anchor{position:relative;pointer-events:none}.world-prompt-anchor .world-interaction-prompt{z-index:1}.world-prompt-anchor .world-interaction-prompt:after{content:none}.world-prompt-leader{position:absolute;left:50%;top:50%;overflow:visible;pointer-events:none;z-index:0;visibility:hidden}.world-prompt-leader path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.world-prompt-leader-halo{stroke:#fff;stroke-width:3;opacity:.85}.world-prompt-leader-stroke{stroke:#4263df;stroke-width:1.5}.world-prompt-leader-dot{fill:#4263df;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.showcase-world .world-shot-back,.showcase-world .world-workbench-back{left:50%;right:auto;top:20px;transform:translate(-50%);min-height:44px;font-size:13px}.showcase-world:not(.world-root-workbench):not(.capture-all-hud) .world-action-bar .world-help-button{display:none!important}@media(hover:none),(pointer:coarse){.desktop-interaction-help,.world-interaction-prompt kbd{display:none}.touch-interaction-help{display:inline}}@media(max-width:760px){.showcase-world .world-shot-back,.showcase-world .world-workbench-back{top:104px;left:10px;transform:none;min-height:44px;padding:10px 14px}}.paper-figure-ui{--photo-tile:clamp(88px,8.5vw,116px);--photo-gap:10px;--photo-edge:max(14px,env(safe-area-inset-right))}.paper-figure-ui .demo-hud{display:none!important}.paper-figure-ui .world-interaction-prompt{width:clamp(220px,24vw,300px);padding:14px;border:1px solid #b0c2db;border-radius:14px;background:#fff;box-shadow:0 5px #263a6418,0 12px 24px #10244220}.paper-figure-ui .world-interaction-prompt strong{font-size:clamp(16px,1.6vw,21px);line-height:1.4;margin:0 0 10px;font-weight:700;white-space:nowrap}.paper-figure-ui .world-interaction-prompt small{display:none}.paper-figure-ui .world-interaction-prompt button{font-size:clamp(19px,2vw,27px);line-height:1.3;min-height:50px;padding:10px 8px;margin-top:8px;border-radius:9px;box-shadow:inset 0 -3px #10244224}.paper-figure-ui .world-interaction-prompt .secondary{font-size:clamp(15px,1.35vw,19px);min-height:44px;box-shadow:none}.paper-figure-ui .world-interaction-prompt kbd{font-size:12px;vertical-align:middle}.prompt-action-icon{margin-right:8px}.paper-figure-ui .world-action-bar .hud-action{box-sizing:border-box;position:absolute;top:auto;bottom:max(14px,env(safe-area-inset-bottom))!important;left:auto;transform:none;width:var(--photo-tile);height:var(--photo-tile);min-width:0;min-height:0;max-width:none;padding:10px 4px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #b0c2db;border-radius:16px;background:#fff;color:#183b57;box-shadow:0 4px #263a6418,0 6px 16px #10244218}.paper-figure-ui .world-action-bar .phone-hud{right:calc(var(--photo-edge) + 2 * (var(--photo-tile) + var(--photo-gap)))}.paper-figure-ui .world-action-bar .luggage-drop-hud{right:calc(var(--photo-edge) + var(--photo-tile) + var(--photo-gap))}.paper-figure-ui .world-action-bar .world-help-button{right:var(--photo-edge)}.paper-figure-ui .world-action-bar .hud-action:disabled{color:#697b8c;background:#edf1f5;box-shadow:0 2px #263a6418}.paper-figure-ui .world-action-bar .hud-action .hud-action-label{font-size:clamp(15px,1.45vw,20px);line-height:1.3;font-weight:700;overflow:visible;white-space:nowrap;max-width:none}.paper-figure-ui .world-action-bar .hud-icon{width:clamp(34px,3.7vw,48px);height:clamp(34px,3.7vw,48px);stroke-width:1.9}.paper-figure-ui .world-shot-back,.paper-figure-ui .world-workbench-back{left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));transform:none;font-size:16px;min-height:44px}.paper-figure-ui .world-prompt-leader-stroke{stroke-width:2}.paper-figure-ui .world-prompt-leader-halo{stroke-width:4}.game-view-tools{position:absolute;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));z-index:80;color:#183b57}.game-settings-toggle{display:grid;place-items:center;width:44px;height:44px;background:#fff;border:1px solid #b0c2db;border-radius:12px;cursor:pointer;box-shadow:0 3px 10px #10244214}.game-settings-toggle svg{width:25px;height:25px}.game-view-menu{position:absolute;right:0;top:52px;width:260px;max-width:calc(100vw - 28px);padding:14px;display:grid;gap:10px;border:1px solid #b0c2db;background:#fff;border-radius:14px;box-shadow:0 10px 30px #10244230}.game-view-menu button,.game-view-menu a,.fullscreen-control>button{display:block;width:100%;min-height:44px;padding:10px 14px;border:1px solid #bdcce9;border-radius:9px;background:#f2f6ff;color:#274b9c;font:600 15px Microsoft YaHei,sans-serif;text-align:center;text-decoration:none;cursor:pointer}.game-view-menu small{font-size:12px;line-height:1.7;color:#536678}.fullscreen-control{position:relative}.showcase-brand>.fullscreen-control{margin-left:auto}.fullscreen-hint{position:absolute;right:0;top:100%;width:280px;max-width:calc(100vw - 28px);background:#fff;border:1px solid #b0c2db;border-radius:12px;padding:16px;z-index:150;box-shadow:0 8px 32px #10244230;font-size:14px;line-height:1.7;color:#243c63}.fullscreen-hint p{margin:0 0 12px}.fullscreen-hint button{min-height:44px}.game-view-menu .fullscreen-hint{position:relative;width:auto;padding:10px;box-shadow:none;margin-top:8px}@media(max-width:600px){.showcase-brand{flex-wrap:wrap}.showcase-brand>.fullscreen-control{margin-left:0}.showcase-brand>span:last-of-type{display:none}.paper-figure-ui .world-interaction-prompt{width:220px;padding:12px}.paper-figure-ui .world-interaction-prompt button{font-size:21px}.paper-figure-ui .world-interaction-prompt .secondary{font-size:16px}}@media(max-height:500px){.paper-figure-ui{--photo-tile:76px}.paper-figure-ui .world-interaction-prompt{width:220px;padding:10px}.paper-figure-ui .world-interaction-prompt button{min-height:44px;font-size:20px;padding:7px}.paper-figure-ui .world-interaction-prompt strong{font-size:16px;margin-bottom:5px}.paper-figure-ui .world-action-bar .hud-action .hud-action-label{font-size:14px}.paper-figure-ui .world-action-bar .hud-icon{width:30px;height:30px}}:root{--bg: #eef3f6;--surface: #ffffff;--surface-muted: #f3f7fa;--ink: #2b3a46;--ink-muted: #647783;--primary: #8fb8ce;--primary-strong: #5d8da8;--secondary: #c9b8d4;--accent-coral: #e9b4a6;--success: #8fbc9f;--warning: #e6c58f;--danger: #dc8d7f;--danger-strong: #b96b5e;--line: #d5e0e7;--shadow: rgba(64, 88, 104, .16);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--touch: 44px;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{min-height:var(--touch)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.shell{max-width:480px;margin:0 auto;min-height:100dvh;padding:16px;display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow);padding:16px}.card h1,.card h2{margin:0 0 8px;color:var(--ink)}.card p{color:var(--ink-muted);line-height:1.6;margin:6px 0}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:12px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-md);padding:10px 14px;min-height:var(--touch);font-weight:600;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.btn.ghost{background:transparent;border-color:transparent;color:var(--primary-strong)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.warning{background:var(--warning);border-color:var(--warning);color:var(--ink)}.badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:var(--radius-pill, 999px);background:var(--surface-muted);border:1px solid var(--line);color:var(--ink-muted);font-size:12px;font-weight:700}.badge.ai{background:#e5eef5;border-color:#b8d2e2;color:#426b83}.badge.baseline{background:#f0f0f4;border-color:#d8d5e2;color:#6e6478}.badge.demo{background:#fff3e6;border-color:#f0d2ae;color:#a26b2b}.notice{border-left:4px solid var(--warning);background:#fdf6e7;padding:10px 12px;border-radius:8px}.error-box{border-left:4px solid var(--danger-strong);background:#fdeeea;padding:10px 12px;border-radius:8px;color:#7b3b31}.success-box{border-left:4px solid var(--success);background:#eef7f0;padding:10px 12px;border-radius:8px;color:#336144}.field{display:flex;flex-direction:column;gap:6px}.rating-scale-labels{display:flex;justify-content:space-between;color:var(--ink-muted);font-size:11px}.screen-tier-auto{display:flex;align-items:center;min-height:42px;padding:9px 12px;border:1px solid #c8d9e2;border-radius:10px;background:#f2f8fb;color:#315f7a;font-size:13px;font-weight:700}.field label{font-size:13px;color:var(--ink-muted);font-weight:600}.field input,.field select{min-height:var(--touch);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;color:var(--ink);width:100%}.steps{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.step{white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--surface-muted);color:var(--ink-muted);font-size:12px;border:1px solid var(--line)}.step.active{background:var(--primary);color:#fff;border-color:var(--primary)}.step.done{background:#e5f1e6;color:#336144;border-color:#b9d9c1}.mode-banner{text-align:center;font-size:13px;color:var(--ink-muted)}.hit-area{touch-action:manipulation}canvas{display:block;max-width:100%}.a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:360px){.shell{padding:10px}.card{padding:12px}}.agent-bubble{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(440px,calc(100vw - 24px));display:flex;gap:10px;align-items:flex-start;background:#fbfcfd;border:1px solid #b8d2e2;border-radius:18px;box-shadow:0 14px 36px #4058683d;padding:10px;z-index:30;animation:agent-rise .18s ease-out}.agent-avatar{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#8fb8ce,#c9b8d4);color:#fff;font-weight:800}.agent-body{flex:1;min-width:0}.agent-body p{margin:4px 0 8px;font-size:14px;line-height:1.5}@keyframes agent-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.phone-frame{width:min(360px,100%);margin:0 auto;background:linear-gradient(160deg,#2e3d4b,#22303c);border-radius:34px;padding:10px;box-shadow:0 24px 48px #2c3c4b59,inset 0 0 0 2px #4b5b68}.phone-notch{width:130px;height:18px;margin:0 auto 8px;border-radius:0 0 12px 12px;background:#1d2731}.phone-screen{background:linear-gradient(180deg,#eef3f6,#dfe9ef);border-radius:24px;overflow:hidden;min-height:560px}.phone-statusbar{display:flex;justify-content:space-between;padding:8px 14px;color:var(--ink);font-weight:700}.phone-notification{margin:8px 12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 22px var(--shadow);animation:notify-in .42s cubic-bezier(.2,.9,.3,1.2);font-weight:700;color:var(--primary-strong)}.phone-content{padding:12px;display:flex;flex-direction:column;gap:12px}@keyframes notify-in{0%{opacity:0;transform:translateY(-18px) scale(.96)}to{opacity:1;transform:none}}.trip-card{background:#fff;border-radius:18px;padding:14px;border:1px solid var(--line);display:flex;gap:12px;align-items:center}.trip-glyph{font-size:40px}.objective-pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:#fff;border:1px solid #b8d2e2;color:#426b83;border-radius:999px;padding:7px 12px;font-weight:700;font-size:14px}.mini-steps{display:flex;gap:5px}.mini-dot{width:9px;height:9px;border-radius:50%;background:#c7d6df}.mini-dot.active{background:var(--primary-strong);transform:scale(1.2)}.mini-dot.done{background:var(--success)}.luggage-stage{position:relative}.luggage-old-label{position:absolute;cursor:grab}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.luggage-old-label{position:absolute;min-width:44px;min-height:44px;border-radius:50%;background:#fff;border:2px solid var(--danger);color:var(--danger-strong);box-shadow:0 6px 14px var(--shadow)}.sorter-station{display:grid;grid-template-columns:42% 58%;gap:8px;align-items:stretch;border-radius:20px;overflow:hidden;background:#dbe6ec;border:1px solid var(--line);padding:6px}.machine-screen-panel{background:linear-gradient(180deg,#f8fbfd,#e7f0f5);border:2px solid #b8cedb;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:300px}.machine-screen-head{display:flex;justify-content:space-between;font-weight:800;color:var(--primary-strong);font-size:13px}.machine-steps{display:flex;flex-wrap:wrap;gap:4px}.machine-step{flex:1 1 40%;font-size:11px;text-align:center;padding:4px 3px;border-radius:999px;background:#dce7ed;color:var(--ink-muted)}.machine-step.active{background:var(--primary-strong);color:#fff}.machine-step.done{background:var(--success);color:#fff}.machine-screen-body{flex:1;background:#fff;border-radius:10px;border:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px;font-size:13px;overflow:hidden}.machine-screen-body .btn{min-height:38px;padding:6px 8px;font-size:13px}.sorter-conveyor{min-height:300px;border-radius:14px;overflow:hidden;background:#dfe9ee}.sorter-conveyor .card{border:none;border-radius:0;min-height:300px}.game-stage-shell{position:fixed;inset:0;background:#dce7ed;overflow:hidden}.game-canvas{position:absolute;inset:0;max-width:560px;margin:0 auto}.game-hud{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:12}.game-phone-mask{position:fixed;inset:0;z-index:50;background:radial-gradient(ellipse at 50% 40%,#2e3d4b8c,#182028d9);display:grid;place-items:center;animation:phone-camera-in .56s cubic-bezier(.2,.8,.2,1)}.hand-phone{display:flex;flex-direction:column;align-items:center;gap:10px;transform-origin:50% 80%;animation:phone-camera-in .56s cubic-bezier(.2,.8,.2,1)}.phone-putdown{color:#fff;border-color:#ffffff80;background:#ffffff14}.game-dialogue-mask{position:fixed;inset:0;z-index:60;display:grid;align-items:end;background:linear-gradient(180deg,transparent 40%,rgba(35,45,55,.6))}.game-dialogue{margin:12px auto 24px;width:min(460px,calc(100vw - 24px));background:#fbfcfdf5;border:1px solid #b8d2e2;border-radius:18px;padding:14px;box-shadow:0 18px 48px #2837414d;color:var(--ink)}.game-dialogue p{margin:4px 0;line-height:1.6}.galgame-dialogue{margin:0 auto 22px;width:min(520px,calc(100vw - 28px));display:grid;grid-template-columns:92px 1fr;gap:12px;background:linear-gradient(180deg,#f8fbfdf7,#ebf2f6f7);border:1px solid #b8d2e2;border-radius:20px;padding:12px;box-shadow:0 18px 48px #28374159}.galgame-portrait{width:84px;height:84px;border-radius:18px;display:grid;place-items:center;font-size:44px;background:#dce9ef;border:1px solid #c4d8e2}.galgame-name{font-weight:800;color:var(--primary-strong);margin-bottom:4px}.galgame-text{min-height:56px;color:var(--ink);line-height:1.7;margin:0}.galgame-caret{color:var(--primary-strong);animation:caret-blink .8s step-end infinite}@keyframes caret-blink{50%{opacity:0}}@keyframes phone-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes hand-hold{0%,to{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(4px) rotate(.6deg)}}.phone-wallpaper{flex:1;min-height:470px;border-radius:20px;overflow:hidden;background:linear-gradient(165deg,#b8d8e8,#d9c9e2 52%,#f2d9c8);padding:10px;display:flex;flex-direction:column;gap:12px}.phone-clock{font-size:42px;font-weight:300;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.18);margin-top:4px}.phone-widget{background:#ffffffd1;border-radius:16px;padding:12px;color:var(--ink);font-weight:700;cursor:pointer;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7)}.phone-widget small{color:var(--ink-muted);font-weight:400}.phone-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:6px}.phone-app{background:transparent;border:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:22px;min-height:auto;padding:0;cursor:pointer}.phone-app small{color:#fff;font-size:11px;text-shadow:0 1px 4px rgba(0,0,0,.35)}.phone-dock{margin-top:auto;display:flex;justify-content:center;gap:24px;background:#ffffff59;border-radius:22px;padding:10px}.game-overlay{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:12px;background:#28343e52;overflow:auto}.game-overlay .card{max-width:96vw}.luggage-stage{display:flex;flex-direction:column;align-items:center;gap:14px}.luggage-case{position:relative;width:240px;height:210px;border:none;background:transparent;perspective:900px;min-height:0;padding:0;cursor:pointer}.luggage-base{position:absolute;left:20px;right:20px;bottom:8px;height:90px;background:linear-gradient(180deg,#9fc4d4,#7fa9bc);border-radius:12px 12px 20px 20px;box-shadow:0 18px 30px #374e5c59}.luggage-lid{position:absolute;left:16px;right:16px;top:30px;height:86px;transform-origin:bottom center;transition:transform .34s cubic-bezier(.2,.8,.25,1);background:linear-gradient(180deg,#b7d6e2,#8fb8ce);border-radius:18px 18px 8px 8px;box-shadow:0 10px 20px #374e5c47}.luggage-case.open .luggage-lid{transform:rotateX(-118deg)}.luggage-lid-inner{position:absolute;inset:10px;border-radius:10px;background:linear-gradient(180deg,#eaf3f7,#cfdfe7);border:1px solid rgba(255,255,255,.7)}.luggage-items{position:absolute;inset:8px 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.luggage-item{background:#fff;border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 4px 10px #374e5c2e;animation:item-in .3s ease-out}.luggage-item.removed{opacity:.35;filter:grayscale(1)}.luggage-item small{font-size:10px;color:var(--ink-muted)}.luggage-item .btn{min-height:26px;padding:2px 6px;font-size:11px}.luggage-item-icon{font-size:22px}@keyframes item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.signage-board{width:min(420px,92vw)}.signage-list{padding-left:18px;display:flex;flex-direction:column;gap:8px}.signage-list li{display:flex;align-items:center;gap:8px;color:var(--ink)}.signage-prohibited{display:flex;flex-wrap:wrap;gap:8px}.signage-prohibited .badge{background:#fdeeea;border-color:#f0c0b4;color:#8d3f32;font-size:13px}.old-labels-stage{position:relative}.old-labels-stage .luggage-old-label{z-index:5}.place-dpad{display:grid;grid-template-columns:repeat(3,44px);justify-content:center;align-items:center;gap:6px}.place-dpad .place-pos{text-align:center;font-weight:700;color:var(--ink-muted)}.boarding-scene{position:relative;color:#fff;text-align:center;padding:30px;display:flex;flex-direction:column;align-items:center;gap:12px}.boarding-plane{font-size:90px;animation:plane-fly 3.2s ease-in-out infinite}.boarding-cloud{position:absolute;width:140px;height:40px;border-radius:999px;background:#ffffff40;filter:blur(2px)}.cloud-a{top:18%;left:8%;animation:cloud-drift 7s linear infinite}.cloud-b{top:30%;right:4%;animation:cloud-drift 9s linear infinite reverse}@keyframes plane-fly{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(3deg)}}@keyframes cloud-drift{0%{transform:translate(-20px)}to{transform:translate(80px)}}.luggage-close-x{position:absolute;top:12px;right:12px;z-index:80;background:#fff;border-radius:50%;width:40px;height:40px;padding:0;box-shadow:0 8px 20px #28343e40}.phone-hand{font-size:118px;line-height:1;margin-bottom:-34px;z-index:0;transform:rotate(-7deg);filter:drop-shadow(0 18px 22px rgba(20,28,36,.35))}.hand-phone .phone-frame{z-index:1}@keyframes phone-camera-in{0%{opacity:0;transform:scale(1.55);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.phone-dock-icon{position:fixed;right:14px;bottom:max(16px,env(safe-area-inset-bottom));z-index:20;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:#ffffffd1;box-shadow:0 10px 26px #28343e4d;font-size:26px}.inspection-room{width:min(420px,92vw)}.inspection-walk{color:#fff;font-size:22px;font-weight:700;text-align:center;animation:inspection-walk 1.4s ease-in-out infinite}@keyframes inspection-walk{0%,to{transform:translate(-10px)}50%{transform:translate(10px)}}.game-canvas{transition:opacity .26s ease}.game-canvas.scene-fade{opacity:0}.rp-exp{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 14px;border:1px solid #d5dde4;border-radius:12px;background:#fff;cursor:pointer;text-align:left}.rp-exp-active{border-color:#2379c9;box-shadow:0 0 0 2px #2379c933}.rp-exp-name{font-weight:700;color:#20313f;flex:1}.rp-exp-meta{font-size:12px;color:#7d8a97}.rp-badge{font-size:11px;padding:3px 8px;border-radius:999px;background:#eef2f6;color:#4a5a68}.rp-mode-pilot{background:#fdf3d0;color:#7a5b12}.rp-mode-demo{background:#e2f0e4;color:#2f6e3e}.rp-mode-formal{background:#e3e9f7;color:#2c4a8a}.rp-detail{border-top:1px dashed #d5dde4;padding-top:12px}.rp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rp-stat{background:#f5f8fb;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.rp-stat b{font-size:17px;color:#17395c}.rp-stat span{font-size:11.5px;color:#7d8a97}.rp-baggage{display:flex;flex-wrap:wrap;gap:6px}.rp-chip{background:#eef2f6;border-radius:999px;padding:5px 10px;font-size:12px;color:#4a5a68}.rp-codes{display:flex;flex-direction:column;gap:6px}.rp-codes h3{font-size:13px;color:#4a5a68;margin:4px 0}.rp-code{font-family:ui-monospace,monospace;font-size:12px;text-align:left;padding:9px 12px;border:1px dashed #b7cddd;border-radius:8px;background:#f7fbff;color:#155ea8;cursor:pointer;word-break:break-all}.rp-code:active{background:#e2f0fc}.route-loading{min-height:100dvh;display:grid;place-items:center;background:#e9f0f4;color:#4f6876;font-weight:700}
