@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root,[data-theme=day]{--ink:#1f2a44;--ink-soft:#55607a;--cream:#fff6e6;--cream-deep:#f2e2c2;--paper:#fff;--track:#e4d6b8;--stage:#a9d3ef;--scrim:#0f162673;--action:#2b6fd6;--action-lip:#1d4fa0;--go:#13946a;--go-lip:#0c6a4c;--sun:#ffc83d;--sun-lip:#d99a12;--warm:#e0552f;--warm-lip:#a83a1c;--danger:#d63a33;--danger-lip:#9c2522;--mood:#2fb59a;--on-fill:#fff;--focus:#1f2a44;--lip-action:0 5px 0 #1d4fa0;--lip-go:0 5px 0 #0c6a4c;--lip-sun:0 5px 0 #d99a12;--lip-warm:0 5px 0 #a83a1c;--lip-danger:0 5px 0 #9c2522;--lip-paper:0 4px 0 #cdbb94;--panel:0 8px 0 #1d4fa0, 0 18px 40px #0f162659}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--tap-min:44px;--tap-hud:56px;--border:3px;--frame:4px;--font-display:"Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;--font-ui:Nunito, "Segoe UI", system-ui, sans-serif}.banner{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:36px}.title{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:30px}.button{font-family:var(--font-display);font-size:20px;font-weight:800;line-height:24px}.counter{font-family:var(--font-ui);font-size:20px;font-weight:800;line-height:24px}.body{font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:22px}.label{font-family:var(--font-ui);letter-spacing:.06em;font-size:13px;font-weight:800;line-height:16px}.caption{font-family:var(--font-ui);font-size:12px;font-weight:700;line-height:16px}.uk-btn:focus-visible,.uk-icon-btn:focus-visible,.uk-toggle:focus-visible,.uk-slider:focus-visible{outline:3px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--paper)}.uk-btn{--fill:var(--go);--lip:var(--lip-go);--label:var(--on-fill);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-hud);padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--fill);color:var(--label);font-family:var(--font-display);text-shadow:0 2px #0f162647;box-shadow:inset 0 -4px 0 #0f162624, var(--lip);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;font-size:20px;font-weight:800;line-height:24px;transition:transform 80ms ease-out,box-shadow 80ms ease-out;display:inline-flex}.uk-btn:active:not(:disabled){box-shadow:inset 0 -2px 0 #0f162624, 0 1px 0 var(--ink);transform:translateY(4px)}.uk-btn img{width:28px;height:28px}.uk-btn--action{--fill:var(--action);--lip:var(--lip-action)}.uk-btn--warm{--fill:var(--warm);--lip:var(--lip-warm)}.uk-btn--danger{--fill:var(--danger);--lip:var(--lip-danger)}.uk-btn--sun{--fill:var(--sun);--lip:var(--lip-sun);--label:var(--ink);text-shadow:none}.uk-btn--quiet{--fill:var(--paper);--lip:var(--lip-paper);--label:var(--ink);text-shadow:none;border:var(--border) solid var(--ink)}.uk-btn--wide{text-align:left;justify-content:space-between;width:100%}.uk-btn-detail{font-family:var(--font-ui);text-shadow:none;opacity:.95;font-size:16px;font-weight:700;line-height:22px}.uk-btn:disabled{--fill:var(--track);--label:var(--ink-soft);text-shadow:none;box-shadow:none;border:2px solid var(--ink-soft);cursor:default}.uk-icon-btn{--fill:var(--action);--lip:var(--lip-action);width:var(--tap-hud);height:var(--tap-hud);border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--fill);box-shadow:var(--lip);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;place-items:center;padding:0;transition:transform 80ms ease-out,box-shadow 80ms ease-out;display:inline-grid}.uk-icon-btn img{width:30px;height:30px}.uk-icon-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.uk-icon-btn--danger{--fill:var(--danger);--lip:var(--lip-danger)}.uk-icon-btn--paper{--fill:var(--paper);--lip:var(--lip-paper)}.uk-icon-btn--sm{width:var(--tap-min);height:var(--tap-min)}.uk-icon-btn--sm img{width:24px;height:24px}.uk-counter{min-width:96px;height:var(--tap-min);padding:0 var(--space-4) 0 46px;border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--paper);box-shadow:var(--lip-paper);color:var(--ink);font-family:var(--font-ui);flex-direction:column;justify-content:center;display:inline-flex;position:relative}.uk-counter-icon{width:48px;height:48px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.uk-counter-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:22px}.uk-counter-sub{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;line-height:14px}.uk-counter-plus{border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--go);width:24px;height:24px;color:var(--on-fill);font:800 18px/1 var(--font-display);place-items:center;display:grid;position:absolute;top:-12px;left:22px}.uk-need{--fill:var(--sun);column-gap:var(--space-2);min-width:160px;color:var(--ink);font-family:var(--font-ui);grid-template-rows:auto auto;grid-template-columns:32px 1fr auto;align-items:center;display:grid}.uk-need img{grid-row:span 2;width:32px;height:32px}.uk-need-label{letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:16px}.uk-need-value{font-variant-numeric:tabular-nums;text-align:right;font-size:13px;font-weight:800;line-height:16px}.uk-need-bar{border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--track);grid-column:2/span 2;height:12px;overflow:hidden}.uk-need-bar>span{height:100%;width:var(--value,50%);background:var(--fill);border-radius:var(--radius-pill);display:block}.uk-need--hunger{--fill:var(--warm)}.uk-need--mood{--fill:var(--mood)}.uk-need.is-low .uk-need-label:after{content:" · low"}.uk-need.is-low .uk-need-bar{border-color:var(--danger)}.uk-panel{max-width:420px;margin-top:var(--space-6);padding:44px var(--space-5) var(--space-5);border:var(--frame) solid var(--action);border-radius:var(--radius-lg);background:var(--cream);box-shadow:var(--panel);color:var(--ink);font-family:var(--font-ui);position:relative}.uk-panel-ribbon{max-width:calc(100% - 96px);padding:8px var(--space-5);border:var(--frame) solid var(--action);border-radius:var(--radius-md);background:var(--cream);box-shadow:inset 0 -5px 0 var(--cream-deep);font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:26px;font-weight:800;line-height:30px;position:absolute;top:-26px;left:50%;overflow:hidden;transform:translate(-50%)}.uk-panel-close{position:absolute;top:-18px;right:-14px}.uk-panel-sub{margin:0 0 var(--space-3);color:var(--ink-soft);text-align:center;font-size:16px;font-weight:600;line-height:22px}.uk-panel-body{gap:var(--space-3);display:grid}.uk-panel-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-hud);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--cream-deep);font-weight:700;display:flex}.uk-toggle{width:92px;height:var(--tap-min);border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--track);color:var(--ink);font:800 15px/1 var(--font-display);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:flex-end;align-items:center;padding:0 14px;display:inline-flex;position:relative}.uk-toggle:before{content:"";border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--paper);width:32px;height:32px;transition:left .12s ease-out;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.uk-toggle:after{content:"OFF"}.uk-toggle[aria-checked=true]{background:var(--go);border-color:var(--go-lip);color:var(--on-fill);justify-content:flex-start}.uk-toggle[aria-checked=true]:before{left:calc(100% - 38px)}.uk-toggle[aria-checked=true]:after{content:"ON"}.uk-slider{--value:60%;appearance:none;width:220px;height:var(--tap-min);cursor:pointer;background:0 0}.uk-slider::-webkit-slider-runnable-track{border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:linear-gradient(to right, var(--sun) var(--value), var(--cream-deep) var(--value));height:22px}.uk-slider::-moz-range-track{border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:linear-gradient(to right, var(--sun) var(--value), var(--cream-deep) var(--value));height:18px}.uk-slider::-webkit-slider-thumb{-webkit-appearance:none;border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--action);width:34px;height:34px;margin-top:-8px}.uk-slider::-moz-range-thumb{border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--action);width:28px;height:28px}.uk-banner{padding:18px var(--space-6) 10px;border:var(--frame) solid var(--paper);border-radius:var(--radius-lg);background:var(--action);box-shadow:inset 0 0 0 3px var(--action-lip), var(--lip-action);color:var(--on-fill);flex-direction:column;align-items:center;display:inline-flex;position:relative}.uk-banner-pin{width:40px;height:40px;position:absolute;top:-22px}.uk-banner-name{font-family:var(--font-display);text-shadow:0 2px #0f16264d;font-size:34px;font-weight:800;line-height:36px}.uk-banner-sub{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:16px}.uk-toast{align-items:center;gap:var(--space-2);padding:10px var(--space-4);border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);font-family:var(--font-ui);font-size:16px;font-weight:700;line-height:22px;display:inline-flex;box-shadow:0 6px 18px #0f16264d}.uk-toast img{width:24px;height:24px}.uk-tag{border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--sun);color:var(--ink);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:2px 10px;font-size:12px;font-weight:800;line-height:16px;display:inline-flex}.uk-tag--quiet{background:var(--paper);border-color:var(--ink-soft);color:var(--ink-soft)}@media (prefers-reduced-motion:reduce){.uk-btn,.uk-icon-btn,.uk-toggle:before{transition:none}}.uk-field{gap:6px;min-width:0;display:grid}.uk-field-label{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;font-weight:800;line-height:16px}.uk-field-label.is-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.uk-input{box-sizing:border-box;width:100%;min-width:0;min-height:var(--tap-hud);padding:0 var(--space-4);border:var(--border) solid var(--ink);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font:700 18px/1 var(--font-ui);font-variant-numeric:tabular-nums}.uk-input::placeholder{color:var(--ink-soft);opacity:.75}.uk-input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.uk-check{gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;display:grid}.uk-check-box{appearance:none;border:var(--border) solid var(--ink);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;place-content:center;width:32px;height:32px;margin:0;display:grid}.uk-check-box:after{content:"✓";font:800 22px/1 var(--font-ui);color:var(--on-fill);opacity:0}.uk-check-box:checked{background:var(--go);border-color:var(--go-lip)}.uk-check-box:checked:after{opacity:1}.uk-check-box:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.uk-check-words{font:700 16px/22px var(--font-ui)}textarea.uk-input{min-height:112px;padding-block:var(--space-3);resize:vertical;line-height:22px}html,body{background:var(--ink);height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#scene{width:100vw;height:100dvh;display:block}#hud{top:env(safe-area-inset-top,0);padding:var(--space-3) var(--space-4);white-space:pre-line;pointer-events:none;font-size:14px;position:fixed;left:0;right:0}#hud:empty{display:none}#hud.error{background:var(--danger);color:var(--on-fill);white-space:pre-wrap;pointer-events:auto;max-height:60dvh;overflow:auto}#credits{left:max(var(--space-2), env(safe-area-inset-left,0px));bottom:env(safe-area-inset-bottom,0);padding:2px var(--space-2) 4px;color:#ffffffd9;text-shadow:0 1px 2px #0000008c;pointer-events:none;font-size:10px;font-weight:700;position:fixed}.hud{pointer-events:none}.hud button,.hud .uk-counter{pointer-events:auto}.hud-head{top:calc(env(safe-area-inset-top,0px) + var(--space-3));left:calc(env(safe-area-inset-left,0px) + var(--space-4));right:calc(env(safe-area-inset-right,0px) + var(--space-4));align-items:flex-start;gap:var(--space-2);z-index:3;flex-direction:column;display:flex;position:fixed}.hud-top{align-self:stretch;align-items:center;gap:var(--space-2) var(--space-3);min-height:var(--tap-min);padding:0 calc(var(--tap-min) + var(--space-2)) 0 8px;flex-wrap:wrap;display:flex;position:relative}.hud-top .uk-counter{min-width:0;height:40px;padding:0 var(--space-3) 0 40px;white-space:nowrap;flex:none}.hud-top .uk-counter-icon{width:42px;height:42px;left:-10px}.hud-top .uk-counter-value{font-size:18px;line-height:20px}.hud-marks{gap:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.hud-rain{place-items:center;width:26px;height:26px;display:grid}.hud-rain[hidden]{display:none}.hud-top .uk-counter.has-rain{padding-right:40px}.hud-top .uk-counter.has-two-marks{padding-right:70px}.hud-settings{position:absolute;top:0;right:0}.hud-needs{gap:6px var(--space-2);flex-wrap:wrap;transition:opacity .15s;display:flex}.hud-need{border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--paper);flex:none;align-items:center;gap:5px;min-width:0;height:28px;padding:0 8px 0 4px;display:flex}.hud-need img{width:22px;height:22px}.hud-need .uk-need-bar{border-width:1.5px;width:32px;height:8px}.hud-need .uk-need-value{min-width:2ch;font-size:12px;line-height:14px}.hud-need.is-low{border-color:var(--danger);box-shadow:0 0 0 2px var(--paper)}:root{--thumb-row-bottom:calc(env(safe-area-inset-bottom,0px) + 54px)}.hud-phone{right:calc(env(safe-area-inset-right,0px) + var(--space-4));bottom:var(--thumb-row-bottom);z-index:3;position:fixed}.hud-badge{border:2px solid var(--paper);border-radius:var(--radius-pill);background:var(--danger);min-width:22px;height:22px;color:var(--on-fill);font:800 12px/18px var(--font-ui);text-align:center;padding:0 5px;position:absolute;top:-6px;right:-6px}.hud-badge[hidden]{display:none}.hud.is-busy .hud-needs,.hud.is-busy .hud-phone{opacity:0;visibility:hidden}.hud-banner{border:2px solid var(--action-lip);border-radius:var(--radius-pill);background:var(--action);max-width:100%;box-shadow:var(--lip-action);color:var(--on-fill);flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:6px;padding:6px 14px 6px 8px;animation:.38s cubic-bezier(.2,1.4,.4,1) both banner-in;display:flex}.hud-banner[hidden]{display:none}.hud-banner.leaving{animation:.38s ease-in both banner-out}.hud-banner-name{font:800 18px/22px var(--font-display)}.hud-banner-sub{font:800 11px/14px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;opacity:.9}@keyframes banner-in{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes banner-out{to{opacity:0;transform:translateY(-24px)}}.context-button{right:calc(env(safe-area-inset-right,0px) + var(--space-4));bottom:calc(var(--thumb-row-bottom) + 72px);max-width:calc((100vw - 176px) / var(--zoom));padding:6px var(--space-4);text-align:center;text-wrap:balance;z-index:3;line-height:22px;position:fixed}.context-button[hidden]{display:none}.sheet{left:calc(env(safe-area-inset-left,0px) + var(--space-2));right:calc(env(safe-area-inset-right,0px) + var(--space-2));bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-2));max-width:480px;max-height:calc(70dvh / var(--zoom));padding-inline:var(--space-4);z-index:4;touch-action:pan-y;margin:0 auto;position:fixed;overflow-y:auto}.sheet[hidden]{display:none}.sheet{margin-top:0;padding-top:68px}.sheet .uk-panel-ribbon{max-width:calc(100% - 136px);padding:6px var(--space-4);font-size:22px;line-height:26px;top:12px}.sheet .uk-panel-close{width:var(--tap-min);height:var(--tap-min);top:10px;right:10px}.sheet .uk-panel-close img{width:24px;height:24px}.sheet .uk-panel-sub{margin-top:-6px}.info-row{padding-block:var(--space-3);align-items:flex-start}.info-row>div{gap:2px;min-width:0;display:grid}.info-label{font-weight:800}.info-note{color:var(--ink-soft);font-size:14px;font-weight:600;line-height:19px}.info-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.info-row.is-warn{box-shadow:inset 0 0 0 2px var(--danger)}.info-row.is-warn .info-label:before{content:"! ";color:var(--danger)}.panel-heading{margin:var(--space-2) 0 0;font:800 18px/22px var(--font-display)}.uk-panel-search{margin:0 0 var(--space-3)}.menu-item{align-items:baseline;gap:2px var(--space-3);padding-block:var(--space-2);text-align:left;grid-template-columns:minmax(0,1fr) fit-content(45%);display:grid}.menu-item .uk-btn-detail{font-variant-numeric:tabular-nums;text-align:right}.menu-note{font:600 14px/19px var(--font-ui);color:var(--ink-soft);text-shadow:none;grid-column:1/-1}.panel-empty{color:var(--ink-soft);text-align:center;margin:0;font-weight:600}.panel-footer{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.toast{left:50%;top:calc(100% + var(--space-2));box-sizing:border-box;opacity:0;pointer-events:none;z-index:5;border-radius:22px;width:max-content;max-width:100%;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,-8px)}.toast.visible{opacity:1;transform:translate(-50%)}:root{--zoom:1}:root.large-text{--zoom:1.15}.large-text :is(.phone-frame,.hud,.sheet,.context-button,.busy-card){zoom:var(--zoom)}.joystick-zone{touch-action:none;z-index:2;width:55vw;height:50dvh;position:fixed;bottom:0;left:0}.joystick-base{left:calc(env(safe-area-inset-left,0px) + 80px);top:calc(100% - env(safe-area-inset-bottom,0px) - 110px);border:var(--border) solid #ffffff8c;opacity:.6;pointer-events:none;background:#ffffff2e;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .12s;position:absolute}.joystick-base.active{opacity:1}.joystick-knob{border:var(--border) solid var(--ink);background:var(--paper);width:52px;height:52px;box-shadow:var(--lip-paper);border-radius:50%;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}@media (pointer:fine){.joystick-zone{display:none}}.reduce-motion .hud-banner,.reduce-motion .hud-banner.leaving{animation:none}.reduce-motion .toast,.reduce-motion .phone-frame,.reduce-motion .phone-scrim,.reduce-motion .uk-btn,.reduce-motion .uk-icon-btn,.reduce-motion .uk-toggle:before{transition:none}.phone-layer{z-index:6;pointer-events:none;position:fixed;inset:0}.phone-layer.is-open{pointer-events:auto}.phone-scrim{opacity:0;background:#0f162659;transition:opacity .3s;position:absolute;inset:0}.phone-layer.is-open .phone-scrim{opacity:1}.phone-frame{--drag:0px;align-items:center;gap:var(--space-3);width:min(360px, calc((100vw - 24px) / var(--zoom)));visibility:hidden;outline:none;flex-direction:column;transition:transform .3s cubic-bezier(.2,.9,.3,1);display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%,calc(100% + 24px))}.phone-layer.is-open .phone-frame{transform:translate(-50%, var(--drag));visibility:visible}.phone-frame.is-dragging{transition:none}.phone-layer.is-open .phone-frame{pointer-events:none}.phone-close,.phone{pointer-events:auto}.phone-close{flex:none}.phone{width:100%;height:min(640px, calc((86dvh - 56px) / var(--zoom)));background:var(--ink);border-radius:40px 40px 0 0;padding:8px 8px 0;box-shadow:0 -10px 40px #0f162666}.phone-screen{background:var(--cream);border-radius:32px 32px 0 0;flex-direction:column;height:100%;display:flex;overflow:hidden}.phone-status{height:34px;font:800 13px/1 var(--font-ui);color:var(--ink);font-variant-numeric:tabular-nums;cursor:grab;justify-content:space-between;align-items:center;padding:0 22px;display:flex;position:relative}.phone-notch{border-radius:var(--radius-pill);background:var(--ink);width:84px;height:20px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-signal{align-items:flex-end;gap:2px;height:11px;margin-left:auto;margin-right:8px;display:flex}.phone-signal i{background:var(--ink);border-radius:1px;width:3px}.phone-signal i:first-child{height:4px}.phone-signal i:nth-child(2){height:6px}.phone-signal i:nth-child(3){height:8px}.phone-signal i:nth-child(4){height:11px}.phone-battery{border:2px solid var(--ink);border-radius:3px;width:22px;height:11px;position:relative}.phone-battery i{background:var(--go);border-radius:1px;position:absolute;inset:1px 6px 1px 1px}.phone-battery:after{content:"";background:var(--ink);border-radius:0 1px 1px 0;width:2px;height:4px;position:absolute;top:2px;right:-4px}.phone-view{overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow-y:auto}.phone-status,.phone-header,.phone-lock,.phone-apps,.phone-home-bar,.phone-online{touch-action:none}.phone-lock{padding:var(--space-5) 0 var(--space-4);background:var(--action);color:var(--on-fill);justify-items:center;display:grid}.phone-big-time{font:800 56px/1 var(--font-display);font-variant-numeric:tabular-nums}.phone-date{font:800 13px/18px var(--font-ui);letter-spacing:.04em}.phone-apps{align-content:start;gap:var(--space-4) var(--space-2);padding:var(--space-5) var(--space-4);background:var(--action);flex:1;grid-template-columns:repeat(4,1fr);display:grid}.phone-app{color:var(--on-fill);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid;position:relative}.phone-app-icon{border:var(--border) solid var(--ink);background:var(--paper);width:58px;height:58px;box-shadow:0 4px 0 var(--action-lip);border-radius:18px;place-items:center;display:grid}.phone-app:active .phone-app-icon{box-shadow:0 1px 0 var(--action-lip);transform:translateY(3px)}.phone-app-label{font:800 12px/14px var(--font-ui)}.phone-app:disabled{cursor:default}.phone-app:disabled .phone-app-icon{opacity:.55}.phone-soon{padding:0 5px;font-size:10px;position:absolute;top:-6px;right:-2px}.phone-badge{border:2px solid var(--action);border-radius:var(--radius-pill);background:var(--danger);min-width:22px;height:22px;color:var(--on-fill);font:800 12px/18px var(--font-ui);padding:0 5px;position:absolute;top:-6px;right:2px}.phone-header{align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-3);border-bottom:2px solid var(--cream-deep);background:var(--cream);display:flex;position:sticky;top:0}.phone-header h2{font:800 22px/26px var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.phone-back{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-pill);color:var(--action);font:800 36px/1 var(--font-display);cursor:pointer;background:0 0;border:0;place-items:center;padding:0 0 4px;display:grid}.phone-sub{margin:var(--space-3) var(--space-4) 0;color:var(--ink-soft);font-weight:700}.phone-list{gap:var(--space-2);padding:var(--space-3);display:grid}.phone-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--paper);border:2px solid var(--cream-deep);display:flex}.phone-row>div{gap:2px;min-width:0;display:grid}.phone-row-label{font-weight:800}.phone-row-note{color:var(--ink-soft);font-size:13px;font-weight:600;line-height:18px}.phone-row-value{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:800}.phone-row.is-warn{border-color:var(--danger)}.phone-row.is-warn .phone-row-label:before{content:"! ";color:var(--danger)}.phone-empty{margin:var(--space-6) 0;text-align:center;color:var(--ink-soft);font-weight:700}.phone-thread{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);border:2px solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);text-align:left;font-family:var(--font-ui);cursor:pointer;grid-template-columns:44px 1fr auto;display:grid}.phone-avatar{border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--sun);width:44px;height:44px;font:800 20px/1 var(--font-display);place-items:center;display:grid}.phone-thread-text{min-width:0;display:grid}.phone-thread-from{font-weight:800}.phone-thread-last{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:14px;font-weight:600;overflow:hidden}.phone-thread-time{color:var(--ink-soft);align-self:start;font-size:12px;font-weight:700}.phone-thread.is-unread{border-color:var(--action)}.phone-thread.is-unread .phone-thread-time:after{content:" •";color:var(--action)}.phone-chat{gap:var(--space-3);padding:var(--space-4) var(--space-3);display:grid}.phone-bubble{max-width:82%;padding:var(--space-2) var(--space-3);border:2px solid var(--cream-deep);background:var(--paper);border-radius:18px 18px 18px 6px}.phone-bubble p{margin:0;font-weight:600;line-height:21px}.phone-bubble-time{color:var(--ink-soft);margin-top:2px;font-size:11px;font-weight:700;display:block}.phone-home-bar{height:calc(env(safe-area-inset-bottom,0px) + 26px);padding:0 0 env(safe-area-inset-bottom,0px);background:var(--cream);cursor:pointer;border:0;place-items:center;display:grid}.phone-home-bar span{border-radius:var(--radius-pill);background:var(--ink);width:120px;height:5px}.phone-online{gap:var(--space-2);margin:var(--space-3) var(--space-3) 0;padding:var(--space-4);border:2px dashed var(--ink-soft);border-radius:var(--radius-md);display:grid}.phone-online h3{font:800 18px/22px var(--font-display);margin:0}.phone-online p{color:var(--ink-soft);margin:0;font-weight:600}.phone-sync{justify-self:start}.shift{z-index:7;max-height:calc(86dvh / var(--zoom))}.shift-body{gap:var(--space-3)}.shift-how,.shift-pay{text-align:center;margin:0;font-weight:700}.shift-pay{color:var(--ink-soft);font-weight:600}.shift-cancel{min-height:var(--tap-min);padding:0 var(--space-4);color:var(--ink-soft);font:800 16px/1 var(--font-ui);cursor:pointer;background:0 0;border:0;justify-self:center;text-decoration:underline}.shift-round{text-align:center;font:800 13px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0}.shift-step{text-align:center;font:800 24px/28px var(--font-display);margin:0}.shift-feedback{text-align:center;min-height:28px;font:800 22px/28px var(--font-display);margin:0}.shift-feedback[data-score=great]{color:var(--go-lip)}.shift-feedback[data-score=rough]{color:var(--danger)}.shift-go{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;min-height:72px;font-size:26px}.shift-bar{border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--track);height:64px;position:relative;overflow:hidden}.shift-zone{border-inline:3px dashed var(--ink);background:repeating-linear-gradient(135deg, var(--go) 0 10px, color-mix(in srgb, var(--go) 70%, white) 10px 20px);position:absolute;top:0;bottom:0}.shift-marker{border-radius:var(--radius-pill);background:var(--ink);width:10px;box-shadow:0 0 0 3px var(--paper);margin-left:-5px;position:absolute;top:4px;bottom:4px}.shift-glass{border:var(--border) solid var(--ink);background:var(--paper);border-top:0;border-radius:0 0 18px 18px;justify-self:center;width:120px;height:200px;position:relative;overflow:hidden}.shift-fill{background:var(--sun);height:0;box-shadow:inset 0 8px 0 var(--cream);position:absolute;bottom:0;left:0;right:0}.shift-line{border-block:3px dashed var(--ink);background:color-mix(in srgb, var(--go) 25%, transparent);position:absolute;left:0;right:0}.shift-line span{font:800 12px/1 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.shift-call{gap:var(--space-2);padding:var(--space-4);border:2px solid var(--ink-soft);border-radius:var(--radius-md);background:var(--paper);display:grid}.shift-caller{font:800 13px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.shift-says{margin:0;font-size:17px;font-weight:700;line-height:24px}.shift-timer{border-radius:var(--radius-pill);background:var(--track);height:10px;overflow:hidden}.shift-timer span{background:var(--warm);width:100%;height:100%;display:block}.shift-answer{white-space:normal;text-align:left;min-height:56px;padding-block:var(--space-2);font-size:17px;line-height:22px}.shift-result{justify-items:center;gap:var(--space-2);text-align:center;display:grid}.shift-line-text{margin:0;font-size:17px;font-weight:700;line-height:24px}.shift-earned{font:800 26px/30px var(--font-display);color:var(--go-lip);margin:0}.shift-body>.uk-btn--quiet{padding-block:var(--space-2);flex-direction:column;justify-content:center;align-items:flex-start;gap:0}.busy-card{left:calc(env(safe-area-inset-left,0px) + var(--space-3));right:calc(env(safe-area-inset-right,0px) + var(--space-3));bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-3));max-width:420px;padding:var(--space-4) var(--space-5);gap:var(--space-2);z-index:4;margin:0 auto;display:grid;position:fixed}.busy-card[hidden],.busy-stop[hidden],.busy-rush[hidden]{display:none}.busy-card h2{font:800 22px/26px var(--font-display);text-align:center;margin:0}.busy-until{text-align:center;font-variant-numeric:tabular-nums;margin:0;font-weight:800}.busy-track{border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--track);height:12px;display:block;overflow:hidden}.busy-track span{background:var(--go);border-radius:var(--radius-pill);width:0;height:100%;transition:width 1s linear;display:block}.busy-note{text-align:center;color:var(--ink-soft);margin:0;font-weight:600}.reduce-motion .busy-track span{transition:none}.start{z-index:7;max-height:calc(52dvh / var(--zoom))}.start-body{gap:var(--space-3)}.start-title{text-align:center;font:800 22px/28px var(--font-display);margin:0}.start-path{padding-block:var(--space-2);flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:64px}.start-path .uk-btn-detail{white-space:normal}.start-label{font:800 13px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.start-name-row{gap:var(--space-2) var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.start-name-row .start-label{grid-column:1/-1}.start-name{min-height:var(--tap-hud);padding:0 var(--space-4);border:var(--border) solid var(--ink);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font:700 18px/1 var(--font-ui)}.start-name:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.start-link{min-height:var(--tap-min);padding:0 var(--space-2);color:var(--action);font:800 15px/1 var(--font-ui);cursor:pointer;background:0 0;border:0;text-decoration:underline}.start-group{gap:6px;display:grid}.start-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.start-choice{min-height:var(--tap-min);padding:0 var(--space-4);border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);font:800 15px/1 var(--font-ui);cursor:pointer}.start-choice.is-on{border-color:var(--ink);background:var(--action);color:var(--on-fill)}.start-choice.is-on:before{content:"✓ "}.start-swatch{width:var(--tap-min);height:var(--tap-min);border:2px solid var(--ink-soft);border-radius:var(--radius-pill);background:var(--swatch);cursor:pointer;position:relative}.start-swatch.is-on{border:3px solid var(--ink);box-shadow:0 0 0 3px var(--paper), 0 0 0 5px var(--ink)}.start-swatch.is-on:after{content:"✓";color:var(--paper);font:800 18px/1 var(--font-ui);text-shadow:0 0 3px var(--ink);place-items:center;display:grid;position:absolute;inset:0}.start-choice:focus-visible,.start-swatch:focus-visible,.start-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.start-nav{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:auto 1fr;display:grid}.start-story{margin:0;font-size:17px;font-weight:600;line-height:25px}.start-summary{color:var(--ink-soft);margin:0;font-weight:800}.start-facts{gap:var(--space-1);color:var(--ink-soft);margin:0;padding-left:1.2em;font-weight:700;display:grid}.map-app{flex-direction:column;flex:1;min-height:0;display:flex}.map-tabs{gap:var(--space-2);padding:var(--space-2) var(--space-3);touch-action:none;grid-template-columns:repeat(3,1fr);display:grid}.map-tab{min-height:var(--tap-min);border:var(--border) solid var(--cream-deep);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);font:800 15px/1 var(--font-ui)}.map-tab.is-on{border-color:var(--ink);background:var(--ink);color:var(--on-fill)}.map-tab.is-on:before{content:"✓ "}.map-body{flex-direction:column;flex:1;min-height:0;display:flex}.map-body>*{flex:none}.map-body>.map-canvas{flex:1}.map-canvas{min-height:240px;margin:0 var(--space-3);border:var(--border) solid var(--ink);border-radius:var(--radius-md);background:var(--cream-deep);flex:1;position:relative;overflow:hidden}.map-svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.map-svg:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.map-block{fill:var(--cream-deep);stroke:var(--track);stroke-width:.8px}.map-building{fill:var(--sun);stroke:var(--sun-lip);stroke-width:1.2px}.map-street,.map-place,.map-stop-letter{font-family:var(--font-ui);text-anchor:middle;pointer-events:none;font-weight:800}.map-street{fill:var(--ink-soft);paint-order:stroke;stroke:var(--paper);stroke-width:.22em;dominant-baseline:middle}.map-place{fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:.28em}.map-place--pin{fill:var(--danger)}.map-stop{stroke:var(--paper);stroke-width:1.2px}.map-stop-letter{fill:var(--on-fill)}.map-pin{fill:var(--danger);stroke:var(--paper);stroke-width:1.5px}.map-you{fill:var(--action);stroke:var(--paper);stroke-width:1.6px;stroke-linejoin:round}.map-you-halo{fill:var(--action);opacity:.22}.map-controls{right:var(--space-2);bottom:var(--space-2);gap:var(--space-2);display:grid;position:absolute}.map-control{font:800 24px/1 var(--font-display)}.map-key,.map-credit{margin:var(--space-2) var(--space-4) 0;color:var(--ink-soft);font-size:13px;font-weight:700}.map-credit{margin-bottom:var(--space-2);font-size:11px}.map-key b,.map-heading b{background:var(--ink);width:20px;height:20px;color:var(--on-fill);border-radius:6px;place-items:center;font-size:12px;display:inline-grid}.map-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;min-height:var(--tap-min)}.map-city{width:calc(100% - var(--space-6));margin:var(--space-2) auto 0;aspect-ratio:16/10;border:var(--border) solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);display:block}.map-station{opacity:.55}.map-station.is-open{opacity:1;stroke:var(--ink);stroke-width:60px}.map-heading{margin:var(--space-4) var(--space-4) 0;font:800 17px/22px var(--font-display)}.map-note{margin-bottom:var(--space-4)}.start-keep{min-height:var(--tap-min);justify-self:center}.hud-emote{right:calc(env(safe-area-inset-right,0px) + var(--space-4) + 68px);bottom:var(--thumb-row-bottom);z-index:3;position:fixed}.hud.is-busy .hud-emote{opacity:0;visibility:hidden}.emote-wheel{padding:0 var(--space-2) calc(env(safe-area-inset-bottom,0px) + var(--space-5));z-index:6;touch-action:none;place-items:end center;display:grid;position:fixed;inset:0}.emote-wheel[hidden]{display:none}.emote-ring{width:min(calc(320px * var(--zoom)), 100%);height:auto;animation:.18s cubic-bezier(.2,1.4,.4,1) both emote-pop;overflow:visible}.emote-lip{fill:var(--ink);opacity:.35}.emote-hub{fill:var(--ink)}.emote-segment,.emote-close{cursor:pointer;outline:none}.emote-segment path{fill:var(--paper);stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.emote-segment text,.emote-close text{font:800 16px/1 var(--font-display);fill:var(--ink);text-anchor:middle;dominant-baseline:central;pointer-events:none}.emote-segment.is-on path,.emote-segment:focus-visible path{fill:var(--sun);stroke-width:5px}@media (hover:hover){.emote-segment:hover path{fill:var(--sun)}}.emote-segment text.emote-key{font:800 11px/1 var(--font-ui);fill:var(--ink-soft);display:none}@media (pointer:fine){.emote-segment text.emote-key{display:inline}}.emote-close circle{fill:var(--go);stroke:var(--ink);stroke-width:3px}.emote-close text{fill:var(--on-fill);font-size:19px}.emote-close:focus-visible circle{stroke:var(--focus);stroke-width:5px}@keyframes emote-pop{0%{opacity:0;transform:scale(.7)}}.emote-ring{transform-origin:50%}.emote-bubble{border:2px solid var(--ink);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);font:800 15px/20px var(--font-ui);white-space:nowrap;pointer-events:none;z-index:2;padding:4px 12px;position:fixed;top:0;left:0}.emote-bubble[hidden]{display:none}.large-text .emote-bubble{padding:5px 14px;font-size:17px;line-height:23px}.reduce-motion .emote-ring{animation:none}.bank-app,.web-app{flex-direction:column;flex:1;min-height:0;display:flex}.bank-card{margin:var(--space-3) var(--space-3) 0;padding:var(--space-4);border:var(--border) solid var(--ink);border-radius:var(--radius-lg);background:var(--action);color:var(--on-fill);box-shadow:var(--lip-action);gap:2px;display:grid}.bank-card p{margin:0}.bank-name{font:800 15px/20px var(--font-ui)}.bank-balance-label{font:800 12px/16px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-top:var(--space-2)!important}.bank-balance{font:800 44px/48px var(--font-display);font-variant-numeric:tabular-nums}.bank-details{gap:var(--space-3);margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:2px solid #ffffff59;grid-template-columns:1fr 1fr;display:grid}.bank-details dt{font:800 11px/14px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;opacity:.9}.bank-details dd{font:800 20px/26px var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:0}.bank-actions{gap:var(--space-3);padding:var(--space-4) var(--space-3) 0;grid-template-columns:1fr 1fr;display:grid}.bank-actions .uk-btn,.bank-pay{width:100%;min-height:var(--tap-hud);padding:0 var(--space-3);font-size:18px}.bank-form{gap:var(--space-3);padding:var(--space-3);display:grid}.bank-error{padding:var(--space-2) var(--space-3);border:2px solid var(--danger);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);margin:0;font-weight:700}.bank-error:before{content:"! ";color:var(--danger);font-weight:800}.bank-error[hidden]{display:none}.phone-row:disabled{opacity:.6;cursor:default}.web-bar{align-items:center;gap:var(--space-2);margin:var(--space-2) var(--space-3);min-height:36px;padding:0 var(--space-3);border:2px solid var(--cream-deep);border-radius:var(--radius-pill);background:var(--paper);touch-action:none;display:flex}.web-address{font:700 14px/1 var(--font-ui);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.web-body{flex-direction:column;flex:1;display:flex}.web-brand{padding:var(--space-3) var(--space-4);background:var(--go);color:var(--on-fill);gap:2px;display:grid}.web-brand-name{font:800 28px/30px var(--font-display);letter-spacing:-.01em}.web-brand-line{font:700 13px/18px var(--font-ui)}.web-search{padding:var(--space-2) var(--space-3) 0}.web-count{margin:0 var(--space-1);font:800 12px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.web-count:empty{display:none}.web-price{justify-items:end;gap:4px;display:grid}.web-listing{padding:var(--space-4) var(--space-4) 0}.web-title{font:800 24px/28px var(--font-display);margin:0}.web-where{color:var(--ink-soft);margin:2px 0 0;font-weight:800}.web-blurb{margin:var(--space-2) 0 0;font-weight:600;line-height:22px}.map-route{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.map-route--walk{stroke:var(--action)}.map-route--ride{stroke:var(--ink)}.map-ways:empty{display:none}.map-ways{margin:var(--space-2) var(--space-3) 0;padding:var(--space-3);border:2px solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper)}.map-ways-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.map-ways-head h3{font:800 18px/22px var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.map-way-options{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.map-way{min-height:var(--tap-hud);padding:var(--space-2) var(--space-3);border:var(--border) solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);text-align:left;font:inherit;cursor:pointer;gap:2px;display:grid}.map-way.is-on{border-color:var(--ink);background:var(--cream)}.map-way.is-on .map-way-title:before{content:"✓ "}.map-way-title{font-weight:800}.map-way-detail{color:var(--ink-soft);font-size:13px;font-weight:700}.map-way-none{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:13px;font-weight:700}.map-steps{margin:var(--space-2) 0 0;gap:2px;padding-left:1.4em;font-size:14px;font-weight:600;line-height:20px;display:grid}.map-steps:empty{display:none}.map-clear{flex:none}.title-screen{z-index:6;padding:calc(env(safe-area-inset-top,0px) + var(--space-5)) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-5));color:var(--cream);text-align:center;background:linear-gradient(#0f16269e 0%,#0f162600 44% 52%,#0f1626c7 100%);flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.title-screen[hidden]{display:none}.title-top,.title-bottom{justify-items:center;width:100%;max-width:480px;display:grid}.title-top{gap:var(--space-2)}.title-bottom{gap:var(--space-3)}.title-logo{width:min(100%,60dvh,460px);margin:0;animation:.7s cubic-bezier(.2,1.4,.4,1) both title-pop}.logo{width:100%;height:auto;display:block;overflow:visible}.logo-word{font:800 196px/1 var(--font-display);letter-spacing:-2px}.logo-drop{fill:var(--ink);stroke:var(--ink);stroke-width:34px;stroke-linejoin:round;opacity:.55}.logo-rim{fill:var(--cream);stroke:var(--cream);stroke-width:34px;stroke-linejoin:round}.logo-edge{fill:var(--ink);stroke:var(--ink);stroke-width:16px;stroke-linejoin:round}.logo-l1{fill:var(--sun)}.logo-l2{fill:var(--warm)}.logo-l3{fill:var(--mood)}.logo-l4{fill:var(--action)}.logo-shine{fill:none;stroke:var(--paper);stroke-width:9px;stroke-linecap:round;opacity:.85}.logo-tag-drop{fill:var(--ink);opacity:.55}.logo-tag{fill:var(--danger);stroke:var(--cream);stroke-width:8px}.logo-tag-text{font:800 56px/1 var(--font-display);fill:var(--cream);letter-spacing:1px}.logo-spark{fill:var(--sun);stroke:var(--ink);stroke-width:5px;stroke-linejoin:round;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite title-twinkle}.title-city{padding:4px var(--space-5) 2px;border:var(--border) solid var(--ink);border-radius:var(--radius-pill);background:var(--cream);color:var(--ink);font:800 24px/30px var(--font-display);box-shadow:var(--lip-paper);margin:-6px 0 0;transform:rotate(-2deg)}.title-line{margin:var(--space-2) 0 0;font:800 18px/24px var(--font-ui);text-shadow:0 2px 6px #0f1626cc;text-wrap:balance}.title-start{justify-content:center;width:100%;min-height:64px;font-size:24px;line-height:28px}.title-note{font:700 14px/20px var(--font-ui);text-shadow:0 1px 4px #0f1626cc;margin:0}.title-note[hidden]{display:none}.title-links{justify-content:center;gap:0 var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.title-link{min-height:var(--tap-min);padding:0 var(--space-3);color:var(--cream);font:800 15px/1 var(--font-ui);text-underline-offset:3px;text-shadow:0 1px 4px #0f1626cc;cursor:pointer;background:0 0;border:0;text-decoration:underline}.title-link:focus-visible{outline:3px solid var(--cream);outline-offset:2px;border-radius:var(--radius-sm)}.title-start:focus-visible{outline-color:var(--cream)}@keyframes title-pop{0%{opacity:0;transform:scale(.7)rotate(-6deg)}to{opacity:1;transform:none}}@keyframes title-twinkle{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(.72)rotate(20deg)}}.reduce-motion .title-logo,.reduce-motion .logo-spark{animation:none}@media (max-height:520px) and (orientation:landscape){.title-screen{align-items:center;gap:var(--space-5);background:linear-gradient(90deg,#0f16269e,#0f16264d 50%,#0f1626b3);flex-direction:row}.title-logo{width:min(100%,70dvh)}}body:has(.title-screen:not([hidden])) .joystick-zone{display:none}.gate,.feedback{z-index:8;max-height:calc(86dvh / var(--zoom))}.gate-body,.feedback-body{gap:var(--space-3)}.gate-text{font:600 17px/24px var(--font-ui);margin:0}.gate-small{font:700 13px/18px var(--font-ui);color:var(--ink-soft);text-align:center;margin:0}.gate-or{text-align:center;font:800 13px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0}.gate-main{text-align:center;justify-content:center;min-height:56px}.gate-status{min-height:20px;font:800 15px/20px var(--font-ui);color:var(--danger-lip);text-align:center;margin:0}.gate-status:empty{display:none}.gate-link{color:var(--action);font-weight:800}.gate-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.gate .start-link,.feedback .start-link{justify-self:center}.feedback-count{font:700 12px/16px var(--font-ui);color:var(--ink-soft);justify-self:end}.feedback-heading{margin:var(--space-2) 0 0;font:800 20px/24px var(--font-display)}.feedback-list{margin:var(--space-2) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.feedback-idea{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:1fr auto;align-items:center;display:grid}.feedback-idea-text{font:600 15px/20px var(--font-ui);gap:2px;display:grid}.feedback-idea-text strong{font:800 17px/22px var(--font-ui)}.feedback-idea-status{font:800 12px/16px var(--font-ui);letter-spacing:.04em;color:var(--ink-soft)}.large-text :is(.gate,.feedback){zoom:var(--zoom)}.jobs-app{min-height:0;padding-bottom:var(--space-4);flex-direction:column;flex:1;display:flex}.jobs-shift,.jobs-job{gap:var(--space-2);margin:0 var(--space-3) var(--space-2);padding:var(--space-3);border:2px solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);display:grid}.jobs-shift{border-color:var(--action)}.jobs-shift.is-due{border-color:var(--go);border-width:var(--border)}.jobs-shift p,.jobs-job p{margin:0}.jobs-shift-when{font:800 20px/24px var(--font-display);font-variant-numeric:tabular-nums}.jobs-shift-what{font:800 15px/20px var(--font-ui)}.jobs-shift-note{font:600 13px/18px var(--font-ui);color:var(--ink-soft)}.jobs-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.jobs-btn,.jobs-pick{width:100%;min-height:var(--tap-min);padding:0 var(--space-3);font-size:16px}.jobs-job-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.jobs-slots{gap:var(--space-2);padding:0 var(--space-3);grid-template-columns:1fr 1fr;display:grid}.jobs-slot{min-height:60px;padding:var(--space-2) var(--space-3);border:var(--border) solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;gap:2px;display:grid}.jobs-slot-time{font:800 17px/22px var(--font-ui);font-variant-numeric:tabular-nums}.jobs-slot-state{font:800 12px/16px var(--font-ui);letter-spacing:.04em;color:var(--go-lip)}.jobs-slot.is-on{border-color:var(--ink);background:var(--action);color:var(--on-fill)}.jobs-slot.is-on .jobs-slot-state{color:var(--on-fill)}.jobs-slot.is-on .jobs-slot-state:before{content:"✓ "}.jobs-slot:disabled{opacity:.6;cursor:default}.jobs-slot:disabled .jobs-slot-state{color:var(--ink-soft)}.jobs-slot:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.shift{max-height:calc(88dvh / var(--zoom))}.shift-standing{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.shift-level{padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--ink);color:var(--cream);font:800 14px/22px var(--font-ui)}.shift-stars{font:800 28px/32px var(--font-ui);letter-spacing:4px;color:var(--sun-lip);margin:0}.shift-standing .shift-stars{letter-spacing:2px;font-size:20px;line-height:24px}.shift-served,.shift-progress{font:800 15px/20px var(--font-ui);color:var(--ink-soft);margin:0}.shift-fill{background:var(--fill,var(--sun))}.service-ticket{gap:var(--space-2);padding:var(--space-3);border:var(--border) solid var(--ink);border-radius:var(--radius-md);background:var(--paper);display:grid}.service-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.service-who{font:800 20px/24px var(--font-display)}.service-count{font:800 12px/16px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.service-wants{font:800 18px/24px var(--font-ui);margin:0}.service-remind{min-height:var(--tap-min);justify-self:start;padding:0}.service-remind[hidden]{display:none}.service-patience{border-radius:var(--radius-pill);background:var(--track);height:12px;overflow:hidden}.service-patience[hidden]{display:none}.service-patience span{background:var(--go);width:100%;height:100%;display:block}.service-patience.is-low span{background:var(--danger)}.service-status{justify-content:space-between;gap:var(--space-3);min-height:18px;font:800 13px/18px var(--font-ui);display:flex}.service-marks{color:var(--danger-lip)}.service-roll{color:var(--go-lip)}.service-recipe{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--cream-deep);font:700 14px/20px var(--font-ui);margin:0}.service-recipe[hidden]{display:none}.service-stage{gap:var(--space-3);align-content:start;min-height:250px;display:grid}.service-items{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.service-item{min-height:92px;padding:var(--space-2) var(--space-1);border:var(--border) solid var(--cream-deep);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font:800 14px/18px var(--font-ui);text-align:center;cursor:pointer;justify-items:center;gap:2px;display:grid}.service-item:active{border-color:var(--ink)}.service-item:disabled{opacity:.45;cursor:default}.service-item:focus-visible,.service-coin:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.item-art{fill:none;width:48px;height:48px;stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.item-art .item-fill{fill:var(--item)}.service-vessel.is-cup,.service-vessel.is-mug,.service-vessel.is-tumbler,.service-vessel.is-half_glass,.service-vessel.is-teapot{width:150px;height:130px}.service-vessel.is-pint_glass{border-radius:0 0 26px 26px;width:124px;height:190px}.service-bill{text-align:center;font:700 16px/22px var(--font-ui);margin:0}.service-tally{text-align:center;font:800 36px/40px var(--font-display);font-variant-numeric:tabular-nums;margin:0}.service-coins{gap:var(--space-2);grid-template-columns:repeat(4,1fr);justify-items:center;display:grid}.service-coin{border:var(--border) solid var(--ink);background:var(--sun);width:64px;height:64px;color:var(--ink);font:800 17px/1 var(--font-ui);cursor:pointer;border-radius:50%}.service-coin.is-note{border-radius:var(--radius-sm);background:var(--mood);grid-column:span 2;width:100%}.service-change-actions{gap:var(--space-2);grid-template-columns:1fr 1.4fr;display:grid}.service-clear,.service-give{min-height:56px;padding:0 var(--space-3);justify-content:center;font-size:18px}.jobs-level{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.jobs-level-title{font:800 14px/20px var(--font-ui)}.jobs-level-stars{font:800 13px/18px var(--font-ui);color:var(--ink-soft)}.jobs-level-bar{border-radius:var(--radius-pill);background:var(--track);height:10px;display:block;overflow:hidden}.jobs-level-bar span{background:var(--go);height:100%;display:block}.shift-today{gap:var(--space-1);font:700 15px/20px var(--font-ui);color:var(--ink-soft);margin:0;padding-left:1.2em;display:grid}.service-special{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--sun);color:var(--ink);font:800 12px/16px var(--font-ui);letter-spacing:.04em;justify-self:start}.service-special[hidden]{display:none}
