@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;800&family=Zen+Kurenaido&display=swap";:root{font-family:Noto Sans TC,sans-serif;color:#173d86;background:#1d2638;font-synthesis:none;--paper: #f4ecd8;--paper-deep: #e5d7b8;--ink: #173d86;--accent: #e54137;--shadow: rgba(12, 27, 52, .28)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 12%,#56657b 0,#263348 42%,#151d2b)}button{font:inherit}#app{display:grid;place-items:center;padding:0}#game-shell{position:relative;width:min(100vw,56.25vh);height:min(100vh,177.77778vw);overflow:hidden;background:var(--paper);box-shadow:0 20px 70px var(--shadow)}#game-root,#game-root canvas{display:block;width:100%!important;height:100%!important}.hud{position:absolute;z-index:4;inset:max(14px,env(safe-area-inset-top)) 14px auto;display:flex;justify-content:space-between;pointer-events:none}.hud[hidden]{display:none}.hud-chip{min-width:82px;padding:8px 12px 9px;border:2px solid color-mix(in srgb,var(--ink) 80%,transparent);border-radius:99px;background:color-mix(in srgb,var(--paper) 84%,transparent);box-shadow:0 4px color-mix(in srgb,var(--ink) 18%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);line-height:1}.hud-chip span{margin-right:6px;color:color-mix(in srgb,var(--ink) 67%,transparent);font-size:10px;letter-spacing:.12em}.hud-chip strong{font-size:13px}.hud-right{display:flex;align-items:center;gap:8px}.pause-button{display:grid;width:42px;height:42px;padding:0;place-items:center;border:2px solid color-mix(in srgb,var(--ink) 80%,transparent);border-radius:50%;color:var(--ink);background:color-mix(in srgb,var(--paper) 84%,transparent);box-shadow:0 4px color-mix(in srgb,var(--ink) 18%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;pointer-events:auto}.pause-button span{display:grid;width:100%;height:100%;margin:0;place-items:center;font-size:15px;font-weight:800;line-height:1;letter-spacing:0}.pause-button:hover,.pause-button:focus-visible{translate:0 -1px;outline:none;box-shadow:0 5px color-mix(in srgb,var(--ink) 24%,transparent)}.hint{position:absolute;z-index:4;left:50%;bottom:max(22px,env(safe-area-inset-bottom));translate:-50% 0;width:max-content;max-width:calc(100% - 36px);padding:9px 15px;border-radius:99px;color:var(--paper);background:color-mix(in srgb,var(--ink) 88%,transparent);font-size:12px;letter-spacing:.03em;pointer-events:none;animation:hint-in .45s ease both}.hint[hidden]{display:none}.menu{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:30px;background:linear-gradient(180deg,#f4ecd880,#e5d7b8f0),repeating-linear-gradient(112deg,transparent 0 18px,rgba(23,61,134,.035) 19px 20px);transition:opacity .35s ease,visibility .35s ease}.menu.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.menu-card{width:min(100%,390px);text-align:center}.eyebrow{margin:0 0 12px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.24em}h1{margin:0;color:var(--ink);font-family:Zen Kurenaido,Noto Sans TC,sans-serif;font-size:clamp(72px,19vw,108px);font-weight:400;letter-spacing:-.09em;line-height:.7;text-shadow:4px 5px 0 rgba(23,61,134,.11)}.menu-copy{margin:42px 0 26px;color:color-mix(in srgb,var(--ink) 76%,transparent);font-size:13px;line-height:1.9}.menu-actions{display:grid;gap:10px;width:min(100%,260px);margin:auto}.menu-actions button,.dialog-actions button{min-height:48px;border:2px solid var(--ink);border-radius:99px;color:var(--ink);background:#ffffff61;font-weight:800;letter-spacing:.08em;cursor:pointer;transition:translate .15s ease,box-shadow .15s ease,background .15s ease}.menu-actions button:hover,.menu-actions button:focus-visible,.dialog-actions button:hover,.dialog-actions button:focus-visible{translate:0 -2px;box-shadow:0 5px #173d862e;outline:none}.menu-actions .primary{color:var(--paper);background:var(--ink)}dialog{z-index:20;width:min(calc(100% - 40px),360px);padding:0;border:2px solid var(--ink);border-radius:22px;color:var(--ink);background:var(--paper);box-shadow:0 18px 60px #08132666}dialog::backdrop{background:#0a13209e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog form{padding:24px}.dialog-title{margin:0 0 8px;font-size:18px;font-weight:800}dialog p:not(.dialog-title){margin:0;font-size:13px;line-height:1.7}.dialog-actions{display:flex;gap:9px;margin-top:22px}.dialog-actions button{flex:1;min-height:42px}.dialog-actions .danger{border-color:var(--accent);color:#fff;background:var(--accent)}.pause-overlay{position:absolute;z-index:8;inset:0;display:grid;place-items:center;background:#173d862e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pause-overlay[hidden]{display:none}.pause-card{width:min(calc(100% - 64px),270px);padding:28px 26px 24px;border:2px solid var(--ink);border-radius:24px;color:var(--ink);background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:0 10px #173d8629;text-align:center}.pause-card p{margin:0 0 5px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.26em}.pause-card strong{display:block;margin-bottom:20px;font-family:Zen Kurenaido,Noto Sans TC,sans-serif;font-size:38px;font-weight:400}.pause-card button{width:100%;min-height:44px;border:2px solid var(--ink);border-radius:99px;color:var(--paper);background:var(--ink);font-weight:800;letter-spacing:.12em;cursor:pointer}@keyframes hint-in{0%{opacity:0;translate:-50% 8px}to{opacity:1;translate:-50% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
