.app-shell{--card-background:#ffffffe0;--card-border:#ffffffb8;--card-shadow:0 .75rem 2.5rem #234b362e;--ink:#143323;--muted-ink:#63736a;--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);--edge-left:max(1rem, var(--safe-left));--edge-right:max(1rem, var(--safe-right));--hud-top:max(1rem, var(--safe-top));--hud-clearance:calc(var(--hud-top) + 5.5rem);--ui-dock-offset:calc(4.35rem + max(.75rem, var(--safe-bottom)));--ui-layer-hud:2;--ui-layer-status:3;--ui-layer-sheet:4;--ui-layer-dock:5;--ui-layer-reservation-backdrop:6;--ui-layer-reservation:7;--ui-layer-event:7;--ui-layer-modal:8;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#c8ecf2;width:100%;height:100svh;position:relative;overflow:hidden}@supports (height:100dvh){.app-shell{height:100dvh}}.app-shell:after{z-index:1;pointer-events:none;content:"";position:absolute;inset:0}.app-shell--rain:after{background-image:repeating-linear-gradient(110deg,#0000 0 1.8rem,#dcf4ff61 1.9rem 2rem);background-size:4rem 4rem;animation:.55s linear infinite weather-fall}.app-shell--snow:after{background-image:radial-gradient(circle,#ffffffd9 0 .14rem,#0000 .18rem),radial-gradient(circle,#ffffffa6 0 .1rem,#0000 .14rem);background-position:0 0,1.5rem 1.5rem;background-size:3rem 3rem,2.5rem 2.5rem;animation:5s linear infinite weather-fall}.app-shell--evening:after{background-color:#f89a5224}.app-shell--night:after{background-color:#131f4957}@keyframes weather-fall{to{background-position:0 4rem}}.app-shell--reduced-motion:after,.app-shell--quality-low:after{animation:none}.app-shell--quality-low .game-viewport__canvas{image-rendering:auto}.game-viewport{z-index:0;position:absolute;inset:0;overflow:hidden}.game-viewport__canvas{touch-action:none;width:100%;height:100%;display:block}.game-viewport__status{z-index:2;color:var(--muted-ink);letter-spacing:.02em;background:#d8f0ed;place-items:center;font-size:.875rem;font-weight:700;display:grid;position:absolute;inset:0}.game-header{z-index:var(--ui-layer-hud);top:var(--hud-top);right:var(--edge-right);left:var(--edge-left);pointer-events:none;flex-direction:column;align-items:flex-start;gap:.4rem;display:flex;position:absolute}.hud-pills{flex-wrap:wrap;align-items:center;gap:.35rem;width:100%;display:flex}.brand-pill{color:#fff;pointer-events:auto;background:linear-gradient(145deg,#1d5c39,#2b9253);border:1px solid #ffffff59;border-radius:999px;flex:none;place-items:center;width:2.25rem;height:2.25rem;font-size:1.05rem;display:grid;box-shadow:0 .4rem 1.1rem #234b3638}.hud-pill{min-height:2.25rem;color:var(--ink);pointer-events:auto;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#fffffff0;border:1px solid #14332317;border-radius:999px;align-items:center;gap:.32rem;padding:.22rem .62rem .22rem .3rem;display:inline-flex;box-shadow:0 .4rem 1.1rem #234b3624}.hud-pill__icon{background:#2b92531a;border-radius:50%;flex:none;place-items:center;width:1.62rem;height:1.62rem;font-size:.82rem;display:grid}.hud-pill strong{letter-spacing:.01em;white-space:nowrap;font-size:.72rem;font-weight:800}.hud-pill--money strong{color:#178a4c}.hud-pill--alert{background:#ffececf0;border-color:#e05e5e47}.hud-pill--alert strong{color:#b04343}.game-status-strip{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%;display:flex}.game-status-strip__item{min-height:1.9rem;color:var(--muted-ink);pointer-events:auto;white-space:nowrap;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);background:#ffffffeb;border:1px solid #14332317;border-radius:999px;align-items:center;gap:.34rem;padding:.2rem .6rem;font-size:.62rem;font-weight:700;display:inline-flex;box-shadow:0 .35rem 1rem #234b361f}.game-status-strip__item strong{color:var(--ink);font-weight:800}.game-status-strip__clock{font-variant-numeric:tabular-nums;border-left:1px solid #1433231f;padding-left:.4rem}.game-status-strip__dot{background:#e2a63d;border-radius:50%;flex:none;width:.48rem;height:.48rem}.game-status-strip__dot--running{background:#2fbf6d;box-shadow:0 0 0 .2rem #2fbf6d2e}.game-status-strip__item--alert{color:#b04343;background:#ffececf2;border-color:#e05e5e4d}.game-status-strip__item--goals{color:#1c7a45;background:#e6f8edf2;border-color:#2b925342}.game-status-strip__item--meta{color:#245f90;background:#e8f3fcf2;border-color:#2f6fa33d}.game-status-strip__item--meta.is-ready{color:#1c7a45;background:#e6f8edf2;border-color:#2b925347}.game-status-strip__item--due{color:#9c6f1d;background:#fff4def5;border-color:#e2a63d61}.settings-menu{z-index:1;pointer-events:auto;margin-left:auto;position:relative}.settings-menu summary{width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:#fffffff0;border:1px solid #14332317;border-radius:999px;place-items:center;font-size:.95rem;list-style:none;display:grid;box-shadow:0 .4rem 1.1rem #234b3624}.settings-menu summary::-webkit-details-marker{display:none}.settings-menu div{background:#fffffff7;border:1px solid #14332317;border-radius:.85rem;gap:.3rem;width:12.5rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .75rem 2rem #234b3633}.settings-menu__meta{color:var(--muted-ink);margin:0;padding:.35rem .45rem .5rem;font-size:.62rem;font-weight:700;line-height:1.35}.settings-menu button{min-height:2.4rem;color:var(--ink);text-align:left;cursor:pointer;background:#1433230d;border:0;border-radius:.55rem;padding:.45rem .6rem;font-size:.64rem;font-weight:800}.onboarding-card{z-index:3;width:min(20rem, calc(100% - var(--edge-left) - var(--edge-right)));max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 2rem);border:1px solid var(--card-border);color:var(--ink);background:var(--card-background);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border-radius:1.35rem;padding:1.1rem;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.onboarding-card__step{color:#26854d;letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.onboarding-card strong{margin-top:.3rem;font-size:1rem;display:block}.onboarding-card p{color:var(--muted-ink);margin:.4rem 0 0;font-size:.78rem;line-height:1.45}.onboarding-card--tip{top:calc(var(--hud-clearance) + .35rem);left:var(--edge-left);width:min(17.5rem, calc(100% - var(--edge-left) - var(--edge-right)));background:#ffffffe0;border-color:#2b925347;transform:none}.onboarding-card button{color:#fff;cursor:pointer;background:#2b9253;border:0;border-radius:.9rem;width:100%;min-height:2.75rem;margin-top:.9rem;padding:.7rem 1rem;font-weight:800}.gameplay-toast-stack{z-index:var(--ui-layer-event);top:calc(var(--hud-clearance) + .25rem);right:var(--edge-right);width:min(18rem, calc(100% - var(--edge-left) - var(--edge-right)));gap:.45rem;display:grid;position:absolute}.gameplay-toast{color:var(--ink);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#fffffff5;border:1px solid #1433231a;border-left:.28rem solid #5b8ac2;border-radius:.85rem;justify-content:space-between;align-items:flex-start;gap:.55rem;padding:.65rem .75rem;font-size:.68rem;font-weight:700;animation:.18s ui-pop-in;display:flex;box-shadow:0 .75rem 2rem #234b3633}.gameplay-toast button{width:1.75rem;height:1.75rem;color:var(--muted-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:-.25rem -.3rem -.25rem 0;font-size:1rem;line-height:1;display:grid}.gameplay-toast--warn{border-left-color:#e05e5e}.gameplay-toast--success{border-left-color:#2b9253}.action-dock{z-index:var(--ui-layer-dock);bottom:max(.75rem, var(--safe-bottom));width:max-content;max-width:calc(100% - max(1rem, calc(var(--safe-left) + var(--safe-right))));-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);background:#fffffff2;border:1px solid #14332317;border-radius:1.1rem;gap:.25rem;padding:.35rem;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 1rem 2.5rem #234b363d}.action-dock button{min-width:4.25rem;min-height:3.35rem;color:var(--muted-ink);cursor:pointer;background:0 0;border:0;border-radius:.78rem;place-items:center;gap:.18rem;padding:.35rem .55rem;font-size:.58rem;font-weight:900;display:grid}.action-dock button span{color:var(--ink);font-size:1rem}.action-dock button.is-active{color:#1c7a45;background:#2b92531f}@media (hover:hover){.action-dock button:hover{color:#1c7a45;background:#2b925317}}.action-dock button:disabled{cursor:not-allowed;opacity:.38}.action-dock .action-dock__primary{color:#fff;background:#2b9253}.action-dock .action-dock__primary span{color:#fff}.action-dock .action-dock__primary--close{color:#143323;background:#1433231a}.action-dock .action-dock__primary--close span{color:#143323}.action-dock button.has-alert{color:var(--ink);position:relative}.action-dock button.has-alert:after{content:"";background:#ff7a7a;border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:.35rem;right:.45rem;box-shadow:0 0 0 .12rem #ff7a7a2e}.management-sheet{z-index:var(--ui-layer-sheet);right:var(--edge-right);bottom:calc(var(--ui-dock-offset) + .35rem);width:min(28rem, calc(100% - var(--edge-left) - var(--edge-right)));max-height:min(36rem, calc(100svh - var(--hud-clearance) - var(--ui-dock-offset) - .75rem));overscroll-behavior:contain;color:#e8f1ec;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);-webkit-overflow-scrolling:touch;background:#0f201af5;border:1px solid #ffffff29;border-radius:1.25rem;animation:.22s ui-sheet-in;position:absolute;overflow:hidden auto;box-shadow:0 1.2rem 3rem #0b201761}.management-sheet>header{z-index:1;background:#142d23;justify-content:space-between;align-items:center;padding:.85rem .9rem;display:flex;position:sticky;top:0}.management-sheet>header small,.management-sheet>header strong{display:block}.management-sheet>header small{color:#6ed99c;letter-spacing:.1em;text-transform:uppercase;font-size:.55rem;font-weight:900}.management-sheet>header strong{margin-top:.16rem;font-size:.92rem}.management-sheet>header button{color:#aec1b7;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;flex:none;width:2.5rem;height:2.5rem;font-size:1.2rem}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.65rem;display:grid}.shop-item{color:#fff;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:.9rem;grid-template-columns:2.3rem minmax(0,1fr);gap:.55rem;min-width:0;padding:.65rem;display:grid}@media (hover:hover){.shop-item:hover:not(:disabled){background:#43df8317;border-color:#43df837a}}.shop-item:disabled{cursor:not-allowed;opacity:.42}.shop-item__icon{background:#ffffff14;border-radius:.7rem;grid-row:span 2;place-items:center;width:2.3rem;height:2.3rem;display:grid}.shop-item__copy{min-width:0}.shop-item__copy strong,.shop-item__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shop-item__copy strong{font-size:.72rem}.shop-item__copy small{color:#91a99d;margin-top:.15rem;font-size:.56rem}.shop-item__price{color:#5ee493;grid-column:2;font-size:.61rem;font-weight:900}.sheet-note{color:#a6b9af;justify-content:space-between;align-items:center;gap:.55rem;padding:.65rem .75rem 0;font-size:.63rem;display:flex}.placement-banner{top:calc(var(--hud-clearance,4.5rem) + .35rem);z-index:24;color:#f4f7f4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#182a28e0;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:.65rem;max-width:min(92vw,28rem);padding:.55rem .7rem .55rem .9rem;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #121c1a47}.placement-banner strong{flex:1;font-size:.84rem;font-weight:700;line-height:1.25}.placement-banner--closed{background:#2f5a60eb}.sheet-note button,.land-purchase{color:#7ae6a5;cursor:pointer;background:#43df8314;border:1px solid #43df833d;border-radius:.7rem;font-size:.6rem;font-weight:800}.sheet-note button{min-height:2.4rem;padding:.4rem .5rem}.sheet-note--calm{color:#8fa79c;padding-bottom:.35rem;display:block}.automation-board{gap:.45rem;padding:.55rem .75rem .15rem;display:grid}.automation-board>small{color:#8ea39a;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:800}.automation-row{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #1433231a;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.65rem;padding:.7rem .75rem;display:flex}.automation-row__copy{gap:.15rem;display:grid}.automation-row__copy strong{font-size:.78rem}.automation-row__copy small{color:var(--muted-ink);font-size:.66rem;line-height:1.3}.automation-row__state{color:#5b6f66;text-align:right;flex-shrink:0;min-width:3.4rem;font-size:.68rem;font-weight:800}.automation-row.is-on{background:#2b92531a;border-color:#2b925347}.automation-row.is-on .automation-row__state{color:#1c7a45}.automation-row.is-locked,.automation-row:disabled{cursor:not-allowed;opacity:.62}@media (hover:hover){.automation-row:hover:not(:disabled){border-color:#2b925359}}.maintenance-meters{gap:.55rem;padding:.65rem .75rem 0;display:grid}.maintenance-meter__head{color:#a6b9af;justify-content:space-between;align-items:center;margin-bottom:.28rem;font-size:.62rem;display:flex}.maintenance-meter__head strong{color:#fff;font-size:.64rem}.maintenance-meter__track{background:#ffffff14;border-radius:999px;height:.42rem;overflow:hidden}.maintenance-meter__track span{border-radius:inherit;height:100%;display:block}.maintenance-meter__track--good span{background:linear-gradient(90deg,#2fbf71,#5ee493)}.maintenance-meter__track--warn span{background:linear-gradient(90deg,#c58a2d,#f4bd49)}.maintenance-meter__track--bad span{background:linear-gradient(90deg,#b14a4a,#ff7a7a)}.maintenance-issues{gap:.45rem;padding:.65rem .75rem 0;display:grid}.maintenance-issues>small{color:#91a99d;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.maintenance-issue{color:#b6c7be;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;padding:.7rem .75rem;display:flex}@media (hover:hover){.maintenance-issue:hover:not(:disabled){background:#43df8314;border-color:#43df8347}}.maintenance-issue:disabled{cursor:not-allowed;opacity:.45}.maintenance-issue__copy{gap:.18rem;display:grid}.maintenance-issue__copy strong{color:#fff;font-size:.72rem}.maintenance-issue__copy small{color:#91a99d;font-size:.58rem;line-height:1.35}.maintenance-issue__price{color:#5ee493;flex:none;font-size:.68rem;font-weight:900}.maintenance-full-repair{color:#dce8e2;cursor:pointer;background:#43df8314;border:1px solid #43df833d;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.55rem;width:calc(100% - 1.3rem);min-height:2.75rem;margin:.65rem;padding:.75rem;display:flex}.maintenance-full-repair:disabled{cursor:not-allowed;opacity:.42}.maintenance-full-repair strong{color:#5ee493;font-size:.72rem}.land-purchase{justify-content:space-between;align-items:center;gap:.55rem;width:calc(100% - 1.3rem);min-height:2.75rem;margin:.65rem .65rem 0;padding:.7rem .75rem;display:flex}.land-purchase:disabled{opacity:.42}.facility-list{border-top:1px solid #ffffff12;gap:.45rem;margin-top:.75rem;padding:.75rem .75rem 0;display:grid}.facility-list>small{color:#91a99d;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.facility-row{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.85rem;align-items:center;gap:.55rem;min-height:2.75rem;padding:.55rem .6rem;display:flex}.facility-row__icon{background:#ffffff14;border-radius:.65rem;flex:none;place-items:center;width:2.1rem;height:2.1rem;display:grid}.facility-row__copy{flex:1;min-width:0}.facility-row__copy strong,.facility-row__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.facility-row__copy strong{color:#fff;font-size:.7rem}.facility-row__copy small{color:#91a99d;margin-top:.14rem;font-size:.56rem}.facility-row__actions{flex-direction:column;flex:none;gap:.3rem;display:flex}.facility-row__actions button{color:#7ae6a5;cursor:pointer;white-space:nowrap;background:#43df8314;border:1px solid #43df833d;border-radius:.6rem;min-height:1.9rem;padding:.3rem .55rem;font-size:.56rem;font-weight:800}.facility-row__actions button.is-active{color:#f0c55e;background:#f0c55e1f;border-color:#f0c55e73}.facility-row__actions button:disabled{cursor:not-allowed;opacity:.42}@media (hover:hover){.facility-row__actions button:hover:not(:disabled){background:#43df8324;border-color:#43df837a}}.facility-move{background:#f0c55e0f;border:1px dashed #f0c55e66;border-radius:.85rem;gap:.45rem;padding:.6rem;display:grid}.facility-move>small{color:#e8ce8f;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.facility-move .sheet-note{padding:0}.facility-move__targets{flex-wrap:wrap;gap:.4rem;display:flex}.facility-move__targets button{color:#7ae6a5;cursor:pointer;background:#43df831a;border:1px solid #43df834d;border-radius:.7rem;min-height:2.4rem;padding:.45rem .8rem;font-size:.62rem;font-weight:800}@media (hover:hover){.facility-move__targets button:hover{background:#43df8329;border-color:#43df838c}}.district-card{z-index:2;bottom:calc(var(--ui-dock-offset) + .35rem);width:max-content;max-width:min(24rem, calc(100% - var(--edge-left) - var(--edge-right)));border:1px solid var(--card-border);color:var(--ink);box-shadow:var(--card-shadow);pointer-events:auto;-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#f5faf7f0;border-radius:1.25rem;align-items:center;gap:.7rem;padding:.75rem 1rem .75rem .75rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.district-card__marker{color:#fff;background:#2b9253;border-radius:.8rem;flex:none;place-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:grid}.district-card>span:not(.district-card__marker){min-width:0}.district-card strong,.district-card small{display:block}.district-card strong{font-size:.85rem}.district-card small{color:var(--muted-ink);margin-top:.1rem;font-size:.7rem}.district-card p{color:var(--muted-ink);margin:.35rem 0 0;font-size:.7rem;line-height:1.35}.district-card__close{width:2.25rem;height:2.25rem;color:var(--muted-ink);cursor:pointer;background:#14332312;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.2rem;line-height:1;display:grid}.district-card__close:focus-visible{outline-offset:.15rem;outline:.15rem solid #2b9253}.modal-backdrop{z-index:var(--ui-layer-modal);padding:max(1rem, var(--safe-top)) var(--edge-right) max(1rem, var(--safe-bottom)) var(--edge-left);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#05110c6b;place-items:center;display:grid;position:absolute;inset:0}.day-summary{overscroll-behavior:contain;color:#b6c7be;text-align:center;background:#142d23;border:1px solid #ffffff24;border-radius:1.3rem;gap:.25rem;width:min(19rem,100%);max-height:100%;padding:1.2rem;font-size:.72rem;animation:.18s ui-pop-in;display:grid;overflow-y:auto;box-shadow:0 1.5rem 4rem #07181080}.day-summary__icon{font-size:2rem}.day-summary strong{color:#fff;margin:.4rem 0;font-size:1rem}.day-summary button{color:#112b1c;cursor:pointer;background:#43df83;border:0;border-radius:.75rem;min-height:2.75rem;margin-top:.5rem;padding:.45rem;font-size:.72rem;font-weight:800}.day-summary__goals{text-align:left;border-top:1px solid #ffffff1a;gap:.35rem;margin:.75rem 0;padding-top:.75rem;display:grid}.day-summary__goals small{color:#91a99d;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.day-summary__goal{color:#91a99d;font-size:.68rem}.day-summary__goal.is-done{color:#7ae6a5}.day-summary__goals strong{color:#5ee493;margin-top:.25rem;font-size:.72rem}.business-event{z-index:var(--ui-layer-event);width:min(21rem, calc(100% - var(--edge-left) - var(--edge-right)));max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 2rem);color:#b6c7be;background:#142d23;border:1px solid #ffffff24;border-radius:1.1rem;gap:.55rem;padding:1rem;font-size:.75rem;animation:.18s ui-pop-in;display:grid;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 1.5rem 4rem #07181073}.business-event strong{color:#fff}.business-event__reward{color:#5ee493;font-weight:800}.business-event div{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.business-event button{color:#fff;cursor:pointer;background:#ffffff17;border:0;border-radius:.7rem;min-height:2.75rem;font-weight:800}.business-event button:last-child{color:#112b1c;background:#43df83}.reservation-panel{z-index:var(--ui-layer-sheet);right:var(--edge-right);bottom:calc(var(--ui-dock-offset) + .35rem);width:min(24rem, calc(100% - var(--edge-left) - var(--edge-right)));max-height:min(72svh, calc(100svh - var(--hud-clearance) - var(--ui-dock-offset) - .75rem));overscroll-behavior:contain;color:#e8f1ec;-webkit-overflow-scrolling:touch;background:linear-gradient(#12261efa,#0c1c16fa);border:1px solid #ffffff24;border-radius:1.2rem;grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.85rem;animation:.22s ui-sheet-in;display:grid;position:absolute;overflow-y:auto;box-shadow:0 1rem 3rem #0718106b}.reservation-panel__header,.reservation-panel__request-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.reservation-panel__header small,.reservation-panel__request-head small{color:#91a99d;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800;display:block}.reservation-panel__header strong,.reservation-panel__request-head strong{color:#fff;font-size:.95rem}.reservation-panel__header button{color:#91a99d;cursor:pointer;background:#ffffff0f;border:0;border-radius:50%;flex:none;place-items:center;width:2.25rem;height:2.25rem;margin:-.35rem -.35rem 0 0;font-size:1.2rem;display:grid}.reservation-panel__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.reservation-panel__summary span{background:#ffffff0d;border-radius:.75rem;gap:.15rem;min-width:0;padding:.55rem .6rem;display:grid}.reservation-panel__summary small{color:#91a99d;font-size:.56rem}.reservation-panel__summary strong{color:#fff;font-size:.68rem}.reservation-panel__empty,.reservation-panel__schedule-empty,.reservation-panel__hint{color:#91a99d;margin:0;font-size:.64rem;line-height:1.45}.reservation-panel__request,.reservation-panel__calendar,.reservation-panel__schedule{grid-template-columns:minmax(0,1fr);gap:.55rem;display:grid}.reservation-panel__request{background:#43df830f;border:1px solid #6ed99c2e;border-radius:.85rem;padding:.7rem .75rem}.reservation-panel__section small,.reservation-panel__calendar small,.reservation-panel__schedule small{color:#91a99d;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.reservation-panel__request-copy{color:#b6c7be;margin:0;font-size:.68rem;line-height:1.45}.reservation-panel__request-price{color:#5ee493;font-size:.72rem;font-weight:900}.reservation-panel__status{border-radius:.75rem;padding:.65rem .75rem;font-size:.64rem;font-weight:700}.reservation-panel__status.is-open{color:#7ae6a5;background:#43df831a}.reservation-panel__status.is-full{color:#ffb4b4;background:#ff7a7a1a}.reservation-panel__schedule-list{gap:.45rem;display:grid}.reservation-panel__schedule-item{background:#ffffff0d;border-radius:.75rem;gap:.15rem;padding:.65rem .75rem;display:grid}.reservation-panel__schedule-item strong{color:#fff;font-size:.72rem}.reservation-panel__schedule-item span,.reservation-panel__schedule-item small{color:#91a99d;font-size:.62rem}.reservation-panel__actions{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.reservation-panel__actions button{cursor:pointer;border:0;border-radius:.75rem;min-height:2.75rem;font-weight:800}.reservation-panel__actions button:first-child{color:#fff;background:#ffffff17}.reservation-panel__actions button:last-child{color:#112b1c;background:#43df83}.reservation-panel__actions button:disabled{opacity:.45;cursor:not-allowed}.reservation-chip-row{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.reservation-chip-row::-webkit-scrollbar{display:none}.reservation-chip-row button{color:#dce8e2;cursor:pointer;scroll-snap-align:start;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.8rem;flex:none;place-items:center;gap:.15rem;min-width:5.5rem;min-height:2.75rem;padding:.55rem .65rem;font-size:.68rem;font-weight:800;display:grid}.reservation-chip-row button.is-active{color:#112b1c;background:#43df83;border-color:#43df837a}.reservation-chip-row--times button{min-width:4.2rem}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(.6rem)}}@keyframes ui-pop-in{0%{opacity:0;transform:translateY(.3rem)}}.app-shell--reduced-motion .management-sheet,.app-shell--reduced-motion .reservation-panel,.app-shell--reduced-motion .gameplay-toast,.app-shell--reduced-motion .day-summary,.app-shell--reduced-motion .business-event{animation:none}@media (prefers-reduced-motion:reduce){.app-shell:after,.management-sheet,.reservation-panel,.gameplay-toast,.day-summary,.business-event{animation:none}}@media (min-width:48rem){.app-shell{--hud-top:max(1.5rem, var(--safe-top));--edge-left:max(1.5rem, var(--safe-left));--edge-right:max(1.5rem, var(--safe-right))}}@media (max-width:46rem){.app-shell{--hud-top:max(.5rem, var(--safe-top));--edge-left:max(.5rem, var(--safe-left));--edge-right:max(.5rem, var(--safe-right))}.brand-pill{width:2.05rem;height:2.05rem;font-size:.95rem}.hud-pill{min-height:2.05rem;padding:.18rem .52rem .18rem .24rem}.hud-pill__icon{width:1.5rem;height:1.5rem;font-size:.74rem}.hud-pill strong{font-size:.66rem}.settings-menu summary{width:2.05rem;height:2.05rem}.action-dock{width:calc(100% - max(.75rem, calc(var(--safe-left) + var(--safe-right))));justify-content:space-around}.action-dock button{flex:1;min-width:0;padding-left:.25rem;padding-right:.25rem;font-size:.5rem}.management-sheet,.reservation-panel{right:var(--edge-right);bottom:calc(var(--ui-dock-offset) + .2rem);left:var(--edge-left);width:auto;max-height:calc(100svh - var(--hud-clearance) - var(--ui-dock-offset) - .6rem)}.district-card{bottom:calc(var(--ui-dock-offset) + .2rem)}}@media (max-width:25rem){.shop-grid{grid-template-columns:1fr}.reservation-panel__summary{gap:.3rem}.reservation-panel__summary span{padding:.45rem .5rem}.action-dock button{min-height:3rem;font-size:0}.action-dock button span{font-size:1.05rem}}@media (max-height:30rem){.app-shell{--hud-top:max(.4rem, var(--safe-top));--ui-dock-offset:calc(3.7rem + max(.5rem, var(--safe-bottom)))}.hud-pill{min-height:1.9rem}.game-status-strip__item{min-height:1.7rem}.action-dock{bottom:max(.5rem, var(--safe-bottom))}.action-dock button{min-height:2.75rem}.management-sheet,.reservation-panel{max-height:calc(100svh - var(--hud-clearance) - var(--ui-dock-offset) - .5rem)}}:root{color:#112b1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(145deg,#e8f8e9 0%,#d7eee0 100%);font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#d7eee0;height:100%}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;min-height:100%;margin:0}#root{min-height:100%}button,input,select,textarea{font:inherit}button{touch-action:manipulation}
