.pwa-offline{background:var(--bg);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pwa-offline .ui-card{max-width:420px}.pwa-update{bottom:max(16px, var(--safe-bottom));left:max(16px, var(--safe-left));max-width:min(420px,100% - 112px);position:absolute}.overlay-dim{inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);box-sizing:border-box;background:#16141f73;place-items:center;min-height:0;padding:16px;display:grid;position:absolute}.junction-card{overscroll-behavior:contain;gap:8px;width:min(100%,520px);max-height:100%;display:grid;overflow-y:auto}.junction-eyebrow{font:600 13px / 1.2 var(--f-ui);margin:0}.junction-question{font:700 22px / 1.2 var(--f-ui);margin:0}.junction-options{gap:6px;margin:0;padding:0;list-style:none;display:grid}.junction-option{width:100%;min-height:44px;color:var(--ink);text-align:left;border:1.5px solid var(--ink);cursor:pointer;background:#fff;gap:4px;padding:8px 12px;display:grid}.junction-option:hover:not(:disabled){outline:2px solid var(--accent);outline-offset:2px}.junction-option:disabled{cursor:default}.junction-option-main{font:400 16px / 1.2 var(--f-ui);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.junction-option-n{width:22px;height:22px;font:400 18px / 1 var(--f-px);color:var(--paper);background:var(--ink);place-items:center;display:inline-grid}.junction-option-name{flex:1}.junction-option--side{grid-template-columns:44px 1fr;align-items:start;column-gap:10px}.junction-option-side{justify-items:stretch;gap:4px;display:grid}.junction-option-side .junction-option-n{width:auto;height:26px}.junction-option-body{gap:4px;display:grid}.junction-chance{text-align:center;color:var(--ink);font:400 18px / 1 var(--f-px);background:var(--accent);border:1.5px solid var(--ink);padding:2px 0}.junction-chance--zero{opacity:.4}.junction-option-price{font:400 22px / 1 var(--f-px);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.junction-option-parts{font:400 12px / 1.2 var(--f-ui)}.junction-chips .chip,.toasts .chip{align-items:center;gap:3px;display:inline-flex}.junction-chips{flex-wrap:wrap;gap:4px;display:flex}.junction-option--off{cursor:not-allowed}.junction-option--off>.junction-option-main,.junction-option--off>.junction-chips{opacity:.5}.junction-option-why{font:600 13px / 1.2 var(--f-ui);color:var(--bad)}.toasts .chip,.junction-chips .chip{font:600 11px / 1.4 var(--f-ui);border:1px solid var(--ink);padding:1px 6px}.chip--good{color:#fff;background:var(--good)}.chip--bad{color:#fff;background:var(--bad)}.chip--plain{background:var(--paper2)}.junction-budget{font:400 13px / 1.2 var(--f-ui);gap:4px;display:grid}.junction-budget .hud-bar>span{background:var(--accent)}.junction-foot{font:600 12px / 1.3 var(--f-ui);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.junction-redo{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;text-decoration:underline}.toasts{bottom:calc(2% + 130px + var(--safe-bottom));left:calc(2% + var(--safe-left));max-width:min(420px, calc(90vw - var(--safe-left) - var(--safe-right)));gap:6px;display:grid;position:absolute}.toast{color:var(--ink);font:600 14px / 1.3 var(--f-ui);background:var(--paper);border:var(--ui-border) solid var(--ink);box-shadow:var(--ui-drop);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.junction-auto{align-items:center;gap:8px;display:flex}.junction-auto-now{color:var(--ink);font:700 13px / 1.2 var(--f-ui);white-space:nowrap;background:var(--accent);border:1.5px solid var(--ink);cursor:pointer;padding:4px 10px}.junction-timer{background:var(--paper);border:var(--ui-border) solid var(--ink);flex:1;height:8px;overflow:hidden}.junction-timer>span{background:var(--accent);height:100%;transition:width .25s linear;display:block}.junction-timer--urgent>span{background:var(--bad)}.day-end-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hint-bubble{z-index:35;border:var(--ui-border) solid var(--ink);background:var(--paper);max-width:min(92%,520px);color:var(--ink);box-shadow:var(--ui-drop);font:400 17px / 1.35 var(--f-ui);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:8px 14px;display:flex;position:absolute;top:88px;left:50%;transform:translate(-50%)}.hint-close{opacity:.6;font-size:13px}.hud-skip-btn--pulse{animation:.9s ease-in-out infinite alternate hint-pulse}@keyframes hint-pulse{to{background:var(--accent)}}@media (prefers-reduced-motion:reduce){.hud-skip-btn--pulse{outline:2px solid var(--accent);animation:none}}@media (orientation:portrait) and (width<=640px),(orientation:landscape) and (height<=480px){.app:has(>.hint-bubble){top:var(--hint-space,80px);height:calc(100% - var(--hint-space,80px))}.hint-bubble{top:calc(8px + var(--safe-top));right:calc(8px + var(--safe-right));left:calc(8px + var(--safe-left));box-sizing:border-box;overscroll-behavior:contain;max-width:none;min-height:44px;max-height:88px;padding:6px 12px;position:fixed;overflow-y:auto;transform:none}}.action-time{font:400 12px / 1.5 var(--f-ui)}.action-time-compact{align-items:center;gap:4px;display:inline-flex}.action-time-crossing{display:block}.day-schedule{border:1px solid var(--ink);overscroll-behavior:contain;max-height:220px;margin:12px 0;padding:8px;overflow-y:auto}.day-schedule-choice{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:flex}.player-dialog{color:var(--ink);background:0 0;border:0;width:min(380px,100% - 32px);max-height:calc(100% - 32px);padding:0}.player-dialog::backdrop{background:#16141f73}.player-dialog .junction-card{box-sizing:border-box;width:100%}.flat-chips{flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.flat-chip{color:var(--ink);font:400 16px / 1.2 var(--f-ui);border:1.5px solid var(--ink);cursor:pointer;background:#fff;padding:8px 12px}.flat-chip:disabled{opacity:.45;cursor:default}.flat-rows{grid-template-columns:1fr auto;gap:4px 12px;margin:8px 0;display:grid}.flat-rows dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.midnight-layer{inset:auto 0 max(var(--hud-bottom-h,0px), var(--safe-bottom));z-index:40;padding:0 max(16px, var(--safe-right)) 16px max(16px, var(--safe-left));pointer-events:none;justify-items:center;display:grid;position:fixed}.midnight-card{pointer-events:auto;width:min(420px,100%)}.skip-menu{gap:8px;margin:0;padding:0;list-style:none;display:grid}.skip-menu .junction-option{align-content:center}.obvious-line{opacity:.8;margin:0;font-style:italic}.ngare-tags{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.ngare-stay{flex-direction:column;align-items:stretch;gap:4px;margin-top:8px}.ngare-stay .ui-hint{text-align:center;margin:0}@media (width<=640px){.overlay-dim--sheet{place-items:end center}}.event-summary__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.toasts .secret-note-card{gap:6px;width:auto}.toasts .secret-note-card .junction-question{font-size:16px;font-weight:600}.decision-confirm{justify-content:flex-end;margin-top:4px;display:flex}.junction-card .junction-option[aria-pressed]{padding-right:36px;position:relative}.junction-card .junction-option[aria-pressed=true]:after{content:"✓";font:700 20px / 1 var(--f-ui);position:absolute;top:50%;right:12px;transform:translateY(-50%)}@media (width<=640px){.overlay-dim:not(.overlay-dim--sheet){padding-bottom:88px}}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#16141f;--paper:#fbf3df;--paper2:#f1e4c4;--ink:#2a1f2d;--accent:#f2b84b;--good:#3f8a3a;--bad:#c8423a;--brand:#2f6b5a;--f-ui:"Be Vietnam Pro", system-ui, sans-serif;--f-px:"VT323", ui-monospace, monospace;--ui-scale:1;--ui-border:calc(2px * var(--ui-scale));--ui-shadow:calc(4px * var(--ui-scale));--ui-shadow-pressed:calc(2px * var(--ui-scale));--shade:#2a1f2dd9;--ui-drop:var(--ui-shadow) var(--ui-shadow) 0 var(--shade);--ui-drop-pressed:var(--ui-shadow-pressed) var(--ui-shadow-pressed) 0 var(--shade)}.ui-card{box-sizing:border-box;color:var(--ink);font:400 16px / 1.4 var(--f-ui);background:var(--paper);border:var(--ui-border) solid var(--ink);box-shadow:var(--ui-drop);padding:18px}.ui-card,.ui-enter{animation:.12s ease-out ui-card-in}@keyframes ui-card-in{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.ui-card,.ui-enter{animation-name:ui-fade-in}}.ui-title{font:400 40px / 1 var(--f-px);margin:0 0 8px}.ui-hint{font:600 13px / 1.3 var(--f-ui);margin:8px 0 0}.ui-error{color:var(--bad);font:600 14px / 1.3 var(--f-ui);margin:8px 0 0}.ui-button{box-sizing:border-box;min-height:44px;color:var(--paper);font:700 16px / 1 var(--f-ui);background:var(--brand);border:var(--ui-border) solid var(--ink);box-shadow:var(--ui-drop);cursor:pointer;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.ui-button--plain{color:var(--ink);background:var(--paper)}.ui-button:disabled{opacity:.5;cursor:default}:is(button,a[href],input,select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important;box-shadow:0 0 0 2px var(--ink)!important}.ui-field{box-sizing:border-box;width:100%;color:var(--ink);font:400 18px / 1.2 var(--f-ui);border:var(--ui-border) solid var(--ink);background:#fff;border-radius:0;padding:10px 12px}.ui-select{gap:4px;display:grid}.ui-select-label{font:600 13px / 1.3 var(--f-ui)}.ui-select-box{display:block;position:relative}.ui-select-box:after{content:"▾";pointer-events:none;font:400 18px / 1 var(--f-ui);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ui-select-field{appearance:none;cursor:pointer;min-height:44px;padding-right:36px}.ui-select-field:disabled{opacity:.5;cursor:default}.ui-button--plain[aria-pressed=true]:before{content:"✓"}.app,.app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app input,.app textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}.app :is(button,input:not([type=checkbox]),select,textarea,a[href]){box-sizing:border-box;min-width:44px;min-height:44px}:where(.app) :is(button,input,select,textarea){max-width:100%}.app :is(button,.ui-card,.screen){overflow-wrap:anywhere}.game-host canvas{touch-action:none}:where(.app) :where(button,a[href],summary,label,[role=button]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where(.app) :where(button,a[href],summary,[role=button]):active:not(:disabled){translate:var(--ui-shadow-pressed) var(--ui-shadow-pressed);--ui-drop:var(--ui-drop-pressed)}.app :is(button[aria-pressed=true],[role=button][aria-pressed=true],.junction-option--picked,.salon-chip--on){color:var(--ink);background:var(--accent);border-color:var(--ink);outline:2px solid var(--ink);outline-offset:-4px}html,body,#root{background:var(--bg);height:100%;margin:0}body,:where(button,input,select,textarea){font-family:var(--f-ui)}.app{place-items:center;height:100%;display:grid;position:relative;overflow:hidden}.game-viewport,.modal-layer{display:contents}.screen-layer{overscroll-behavior:contain;box-sizing:border-box;place-items:safe center center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.screen{justify-items:center;gap:16px;width:min(100%,420px);display:grid}.title-logo{color:var(--paper);font:400 clamp(44px, 14vw, 64px) / 1 var(--f-px);white-space:nowrap;text-align:center;text-shadow:-2px -2px 0 var(--ink), 0 -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 0 0 var(--ink), 2px 0 0 var(--ink), -2px 2px 0 var(--ink), 0 2px 0 var(--ink), 2px 2px 0 var(--ink), 4px 4px 0 var(--ink), 4px 6px 0 var(--ink);margin:0;padding:4px 16px}.title-age,.title-error,.title-footer{max-width:300px;color:var(--ink);text-align:center;margin:0}.title-age{font:400 14px / 1.4 var(--f-ui)}.title-error{color:var(--bad);font:600 14px / 1.3 var(--f-ui)}.title-confirm{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.title-confirm .ui-hint{color:var(--ink);font:600 14px / 1.3 var(--f-ui);margin:0}.title-footer{font:400 13px / 1.3 var(--f-ui)}.title-footer a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.auth-card{width:100%}.auth-label{margin-bottom:8px;font-weight:600;display:block}.auth-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.phone-row{align-items:center;gap:8px;display:flex}.phone-prefix{font:400 24px / 1 var(--f-px)}.otp-field{font:400 32px / 1 var(--f-px);letter-spacing:.5em;text-align:center}.scene-switch{top:auto;right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));border:1px solid var(--accent);background:var(--ink);color:#f6d36b;cursor:pointer;position:absolute;left:auto}.city-notice{top:calc(12px + var(--safe-top));background:var(--ink);position:absolute;left:50%;transform:translate(-50%)}.map-error{top:auto;bottom:calc(12px + var(--safe-bottom));background:#c8423a;position:absolute}.dev-sprites{color:#f4ead5;padding:12px 16px;font:14px/1.4 system-ui,sans-serif}.dev-sprites-cast{flex-wrap:wrap;gap:4px 20px;display:flex}.world-layer{pointer-events:none}.world-layer>*{pointer-events:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen-layer:not(.world-layer){inset:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.screen,.screen>*,.phone-row>*{min-width:0}.app:has(.screen-layer:not(.world-layer)) .scene-switch{visibility:hidden}.screen--title{box-sizing:border-box;background:var(--paper);border:var(--ui-border) solid var(--ink);width:min(100% - 8px,380px);box-shadow:var(--ui-drop);padding:24px 20px 20px}.screen--title>.ui-button,.title-confirm .ui-button{justify-content:center;width:100%;max-width:300px}
