.start-splash{z-index:100;padding:16px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));background:#000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.start-splash img{width:min(92vw,520px);height:auto;display:block}.game-over-report-panel{z-index:22;border:3px solid var(--border);text-align:center;background:rgba(22,36,18,.96);border-radius:22px;flex-direction:column;width:min(460px,86%);max-height:min(70vh,520px);padding:24px 20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-over-report-back{border:2px solid var(--border);color:var(--text);cursor:pointer;letter-spacing:.04em;touch-action:manipulation;background:rgba(70,92,42,.92);border-radius:10px;padding:6px 10px;font-size:13px;position:absolute;top:12px;right:12px}.game-over-report-back:hover{filter:brightness(1.08)}.game-over-report-meta{text-align:left;margin-bottom:8px;font-size:14px;line-height:1.55}.game-over-report-meta p{margin:4px 0}.game-over-report-section-title{color:#f0d9a0;text-align:left;margin:8px 0 6px;font-size:16px;font-weight:600}.game-over-report-hint{color:var(--text-muted);margin:4px 0 10px;font-size:13px}.game-over-report-journal{text-align:left;-webkit-overflow-scrolling:touch;flex:1;margin-bottom:8px;padding-right:4px;overflow-y:auto}.game-over-report-entry{background:rgba(14,24,12,.55);border:1px solid rgba(180,210,150,.28);border-radius:12px;margin-bottom:12px;padding:10px 12px}.game-over-report-entry header{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.game-over-report-entry header>*+*{margin-left:8px}.game-over-report-kind{color:#f0d9a0}.game-over-report-entry h4{margin:0 0 4px;font-size:15px;font-weight:600}.game-over-report-empty{color:var(--text-muted);margin:16px 0}@media (max-width:768px){.game-over-report-panel{width:min(440px,92%);max-height:min(78vh,560px);padding:20px 14px;overflow-y:auto}}.star-danmaku-layer{pointer-events:none;z-index:30;height:120px;position:absolute;top:0;bottom:auto;left:0;right:0;overflow:hidden}.star-danmaku-track{width:100%;height:32px;position:absolute;left:0;overflow:visible}.star-danmaku-text{white-space:nowrap;color:#ffe9a8;letter-spacing:.02em;will-change:transform;background:linear-gradient(90deg,rgba(48,36,12,.94),rgba(72,52,16,.9));border:1px solid rgba(255,210,80,.75);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:600;animation:14s linear forwards star-danmaku-scroll;display:inline-block;position:absolute;top:0;left:0;box-shadow:0 2px 12px rgba(0,0,0,.35)}@keyframes star-danmaku-scroll{0%{transform:translate(100vw)}to{transform:translate(calc(-100% - 24px))}}@media (prefers-reduced-motion:reduce){.star-danmaku-text{animation:14s forwards star-danmaku-fade;left:50%;transform:translate(-50%)}@keyframes star-danmaku-fade{0%,12%{opacity:0}18%,82%{opacity:1}to{opacity:0}}}.hub-frame{-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse 58% 52% at 48% 52%, rgba(55,78,40,.42) 0%, transparent 72%), var(--panel-bg);flex-direction:column;align-items:stretch;padding:22px;display:flex;overflow-y:auto}.hub-hud{z-index:5;flex-shrink:0;align-items:center;margin-bottom:16px;display:flex;position:static}.hub-hud>*+*{margin-left:12px}.hub-avatar{border:3px solid var(--border);background:#90ee90;border-radius:50%;flex-shrink:0;width:64px;height:64px;overflow:hidden}.hub-avatar-btn{cursor:pointer;touch-action:manipulation;flex-shrink:0;padding:0;display:block}.hub-avatar-btn img{object-fit:cover;width:100%;height:100%;display:block}.hub-report-hint{color:#e8c56a;margin-top:6px;font-size:12px}.hub-zones{border:3px solid var(--border);grid-gap:12px;background:rgba(20,32,18,.35);border-radius:22px;flex:auto;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:420px;min-height:280px;margin:0 auto 16px;padding:14px;display:grid;position:static}.zone{border:3px solid var(--border);color:var(--text);letter-spacing:.12em;cursor:pointer;border-radius:16px;min-height:88px;font-size:22px}.zone.forest{background:linear-gradient(160deg,#3f6e35 0%,#2d5a27 55%,#1f421c 100%)}.zone.desert{background:linear-gradient(160deg,#d4a85a 0%,#c08a3e 45%,#9a6a2e 100%)}.zone.locked{color:var(--text-muted);cursor:not-allowed;background:rgba(40,52,30,.72)}.zone.selected{box-shadow:0 0 0 2px rgba(230,228,200,.55)}.zone-hint{letter-spacing:.08em;opacity:.85;margin-top:8px;font-size:13px;display:block}.hub-side,.hub-bottom{z-index:5;flex-wrap:wrap;display:flex;position:static}.hub-side{justify-content:flex-end;margin-bottom:12px}.hub-side>*+*,.hub-bottom>*+*{margin-left:10px}.hub-bottom{justify-content:flex-start}.panel-btn{border:3px solid var(--border);background:var(--btn-bg);width:64px;height:64px;color:var(--text);cursor:pointer;border-radius:14px}.panel-btn.enter{background:rgba(70,92,42,.9);font-size:18px}.panel-btn.locked{background:var(--btn-locked);color:var(--text-muted);cursor:not-allowed}.panel-btn:disabled.enter{opacity:.5}@media (max-width:768px){.hub-frame{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.hub-hud{margin-bottom:12px;font-size:14px}.hub-avatar{width:52px;height:52px}.hub-zones{grid-gap:10px;gap:10px;max-width:360px;min-height:220px;margin-bottom:12px;padding:12px}.zone{letter-spacing:.06em;touch-action:manipulation;min-height:72px;font-size:18px}.zone-hint{margin-top:4px;font-size:12px}.hub-side,.hub-bottom{justify-content:center}.hub-side>*+*,.hub-bottom>*+*{margin-left:8px}.hub-frame .panel-btn,.panel-btn{touch-action:manipulation;width:auto;min-width:72px;height:48px;padding:0 12px;font-size:14px}.panel-btn.enter{min-width:96px;font-size:16px}}:root{--border:#e6e4c8;--border-soft:rgba(230,228,200,.85);--panel-bg:rgba(28,48,28,.55);--btn-bg:rgba(52,68,36,.78);--btn-bg-hover:rgba(68,88,48,.88);--btn-locked:rgba(40,52,30,.72);--text:#efeeda;--text-muted:rgba(239,238,218,.72);--forest-deep:#1a3a1a;--forest-mid:#2d5a27;--forest-light:#3f6e35;color:var(--text);background:var(--forest-deep);font-family:ZCOOL XiaoWei,Songti SC,STSong,serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}button,input{font-family:inherit}a{color:inherit}.page-center{min-height:100vh;padding:16px;padding-top:max(16px, env(safe-area-inset-top));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex}.card{border:3px solid var(--border);text-align:center;background:rgba(22,36,18,.92);border-radius:22px;width:100%;max-width:420px;padding:28px 24px}.card h1{margin:0 0 12px;font-size:28px;font-weight:400}.card p{color:var(--text-muted);margin:0 0 16px;line-height:1.5}.loading-hint{opacity:.9;font-size:14px;margin-top:8px!important}.card label{text-align:left;margin:10px 0 6px;display:block}.card input,.card select{border:2px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;background:rgba(0,0,0,.25);border-radius:12px;padding:10px 12px}.card select{-webkit-appearance:none;appearance:none;cursor:pointer}.btn-row{flex-wrap:wrap;justify-content:center;margin-top:18px;display:flex}.btn-row>*{margin:6px}.btn{border:2px solid var(--border);min-width:120px;min-height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;background:rgba(70,92,42,.9);border-radius:14px;padding:12px 16px}.btn.secondary{background:rgba(90,70,40,.88)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:hover:not(:disabled){filter:brightness(1.06)}.forest-bg{z-index:0;background:radial-gradient(ellipse 42% 36% at 12% 18%, var(--forest-light) 0%, transparent 70%), radial-gradient(ellipse 48% 40% at 38% 8%, #355f2e 0%, transparent 68%), linear-gradient(180deg, #1f421c 0%, #163016 55%, #122612 100%);position:fixed;top:0;bottom:0;left:0;right:0}.desert-bg{z-index:0;background:radial-gradient(42% 36% at 18% 22%,#f9f0b8 0%,transparent 70%),radial-gradient(48% 40% at 62% 12%,#f1e094 0%,transparent 68%),linear-gradient(#f1e094 0%,#e8d4a0 55%,#dcc88a 100%);position:fixed;top:0;bottom:0;left:0;right:0}.game-frame{z-index:1;border:3px solid var(--border);background:var(--panel-bg);touch-action:manipulation;border-radius:36px;width:100%;max-width:960px;height:640px;max-height:calc(100vh - 24px);margin:12px auto;position:relative;overflow:hidden}.page-shell{min-height:100vh;position:relative}@media (max-width:768px){.game-frame{border-width:0;border-radius:0;width:100vw;height:100vh;min-height:100vh;max-height:none;margin:0}.card{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 32px);overflow-y:auto}.card h1{font-size:24px}.btn{flex:120px;min-width:44px}.btn-row{width:100%}}
