:root{--primary: #FF2B85;--primary-dark: #D70F64;--primary-soft: #FF7AB0;--ink: #1A0E18;--cream: #FFFAF6;--paper: #FFF0E8;--muted: #6E5F66;--line: #F2E3E0;--good-bg: #DDF0EC;--good: #145C4F;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Poppins,Noto Sans SC,sans-serif;color:var(--ink);background:#f6d9c4;overflow:hidden}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.game{position:relative;width:100vw;height:100vh}.scene{position:absolute;top:0;right:0;bottom:0;left:0}.panel{background:#fffaf6f0;border-radius:20px;box-shadow:0 4px 16px #1a0e181f}.meter{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:#fff;border-radius:999px;width:148px}.meter-icon{flex:none;width:28px;height:28px;padding:5px;border-radius:50%;background:var(--meter, #E0A526);color:#fff}.meter-num{flex:none;min-width:24px;text-align:right;font-size:16px;line-height:20px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.meter.low .meter-icon{animation:throb 1.2s var(--ease) infinite}@keyframes throb{50%{transform:scale(1.25)}}.meter-track{flex:1;height:12px;border-radius:999px;background:var(--line);overflow:hidden}.meter-fill{display:block;height:12px;border-radius:999px;transition:width .3s var(--ease)}.hud{--orb: 64px;--r: 136px;--box: calc(var(--orb) / 2 + var(--r) + 44px);position:absolute;top:16px;z-index:2;display:flex;gap:12px;pointer-events:none}.hud>*{pointer-events:auto}.hud.hud-right{--r: 180px}.hud-left{left:16px;flex-direction:column;align-items:flex-start}.hud-right{right:16px;flex-direction:column;align-items:flex-end}.ring-box{position:relative;width:var(--orb);height:var(--orb)}.orb{position:absolute;top:0;width:var(--orb);height:var(--orb);border-radius:50%;border:3px solid #FFFFFF;padding:0;background:var(--good-bg);color:var(--primary-dark);box-shadow:0 6px 20px #1a0e1838;display:flex;align-items:center;justify-content:center;transition:transform .5s var(--ease)}.hud-left .orb{left:0}.hud-right .orb{right:0;background:var(--cream)}.orb:hover{transform:scale(1.05)}.orb:active{transform:scale(.98)}.hud.open .orb{transform:scale(1.1)}.face{width:100%;height:100%;border-radius:50%;display:block}.orb-badge{position:absolute;right:-6px;bottom:-4px;font-size:12px;line-height:16px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--primary);color:#fff;border:2px solid #FFFFFF}.hud-right .orb-badge{right:auto;left:-4px;bottom:auto;top:-4px;padding:2px 6px}.mini{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.mini-right{align-items:flex-end}.hud-right.open .mini-right{display:none}.vitals{display:flex;flex-direction:column;gap:4px}.vitals .meter{box-shadow:0 2px 8px #1a0e181a}.vitals.wide .meter,.meter.wide{width:100%;box-shadow:none;background:var(--paper)}.money-chip,.clock,.visa-chip,.tracker{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap;background:#fff;border-radius:12px;padding:4px 8px;box-shadow:0 2px 8px #1a0e181a}.money-chip{position:relative;color:#fff;background:#2e9e5b;font-size:18px;line-height:24px;font-weight:700;padding:6px 12px;gap:8px}.meter{position:relative}.delta{position:absolute;left:calc(100% + 6px);top:50%;font-size:14px;line-height:20px;font-weight:700;white-space:nowrap;padding:0 6px;border-radius:8px;background:#fff;box-shadow:0 2px 8px #1a0e1826;animation:delta 1.4s var(--ease) forwards;pointer-events:none}.delta.up{color:var(--good)}.delta.down{color:var(--primary-dark)}.delta.tagged{color:#6e6c78}.delta small{margin-left:4px;font-size:12px;line-height:16px;font-weight:600}@keyframes delta{0%{opacity:0;transform:translate(-6px,-50%)}15%{opacity:1;transform:translateY(-50%)}75%{opacity:1;transform:translateY(-90%)}to{opacity:0;transform:translateY(-110%)}}.tail-form{display:flex;flex-direction:column;gap:8px}.tail-label{font-size:14px;line-height:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.tail-row{display:flex;gap:8px}.tail-input{width:160px;height:56px;border-radius:16px;border:3px solid #FFFFFF;background:#fffaf6;color:var(--ink);font:inherit;font-size:30px;line-height:36px;font-weight:700;letter-spacing:.3em;text-align:center}.tail-input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.tail-say{width:auto}.tail-say:disabled{opacity:.5}.didi-tail{margin:0;font-size:14px}.didi-tail strong{font-size:18px;letter-spacing:.15em}.didi-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:16px;background:#fff;border:2px solid #FF7A00;font-size:14px;line-height:20px}.didi-plate{align-self:flex-start;padding:4px 12px;border-radius:8px;background:#1f3a5f;color:#fff;font-size:24px;line-height:32px;font-weight:700;letter-spacing:.1em}.didi-price{color:#ff7a00;font-weight:700}.battery-pop{position:absolute;top:28px;right:24px;z-index:3;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#fff;color:#d7282f;font-size:16px;line-height:24px;font-weight:700;box-shadow:0 4px 12px #1a0e1840;pointer-events:none;animation:battery-pop 1.4s var(--ease) forwards}@keyframes battery-pop{0%{opacity:0;transform:translateY(12px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:1;transform:translateY(-36px)}to{opacity:0;transform:translateY(-64px)}}.rank-up{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#1a0e18b8;color:#fff;text-align:center;padding:24px 16px;animation:rank-fade 3.6s var(--ease) forwards}.rank-up .rank-eyebrow{font-size:14px;line-height:20px;font-weight:600;letter-spacing:.08em;color:#ffd66b}.rank-up .rank-medal{color:#ffd66b;filter:drop-shadow(0 6px 18px rgba(255,214,107,.55));animation:rank-medal .9s var(--ease) both}.rank-up strong{font-size:60px;line-height:1;font-weight:700;text-shadow:0 4px 0 #D7282F,0 10px 30px rgba(0,0,0,.45);animation:rank-slam .7s var(--ease) .15s both}.rank-up>span:not(.rank-eyebrow){font-size:20px;line-height:28px;font-weight:600}.rank-up b{margin-top:8px;padding:4px 12px;border-radius:999px;background:#fff;color:#1a0e18;font-size:16px;line-height:24px}.rank-up small{font-size:14px;line-height:20px;opacity:.85}.rank-up.insider strong{font-size:72px;color:#ffd66b}.level-up .rank-medal{color:#9c86ff;filter:drop-shadow(0 6px 18px rgba(123,92,255,.6))}.level-up strong{text-shadow:0 4px 0 #7B5CFF,0 10px 30px rgba(0,0,0,.45)}.level-up b{display:inline-flex;align-items:center;gap:6px}.level-apps{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:360px}.level-apps small{flex-basis:100%}.level-app{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:999px;background:#ffffffeb;color:#1a0e18;font-size:14px;line-height:20px;font-weight:700;animation:level-app-in .5s var(--ease) both;animation-delay:calc(1.2s + var(--i) * .12s)}.level-app i{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--app);color:#fff;font-style:normal;font-size:14px}@keyframes level-app-in{0%{opacity:0;transform:translateY(12px) scale(.8)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.level-app{animation:none}}.dead-phone{background:#0a0a0edb}.dead-phone .rank-medal{color:#ff5a5f;filter:drop-shadow(0 0 18px rgba(255,90,95,.6))}.dead-phone strong{text-shadow:0 4px 0 #3A0B10,0 10px 30px rgba(0,0,0,.6)}.level-ring{position:relative;display:grid;place-items:center;width:120px;height:120px}.level-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.level-ring circle{fill:none;stroke-width:8}.level-ring-track{stroke:#fff3}.level-ring-fill{stroke:#9c86ff;stroke-linecap:round;stroke-dasharray:100 100;animation:level-fill .9s var(--ease) both;filter:drop-shadow(0 0 8px rgba(156,134,255,.8))}@keyframes level-fill{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.level-up strong{animation-delay:.85s}.orb.leveling{animation:orb-glow .6s var(--ease) 2 alternate}@keyframes orb-glow{0%{box-shadow:0 0 #7b5cff00}to{box-shadow:0 0 0 10px #7b5cff8c}}@media (prefers-reduced-motion: reduce){.level-ring-fill,.orb.leveling{animation:none}}.dawn small{font-size:14px;line-height:20px;opacity:.85}@keyframes rank-fade{0%{opacity:0}8%{opacity:1}88%{opacity:1}to{opacity:0}}@keyframes rank-medal{0%{transform:scale(0) rotate(-40deg)}60%{transform:scale(1.25) rotate(10deg)}to{transform:scale(1) rotate(0)}}@keyframes rank-slam{0%{opacity:0;transform:scale(2.4)}60%{opacity:1;transform:scale(.92)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.rank-up,.rank-up .rank-medal,.rank-up strong{animation:none}}.city-rank{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:4px 12px;border-radius:12px;background:#fff4d6;color:#6b4a00;font-size:14px;line-height:20px}.city-rank b{font-size:16px;line-height:24px}.city-rank small{flex-basis:100%;font-size:12px;line-height:16px;opacity:.8}.xp-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;width:calc(100% + 14px);height:calc(100% + 14px);transform:rotate(-90deg);pointer-events:none}.xp-ring circle{fill:none;stroke-width:6}.xp-ring-track{stroke:#ffffffd9}.xp-ring-fill{stroke:#7b5cff;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease)}.money-chip.card{background:#3a5bd5}.card-icon{position:relative;display:inline-flex}.visa-chip{background:var(--ink);color:#fffaf6d9;font-weight:600;gap:6px}.visa-chip.soon{background:#e08a00;color:#fff}.visa-chip.urgent{background:#d7282f;color:#fff;animation:throb 1.2s var(--ease) infinite}.clock{gap:6px}.clock.evening{background:#ffe2b8;color:#8a4b00}.clock.night{background:#1f2a4f;color:#fff}.visa-chip strong{color:#fff;font-size:18px}.tracker{--kind: var(--primary);background:var(--kind);color:#fff;font-size:12px;line-height:16px;max-width:240px;white-space:normal}.tracker em{font-style:normal;opacity:.85;padding-left:6px;border-left:1px solid rgba(255,255,255,.5)}.hud-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#1a0e1880}.hud-panel{width:340px;max-height:calc(100vh - var(--box) - 48px);overflow:auto;background:var(--cream);border-radius:24px;padding:16px 20px 20px;box-shadow:0 16px 40px #1a0e1838;display:flex;flex-direction:column;gap:8px;animation:rise .5s var(--ease)}.hud-panel h2{margin:0 0 4px;font-size:20px;line-height:28px}.panel-eyebrow{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-dark)}.profile{display:flex;gap:16px;align-items:flex-start}.figure{width:96px;flex:none;background:var(--good-bg);border-radius:16px;padding:8px 4px}.profile-side{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.profile-name{display:flex;align-items:center;justify-content:space-between;font-size:18px;line-height:28px}.lv{font-size:12px;line-height:16px;font-weight:700;color:#fff;background:#7b5cff;border-radius:999px;padding:2px 8px}.where{margin:0;display:flex;align-items:center;gap:4px;font-size:14px;line-height:20px;color:var(--muted)}.allergy{margin:0;font-size:12px;line-height:16px;color:#b23a3a;font-weight:600}.slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.slots li{display:grid;grid-template-columns:32px 1fr;column-gap:12px;align-items:center;background:#fff;border-radius:12px;padding:8px 12px}.slots li>.swatch{grid-row:span 2}.slots .slot-name{font-size:12px;line-height:16px;color:var(--muted)}.slots strong{font-size:14px;line-height:20px}.slots li.locked{opacity:.6}.swatch{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.swatch.skill{background:var(--paper);font-size:14px;font-weight:700;color:var(--primary-dark)}.slot-button{grid-row:span 2;display:flex;flex-direction:column;align-items:flex-start;background:none;border:none;padding:0;text-align:left;color:var(--primary-dark)}.phrase,.empty{margin:0;font-size:14px;line-height:20px;text-wrap:pretty}.empty{color:var(--muted)}.bag{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.bag li{aspect-ratio:1}.bag-slot{position:relative;width:100%;height:100%;border-radius:16px;padding:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tint) 12%,#FFFFFF);border:2px solid color-mix(in srgb,var(--tint) 22%,#FFFFFF);box-shadow:inset 0 -4px color-mix(in srgb,var(--tint) 18%,#FFFFFF);transition:transform .3s var(--ease),border-color .3s var(--ease)}.bag-slot:hover{transform:translateY(-2px)}.bag-slot:active{transform:scale(.96)}.bag-slot[aria-pressed=true]{border-color:var(--tint)}.bag-badge{position:absolute;right:4px;bottom:4px;font-size:12px;line-height:16px;font-weight:700;padding:0 4px;border-radius:6px;background:#fff;color:var(--ink);font-variant-numeric:tabular-nums}.bag-new{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 2px #fff}.bag-empty{border-radius:16px;border:2px dashed var(--line)}.bag-detail{display:flex;align-items:center;gap:8px;margin-bottom:4px;padding:8px;border-radius:14px;background:#fff}.bag-detail-icon{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tint) 12%,#FFFFFF)}.bag-detail>div{flex:1;display:flex;flex-direction:column;min-width:0}.bag-detail strong{font-size:12px;line-height:16px}.bag-detail span{font-size:12px;line-height:16px;color:var(--muted);text-wrap:pretty}.bag-use{flex:none;border:none;border-radius:10px;padding:4px 12px;font-size:12px;background:var(--primary);color:#fff;font-size:14px;font-weight:600;transition:transform .3s var(--ease)}.bag-use:hover{transform:translateY(-2px)}.bag-use:active{transform:scale(.98)}.quest{--kind: var(--primary);width:340px;flex:none;background:var(--cream);border-radius:24px;overflow:hidden;border:3px solid #FFFFFF;box-shadow:0 16px 40px #1a0e1838;animation:rise .5s var(--ease)}.quest-head{background:var(--kind);color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px}.q-badge{width:48px;height:48px;flex:none;border-radius:50%;background:#fff;color:var(--kind);display:grid;place-items:center;box-shadow:0 4px #00000026}.q-title{flex:1;min-width:0}.q-kind{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.quest-head h2{margin:0;font-size:18px;line-height:24px;text-wrap:balance}.q-timer{margin-top:4px}.q-timer,.q-stamp{flex:none;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#00000038;font-size:12px;line-height:16px;font-weight:700;white-space:nowrap}.q-stamp{background:#fff;color:var(--kind)}.quest.done{opacity:.85}.quest.done .quest-head{padding:8px 12px}.quest.done .q-badge{width:36px;height:36px}.q-now{margin:0;padding:16px 16px 8px;display:flex;align-items:center;gap:12px;font-size:18px;line-height:24px;font-weight:700;color:var(--ink)}.q-now-icon{width:40px;height:40px;flex:none;border-radius:12px;background:var(--kind);color:#fff;display:grid;place-items:center;animation:q-pulse 1.6s var(--ease) infinite}@keyframes q-pulse{50%{transform:scale(1.08)}}.q-path{list-style:none;margin:0;padding:8px 16px;display:flex;align-items:center}.q-path li{flex:1;display:flex;align-items:center}.q-path li:not(:last-child):after{content:"";flex:1;height:4px;margin:0 4px;border-radius:2px;background:var(--line)}.q-path li.is-done:not(:last-child):after{background:var(--kind)}.q-path li:last-child{flex:none}.q-dot{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--muted);border:3px solid var(--line)}.q-path .is-done .q-dot{background:var(--kind);border-color:var(--kind);color:#fff}.q-path .is-now .q-dot{background:#fff;border-color:var(--kind);color:var(--kind);box-shadow:0 0 0 4px color-mix(in srgb,var(--kind) 25%,transparent)}.q-rewards{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px 16px}.q-rewards span{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 6px;border-radius:999px;background:#fff4d6;color:#8a5a00;font-size:12px;line-height:16px;font-weight:700}.q-rewards svg{color:#e0a526}.q-tabs{display:flex;gap:8px;padding:8px;border-radius:999px;background:#fffaf6f0;box-shadow:0 8px 24px #1a0e182e;align-self:flex-start;flex:none}.q-tabs button{position:relative;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--kind);display:grid;place-items:center;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}.q-tabs button:hover{transform:scale(1.08)}.q-tabs button[aria-pressed=true]{background:var(--kind);color:#fff}.q-tabs button:focus-visible{outline:3px solid var(--kind);outline-offset:2px}.q-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--primary);color:#fff;border:2px solid #FFFFFF;font-size:10px;line-height:14px;font-weight:700}.q-empty{padding:16px;border-radius:16px;background:var(--cream)}.cheat-link{display:block;width:calc(100% - 40px);margin:0 20px;min-height:44px;text-align:left;border:none;border-top:1px solid var(--line);background:none;color:var(--primary-dark);font-size:14px;font-weight:600;padding:12px 0}.sponsor{margin:0 20px 16px;padding:8px 12px;border-radius:12px;border:1px dashed #E5B4C8;background:var(--paper);font-size:12px;line-height:16px;color:var(--muted)}.bottom{z-index:3;position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.bottom>*{pointer-events:auto}.talk{border:none;border-radius:16px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;padding:12px 20px;min-height:48px;display:flex;gap:8px;align-items:center;box-shadow:0 8px 24px #d70f6459;transition:transform .3s var(--ease)}.talk:hover{transform:translateY(-2px)}.talk:active{transform:scale(.98)}.talk kbd{font-family:inherit;font-size:12px;background:#ffffff40;border-radius:6px;padding:2px 6px}.dialogue{position:relative;width:min(960px,100%);padding-top:120px;animation:rise .3s var(--ease);pointer-events:none}.dialogue>*{pointer-events:auto}.portrait{position:absolute;bottom:calc(100% - 140px);width:150px;height:175px;z-index:0;opacity:.6;filter:saturate(.35);transform:translateY(12px) scale(.92);transform-origin:bottom center;transition:transform .3s var(--ease),opacity .3s var(--ease),filter .3s var(--ease);pointer-events:none}.portrait.active{opacity:1;filter:none;transform:none}.portrait-npc{left:24px}.portrait-you{right:24px}.portrait-art{width:100%;height:100%;display:block}.mouth-talk{animation:talk .16s steps(2,jump-none) infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes talk{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.dlg-box{position:relative;z-index:1;width:100%;min-height:148px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px;background:#1a0e18f5;color:var(--cream);border:3px solid var(--cream);border-radius:16px;box-shadow:0 0 0 3px var(--ink),0 16px 40px #1a0e1859;padding:28px 32px 24px}.dlg-box.box-you{background:#0a3d36f7;text-align:right;align-items:flex-end}.dlg-box.box-you .dlg-next{color:#7fe0c8}.dlg-box.box-narrator{background:#fffaf6f7;color:var(--ink);border-color:var(--ink);box-shadow:0 0 0 3px var(--cream),0 16px 40px #1a0e1840}.dlg-box.box-narrator .dlg-text.narration{color:var(--ink)}.dlg-box.box-narrator .dlg-next{color:var(--primary-dark)}.nameplate{position:absolute;top:-18px;display:inline-flex;align-items:baseline;gap:8px;background:var(--primary);color:#fff;border:3px solid var(--cream);border-radius:12px;box-shadow:0 0 0 3px var(--ink);padding:2px 12px;font-size:16px;line-height:24px;font-weight:700}.nameplate small{font-size:12px;line-height:16px;font-weight:500;opacity:.85}.nameplate-npc{left:28px}.nameplate-you{right:28px;background:#2ba58f}.dlg-text{font-size:20px;line-height:28px;font-weight:600}.dlg-text.narration{font-size:16px;line-height:24px;font-weight:400;color:#fffaf6d1}.dlg-sub{font-size:14px;line-height:20px;color:#fffaf6a6}.ghost{opacity:0}.dlg-next{position:absolute;right:24px;bottom:12px;color:var(--primary-soft);font-size:16px;animation:bob .8s var(--ease) infinite alternate}@keyframes bob{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}.choices{position:absolute;z-index:2;right:190px;bottom:calc(100% - 108px);width:min(440px,calc(100% - 210px));display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--cream);border:3px solid var(--ink);border-radius:14px;box-shadow:0 12px 32px #1a0e184d;animation:rise .3s var(--ease)}.choices.dial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:420px;margin:0 auto;padding:16px;border-radius:24px;background:#1a0e18;box-shadow:0 0 0 4px #d7282f,0 12px 32px #d7282f73;animation:dial-pulse .9s var(--ease) infinite alternate}.choices.dial .choice{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:88px;border-radius:16px;background:#2b1f2a;color:#fff}.choices.dial .choice>span:not(.choice-cursor){display:flex;flex-direction:column;align-items:center;font-size:36px;line-height:40px;font-weight:700;letter-spacing:.08em}.choices.dial .choice small{font-size:12px;line-height:16px;font-weight:600;letter-spacing:0;color:#ffffffbf;white-space:nowrap}.choices.dial .choice-cursor,.choices.dial .choice-num{display:none}.choices.dial .choice:hover,.choices.dial .choice.current{background:#d7282f}@keyframes dial-pulse{0%{box-shadow:0 0 0 4px #d7282f,0 12px 32px #d7282f4d}to{box-shadow:0 0 0 6px #ff5a5f,0 12px 40px #d7282fb3}}@media (prefers-reduced-motion: reduce){.choices.dial{animation:none}}.choice{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:4px;text-align:left;border:none;background:none;border-radius:10px;padding:8px 12px 8px 8px;color:var(--ink);font-size:16px;line-height:24px;font-weight:600;transition:background .3s var(--ease)}.choice small{display:block;font-size:12px;line-height:16px;font-weight:400;color:var(--muted)}.choice.current{background:var(--paper)}.choice:active{transform:scale(.98)}.choice-cursor{color:var(--primary);opacity:0;transition:opacity .2s var(--ease)}.choice.current .choice-cursor{opacity:1}.choice-num{color:var(--primary-dark);font-size:12px;margin-right:2px}.toast{background:var(--cream);border-radius:16px;padding:12px 16px;font-size:14px;line-height:20px;font-weight:500;box-shadow:0 8px 24px #1a0e182e;animation:rise .5s var(--ease)}.rewards-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;overflow:hidden}.xp-star{position:absolute;color:#f5d27a;filter:drop-shadow(0 2px 2px rgba(26,14,24,.4));animation:xp-fly 1.1s var(--ease) both;animation-delay:calc(var(--i) * 50ms)}@keyframes xp-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}25%{opacity:1;transform:translate(calc(-50% + var(--spread)),calc(-50% - 60px)) scale(1.2) rotate(40deg)}to{opacity:.2;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4) rotate(220deg)}}.snap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.snap-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;animation:snap-flash .4s ease-out both}@keyframes snap-flash{0%{opacity:.85}to{opacity:0}}.snap-card{position:relative;width:260px;padding:10px 10px 14px;background:#fff;border-radius:4px;box-shadow:0 16px 32px #0006;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:18px;line-height:28px;font-weight:700;color:var(--ink);animation:snap-card 2s var(--ease) both}@keyframes snap-card{0%{opacity:0;transform:scale(.6) rotate(-8deg)}15%{opacity:1;transform:scale(1.05) rotate(-3deg)}70%{opacity:1;transform:scale(1) rotate(-3deg)}to{opacity:0;transform:translate(calc(50vw - 60px),calc(-50vh + 60px)) scale(.2) rotate(20deg)}}.snap-pic{width:100%;aspect-ratio:4 / 3;border-radius:2px;background:var(--c);color:#fff;display:grid;place-items:center}.snap-stamp{position:absolute;right:-14px;top:40%;width:72px;height:72px;border-radius:50%;border:4px solid #D7282F;color:#d7282f;display:grid;place-items:center;font-size:22px;transform:rotate(-16deg);animation:stamp-in .35s var(--ease) .35s both}.dawn{position:absolute;left:50%;top:20%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-align:center;animation:quest-done 2.8s var(--ease) both}.dawn svg{color:#f5d27a;filter:drop-shadow(0 0 24px rgba(245,210,122,.9));animation:dawn-rise 2.8s var(--ease) both}@keyframes dawn-rise{0%{transform:translateY(40px)}to{transform:none}}.dawn strong{font-size:48px;line-height:1;color:#f5d27a;text-shadow:0 4px 0 #8A5A00,0 8px 24px rgba(0,0,0,.5)}.dawn span{font-size:16px;line-height:24px;font-weight:700;padding:2px 12px;border-radius:999px;background:#1a0e18b3}.dawn b{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:#fff4d6;color:#8a5a00;font-size:16px;line-height:24px}.dawn.long,.dawn.long svg{animation-duration:3.8s}.dawn-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.dawn-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;background:#1a0e18bf;color:#fff;font-size:14px;line-height:20px;font-weight:700;font-style:normal}.dawn .dawn-chip svg{color:currentColor;filter:none;animation:none}.dawn-chip.soon{background:#e0a526;color:#1a0e18}.dawn-chip.urgent{background:#d7282f}.dawn-chip.storm{background:#3a5bd5}.entry{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1a0e188c;animation:entry-fade 2.4s var(--ease) both}@keyframes entry-fade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.entry-page{position:relative;width:min(320px,80vw);aspect-ratio:3 / 4;border-radius:12px;background:#f3eedc;border:4px solid #3B2A4F;box-shadow:0 24px 60px #00000080;display:grid;place-items:center;animation:rise .4s var(--ease) both}.entry-head{position:absolute;top:16px;left:0;right:0;text-align:center;font-size:14px;letter-spacing:.3em;font-weight:700;color:#3b2a4f;opacity:.6}.entry-stamp{width:180px;height:180px;border-radius:50%;border:6px double #2E4A8A;color:#2e4a8a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:48px;line-height:1;transform:rotate(-14deg);animation:stamp-in .4s var(--ease) .5s both}.entry-stamp small{font-size:12px;line-height:16px;letter-spacing:.12em}.sting{position:absolute;left:50%;top:38%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 32px;border:6px solid #D7282F;border-radius:16px;color:#d7282f;background:#fffaf6eb;transform:translate(-50%,-50%) rotate(-8deg);animation:sting 1.8s var(--ease) both}.sting strong{font-size:60px;line-height:1;font-weight:700}.sting span{font-size:30px;line-height:36px;font-weight:700}.sting small{font-size:14px;line-height:20px;font-weight:700;padding:2px 8px;border-radius:999px;color:#fff;background:#1a0e18}@keyframes sting{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(3)}14%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(.92)}22%{transform:translate(-50%,-50%) rotate(-8deg) scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(1)}}main.shake{animation:shake .45s var(--ease)}@keyframes shake{15%{transform:translate(-10px) rotate(-.5deg)}35%{transform:translate(9px) rotate(.4deg)}55%{transform:translate(-6px)}75%{transform:translate(4px)}to{transform:none}}@media (prefers-reduced-motion: reduce){main.shake{animation:none}}@media (max-width: 640px){.sting strong{font-size:40px}.sting span{font-size:24px;line-height:32px}}.quest-done{position:absolute;left:50%;top:18%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-align:center;animation:quest-done 2.6s var(--ease) both}@keyframes quest-done{0%{opacity:0;transform:translate(-50%) scale(1.8)}12%{opacity:1;transform:translate(-50%) scale(1)}85%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-24px)}}.quest-done strong{font-size:48px;line-height:1;font-weight:700;color:#f5d27a;text-shadow:0 4px 0 #7A0F22,0 8px 24px rgba(0,0,0,.5)}.quest-done span{font-size:16px;line-height:24px;font-weight:700;padding:2px 12px;border-radius:999px;background:#1a0e18b3}.quest-done ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.quest-done li{display:inline-flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;border-radius:999px;background:#fff4d6;color:#8a5a00;font-size:14px;line-height:20px;font-weight:700;animation:chip-pop .4s var(--ease) both;animation-delay:calc(.4s + var(--i) * .18s)}@keyframes chip-pop{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.quest-done li svg{color:#e0a526}.gameover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 16px;overflow:auto;background:#1a0e18;color:#fff;text-align:center;animation:bye-fade .8s var(--ease) both}.gameover-title{display:flex;flex-direction:column;gap:8px;animation:faint-slam .6s var(--ease) .3s both}.gameover-title strong{font-size:72px;line-height:1;font-weight:700;color:#ff2b85;text-shadow:0 6px 0 #7A0F22}.gameover-title span{font-size:24px;line-height:32px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.gameover-tip{margin:0;font-size:14px;line-height:20px;color:#f5d27a}.gameover .pause-go{min-width:240px;padding:8px 16px}.gameover-scenes li{animation-delay:calc(.5s + var(--i) * .5s)}.gameover-story{margin:0;max-width:480px;font-size:16px;line-height:24px;text-wrap:balance;animation:rise .5s var(--ease) 2s both}.scorecard{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;border-radius:24px;background:#fffaf6;color:var(--ink);border:4px solid #F5D27A;box-shadow:0 24px 60px #00000080;animation:logo-slam .6s var(--ease) both}.scorecard-title{font-size:36px;line-height:40px;font-weight:700;color:#d7282f}.scorecard-sub{font-size:14px;line-height:20px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.scorecard ul{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.scorecard li{padding:4px 12px;border-radius:999px;background:var(--paper);font-size:14px;line-height:20px}.scorecard b{font-size:18px}.scorecard .gameover-tip{color:#8a5a00}@media (max-width: 640px){.gameover-title strong{font-size:48px}}.arrival{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:24px 16px;background:#1a0e18d1;color:#fff;cursor:pointer;animation:bye-fade .5s var(--ease) both}.arrival-title{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;animation:faint-slam .6s var(--ease) .2s both}.arrival-kicker{font-size:20px;line-height:28px;font-weight:700;color:#f5d27a}.arrival-title strong{font-size:60px;line-height:1;font-weight:700;text-shadow:0 6px 0 var(--primary-dark)}.arrival-title span:not(.arrival-kicker){font-size:20px;line-height:28px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.arrival-title small{font-size:14px;line-height:20px;opacity:.8}.arrival-shots{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.arrival-shots li{width:180px;padding:8px 8px 12px;background:#fff;border-radius:4px;color:var(--ink);display:flex;flex-direction:column;gap:8px;box-shadow:0 16px 32px #0006;transform:rotate(calc((var(--i) - 1) * 4deg));animation:polaroid-in .6s var(--ease) both;animation-delay:calc(.7s + var(--i) * .3s)}.arrival-shots svg{width:100%;display:block;border-radius:2px}.arrival-shots span{font-size:14px;line-height:20px;font-weight:700;text-align:center}@keyframes polaroid-in{0%{opacity:0;transform:translateY(-48px) rotate(calc((var(--i) - 1) * 4deg - 12deg)) scale(1.1)}to{opacity:1;transform:rotate(calc((var(--i) - 1) * 4deg))}}.arrival-tap{font-size:14px;line-height:20px;opacity:.7;animation:bye-fade .5s var(--ease) 1.8s both}@media (max-width: 640px){.arrival-title strong{font-size:48px}.arrival-shots li{width:104px;padding:4px 4px 8px}.arrival-shots span{font-size:12px;line-height:16px}}.faint-layer{z-index:6;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:24px;padding:8vh 16px 16px;background:radial-gradient(circle at 50% 50%,#1a0e181a 20%,#3c000cd9 75%);animation:faint-dim 1.6s var(--ease) both}@keyframes faint-dim{0%{opacity:0}to{opacity:1}}.faint-title{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;text-align:center;animation:faint-slam .6s var(--ease) 1.3s both}.faint-title strong{font-size:72px;line-height:1;font-weight:700;text-shadow:0 6px 0 #7A0F22,0 16px 40px rgba(0,0,0,.6)}.faint-title span{font-size:20px;line-height:28px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}@keyframes faint-slam{0%{opacity:0;transform:scale(2.6)}60%{opacity:1;transform:scale(.95)}to{transform:scale(1)}}.faint-card{width:min(440px,100%)}@media (max-width: 640px){.faint-title strong{font-size:48px}.faint-title span{font-size:16px;line-height:24px}}.overlay{z-index:4;position:absolute;top:0;right:0;bottom:0;left:0;background:#1a0e1873;display:flex;align-items:center;justify-content:center;padding:16px}.sheet{width:min(520px,100%);background:var(--cream);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px;animation:rise .5s var(--ease)}.sheet h2{margin:0;font-size:24px;line-height:32px}.sheet p{margin:0;font-size:16px;line-height:24px;text-wrap:pretty}.sheet-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.sheet-actions a,.sheet-actions button{font-size:16px;font-weight:600;padding:12px 16px;min-height:48px;border-radius:16px;text-decoration:none;display:inline-flex;align-items:center}.sheet-actions a{background:#fff;color:var(--ink);border:1px solid var(--line)}.sheet-actions button{background:var(--primary);color:#fff;border:none}.game:has(.hud-right.open) .bottom{right:calc(min(560px,50vw) + 32px)}.game:has(.hud-left.open) .bottom{left:calc(min(560px,50vw) + 32px)}.gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.polaroid{background:#fff;border-radius:6px;padding:8px 8px 12px;box-shadow:0 4px 12px #1a0e1826;display:flex;flex-direction:column;gap:4px;transform:rotate(-1.5deg)}.polaroid:nth-child(2n){transform:rotate(1.5deg)}.polaroid.missing{box-shadow:none;border:2px dashed var(--line);transform:none;background:transparent}.photo-art{width:100%;display:block;border-radius:2px}.polaroid strong{font-size:14px;line-height:20px}.polaroid span{font-size:12px;line-height:16px;color:var(--muted)}.phrase-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.qr{margin:4px 0 0;align-self:flex-start;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:12px;padding:8px}.qr svg{width:96px;height:96px;display:block}.qr figcaption{font-size:12px;line-height:16px;color:var(--ink);font-weight:600}.quest-stack{display:flex;flex-direction:column;gap:12px;width:340px;max-height:calc(100vh - var(--box) - 48px);overflow:auto;border-radius:24px}.quest-stack .quest{max-height:none;flex:none}.phone-button{position:absolute;left:16px;bottom:16px;z-index:2;width:64px;height:64px;border-radius:20px;border:3px solid #FFFFFF;background:var(--ink);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;box-shadow:0 6px 20px #1a0e1847;transition:transform .3s var(--ease)}.phone-button:hover{transform:translateY(-2px)}.phone-button:active{transform:scale(.96)}.phone-battery{font-size:12px;line-height:16px;font-weight:700}.phone-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#1a0e1840}.phone{position:absolute;left:16px;bottom:96px;width:300px;height:min(560px,calc(100vh - 128px));background:#111;border-radius:40px;padding:12px;box-shadow:0 24px 60px #1a0e1873;display:flex;flex-direction:column;animation:rise .5s var(--ease)}.phone-status{display:flex;align-items:center;justify-content:space-between;padding:4px 16px 8px;color:#fff;font-size:12px;line-height:16px;font-weight:600}.phone-status-right{display:inline-flex;align-items:center;gap:4px}.phone-notch{width:72px;height:20px;border-radius:999px;background:#000}.phone-screen{flex:1;overflow:auto;border-radius:28px;background:#ffe4ee;padding:16px 12px}.phone-dead{color:#fff;text-align:center;margin-top:48px;padding:0 16px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;line-height:20px}.phone-dead svg{color:#e5484d}.phone-dead strong{font-size:48px;line-height:1;color:#e5484d}.phone-home{align-self:center;width:112px;height:6px;margin-top:10px;border-radius:999px;border:none;background:#ffffffb3}.app-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px}.app-grid button{width:100%;border:none;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .3s var(--ease)}.app-grid button:active{transform:scale(.94)}.app-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;box-shadow:0 2px 6px #1a0e1833}.app-icon.small{width:36px;height:36px;border-radius:10px;font-size:16px}.app-label{font-size:12px;line-height:16px;color:var(--ink);max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-screen{display:flex;flex-direction:column;gap:12px;color:var(--ink)}.app-screen header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:3px solid var(--app)}.app-screen header button{border:none;background:#fff;border-radius:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.app-screen h3{margin:0;font-size:16px;line-height:24px}.app-body{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:20px}.app-body p{margin:0;text-wrap:pretty}.app-muted{color:var(--muted);font-size:12px;line-height:16px}.app-lock{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--primary-dark)}.app-card{background:var(--app);color:#fff;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px}.app-card strong{font-size:24px;line-height:32px}.app-card span{font-size:12px;line-height:16px;opacity:.9}.app-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app-steps li{display:flex;align-items:center;gap:8px}.app-cta{border:none;border-radius:12px;padding:12px;background:var(--app);color:#fff;font-size:14px;font-weight:600}.amap{display:flex;flex-direction:column;gap:8px;height:100%}.amap-view{position:relative;flex:1;min-height:360px;border-radius:16px;overflow:hidden;background:#efe6d2;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.amap-view:active{cursor:grabbing}.amap-fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:amap-drift 12s ease-in-out infinite alternate}@keyframes amap-drift{0%{transform:translate(-4px)}to{transform:translate(4px)}}.amap-city,.amap-place{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:none;background:none;cursor:pointer}.amap-pin{width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;background:#2ba58f;color:#fff;border:2px solid #FFFFFF;box-shadow:0 4px 10px #00000059}.amap-pin svg{transform:rotate(45deg)}.amap-city.locked .amap-pin{background:#5e5873}.amap-place .amap-pin{width:28px;height:28px;background:#3a7bd5}.amap-place.here .amap-pin{background:var(--primary);animation:amap-here 1.4s var(--ease) infinite}@keyframes amap-here{50%{box-shadow:0 0 0 8px #ff2b854d}}.amap-name{padding:2px 8px;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:12px;line-height:16px;font-weight:700;white-space:nowrap;box-shadow:0 2px 6px #0003}.amap-name small{font-size:12px;font-weight:600;color:var(--muted)}.amap-city.locked .amap-name{background:#1a0e18bf;color:#fff}.amap-city.locked .amap-name small{color:#ffffffb3}.amap-zoom{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:4px}.amap-zoom button{width:36px;height:36px;border-radius:12px;border:none;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #00000040;transition:transform .3s var(--ease)}.amap-zoom button:active{transform:scale(.94)}.amap-info{margin:0;min-height:40px;font-size:12px;line-height:16px;color:var(--muted)}.amap-info strong{color:var(--ink);font-size:14px}.app-map{height:120px;border-radius:16px;background:#e8eef3;position:relative;overflow:hidden}.app-map:before{content:"";position:absolute;inset:40% 0 auto;height:14px;background:#fff}.app-map.sea{background:#8fd3e8}.app-dot{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 4px #1677ff4d}.store-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.store-list li{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:8px}.store-name{flex:1;font-size:14px;line-height:20px;font-weight:600}.store-get{border:none;border-radius:999px;padding:4px 16px;background:#1677ff;color:#fff;font-size:12px;font-weight:700}.store-done{font-size:12px;line-height:16px;color:var(--muted)}.mini-program{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:8px;font-size:12px;line-height:16px}.mini-program>span:nth-child(2){flex:1}.mini-program strong{display:block;font-size:14px;line-height:20px}.setup-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:#1a0e188c;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:32px 16px}.setup{width:min(640px,100%);background:var(--cream);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:24px;box-shadow:0 24px 60px #1a0e1866;animation:rise .5s var(--ease)}.setup-head h1{margin:4px 0;font-size:30px;line-height:36px;text-wrap:balance}.setup-head p{margin:0;color:var(--muted);font-size:16px;line-height:24px;text-wrap:pretty}.setup-step{display:flex;flex-direction:column;gap:12px;transition:opacity .3s var(--ease)}.setup-step.dim{opacity:.45}.setup-step h2{margin:0;display:flex;align-items:center;gap:8px;font-size:18px;line-height:28px}.setup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.setup-chip{min-height:48px;border-radius:12px;border:2px solid var(--line);background:#fff;font-size:14px;font-weight:600;color:var(--ink);transition:border-color .3s var(--ease),transform .3s var(--ease)}.setup-chip:hover{transform:translateY(-2px)}.setup-chip[aria-pressed=true]{border-color:var(--primary);background:var(--paper)}.setup-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.setup-route{text-align:left;border-radius:16px;border:2px solid var(--line);background:#fff;padding:12px;display:flex;flex-direction:column;gap:4px;color:var(--ink);transition:border-color .3s var(--ease),transform .3s var(--ease)}.setup-route:not(:disabled):hover{transform:translateY(-2px)}.setup-route[aria-pressed=true]{border-color:var(--primary);background:var(--paper)}.setup-route:disabled{opacity:.5;cursor:not-allowed}.setup-route strong{font-size:14px;line-height:20px;display:inline-flex;align-items:center;gap:4px}.setup-route span{font-size:12px;line-height:16px;color:var(--muted)}.setup-route .setup-budget{color:var(--good);font-weight:700}.setup-slider{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.setup-slider input{accent-color:var(--primary);width:100%}.setup-split{display:flex;gap:12px;flex-wrap:wrap}.setup-split span{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:12px;padding:8px 12px;font-size:14px}.setup-hint{margin:0;font-size:12px;line-height:16px;color:var(--muted);text-wrap:pretty}.setup-go{align-self:stretch;min-height:48px;border:none;border-radius:16px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .3s var(--ease),opacity .3s var(--ease)}.setup-go:hover:not(:disabled){transform:translateY(-2px)}.setup-go:active:not(:disabled){transform:scale(.98)}.setup-go:disabled{opacity:.4;cursor:not-allowed}@keyframes rise{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.quest,.dialogue,.toast,.sheet,.hud-panel,.choices{animation:fade .3s linear}.mouth-talk,.dlg-next{animation:none}.delta{animation:fade .3s linear forwards;transform:translateY(-50%)}.portrait{transition:none}.drawer,.rail-item{animation:fade .3s linear both}.meter.low .meter-icon{animation:none}.orb{transition:none}@keyframes fade{0%{opacity:0}to{opacity:1}}}@media (max-width: 760px){.hud{--orb: 56px;--r: 136px}.hud.open{left:16px;right:16px}.game:has(.hud.open) .bottom{left:16px;right:16px}.hud-right.open .mini-right{display:none}.hud-panel,.quest{width:100%;max-height:calc(100vh - var(--box) - 48px)}.game:has(.dialogue) .hud-panel{display:none}.game:has(.dialogue) .quest>:not(.quest-head),.game:has(.dialogue) .q-tabs{display:none}.meter{width:96px}.quest-stack{width:100%}.setup-grid{grid-template-columns:repeat(2,1fr)}.setup-routes{grid-template-columns:1fr}.phone{left:50%;margin-left:-150px}.dialogue{padding-top:76px}.portrait{width:92px;height:108px;bottom:calc(100% - 86px)}.portrait-npc{left:8px}.portrait-you{right:8px}.dlg-box{padding:24px 16px 20px;min-height:132px}.dlg-text{font-size:18px;line-height:28px}.choices{left:0;right:0;width:auto;bottom:calc(100% - 64px)}.dialogue:has(.choices) .portrait-npc{opacity:0}}.intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:#1a0e1847;overflow:hidden;display:flex;justify-content:center;align-items:center;padding:16px}.intro-skip{position:absolute;top:16px;right:16px;z-index:1;padding:8px 12px;border:none;border-radius:999px;background:#fffaf6d9;color:var(--ink);font:inherit;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;transition:background .3s var(--ease)}.intro-skip:hover{background:var(--cream)}.intro-line{position:relative;z-index:1;max-width:680px;margin:0;padding:16px 24px;border-radius:24px;background:var(--cream);text-align:center;font-size:30px;line-height:36px;font-weight:700;text-wrap:balance;box-shadow:0 24px 60px #1a0e1859;animation:rise .6s var(--ease)}.intro-but{color:var(--primary)}.intro-worries{list-style:none;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.worry{position:absolute;display:flex;align-items:center;gap:8px;max-width:280px;padding:8px 12px 8px 8px;border-radius:16px;background:var(--bg);font-size:16px;line-height:24px;font-weight:600;box-shadow:0 12px 32px #1a0e1840;transform:rotate(var(--tilt));animation:worry-pop .25s var(--ease) both}.worry.you{outline:3px solid #2BA58F}.worry-head{flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--paper);display:grid;place-items:end center}.worry-head svg{width:36px;height:42px}.worry:after{content:"";position:absolute;left:20px;bottom:-6px;width:12px;height:12px;background:var(--bg);transform:rotate(45deg)}.intro-worries.gone .worry{animation:worry-drop .8s var(--ease) forwards}.intro-worries.gone .worry:nth-child(odd){animation-delay:80ms}@keyframes worry-pop{0%{opacity:0;transform:rotate(var(--tilt)) scale(.6) translateY(24px)}to{opacity:1;transform:rotate(var(--tilt)) scale(1)}}@keyframes worry-drop{to{opacity:0;transform:rotate(calc(var(--tilt) * 6)) translateY(120vh)}}.intro-punch{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:680px;padding:32px;border-radius:24px;background:var(--cream);text-align:center;box-shadow:0 24px 60px #1a0e1866;animation:slam .5s var(--ease)}.intro-punch h1{margin:0;font-size:48px;line-height:1;font-weight:700;text-wrap:balance}.intro-murphy{margin:0;display:flex;flex-direction:column;gap:8px;font-size:24px;line-height:32px;font-weight:600;text-wrap:balance}.intro-murphy strong{color:var(--primary)}.intro-go{position:relative;z-index:3;display:inline-flex;align-items:center;gap:12px;padding:24px 40px;border:4px solid #FFFFFF;border-radius:999px;background:var(--primary);color:#fff;font:inherit;font-size:36px;line-height:40px;font-weight:700;text-wrap:balance;cursor:pointer;box-shadow:0 24px 64px #d70f648c;animation:nudge 1.6s var(--ease) 1.4s infinite;transition:background .3s var(--ease)}.intro-go:hover{background:var(--primary-dark)}.intro-go:active{transform:scale(.98)}@keyframes slam{0%{opacity:0;transform:scale(3)}55%{opacity:1;transform:scale(.94)}75%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes nudge{50%{transform:translateY(-4px)}}.npc-bubble{padding:4px 8px;border-radius:12px;background:#fff;color:var(--ink);font-size:14px;line-height:20px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #1a0e1833;opacity:0;transform:translateY(8px) scale(.8);transition:opacity .3s var(--ease),transform .5s var(--ease);pointer-events:none}.npc-bubble[data-on=true]{opacity:1;transform:none}@media (max-width: 640px){.intro-line{font-size:24px;line-height:32px}.intro-punch h1{font-size:36px;line-height:40px}.intro-murphy{font-size:20px;line-height:28px}.intro-go{font-size:24px;line-height:32px;padding:16px 24px}.worry{max-width:200px;font-size:14px;line-height:20px}.worry-head,.worry-head svg{width:28px;height:28px}}@media (prefers-reduced-motion: reduce){.intro *,.npc-bubble{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.sound-toggle{position:absolute;left:16px;top:16px;z-index:7;width:48px;height:48px;display:grid;place-items:center;border:none;border-radius:50%;background:#fffaf6e6;color:var(--ink);cursor:pointer;box-shadow:0 8px 24px #1a0e1833;transition:background .3s var(--ease),transform .3s var(--ease)}.sound-toggle:hover{background:var(--cream);transform:scale(1.05)}.sound-toggle:active{transform:scale(.98)}.sound-toggle[aria-pressed=true]{color:var(--primary)}.intro-title{flex-direction:column;gap:32px}.game-logo{position:relative;margin:0;display:flex;flex-direction:column;align-items:center;line-height:.9;font-weight:700;color:#fff;transform:rotate(-4deg);animation:logo-slam .7s var(--ease) both}.logo-top{font-size:96px;letter-spacing:.04em;color:#fff;text-shadow:0 6px 0 var(--primary-dark),0 12px 0 #1A0E18,0 24px 48px rgba(0,0,0,.45)}.logo-bottom{font-size:60px;letter-spacing:.12em;color:#f5d27a;text-shadow:0 5px 0 #8A5A00,0 10px 0 #1A0E18,0 20px 40px rgba(0,0,0,.4)}@keyframes logo-slam{0%{opacity:0;transform:rotate(-4deg) scale(2.4)}60%{opacity:1;transform:rotate(-4deg) scale(.94)}to{transform:rotate(-4deg) scale(1)}}@media (max-width: 640px){.logo-top{font-size:56px}.logo-bottom{font-size:36px}}.intro-tap{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;border:4px solid #FFFFFF;border-radius:999px;background:var(--primary);color:#fff;font:inherit;font-size:30px;line-height:36px;font-weight:700;cursor:pointer;box-shadow:0 24px 64px #d70f648c;animation:glow 1.6s var(--ease) infinite;transition:background .3s var(--ease)}@keyframes glow{50%{box-shadow:0 0 0 12px #d70f6440,0 24px 64px #d70f648c}}.intro-tap:hover{background:var(--primary-dark)}.intro-tap:active{transform:scale(.98)}.menu-button{position:absolute;right:96px;top:24px;z-index:7;width:48px;height:48px;display:grid;place-items:center;border:none;border-radius:50%;background:#fffaf6d9;color:var(--ink);cursor:pointer;box-shadow:0 6px 20px #1a0e1833;transition:background .3s var(--ease),transform .3s var(--ease)}.menu-button:hover{background:var(--cream);transform:scale(1.05)}.menu-button:active{transform:scale(.98)}.pause-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;background:#1a0e1899;display:grid;place-items:center;padding:16px}.pause .portrait-art,.postcard-face .portrait-art{width:100%;height:100%}.pause,.resume{width:min(400px,100%);background:var(--cream);border-radius:24px;padding:32px 24px;display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center;box-shadow:0 24px 60px #1a0e1866;animation:rise .5s var(--ease)}.pause h1,.resume h1{margin:0;font-size:30px;line-height:36px;text-wrap:balance}.pause p{margin:0 0 12px;color:var(--muted);font-size:16px;line-height:24px;text-wrap:pretty}.pause-go{min-height:48px;border:none;border-radius:16px;background:var(--primary);color:#fff;font:inherit;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .3s var(--ease)}.pause-exit{min-height:48px;border:2px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .3s var(--ease),border-color .3s var(--ease)}.pause-face{width:96px;height:112px;margin:-88px auto 0;filter:drop-shadow(0 8px 16px rgba(26,14,24,.3))}.pause-badge{width:72px;height:72px;margin:0 auto;border-radius:50%;display:grid;place-items:center;color:#fff;animation:slam .5s var(--ease)}.pause-badge.good{background:var(--good)}.pause-badge.warn{background:#e0a526}.pause-save{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px!important;line-height:20px!important}.trip-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.trip-chips li{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border-radius:999px;background:#fff;color:var(--ink);font-size:14px;line-height:20px;font-weight:700;box-shadow:0 2px 8px #1a0e181a}.trip-chips svg{color:var(--primary)}.bye-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;place-items:center;padding:24px 16px;overflow:auto;background:#1a0e18;animation:bye-fade .8s var(--ease)}@keyframes bye-fade{0%{opacity:0}to{opacity:1}}.bye{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center}.bye h1{margin:0;font-size:48px;line-height:1;text-shadow:0 4px 0 var(--primary-dark);animation:rise .5s var(--ease) .9s both}.bye-save{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:16px;line-height:24px;font-weight:600;opacity:.9;animation:rise .5s var(--ease) 1.1s both}.bye .pause-go{min-width:240px;animation:rise .5s var(--ease) 1.3s both}.postcard{position:relative;width:min(340px,100%);padding:24px 16px 16px;border-radius:16px;background:var(--cream);color:var(--ink);border:6px solid #FFFFFF;box-shadow:0 24px 60px #00000080;display:flex;flex-direction:column;align-items:center;gap:8px;transform:rotate(-3deg);animation:postcard-in .7s var(--ease) both}@keyframes postcard-in{0%{opacity:0;transform:translateY(48px) rotate(6deg) scale(.9)}to{opacity:1;transform:rotate(-3deg)}}.postcard-city{font-size:36px;line-height:40px;font-weight:700;color:var(--primary)}.postcard-city small{font-size:16px;line-height:24px;color:var(--muted)}.postcard-face{position:relative;width:112px;height:130px}.postcard-wave{position:absolute;right:-32px;top:24px;color:#e0a526;transform-origin:70% 90%;animation:wave .9s var(--ease) .6s 3}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-20deg)}75%{transform:rotate(16deg)}}.postcard-where{margin:0;font-size:14px;line-height:20px;font-weight:600;color:var(--muted)}.postcard-money{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:16px;line-height:24px;font-weight:700;color:var(--good)}.exit-stamp{position:absolute;right:-24px;bottom:-32px;width:96px;height:96px;border-radius:50%;border:4px solid #D7282F;color:#d7282f;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;line-height:16px;font-weight:700;letter-spacing:.15em;transform:rotate(-18deg);opacity:.9;animation:stamp-in .4s var(--ease) .7s both}.exit-stamp b{font-size:24px;line-height:28px;letter-spacing:0}@keyframes stamp-in{0%{opacity:0;transform:rotate(-18deg) scale(2.4)}to{opacity:.9;transform:rotate(-18deg) scale(1)}}.pause-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pause-tile{min-height:96px;border:2px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:24px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.pause-tile:hover{transform:translateY(-2px);border-color:var(--primary)}.pause-tile:active{transform:scale(.97)}.pause-tile:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pause-tile.go{background:var(--primary);border-color:var(--primary);color:#fff}.pause-tile[aria-pressed=false]{color:var(--muted);background:var(--paper)}.pause-go:hover,.pause-exit:hover{transform:translateY(-2px)}.pause-go:active,.pause-exit:active{transform:scale(.98)}.resume{align-self:center;margin:auto}.resume-head{width:120px;height:140px;margin:0 auto;border-radius:50%;background:var(--paper);overflow:hidden}.resume-head .portrait-art{width:100%;height:100%}.resume-day{font-size:48px;line-height:1;font-weight:700;color:var(--primary)}.resume-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:16px;color:#fff;box-shadow:0 6px 16px #1a0e1833}.stat strong{font-size:24px;line-height:32px;font-weight:700}.stat small{font-size:12px;line-height:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.9}.stat-cash{background:#2e9e5b}.stat-card{background:#3a5bd5}.stat-visa{background:#d7282f}.resume-note{margin:0;font-size:12px;line-height:16px;color:var(--muted)}.pack-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:radial-gradient(circle at 50% 40%,#ff2b8559,#1a0e18d9 70%);display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:24px 16px}.pack{margin:auto 0;width:min(720px,100%);display:flex;flex-direction:column;align-items:center;gap:24px;color:#fff}.pack-steps{list-style:none;margin:0;padding:0;display:flex;gap:8px}.pack-steps li{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:999px;background:#ffffff1f;font-size:14px;line-height:20px;font-weight:700;opacity:.6;transition:opacity .3s var(--ease),background .3s var(--ease)}.pack-steps li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff3}.pack-steps li[aria-current=step]{opacity:1;background:var(--primary)}.pack-steps li[aria-current=step] span{background:#fff;color:var(--primary)}.pack-steps li[data-done=true]{opacity:1}.pack-page{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px;animation:pack-in .5s var(--ease)}@keyframes pack-in{0%{opacity:0;transform:translate(48px) scale(.96)}to{opacity:1;transform:none}}.pack-page h1{margin:0;font-size:48px;line-height:1;font-weight:700;text-transform:uppercase;letter-spacing:.02em;text-align:center;text-shadow:0 4px 0 var(--primary-dark),0 12px 32px rgba(0,0,0,.4);text-wrap:balance}.pack-hero{display:flex;align-items:center;gap:16px}.pack-cycle{width:56px;height:56px;flex:none;border-radius:50%;border:3px solid #FFFFFF;background:#ffffff1f;color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--ease),background .3s var(--ease)}.pack-cycle:hover{background:var(--primary);transform:scale(1.08)}.pack-cycle:active{transform:scale(.96)}.pack-stage{position:relative;width:320px;height:300px;display:flex;align-items:flex-end;justify-content:center}.pack-avatar{position:absolute;left:8px;bottom:0;width:168px;height:280px;filter:drop-shadow(0 16px 24px rgba(0,0,0,.4))}.pack-avatar .figure{width:100%;height:100%;display:block;background:none;padding:0;filter:drop-shadow(0 8px 0 rgba(0,0,0,.15))}.pack-passport{position:absolute;right:0;bottom:24px;width:180px;padding:16px;border-radius:16px;background:#3b2a4f;border:4px solid #E8C36A;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transform:rotate(6deg);box-shadow:0 16px 40px #00000073;animation:slam .5s var(--ease)}.pack-flag{width:120px;height:80px;border-radius:8px;box-shadow:0 4px 12px #00000059}.pack-passport-word{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#e8c36a}.pack-passport strong{font-size:20px;line-height:28px;text-wrap:balance}.pack-select{min-width:280px;min-height:48px;padding:8px 16px;border-radius:999px;border:3px solid #FFFFFF;background:#fff;color:var(--ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer}.look{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:24px;background:#ffffff1f}.look-row{display:flex;align-items:center;gap:8px}.look-label{width:64px;font-size:14px;line-height:20px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.look-swatch,.look-hair{width:40px;height:40px;flex:none;border-radius:50%;border:3px solid rgba(255,255,255,.35);padding:0;cursor:pointer;transition:transform .3s var(--ease),border-color .3s var(--ease)}.look-hair{background:#fff;overflow:hidden;display:grid;place-items:center}.look-hair svg{width:100%;height:100%}.look-swatch:hover,.look-hair:hover{transform:scale(1.08)}.look-swatch:active,.look-hair:active{transform:scale(.96)}.look-swatch[aria-pressed=true],.look-hair[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 3px var(--primary)}.look-swatch:focus-visible,.look-hair:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}.pack-routes{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.pack-route{width:200px;padding:24px 16px;border-radius:24px;border:4px solid transparent;background:#fff;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;box-shadow:0 16px 40px #00000059;transition:transform .3s var(--ease),border-color .3s var(--ease)}.pack-route:hover{transform:translateY(-4px) rotate(-1deg)}.pack-route[aria-pressed=true]{border-color:var(--primary);transform:translateY(-8px) scale(1.04)}.pack-route-art{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--primary)}.pack-days{font-size:60px;line-height:1;font-weight:700;color:var(--primary);display:flex;align-items:baseline;gap:4px}.pack-days small{font-size:18px;line-height:28px;color:var(--ink)}.pack-route strong{font-size:16px;line-height:24px}.pack-route-note{font-size:12px;line-height:16px;color:var(--muted);text-wrap:pretty}.pack-route-budget{margin-top:4px;padding:4px 12px;border-radius:999px;background:var(--good-bg);color:var(--good);font-size:14px;line-height:20px;font-weight:700}.pack-budget{margin:-8px 0 0;max-width:480px;text-align:center;font-size:16px;line-height:24px;text-wrap:balance}.pack-budget strong{color:#f5d27a}.pack-wallet{display:flex;gap:48px;align-items:flex-end;justify-content:center}.pack-pile{display:flex;flex-direction:column;align-items:center;gap:8px}.pack-notes{position:relative;width:160px;height:180px}.pack-notes span{position:absolute;left:0;bottom:calc(var(--i) * 6px);width:160px;height:72px;border-radius:8px;background:#e5484d;border:3px solid #FFD6D7;color:#fff;display:grid;place-items:center;font-size:24px;line-height:32px;font-weight:700;transform:rotate(calc((var(--i) - 12) * .6deg));box-shadow:0 2px 4px #0000004d;animation:rise .3s var(--ease) both}.pack-card{width:180px;height:112px;margin-bottom:34px;border-radius:16px;background:#2b3a67;border:3px solid #8FA6E8;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:12px 16px;font-size:16px;font-weight:700;box-shadow:0 16px 32px #00000059;transform:rotate(-4deg)}.pack-amount{font-size:36px;line-height:40px;font-weight:700}.pack-label{font-size:14px;line-height:20px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;opacity:.8}.pack-slider{width:min(400px,100%);accent-color:var(--primary);height:32px;cursor:pointer}.pack-nav{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px}.pack-back{min-height:48px;padding:8px 16px;border-radius:999px;border:3px solid #FFFFFF;background:transparent;color:#fff;font:inherit;font-size:16px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .3s var(--ease)}.pack-back:hover{background:#ffffff26}.pack-next{min-height:56px;padding:12px 32px;border-radius:999px;border:4px solid #FFFFFF;background:var(--primary);color:#fff;font:inherit;font-size:20px;font-weight:700;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 12px 32px #d70f6480;transition:transform .3s var(--ease),background .3s var(--ease)}.pack-next:hover{background:var(--primary-dark);transform:translateY(-2px)}.pack-next:active{transform:scale(.97)}@media (max-width: 640px){.pack-page h1{font-size:36px;line-height:40px}.pack-stage{width:240px;height:240px}.pack-avatar{width:132px;height:220px}.pack-passport{width:140px;padding:12px}.pack-flag{width:90px;height:60px}.pack-cycle{width:44px;height:44px}.look-label{width:52px;font-size:12px;line-height:16px}.look-swatch,.look-hair{width:36px;height:36px}.pack-wallet{gap:24px}.pack-notes,.pack-notes span{width:120px}.pack-card{width:130px;height:84px}.pack-amount{font-size:24px;line-height:32px}}.version{position:absolute;right:12px;bottom:4px;z-index:9;font-size:12px;line-height:16px;font-weight:600;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.talk{--who: var(--primary);display:inline-flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;border:3px solid #FFFFFF;border-radius:999px;background:var(--who);color:#fff;text-align:left;box-shadow:0 8px 24px #1a0e184d;animation:rise .3s var(--ease)}.talk-head{width:48px;height:48px;flex:none;border-radius:50%;background:#fff;overflow:hidden;display:grid;place-items:end center}.talk-head .portrait-art{width:48px;height:56px}.talk-who{display:flex;flex-direction:column;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.35)}.talk-who strong{font-size:16px;line-height:20px}.talk-who small{font-size:12px;line-height:16px;opacity:.9}.talk kbd{background:#00000040;font-size:14px;padding:4px 8px}.account{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 12px;margin-bottom:12px;border-radius:12px;background:var(--paper);font-size:14px;line-height:20px}.account-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:700}.account-photo{width:32px;height:32px;flex:none;border-radius:50%;object-fit:cover}.account-icon{width:36px;height:36px;flex:none;border:2px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}.account-icon:hover{background:var(--cream);transform:scale(1.05)}.account-icon:active{transform:scale(.96)}.account-icon:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.face-photo{object-fit:cover}.account-in{min-height:36px;padding:4px 16px;border:none;border-radius:999px;background:var(--primary);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .3s var(--ease)}.account-in:hover{background:var(--primary-dark)}.nudge{position:absolute;left:50%;top:16px;transform:translate(-50%);z-index:6;width:min(520px,calc(100% - 32px));display:flex;align-items:center;gap:12px;padding:12px 40px 12px 16px;border-radius:16px;background:var(--cream);box-shadow:0 16px 40px #1a0e1859;color:var(--ink);animation:rise .5s var(--ease)}.nudge svg{color:var(--primary);flex:none}.nudge p{margin:0;font-size:14px;line-height:20px;text-wrap:pretty}.nudge-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.nudge-close:hover{background:var(--paper)}.signin{position:relative}.signin-form{display:flex;flex-direction:column;gap:8px;margin-top:8px}.signin-form input{min-height:48px;padding:8px 16px;border:2px solid var(--line);border-radius:12px;font:inherit;font-size:16px}.signin-form input:focus{outline:none;border-color:var(--primary)}.signin-error{margin:0;color:#c62828;font-size:14px;line-height:20px}.signin-new{border:none;background:transparent;color:var(--primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:8px}.signin-new:disabled{color:var(--muted);cursor:not-allowed}.pack-signin{border:none;background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;opacity:.85;cursor:pointer}.pack-signin:hover{opacity:1}.talk-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.dialogue{position:relative;z-index:1}.dlg-scene{display:block;margin-bottom:8px;font-size:14px;line-height:20px;font-weight:400;color:#fffaf6b3;text-wrap:pretty}.phone-button.dead{background:#8c8a96}.toast{display:flex;align-items:center;gap:12px;border:3px solid #FFFFFF;font-weight:600}.toast-icon{flex:none;width:36px;height:36px;padding:7px;border-radius:50%;background:#3a5bd5;color:#fff}.toast-save .toast-icon{background:#2ba58f}.toast-quest .toast-icon{background:#7b5cff}.toast-found .toast-icon{background:#e0a526}.toast-clue .toast-icon{background:#f5b700}.toast-warn{background:#ffe5e5}.toast-warn .toast-icon{background:#d7282f}.landing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;animation:landing-fade 4.2s linear forwards}.landing>*{pointer-events:auto}.landing h1{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff;font-size:48px;line-height:1;font-weight:700;text-shadow:0 4px 0 rgba(26,14,24,.35),0 12px 32px rgba(0,0,0,.35);animation:slam .6s var(--ease) .4s both}.landing h1 small{font-size:18px;line-height:28px;letter-spacing:.12em;text-transform:uppercase}@keyframes landing-fade{0%{background:#fff0}88%{background:#fff0}to{background:#ffffffe6}}.bottom{left:96px;right:96px}.game:has(.dialogue) .bottom{left:16px;right:16px}.meter-track{min-width:40px}@media (max-width: 640px){.bottom{left:16px;right:16px;bottom:96px}.game:has(.dialogue) .bottom{bottom:16px}.meter{width:140px}.dialogue:has(.choices) .portrait{display:none}.dialogue:has(.choices){padding-top:0;display:flex;flex-direction:column;gap:8px}.dialogue .choices{position:static;width:100%;order:0}.dialogue:has(.choices) .dlg-box{order:1}.game:has(.dialogue) .hud-left .mini,.game:has(.phone-layer) .menu-button,.game:has(.phone-layer) .bottom{display:none}.pack-layer{padding-top:72px}.game:has(.hud-right.open) .hud-left,.game:has(.hud-left.open) .hud-right{display:none}.game:has(.hud.open) .phone-button,.game:has(.hud.open) .menu-button,.game:has(.hud.open) .bottom{display:none}.game:has(.phone-layer) .hud{display:none}}.game:has(.hud.open) .menu-button,.game:has(.hud.open) .phone-button,.game:has(.phone-layer) .menu-button,.game:has(.phone-layer) .hud-left .mini{display:none}.game:has(.faint-layer,.arrival,.gameover,.bye-layer) :is(.hud,.menu-button,.phone-button,.toast,.talk){visibility:hidden}.game:has(.pack-layer) .version{display:none}.quest-done span{max-width:88vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.quest-done strong{font-size:36px}.quest-done{top:22%}}.dlg-say{display:block;margin-top:4px;font-size:14px;line-height:20px;color:#fffaf699}.dlg-say.ghost{visibility:hidden}.trip{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:#fff;text-align:center;cursor:pointer;overflow:hidden;animation:trip-in 2.6s var(--ease) both}@keyframes trip-in{0%{opacity:0}12%{opacity:1}88%{opacity:1}to{opacity:0}}.trip.long{animation-duration:7s}.trip.long .trip-car{animation-duration:7s,.2s}.trip-mode{font-size:20px;line-height:28px;font-weight:700;color:#f5d27a}.trip-mode small{font-size:14px;line-height:20px;opacity:.8;margin-left:4px}.trip-stage{position:relative;width:min(560px,100%);height:160px;overflow:hidden}.trip-vehicle{position:absolute;bottom:24px;height:96px}.trip-car{width:180px;animation:trip-drive 2.6s ease-in-out both,bump .2s ease-in-out infinite alternate}@keyframes bump{0%{margin-bottom:0}to{margin-bottom:3px}}.trip-ferry{width:200px;bottom:14px;animation:trip-sail 2.6s ease-in-out both}.trip-walker{width:72px;animation:trip-walk 2.6s linear both}.trip-door{width:200px;height:130px;left:calc(50% - 100px);bottom:14px}.trip-door .door-open{transform-origin:left center;animation:door-open 1.2s var(--ease) .3s both}@keyframes door-open{to{transform:scaleX(.08)}}@keyframes trip-drive{0%{left:-200px}38%{left:calc(50% - 90px)}66%{left:calc(50% - 80px)}to{left:calc(100% + 20px)}}@keyframes trip-sail{0%{left:-220px;transform:rotate(-2deg)}25%{transform:rotate(2deg)}40%{left:calc(50% - 100px);transform:rotate(-2deg)}66%{left:calc(50% - 90px);transform:rotate(2deg)}to{left:calc(100% + 20px);transform:rotate(0)}}@keyframes trip-walk{0%{left:-80px}to{left:calc(100% + 10px)}}.trip-walker .leg-a{transform-origin:34px 60px;animation:leg .34s ease-in-out infinite alternate}.trip-walker .leg-b{transform-origin:46px 60px;animation:leg .34s ease-in-out infinite alternate-reverse}@keyframes leg{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}.trip-ground{position:absolute;left:0;right:0;bottom:0;height:24px}.trip-ground-car{background:repeating-linear-gradient(90deg,#F5D27A 0 40px,transparent 40px 80px) center / 80px 4px repeat-x,#4a4a57;animation:road .4s linear infinite}@keyframes road{to{background-position:-80px center,0 0}}.trip-ground-ferry{height:34px;background:#6fb8d4;border-radius:40% 40% 0 0/30% 30% 0 0}.trip-ground-walk{background:#3f7a45}.trip-ground-plane{background:transparent}.trip-dest{font-size:48px;line-height:1;font-weight:700;text-shadow:0 5px 0 rgba(0,0,0,.35)}.trip-en{font-size:18px;line-height:28px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.trip-line{margin:0;max-width:440px;font-size:16px;line-height:24px;opacity:.9;text-wrap:balance}@media (max-width: 640px){.trip-dest{font-size:36px}.trip-stage{height:130px}}@media (prefers-reduced-motion: reduce){.trip-vehicle{animation:none;left:calc(50% - 90px)}.trip-ground-car{animation:none}}.game:has(.trip) :is(.hud,.menu-button,.phone-button,.toast,.talk){visibility:hidden}.choice-pic{width:56px;height:45px;flex:none;border-radius:8px;margin-right:8px;align-self:center}.choice:has(.choice-pic){display:flex;align-items:center}.dlg-pic{display:block;width:240px;max-width:50%;margin:0 auto 8px;border-radius:12px;border:3px solid #FFFFFF;animation:logo-slam .5s var(--ease) both}.snap-pic svg{width:100%;height:100%;display:block}.food-img{object-fit:cover}.food-card{container-type:inline-size;position:relative;margin:0;display:grid;grid-template-columns:3fr 1fr;aspect-ratio:4 / 3;background:var(--bg);overflow:hidden}.food-card img{width:100%;height:100%;object-fit:cover;display:block}.food-card figcaption{display:flex;flex-direction:column;align-items:center;padding-top:7cqw;gap:2cqw}.fc-city:before,.fc-seal:before,.fc-en:before{content:attr(data-t)}.fc-city{writing-mode:vertical-rl;font:400 4cqw/1 Ma Shan Zheng,STKaiti,KaiTi,serif;letter-spacing:.15em;color:#3a332c}.fc-seal{writing-mode:vertical-rl;font:400 7cqw/1 Ma Shan Zheng,STKaiti,KaiTi,serif;background:#b8231b;color:#f7e8d8;padding:2.2cqw 1.4cqw;border-radius:.8cqw;letter-spacing:.12em}.fc-en{position:absolute;right:0;bottom:3cqw;width:25%;padding:0 1cqw;text-align:center;font:500 2cqw/1.3 Poppins,sans-serif;color:#7a6f63}.snap-pic .food-card{width:100%;height:100%}.food-card .fc-city,.food-card .fc-seal,.food-card .fc-en{background-color:transparent;box-shadow:none;text-shadow:none;border-radius:0;padding:0;animation:none}.food-card .fc-seal{background-color:#b8231b;padding:2.2cqw 1.4cqw;border-radius:.8cqw}.food-card .fc-en{padding:0 1cqw}.reveal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#1a0e1899;color:#fff;text-align:center;animation:entry-fade 3s var(--ease) both}.reveal-pic{width:min(400px,80vw);border-radius:16px;border:6px solid #FFFFFF;box-shadow:0 24px 60px #00000080;animation:logo-slam .6s var(--ease) both}.reveal strong{font-size:48px;line-height:1;color:#f5d27a;text-shadow:0 4px 0 #8A5A00;animation:faint-slam .5s var(--ease) .4s both}.reveal span{font-size:16px;line-height:24px;font-weight:700;padding:4px 12px;border-radius:999px;background:#1a0e18bf}@media (max-width: 640px){.reveal strong{font-size:32px}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-hole{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #1a0e18b8;outline:4px solid var(--c);outline-offset:2px;pointer-events:none;transition:left .4s var(--ease),top .4s var(--ease),width .4s var(--ease),height .4s var(--ease),outline-color .3s var(--ease);animation:tour-ring 1.1s var(--ease) infinite alternate}@keyframes tour-ring{0%{outline-offset:2px}to{outline-offset:8px}}.tour-card{position:fixed;width:min(340px,calc(100vw - 32px));padding:16px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:16px;box-shadow:0 12px 32px #1a0e1866;animation:rise .3s var(--ease)}.tour-arrow{position:absolute;top:16px;color:var(--c);filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.tour-card.right .tour-arrow{left:-52px;animation:tour-nudge-l .7s var(--ease) infinite alternate}.tour-card.left .tour-arrow{right:-52px;animation:tour-nudge-r .7s var(--ease) infinite alternate}@keyframes tour-nudge-l{0%{transform:translate(0)}to{transform:translate(-8px)}}@keyframes tour-nudge-r{0%{transform:translate(0)}to{transform:translate(8px)}}.tour-head{display:flex;align-items:center;gap:8px;color:var(--c)}.tour-head strong{font-size:30px;line-height:36px;font-weight:700}.tour-head span{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);opacity:.7}.tour-card p{margin:8px 0 0;font-size:16px;line-height:24px}.tour-card .tour-risk{padding:8px 12px;border-radius:8px;background:#ffe8e8;color:#8a1f24;font-size:14px;line-height:20px;font-weight:600}.tour-foot{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;line-height:20px;font-weight:600}.tour-foot span{margin-right:auto;opacity:.6}.tour-skip{padding:8px 12px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.tour-next{padding:8px 16px;border:0;border-radius:999px;background:var(--c);color:#fff;font:inherit;font-size:16px;cursor:pointer;box-shadow:0 4px #1a0e1859}.tour-next:active{transform:translateY(2px);box-shadow:0 2px #1a0e1859}@media (max-width: 600px){.tour-card{left:16px!important;right:16px!important;top:auto!important;bottom:16px;width:auto}.tour-card.low{top:16px!important;bottom:auto}.tour-arrow{display:none}}@media (prefers-reduced-motion: reduce){.tour-hole,.tour-arrow{animation:none}}.drawer{position:fixed;top:96px;bottom:16px;z-index:3;width:min(560px,50vw);display:flex;gap:12px;padding:16px;border-radius:28px;background:#fffaf69e;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 60px #1a0e1859,inset 0 1px #ffffffd9;pointer-events:auto}.drawer-right{right:16px;animation:drawer-r .45s var(--ease) both}.drawer-left{left:16px;flex-direction:row-reverse;animation:drawer-l .45s var(--ease) both}@keyframes drawer-r{0%{opacity:0;transform:translate(64px)}to{opacity:1;transform:translate(0)}}@keyframes drawer-l{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:translate(0)}}.drawer-rail{display:flex;flex-direction:column;gap:12px}.rail-item{width:72px;height:72px;flex:none;border:0;border-radius:20px;background:#ffffff80;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;line-height:16px;font-weight:700;transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease);animation:rail-pop .4s var(--ease) both;animation-delay:calc(var(--i) * 60ms + .12s)}.rail-item:hover{background:#fffc}.rail-item:active{transform:scale(.96)}.rail-item[aria-pressed=true]{background:#fff;color:var(--primary-dark);box-shadow:0 4px 0 var(--primary-dark)}.drawer-right .rail-item[aria-pressed=true]{transform:translate(-8px)}.drawer-left .rail-item[aria-pressed=true]{transform:translate(8px)}@keyframes rail-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1}}.drawer-body{flex:1;min-width:0;overflow:auto;overscroll-behavior:contain}.drawer .hud-panel{width:auto;max-height:none;background:transparent;box-shadow:none;padding:4px 48px 8px 4px;animation:none}.drawer-left .hud-panel{padding-right:4px}.drawer .quest,.drawer .quest-stack{width:100%;max-height:none}.drawer-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:#ffffffb3;color:var(--ink);display:grid;place-items:center}.drawer-close:active{transform:scale(.96)}.drawer-left .drawer-close{top:auto;bottom:16px;right:32px}.lowfx .drawer{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf6f2}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.drawer{background:#fffaf6f2}}@media (max-width: 760px){.drawer{top:auto;left:8px;right:8px;bottom:8px;width:auto;height:74vh;flex-direction:column;padding:12px;border-radius:24px 24px 20px 20px;animation:drawer-up .45s var(--ease) both}.drawer-left{flex-direction:column}@keyframes drawer-up{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}.drawer-rail{flex-direction:row;gap:8px;padding-right:48px}.rail-item{width:64px;height:56px}.drawer-right .rail-item[aria-pressed=true],.drawer-left .rail-item[aria-pressed=true]{transform:translateY(-4px)}.drawer .hud-panel{padding:4px}.drawer-left .drawer-close{top:12px;bottom:auto;right:12px}}@media (prefers-reduced-motion: reduce){.drawer,.rail-item,.hud-scrim{animation:none}}.news-push{position:fixed;top:108px;left:50%;z-index:50;transform:translate(-50%);width:min(440px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(255,255,255,.8);border-radius:20px;background:#fffaf6d1;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 12px 32px #1a0e184d;color:var(--ink);text-align:left;animation:push-in .5s var(--ease) both}@keyframes push-in{0%{opacity:0;transform:translate(-50%,-80px)}to{opacity:1;transform:translate(-50%)}}.news-push-icon{flex:none;width:40px;height:40px;border-radius:12px;background:#d7282f;color:#fff;display:grid;place-items:center}.news-push-text{display:flex;flex-direction:column;gap:2px;min-width:0}.news-push-text small{font-size:12px;line-height:16px;font-weight:700;color:#d7282f}.news-push-text strong{font-size:14px;line-height:20px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lowfx .news-push{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffaf6f7}.news-mast{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 12px;padding-bottom:8px;border-bottom:3px double var(--ink)}.news-mast span{font-family:"Noto Serif SC",Songti SC,serif;font-size:24px;line-height:32px;font-weight:700;letter-spacing:.12em}.news-mast small{font-size:12px;line-height:16px;font-weight:700;color:#6e6c78}.story.lead{padding:16px;border-width:2px;border-color:var(--cat);box-shadow:0 4px 0 var(--cat)}.story.lead strong{font-size:20px;line-height:28px}.story.lead .story-en{font-size:14px;line-height:20px}.news-app h4{margin:4px 0 8px;font-size:14px;line-height:20px;color:var(--muted, #6E6C78)}.stories{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.story{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 0 var(--cat)}.story-tags{display:flex;gap:6px;font-size:12px;line-height:16px}.story-tags b{padding:0 8px;border-radius:999px;background:var(--cat);color:#fff}.story-tags span{padding:0 8px;border-radius:999px;background:#f3ece7;color:var(--ink);font-weight:600}.story-trivia .story-tags b{background:#7b5cff}.story-cue .story-tags b{background:#e08a00}.story strong{font-size:15px;line-height:22px;font-weight:700}.story-en{font-size:12px;line-height:16px;color:#6e6c78}.earlier .story{opacity:.75}@media (prefers-reduced-motion: reduce){.news-push{animation:none}}.tea-table{width:240px;background:#f3e3c8}.tea-pot{transform-box:fill-box;transform-origin:30% 80%;animation:tea-tilt 2.4s var(--ease) infinite}.tea-stream{stroke-dasharray:40;stroke-dashoffset:40;animation:tea-pour 2.4s var(--ease) infinite}.tea-fill{transform-box:fill-box;transform-origin:50% 100%;animation:tea-cup 2.4s var(--ease) infinite}.tea-steam{animation:tea-steam 2.4s ease-out infinite}@keyframes tea-tilt{0%,15%{transform:rotate(0)}35%,70%{transform:rotate(18deg)}90%,to{transform:rotate(0)}}@keyframes tea-pour{0%,30%{stroke-dashoffset:40;opacity:0}40%,68%{stroke-dashoffset:0;opacity:1}80%,to{stroke-dashoffset:-40;opacity:0}}@keyframes tea-cup{0%,38%{transform:scaleY(.2)}70%,to{transform:scaleY(1)}}@keyframes tea-steam{0%{opacity:0;transform:translateY(6px)}50%{opacity:.8}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.tea-pot,.tea-stream,.tea-fill,.tea-steam{animation:none}.tea-stream{stroke-dashoffset:0}}.hotel-app{display:grid;gap:10px}.hotel-tabs{display:flex;gap:6px}.hotel-tabs button,.hotel-nights button{flex:1;padding:6px 8px;border-radius:999px;border:1.5px solid var(--app);background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.hotel-tabs button[aria-selected=true],.hotel-nights button[aria-pressed=true]{background:var(--app);color:#fff}.hotel-nights{display:flex;gap:6px}.hotel-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hotel-card{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:#0000000a;font-size:13px}.hotel-card.soon{opacity:.55}.hotel-card .store-get{justify-self:end}.hotel-price{font-size:18px;font-weight:700;color:var(--app)}.hotel-price small{font-size:12px;font-weight:500;margin-left:2px}.hotel-policy{font-size:10px;color:#9a8f88}.hotel-policy-btn{justify-self:start;padding:0;border:0;background:none;color:#9a8f88;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}.hospital{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#e9f2ee;animation:bye-fade .6s var(--ease) both}.hospital-room{width:100%;height:100%;display:block}.hospital-drip{animation:drip-sway 3s ease-in-out infinite;transform-origin:249px 96px}@keyframes drip-sway{50%{transform:rotate(2deg)}}.ambulance-ride{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;background:#1f2a44;color:#fff;text-align:center;padding:24px 16px;animation:ride-out 3.2s var(--ease) both}.ambulance-ride strong{font-size:30px;line-height:36px}.ambulance-ride span{font-size:14px;line-height:20px;opacity:.85}.ambulance-road{position:absolute;left:0;right:0;top:58%;height:4px;background:repeating-linear-gradient(90deg,#F5D27A 0 40px,transparent 40px 80px);animation:road .6s linear infinite}.ambulance{width:min(280px,70vw);animation:ambulance-bob .3s ease-in-out infinite alternate}.siren-light{animation:siren .4s steps(1) infinite}.qr-wall{width:240px;background:#e9f2ee}@keyframes ride-out{0%{opacity:0}12%,85%{opacity:1}to{opacity:0}}@keyframes road{to{background-position:-80px 0}}@keyframes ambulance-bob{to{transform:translateY(-3px)}}@keyframes siren{50%{fill:#d7282f}}@media (prefers-reduced-motion: reduce){.ambulance-road,.ambulance,.siren-light,.hospital-drip{animation:none}}.dp-app{display:grid;gap:10px}.dp-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.dp-head{display:grid;gap:2px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dp-reviews{margin:4px 0 0;padding-left:16px;font-size:12px;color:#6e5f66}.dl-item{grid-template-columns:1fr auto auto;align-items:center}.dl-qty{display:inline-flex;align-items:center;gap:8px}.dl-qty button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--app);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.dl-phone{display:grid;gap:4px;margin:0;padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-size:12px}.dl-pay{width:100%}.dl-pay:disabled{opacity:.5;cursor:not-allowed}.badge-wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.badge{display:grid;justify-items:center;gap:4px;padding:12px 8px;border-radius:16px;background:#ffffff8c;text-align:center;font-size:12px;line-height:16px}.badge strong{font-size:14px;line-height:20px}.badge.locked{opacity:.6}.badge.locked .badge-coin{background:#b8aba5;box-shadow:none}.badge-coin{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--badge);color:#fff;font-size:22px;font-weight:700;border:3px solid #FFFFFF;box-shadow:0 6px 16px #1a0e1840}.badge-banner{position:absolute;z-index:50;max-width:calc(100vw - 32px);top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:#fffaf6eb;color:var(--ink);box-shadow:0 12px 32px #1a0e184d;font-size:14px;line-height:20px;animation:push-in .5s var(--ease) both}.badge-banner small{display:block;font-size:12px;line-height:16px;color:#6e5f66}@media (max-width: 640px){.badge-banner{top:156px;left:auto;right:12px;transform:none;max-width:220px;padding:8px 12px 8px 8px}.badge-banner .badge-coin{flex:none}.badge-banner{animation-name:badge-in}}@keyframes badge-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:none}}.amount-yen{font-size:24px;font-weight:700;align-self:center}.lantern{animation:drip-sway 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.lantern{animation:none}}.boards{margin-top:12px;display:grid;gap:6px;text-align:left}.boards ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px;line-height:20px}.board.record{color:#f5d27a}.board-new{font-weight:700}.sleep-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:#2a2433;animation:sleep-fade 3.4s var(--ease) both,sleep-bg 3.4s linear both}@keyframes sleep-bg{0%,40%{background:#2a2433}80%,to{background:#e9d9c4}}.sleep-scene svg{width:100%;height:100%;display:block}.sleep-scene p{position:absolute;left:0;right:0;top:6%;margin:0;text-align:center;font:400 32px/1 Ma Shan Zheng,STKaiti,serif;letter-spacing:.2em;color:#f7e8d8;text-shadow:0 2px 12px rgba(0,0,0,.6)}.sleep-wall{fill:#2a2433;animation:sleep-wall 3.4s linear both}.sleep-floor{fill:#3a2c24;animation:sleep-floor 3.4s linear both}.sleep-sky{fill:#18203c;animation:sleep-sky 3.4s linear both}.sleep-tower{fill:#0e1224;animation:sleep-tower 3.4s linear both}.sleep-light{fill:#f5d27a;animation:sleep-off 3.4s linear both}.sleep-moon{animation:sleep-off 3.4s linear both}.sleep-sun{opacity:0;transform-box:fill-box;animation:sleep-sun 3.4s var(--ease) both}.sleep-lamp{fill:#3a3040}.sleep-duvet{fill:#3a6ea5}.sleep-dark{fill:#05040a;opacity:.45;animation:sleep-dark 3.4s linear both}.sleep-z{animation:sleep-z 1.7s var(--ease) both}@keyframes sleep-fade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes sleep-wall{0%,40%{fill:#2a2433}80%,to{fill:#e9d9c4}}@keyframes sleep-floor{0%,40%{fill:#3a2c24}80%,to{fill:#a07a58}}@keyframes sleep-sky{0%,40%{fill:#18203c}65%{fill:#f29e6b}85%,to{fill:#bfe0f2}}@keyframes sleep-tower{0%,40%{fill:#0e1224}80%,to{fill:#8a93a8}}@keyframes sleep-off{0%,40%{opacity:1}60%,to{opacity:0}}@keyframes sleep-sun{0%,45%{opacity:0;transform:translateY(30px)}85%,to{opacity:1;transform:translateY(-40px)}}@keyframes sleep-dark{0%,40%{opacity:.45}75%,to{opacity:0}}@keyframes sleep-z{0%{opacity:0;transform:translateY(12px)}30%{opacity:1}to{opacity:0;transform:translateY(-24px)}}@media (prefers-reduced-motion: reduce){.sleep-scene,.sleep-scene *{animation-duration:1ms!important}}.choice.short{opacity:.55;cursor:not-allowed}.choice.short .choice-num{background:#8c8a96}.gameover-title.small{gap:2px;animation:none}.gameover-title.small strong{font-size:36px;text-shadow:0 3px 0 #7A0F22}.gameover-title.small span{font-size:14px;line-height:20px}.gameover-shot{margin:0;width:min(420px,86vw);display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;padding:12px 12px 16px;border-radius:6px;box-shadow:0 20px 48px #00000073;transform:rotate(-2deg);animation:shot-in .45s var(--ease) both}.gameover-shot svg{width:100%;aspect-ratio:5 / 4;display:block;border-radius:2px}.gameover-shot figcaption{font-size:18px;line-height:28px;font-weight:700;color:var(--ink)}.gameover-story{animation-delay:2.4s}.gameover-story.gone{display:none}@keyframes shot-in{0%{opacity:0;transform:rotate(-8deg) scale(.8)}to{opacity:1;transform:rotate(-2deg) scale(1)}}.ride-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:ride-flash .7s steps(1) infinite}.ride-city{position:absolute;left:0;width:200%;height:22vh;bottom:42%;animation:ride-scroll 1.6s linear infinite}.ride-city.far{bottom:46%;height:26vh;animation-duration:3.2s;opacity:.9}.ambulance-ride .ambulance{position:relative;z-index:1;animation:ambulance-in .7s var(--ease) both,ambulance-bob .3s ease-in-out .7s infinite alternate}.ambulance-ride strong,.ambulance-ride span{position:relative;z-index:1}.ambulance-ride:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none;animation:ride-white 3.2s linear both}@keyframes ride-flash{0%{box-shadow:inset 0 0 120px 30px #d7282f8c}50%{box-shadow:inset 0 0 120px 30px #3a7bd58c}}@keyframes ride-scroll{to{transform:translate(-50%)}}@keyframes ambulance-in{0%{transform:translate(-120vw)}to{transform:translate(0)}}@keyframes ride-white{0%,88%{opacity:0}to{opacity:.9}}@media (prefers-reduced-motion: reduce){.ride-flash,.ride-city,.ambulance-ride:after{animation:none}}.pack-name{display:flex;flex-direction:column;gap:4px;width:100%;font-size:14px;line-height:20px;font-weight:600}.pack-name input{font:inherit;font-size:16px;padding:8px 12px;border-radius:12px;border:2px solid var(--line);background:#fff;color:var(--ink)}.sting.dodge{border-color:#1f9d5b;color:#1f9d5b;transform:translate(-50%,-50%) rotate(6deg);animation-duration:1.6s}.new-word{position:absolute;left:50%;top:16%;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 8px;max-width:calc(100vw - 32px);padding:8px 16px;border-radius:20px;background:#fff4d6;color:#8a5a00;box-shadow:0 8px 24px #00000040;animation:rise .4s var(--ease) both}.new-word b{font-size:14px;line-height:20px;color:#d7282f}.new-word strong{font-size:20px;line-height:28px}.new-word span{font-size:14px;line-height:20px}.faint-lost{list-style:none;margin:0;padding:0;display:flex;gap:8px}.faint-lost li{padding:4px 12px;border-radius:999px;background:#fde2e2;color:#b8222a;font-size:14px;line-height:20px;font-weight:700}.faint-next{margin:0;padding:8px 12px;border-radius:12px;background:#fff4d6;color:#6b4a00;font-size:14px;line-height:20px}.city-report{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:16px;padding:16px 24px;border-radius:24px;background:#fffffff5;color:#1a0e18;max-width:min(420px,calc(100vw - 32px));text-align:center;animation:level-app-in .6s var(--ease) .5s both}.city-report .cr-eyebrow{font-size:14px;line-height:20px;font-weight:700;color:#6e5f66}.city-report strong{font-size:36px;line-height:40px;color:#d7282f}.city-report .cr-title{font-size:14px;line-height:20px;font-weight:700}.cr-bar{width:240px;max-width:100%;height:12px;border-radius:999px;background:#efe6ea;overflow:hidden}.cr-bar i{display:block;height:100%;width:var(--p);border-radius:inherit;background:#2ba58f;transform-origin:left;animation:cr-fill .9s var(--ease) .9s both}@keyframes cr-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cr-stats{display:flex;gap:16px;margin:0;padding:0;list-style:none;font-size:14px;line-height:20px}.cr-stats b{font-size:18px;line-height:28px}.cr-missed{margin:0;font-size:14px;line-height:20px;color:#6e5f66;text-wrap:pretty}.cr-stamp{display:inline-block;padding:4px 12px;border:3px solid #D7282F;border-radius:8px;color:#d7282f;font-size:20px;line-height:28px;transform:rotate(-6deg);animation:cr-stamp .5s var(--ease) 1.4s both}@keyframes cr-stamp{0%{opacity:0;transform:rotate(-6deg) scale(2.4)}to{opacity:1;transform:rotate(-6deg) scale(1)}}@media (prefers-reduced-motion: reduce){.city-report,.cr-bar i,.cr-stamp{animation:none}}.scam-book{margin-top:24px}.scam-book h3{margin:0 0 4px;font-size:18px;line-height:28px}.scam-note{margin:0 0 12px;font-size:14px;line-height:20px;color:var(--muted, #6E5F66);text-wrap:pretty}.scam-book ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.scam{display:flex;gap:12px;align-items:flex-start;padding:8px 12px;border-radius:16px;background:#fff;border:2px solid #EFE6EA}.scam-seal{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;font-size:20px;font-weight:700;color:#fff;background:#b9aeb3;transform:rotate(-6deg)}.scam.fell .scam-seal{background:#d7282f}.scam.dodged .scam-seal{background:#1f9d5b}.scam.unseen{opacity:.6}.scam-body{display:flex;flex-direction:column;gap:2px;min-width:0}.scam-body strong{font-size:16px;line-height:24px}.scam-body small{font-size:12px;line-height:16px;color:#6e5f66}.scam-body span{font-size:14px;line-height:20px;text-wrap:pretty}
