:root{--paper:#fbfcf6;--paper-glass:#fbfcf6f0;--paper-2:#f2f5ec;--paper-3:#e6ecdd;--paper-4:#d6dfcb;--line:#1c32261a;--line-strong:#1c32262e;--inverse:#1c2b22;--inverse-ink:#f3f8ec;--bezel:#16211b;--scrim:#101c1673;--sky:#bfe3f2;--ink:#1c3226;--ink-2:#4b6454;--ink-3:#6c8072;--ink-on-accent:#fff;--accent:#3b8530;--accent-hover:#327328;--accent-bright:#7cc25a;--accent-soft:#e3f1d7;--accent-ink:#2f6b1f;--gold:#e8b019;--gold-soft:#fff3c9;--gold-ink:#7a5300;--warn:#d68910;--warn-soft:#fdf0d8;--warn-ink:#7a4a00;--danger:#c2412b;--danger-hover:#a8361f;--danger-soft:#fbe8e3;--danger-ink:#9a2f1c;--info:#3a78c2;--info-soft:#e4eefa;--night:#5d74b0;--focus:#f0a030;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--gutter:16px;--gutter-top:max(12px, env(safe-area-inset-top));--gutter-bottom:max(16px, env(safe-area-inset-bottom));--gutter-left:max(var(--gutter), env(safe-area-inset-left));--gutter-right:max(var(--gutter), env(safe-area-inset-right));--shadow-1:0 1px 2px #10201824, 0 4px 12px #1020181f;--shadow-2:0 2px 6px #1020181f, 0 18px 44px #1020183d;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--fs-xs:11px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:26px;--fw-regular:450;--fw-medium:600;--fw-bold:700;--fw-heavy:800;--lh-tight:1.2;--lh-body:1.45;--tracking-caps:.07em;--control-sm:32px;--control-md:40px;--control-lg:48px;--hud-chip:40px;--z-world:1;--z-hud:2;--z-hud-float:3;--z-panel:4;--z-popover:6;--z-toast:8;--z-banner:9;--z-modal:10;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--ease-out:cubic-bezier(.2, .9, .3, 1);--ease-spring:cubic-bezier(.3, 1.35, .5, 1)}*{box-sizing:border-box}html,body,#root{background:var(--sky);width:100%;height:100%;font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;overflow:hidden}#app{width:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative}.game-canvas-container{position:absolute;inset:0;overflow:hidden}.game-canvas-container canvas{width:100%;height:100%;display:block}button{-webkit-tap-highlight-color:transparent}svg.lucide{width:var(--icon-size,1.25em);height:var(--icon-size,1.25em);stroke-width:var(--icon-stroke,2);flex:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel{z-index:var(--z-panel);top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-3));right:var(--gutter-right);width:min(340px, calc(100% - 2 * var(--gutter)));max-height:calc(100% - var(--gutter-top) - var(--hud-chip) - var(--s-3) - 96px);overscroll-behavior:contain;padding:0 var(--s-4) var(--s-4);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-size:var(--fs-md);line-height:var(--lh-body);box-shadow:var(--shadow-2);pointer-events:auto;animation:panel-in var(--dur-2) var(--ease-out);position:absolute;overflow-y:auto}@keyframes panel-in{0%{opacity:0;translate:0 6px;scale:.985}}.panel-header{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.panel>.panel-header{z-index:3;min-height:56px;margin:0 calc(-1 * var(--s-4)) var(--s-1);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-4);background:var(--paper);position:sticky;top:0}.modal>.panel-header{top:calc(-1 * var(--s-5));z-index:3;margin:calc(-1 * var(--s-5)) calc(-1 * var(--s-5)) 0;padding:var(--s-4) var(--s-3) var(--s-2) var(--s-5);background:var(--paper);position:sticky}.panel-title{align-items:center;gap:var(--s-2);min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-heavy);line-height:var(--lh-tight);letter-spacing:-.005em;margin:0;display:flex}.panel-title>svg.lucide{--icon-size:20px;color:var(--ink-2)}.panel-subtitle{margin:var(--s-5) 0 var(--s-2);color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-heavy)}.panel-empty,.panel-tools,.panel-note{margin:var(--s-2) 0 0;color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-body)}.panel-footer{bottom:calc(-1 * var(--s-4));gap:var(--s-2);margin:var(--s-4) calc(-1 * var(--s-4)) calc(-1 * var(--s-4));padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--line);background:var(--paper);justify-content:flex-end;display:flex;position:sticky}.panel-close,.icon-button{width:var(--control-md);height:var(--control-md);border-radius:var(--r-sm);color:var(--ink-2);font:inherit;cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}.panel-close{font-size:0}.panel-close:before{content:"";background:currentColor;width:20px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") 50%/contain no-repeat}.panel-close:hover,.icon-button:hover{background:var(--paper-3);color:var(--ink)}.icon-button>svg.lucide{--icon-size:20px}.btn,.primary-small,.primary-button,.secondary-button,.ghost-button,.danger-button,.item-discard{justify-content:center;align-items:center;gap:var(--s-2);min-height:36px;padding:0 var(--s-3);border-radius:var(--r-sm);font:inherit;font-size:13.5px;font-weight:var(--fw-bold);text-align:center;cursor:pointer;transition:background var(--dur-1), color var(--dur-1), translate var(--dur-1);border:0;line-height:1.15;display:inline-flex}.btn>svg.lucide,.primary-small>svg.lucide,.primary-button>svg.lucide,.secondary-button>svg.lucide,.ghost-button>svg.lucide,.danger-button>svg.lucide{--icon-size:18px;margin-left:-2px}.btn:active:not(:disabled),.primary-small:active:not(:disabled),.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ghost-button:active:not(:disabled),.danger-button:active:not(:disabled),.item-discard:active:not(:disabled){translate:0 1px}.btn-primary,.primary-small,.primary-button{background:var(--accent);color:var(--ink-on-accent)}.btn-primary:hover:not(:disabled),.primary-small:hover:not(:disabled),.primary-button:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary,.secondary-button{background:var(--paper-3);color:var(--ink)}.btn-secondary:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:var(--paper-4)}.btn-ghost,.ghost-button,.item-discard{color:var(--ink-2);background:0 0}.btn-ghost:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.item-discard:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-ink)}.btn-danger,.danger-button{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled),.danger-button:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{min-height:var(--control-sm);font-size:var(--fs-sm);padding:0 10px}.btn-lg,.primary-button{min-height:var(--control-lg);padding:0 var(--s-5);border-radius:var(--r-md);font-size:var(--fs-lg)}.primary-button{width:100%;margin-top:var(--s-5)}.btn-block{width:100%}.btn:disabled,.primary-small:disabled,.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.item-discard:disabled{opacity:.45;cursor:not-allowed}.primary-button:disabled{cursor:progress}.btn:focus-visible,.primary-small:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.danger-button:focus-visible,.item-discard:focus-visible,.panel-close:focus-visible,.icon-button:focus-visible,.choice-chip:focus-visible,.swatch:focus-visible,.tab:focus-visible,.phone-tab:focus-visible,.info-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.item-list{margin:0;padding:0;list-style:none}.item-row,.list-row{gap:var(--s-2);min-height:52px;padding:var(--s-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-md);grid-template-columns:1fr auto auto auto;align-items:center;display:grid}.item-row:last-child,.list-row:last-child{border-bottom:0}.item-name{min-width:0;font-weight:var(--fw-medium)}.item-qty{color:var(--ink-2);font-variant-numeric:tabular-nums}.item-weight{color:var(--ink-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.item-actions{gap:var(--s-1);justify-content:flex-end;align-items:center;display:flex}.summary-list{gap:var(--s-2);margin:0 0 var(--s-4);flex-direction:column;padding:0;list-style:none;display:flex}.summary-row,.kv{gap:var(--s-3);color:var(--ink-2);font-size:var(--fs-md);justify-content:space-between;align-items:baseline;display:flex}.summary-row>strong,.kv>strong{color:var(--ink);font-weight:var(--fw-bold);text-align:right;font-variant-numeric:tabular-nums}.summary-kind{color:var(--ink);font-weight:var(--fw-bold)}.summary-value{color:var(--ink-2);text-align:right}.progress{border-radius:var(--r-pill);background:var(--paper-3);height:6px;display:block;position:relative;overflow:hidden}.progress>span,.progress-fill{border-radius:inherit;background:var(--accent-bright);height:100%;transition:width var(--dur-3) var(--ease-out);display:block}.progress[data-tone=gold]>span{background:var(--gold)}.progress[data-tone=danger]>span{background:var(--danger)}.weight-bar{height:22px;margin:var(--s-1) 0 var(--s-3);border-radius:var(--r-pill);background:var(--paper-3);position:relative;overflow:hidden}.weight-bar-fill{border-radius:inherit;background:var(--accent-bright);height:100%;transition:width var(--dur-3) var(--ease-out)}.weight-bar-text{color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.tabs,.phone-tabs{margin:var(--s-2) 0 var(--s-3);border-radius:var(--r-md);background:var(--paper-3);gap:2px;padding:3px;display:flex}.tab,.phone-tab{min-height:34px;padding:0 var(--s-2);color:var(--ink-2);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;transition:background var(--dur-1), color var(--dur-1);background:0 0;border:0;border-radius:11px;flex:1}.tab:hover,.phone-tab:hover{color:var(--ink)}.tab[aria-selected=true],.phone-tab[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1020181f}.badge{border-radius:var(--r-pill);background:var(--paper-3);min-height:20px;color:var(--ink-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:0 7px;line-height:1;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.badge-gold{background:var(--gold-soft);color:var(--gold-ink)}.badge-danger{background:var(--danger-soft);color:var(--danger-ink)}.count-dot{border:2px solid var(--paper);border-radius:var(--r-pill);background:var(--danger);color:#fff;min-width:18px;height:18px;font-size:10.5px;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;place-items:center;padding:0 5px;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.count-dot[data-tone=gold]{background:var(--gold);color:var(--gold-ink)}.field-group{margin:var(--s-4) 0 0;border:0;padding:0}.field-label{margin-bottom:var(--s-2);color:var(--ink);font-size:13px;font-weight:var(--fw-bold);padding:0;display:block}.field-input{width:100%;min-height:44px;padding:10px var(--s-3);border:1.5px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);font:inherit;transition:border-color var(--dur-1), box-shadow var(--dur-1);background:#fff;font-size:16px}.field-input::placeholder{color:var(--ink-3)}.field-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-input[aria-invalid=true]{border-color:var(--danger)}.field-hint{margin:var(--s-1) 0 0;color:var(--ink-3);font-size:var(--fs-sm)}.field-error{margin:var(--s-3) 0 0;color:var(--danger-ink);font-size:13px;font-weight:var(--fw-medium)}.field-row{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.field-row .field-input{flex:1;min-width:0}.field-row .primary-small{white-space:nowrap}.choice-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.choice-chip{min-height:var(--control-md);border-radius:var(--r-pill);background:var(--paper-3);color:var(--ink);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-1), border-color var(--dur-1);border:1.5px solid #0000;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.choice-chip:hover{background:var(--paper-4)}.choice-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-bold)}.swatch{border:3px solid var(--paper);width:36px;height:36px;box-shadow:0 0 0 1.5px var(--line-strong);cursor:pointer;border-radius:50%}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.confirm{margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-md);animation:panel-in var(--dur-2) var(--ease-out)}.confirm p{margin:0 0 var(--s-3)}.confirm-actions{gap:var(--s-2);justify-content:flex-end;display:flex}.modal-backdrop{z-index:var(--z-modal);pointer-events:auto;padding:max(var(--s-4), env(safe-area-inset-top)) var(--s-4) max(var(--s-4), env(safe-area-inset-bottom));background:var(--scrim);animation:fade-in var(--dur-2) ease-out;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal{overscroll-behavior:contain;width:min(400px,100%);max-height:calc(100dvh - 32px);padding:var(--s-5);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font-size:var(--fs-md);line-height:var(--lh-body);box-shadow:var(--shadow-2);animation:panel-in var(--dur-3) var(--ease-out);overflow-y:auto}.modal-title{margin:0 0 var(--s-2);font-size:var(--fs-xl);font-weight:var(--fw-heavy);line-height:var(--lh-tight);letter-spacing:-.01em}.modal-text{margin:0 0 var(--s-4);color:var(--ink-2);font-size:var(--fs-md);line-height:var(--lh-body)}.info-toggle{width:20px;height:20px;margin-left:var(--s-1);background:var(--paper-3);color:var(--ink-2);font-size:12px;font-weight:var(--fw-heavy);vertical-align:middle;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:inline-grid}.info-toggle:hover{background:var(--paper-4);color:var(--ink)}.info-toggle[aria-expanded=true]{background:var(--ink);color:var(--paper)}.info-box{margin:var(--s-2) 0;padding:10px var(--s-3);border-radius:var(--r-sm);background:var(--paper-2);color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-body)}.info-box p{margin:0 0 6px}.info-box p:last-child{margin-bottom:0}.empty-state{gap:var(--s-2);padding:var(--s-6) var(--s-4);color:var(--ink-2);font-size:var(--fs-md);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state>p{margin:0}.empty-state>svg.lucide{--icon-size:28px;--icon-stroke:1.75;color:var(--ink-3)}.toast{max-width:min(440px, calc(100vw - 2 * var(--gutter)));padding:10px var(--s-4) 10px var(--s-3);border-radius:var(--r-md);background:var(--inverse);color:var(--inverse-ink);font-size:var(--fs-md);font-weight:var(--fw-medium);box-shadow:var(--shadow-2);pointer-events:none;animation:toast-in var(--dur-3) var(--ease-spring);align-items:center;gap:10px;line-height:1.35;display:inline-flex}.toast>svg.lucide{--icon-size:18px;color:var(--accent-bright)}.toast[data-kind=error]>svg.lucide{color:#ff9a85}@keyframes toast-in{0%{opacity:0;translate:0 -6px;scale:.97}}@media (hover:hover){[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);z-index:var(--z-popover);padding:5px var(--s-2);border-radius:var(--r-xs);background:var(--inverse);color:var(--inverse-ink);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;pointer-events:none;animation:fade-in var(--dur-1) ease-out;line-height:1.2;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip][data-tip-side=top]:hover:after,[data-tip][data-tip-side=top]:focus-visible:after{top:auto;bottom:calc(100% + 6px)}[data-tip][data-tip-side=right]:hover:after,[data-tip][data-tip-side=right]:focus-visible:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}}@media (width<=700px){.panel{top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-2));right:var(--gutter-right);width:calc(100% - var(--gutter-left) - var(--gutter-right));max-height:calc(100% - var(--gutter-top) - var(--hud-chip) - var(--s-2) - 84px)}.item-row{row-gap:var(--s-1);grid-template-columns:1fr auto auto}.item-actions{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.panel,.modal,.modal-backdrop,.confirm,.toast{animation:none}}.item-icon{border-radius:var(--r-sm);background:var(--paper-3);flex:none;place-items:center;line-height:1;display:inline-grid}.item-icon--md{width:34px;height:34px;font-size:19px}.item-icon--sm{border-radius:7px;width:24px;height:24px;font-size:14px}.item-name--with-icon{gap:var(--s-3);align-items:center;display:flex}.item-row--icon{grid-template-columns:1fr auto}.item-name-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.item-sub{gap:var(--s-2);font-size:var(--fs-sm);font-weight:var(--fw-regular,400);display:flex}@media (width<=700px){.item-row--icon{grid-template-columns:1fr auto}.item-row--icon .item-actions{grid-column:auto}}.house-interior{z-index:0;background:#2b2433;position:absolute;inset:0}.house-canvas{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}.house-bar{bottom:max(100px, calc(env(safe-area-inset-bottom) + 88px));color:#1c3226;z-index:3;background:#fbfff5f2;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;width:max-content;max-width:calc(100% - 24px);padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.house-bar-title{flex-direction:column;gap:2px;min-width:0;display:flex}.house-bar-title strong{font-size:15px}.house-likes{font-size:13px;font-weight:700}.house-likes small{color:#4a6152;margin-left:6px;font-weight:400}.house-bar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.house-like:not(:disabled){background:#d84a6b}.house-toggle{align-items:center;gap:6px;min-height:36px;font-size:13px;font-weight:600;display:inline-flex}.house-toggle input{width:18px;height:18px}.house-hint{left:50%;bottom:max(176px, calc(env(safe-area-inset-bottom) + 164px));color:#f4ffe9;text-align:center;background:#182620c7;border-radius:12px;max-width:min(420px,100% - 32px);margin:0;padding:8px 14px;font-size:13px;position:absolute;transform:translate(-50%)}.house-sheet{left:50%;bottom:max(172px, calc(env(safe-area-inset-bottom) + 160px));color:#1c3226;z-index:3;background:#fbfff5;border-radius:16px;width:min(560px,100% - 24px);max-height:38%;padding:10px 12px;position:absolute;overflow-y:auto;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.house-sheet-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.house-picker{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.house-pick{color:#1c3226;width:100%;min-height:76px;font:inherit;cursor:pointer;background:#fff;border:2px solid #e3ecd9;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:12px;display:flex}.house-pick:hover,.house-pick:focus-visible{border-color:#4f9a3a}.house-pick-icon{font-size:24px}.house-styles{flex-direction:column;gap:8px;margin-top:8px;display:flex}.house-style-row{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;display:flex}.house-tip{color:#4a6152;margin:8px 0 0;font-size:12px}.house-door{background:#f3eadb;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;font-size:13px;display:flex}.houses-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.houses-row{background:#ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.houses-row small{opacity:.8;display:block}.houses-champion{margin:6px 0;font-size:13px}.carpentry-list .item-row{align-items:flex-start}@media (width<=520px){.house-bar{justify-content:space-between;width:calc(100% - 16px)}.house-sheet,.house-hint{bottom:max(200px, calc(env(safe-area-inset-bottom) + 188px))}.house-sheet{width:calc(100% - 16px);max-height:40%}}.price-advice{color:#3f5a46;flex-direction:column;gap:4px;margin:4px 0 8px;font-size:13px;display:flex}.price-advice-line{margin:0}.price-advice-warn{color:#b23c17;margin:0;font-weight:700}.price-suggest{align-self:flex-start}.price-chip{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.price-chip-cheap{color:#1f5a93;background:#dcebfa}.price-chip-fair{color:#2f6b22;background:#e3f4d7}.price-chip-pricey{color:#8a4d0f;background:#fcebd2}.price-chip-none{color:#9e2f10;background:#fadcd3}.price-chip-noNpc{color:#555;background:#ececec}.city-prices{border-collapse:collapse;width:100%;margin:0 0 8px;font-size:13px}.city-prices th,.city-prices td{text-align:right;border-bottom:1px solid #e3eadd;padding:4px 6px}.city-prices th:first-child,.city-prices td:first-child{text-align:left}.city-prices-trend-up{color:#2f6b22;font-weight:700}.city-prices-trend-down{color:#b23c17;font-weight:700}.campfire-fire{margin-top:var(--s-1);padding:var(--s-3);border-radius:var(--r-md);background:var(--paper-2)}.campfire-fire.is-lit{background:var(--warn-soft)}.campfire-fire-row{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.campfire-fire-row>strong{flex:1}.campfire-flame{background:var(--paper-3);width:32px;height:32px;color:var(--ink-3);border-radius:50%;place-items:center;display:grid}.campfire-fire.is-lit .campfire-flame{color:#e0562b;background:#ffe2b8;animation:.9s ease-in-out infinite alternate campfire-flicker}@keyframes campfire-flicker{0%{transform:scale(1)rotate(-3deg)}to{transform:scale(1.12)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.campfire-fire.is-lit .campfire-flame{animation:none}}.campfire-meter{background:var(--paper-3);border-radius:999px;height:8px;margin:8px 0;overflow:hidden}.campfire-meter-fill{background:linear-gradient(90deg,#f2a33a,#e0562b);height:100%;transition:width .25s linear}.campfire-meter.is-roast .campfire-meter-fill{background:#7cc25a}.campfire-fuel{flex-wrap:wrap;gap:6px;display:flex}.campfire-fuel button{flex:130px}.campfire-have{opacity:.75;margin-left:4px;font-size:12px}.campfire-queue{margin-top:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--accent-soft)}.campfire-subtitle{margin:14px 0 4px;font-size:14px}.campfire-row{padding:var(--s-2) 0;border-bottom:1px solid var(--line)}.campfire-recipe{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.campfire-arrow{color:#b86a1c;font-weight:700}.campfire-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.campfire-each{font-size:var(--fs-xs);color:var(--ink-3);flex:100%}.talents-panel,.class-picker{--talent-root:#d9483b;--talent-brown:#9a6a3a;--talent-green:#4f9a3a;--talent-blue:#3a78c2}.talent-root{--branch:var(--talent-root)}.talent-brown{--branch:var(--talent-brown)}.talent-green{--branch:var(--talent-green)}.talent-blue{--branch:var(--talent-blue)}.panel.talents-panel{right:auto;left:max(12px, env(safe-area-inset-left));width:min(400px,100% - 24px);max-height:calc(100% - 120px)}.talent-tabs-wrap{margin:8px -14px 0;position:relative}.talent-tabs-wrap:before,.talent-tabs-wrap:after{content:"";z-index:1;pointer-events:none;opacity:0;width:36px;transition:opacity .15s;position:absolute;top:0;bottom:6px}.talent-tabs-wrap:before{background:linear-gradient(90deg,#fbfff5 20%,#fbfff500);left:0}.talent-tabs-wrap:after{background:linear-gradient(270deg,#fbfff5 20%,#fbfff500);right:0}.talent-tabs-wrap[data-start=true]:before,.talent-tabs-wrap[data-end=true]:after{opacity:1}.talent-tabs{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:9px 14px 10px;scroll-padding-inline:14px;display:flex;position:relative;overflow-x:auto}.talent-tabs::-webkit-scrollbar{display:none}.talent-tabs-arrow{z-index:2;color:#fbfff5;width:30px;height:30px;font:inherit;cursor:pointer;background:#1c3226;border:0;border-radius:50%;place-items:center;margin-top:-18px;padding:0;font-size:20px;line-height:1;display:none;position:absolute;top:50%;box-shadow:0 2px 6px #1c32264d}.talent-tabs-arrow[data-dir=start]{left:6px}.talent-tabs-arrow[data-dir=end]{right:6px}@media (hover:hover) and (pointer:fine){.talent-tabs-arrow:not([hidden]){display:grid}}.talent-tab{min-height:44px;color:inherit;font:inherit;text-align:left;white-space:nowrap;scroll-snap-align:start;cursor:pointer;background:#fff;border:2px solid #c9dcbc;border-radius:14px;flex:none;align-items:center;gap:7px;padding:5px 12px 5px 8px;display:flex;position:relative}.talent-tab:hover{border-color:#9fc28a}.talent-tab:focus-visible{outline-offset:1px;outline:3px solid #f2a33a}.talent-tab[aria-selected=true]{color:#fbfff5;background:#1c3226;border-color:#1c3226}.talent-tab-icon{font-size:18px;line-height:1}.talent-tab-text{line-height:1.15;display:grid}.talent-tab-name{font-size:13px;font-weight:700}.talent-tab-level{color:#5d7563;font-size:11px}.talent-tab[aria-selected=true] .talent-tab-level{color:#c9e6b3}.talent-tab-dot{color:#1c3226;background:#f2a33a;border:2px solid #fbfff5;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-6px;right:-5px}.talent-summary{background:#eef4e7;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;margin:0 0 8px;padding:8px 12px;font-size:12px;display:flex}.talent-summary[data-free=true]{background:#fff1d6}.talent-summary-free{align-items:baseline;gap:6px;font-size:13px;font-weight:700;display:flex}.talent-summary-free strong{font-size:22px;line-height:1}.talent-summary[data-free=true] .talent-summary-free strong{color:#b86a00}.talent-summary-src{color:#5d7563}.talent-tree{aspect-ratio:300/420;background:radial-gradient(circle at 50% 100%,#d9483b1a,#0000 45%),linear-gradient(#f3f8ec,#fbfff5);border-radius:14px;width:100%;max-width:340px;margin:0 auto;position:relative}.talent-lines{width:100%;height:100%;position:absolute;inset:0}.talent-line{stroke:#cdd7c5;stroke-width:3px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.talent-line[data-on=true]{stroke-dasharray:none;stroke-width:4px}.talent-line-brown[data-on=true]{stroke:var(--talent-brown)}.talent-line-green[data-on=true]{stroke:var(--talent-green)}.talent-line-blue[data-on=true]{stroke:var(--talent-blue)}.talent-node{width:92px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;transform:translate(-50%,-22px)}.talent-dot{border:3px solid var(--branch);width:44px;height:44px;color:var(--branch);background:#fff;border-radius:50%;place-items:center;font-size:16px;font-weight:800;transition:transform .12s,box-shadow .12s;display:grid;position:relative;box-shadow:0 2px 6px #1c32262e}.talent-root .talent-dot{width:50px;height:50px;font-size:20px}.talent-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;color:#2c4535;max-width:92px;font-size:10.5px;font-weight:600;line-height:1.15;overflow:hidden}.talent-node[data-state=owned] .talent-dot{background:var(--branch);color:#fff}.talent-node[data-state=available] .talent-dot{animation:1.6s ease-in-out infinite talent-pulse}.talent-node[data-state=reachable] .talent-dot{opacity:.75}.talent-node[data-state=locked] .talent-dot{color:#9aa894;box-shadow:none;background:#eef2e9;border-color:#c9d3c0}.talent-node[data-state=locked] .talent-label{color:#8c9a86}.talent-node[data-soon=true] .talent-dot{border-style:dashed}.talent-node[data-soon=true] .talent-dot:after{content:"";background:#b9a6d8;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:-3px;right:-3px}.talent-node[aria-pressed=true] .talent-dot{transform:scale(1.12);box-shadow:0 0 0 3px #fbfff5,0 0 0 6px #f2a33a}.talent-node:focus-visible{outline:none}.talent-node:focus-visible .talent-dot{box-shadow:0 0 0 3px #fbfff5,0 0 0 6px #f2a33a}@keyframes talent-pulse{0%,to{box-shadow:0 0 #f2a33a8c}50%{box-shadow:0 0 0 8px #f2a33a00}}@media (prefers-reduced-motion:reduce){.talent-node[data-state=available] .talent-dot{animation:none;box-shadow:0 0 0 3px #f2a33a99}}.talent-legend{color:#5d7563;justify-content:center;gap:14px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.talent-legend li:before{content:"";background:var(--branch);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.talent-detail{border-left:5px solid var(--branch);background:#fff;border-radius:12px;margin-top:10px;padding:10px 12px;box-shadow:0 1px 4px #1c32261f}.talent-detail-head{align-items:center;gap:8px;display:flex}.talent-detail-branch{color:var(--branch);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.talent-soon-chip{color:#5b4787;background:#ece4f7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.talent-detail-name{margin:4px 0 2px;font-size:16px}.talent-detail-desc{margin:0 0 8px;font-size:14px}.talent-detail-note{color:#5d7563;margin:0 0 6px;font-size:12px}.talent-detail-owned{color:var(--branch);margin:0;font-size:13px;font-weight:700}.talents-panel .talent-detail[data-pinned=true]{z-index:2;position:sticky;bottom:-8px;box-shadow:0 -6px 14px #fbfff5e6,0 2px 10px #1c322633}.talent-detail-tip{color:#5d7563;margin-left:auto;font-size:11px}.talent-learn{width:100%;min-height:40px}.talent-footer{border-top:1px solid #e3ecd9;flex-direction:column;align-items:flex-end;gap:6px;margin-top:12px;padding-top:10px;display:flex}.talent-reset-rule{color:#5d7563;align-self:stretch;margin:0;font-size:12px}.talent-footer .confirm{width:100%;margin-top:0}.prof-talents{color:#3f6b2a;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.prof-talents .secondary-button{min-height:32px;padding:4px 10px}.prof-hint{color:#5d7563;margin:4px 0 6px;font-size:12px}.class-picker{gap:8px;display:grid}.class-card{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:2px solid #c9dcbc;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.class-card[aria-pressed=true]{background:#e3f4d7;border-color:#4f9a3a}.class-card:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.class-card-head{align-items:center;gap:8px;display:flex}.class-card-icon{font-size:20px;line-height:1}.class-card-name{font-size:15px;font-weight:800}.class-card-who{color:#5d7563;font-size:13px}.class-card-bonus{flex-wrap:wrap;gap:4px;display:flex}.class-card-bonus>span{color:#7a4f12;background:#fff4dd;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.class-badge{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff8e6,#fbfff5);border:2px solid #e3d3a8;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;margin-top:8px;padding:8px 10px;display:grid}.class-badge:hover{border-color:#d9b75e}.class-badge:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.class-badge-icon{background:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;display:grid;box-shadow:0 1px 4px #1c322626}.class-badge-body{min-width:0;line-height:1.2;display:grid}.class-badge-label{letter-spacing:.04em;text-transform:uppercase;color:#8a6a1c;font-size:10px;font-weight:700}.class-badge-name{font-size:15px;font-weight:800}.class-badge .class-card-bonus{grid-column:1/-1}.class-badge .class-card-bonus>span{font-size:11px}.class-badge-more{white-space:nowrap;color:#3f6b2a;font-size:12px;font-weight:700}.class-info-intro{margin:8px 0;font-size:13px}.class-info-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-info-list .class-card{cursor:default}.class-card[data-mine=true]{background:#e3f4d7;border-color:#4f9a3a}.class-mine-chip{color:#fff;background:#4f9a3a;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:800}.class-info-rule{background:#eef4e7;border-radius:12px;margin:10px 0 0;padding:8px 12px;font-size:12px}.prof-icon{width:22px;color:var(--ink-2);vertical-align:-3px;place-items:center;margin-right:6px;display:inline-grid}.prof-icon>svg.lucide{--icon-size:17px}.owner-line{align-items:center;gap:8px;margin:6px 0 8px;font-size:13px;display:flex}.owner-line>span:not(.props-dot){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.owner-line-mine{color:#6a4a00;background:#fff4cc;border-radius:999px;width:fit-content;padding:4px 10px;font-weight:800}.props-dot{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 2px #0000001f}.props-main{flex:1;min-width:0}.props-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.props-mine{border-left:4px solid #ffd24a;padding-left:8px}.props-ok{color:#3d7a35;font-weight:700}.props-legend{color:#5b7a55;flex-wrap:wrap;gap:2px 12px;margin:0 0 8px;font-size:11px;display:flex}.props-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.props-swatch{border-radius:3px;width:14px;height:6px;display:inline-block}.props-swatch-mine{background:#ffd24a}.props-swatch-other{background:linear-gradient(90deg,#e05a47,#3fa7d6,#7cc25a)}.props-owner{margin-bottom:10px}.props-owner-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.props-owner-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.props-owner-head small{color:#5b7a55;white-space:nowrap}.phone{--phone-bezel:#16211b;--phone-screen:#fbfff5;--phone-ink:#1c3226;--phone-dim:#5b7563;--phone-accent:#7cc25a;--phone-accent-ink:#2f6b1f;--phone-badge:#e5483b;z-index:4;top:max(84px, calc(env(safe-area-inset-top) + 72px));right:max(16px, env(safe-area-inset-right));background:linear-gradient(145deg, #2b3a31, var(--phone-bezel) 40%, #0c130f);width:340px;height:min(700px,100% - 180px);min-height:420px;color:var(--phone-ink);pointer-events:auto;border-radius:44px;padding:10px;animation:.26s cubic-bezier(.2,.9,.3,1.15) phone-rise;position:absolute;box-shadow:inset 0 0 0 2px #3a4c41,0 24px 60px #00000073,0 6px 16px #0000004d}.phone-screen{background:var(--phone-screen);isolation:isolate;border-radius:34px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}@keyframes phone-rise{0%{opacity:0;transform:translateY(40px)scale(.96)}}.phone-status{z-index:3;font-variant-numeric:tabular-nums;height:34px;color:var(--phone-ink);flex:none;justify-content:space-between;align-items:center;padding:0 18px 0 24px;font-size:13px;font-weight:800;display:flex;position:relative}.phone-screen:has(.phone-home) .phone-status{color:#fff;text-shadow:0 1px 2px #00000040}.phone-notch{background:#0c130f;border-radius:999px;width:84px;height:20px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone-status-right{align-items:center;gap:6px;display:flex}.phone-signal{align-items:center;gap:4px;display:inline-flex}.phone-signal rect.on{fill:currentColor}.phone-signal rect.off{fill:currentColor;opacity:.25}.phone-signal[data-quality=good]{--signal:#3f9d2b}.phone-signal[data-quality=ok]{--signal:#d99a14}.phone-signal[data-quality=bad]{--signal:#d5392c}.phone-signal svg{color:var(--signal,currentColor)}.phone-signal-ms{font-size:11px;font-weight:700}.phone-battery{color:currentColor}.phone-home{background:radial-gradient(110% 55% at 0 100%,#ffd23f59,#0000 60%),radial-gradient(90% 50% at 100% 0,#7cc25a8c,#0000 70%),linear-gradient(170deg,#3d8f55 0%,#2b7a55 50%,#17503f 100%);flex-direction:column;gap:14px;padding:44px 16px 26px;animation:.22s ease-out phone-home-in;display:flex;position:absolute;inset:0}@keyframes phone-home-in{0%{opacity:.4;transform:scale(1.06)}}.phone-widget{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;text-shadow:0 1px 2px #00000040;background:#081e1459;border:1px solid #ffffff40;border-radius:22px;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:12px 14px;display:grid}.phone-widget-hello{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;overflow:hidden}.phone-widget-level{color:#6b4b00;text-shadow:none;background:#fff3b0;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.phone-widget-bar{background:#0003;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.phone-widget-bar>span{border-radius:inherit;background:linear-gradient(90deg,#fff3b0,#ffd23f);height:100%;display:block}.phone-widget-xp{opacity:.9;grid-column:1/-1;font-size:11px;font-weight:700}.phone-grid{flex:1;grid-template-columns:repeat(4,1fr);align-content:start;gap:16px 6px;display:grid}.phone-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff4d;border-radius:28px;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 8px 8px;display:grid}.phone-app-icon{color:#fff;min-width:0;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:0;display:flex}.phone-app-tile{background:linear-gradient(160deg,#fff,#e6f3dc);border-radius:16px;place-items:center;width:56px;height:56px;transition:transform .12s;display:grid;position:relative;box-shadow:0 4px 10px #0000002e,inset 0 -2px #0000000f}.phone-app-icon[data-app=job] .phone-app-tile{background:linear-gradient(160deg,#ffe2a8,#f5a53b)}.phone-app-icon[data-app=routine] .phone-app-tile{background:linear-gradient(160deg,#d9e8ff,#7ea6f0)}.phone-app-icon[data-app=plots] .phone-app-tile{background:linear-gradient(160deg,#ffd9c9,#ef8a63)}.phone-app-icon[data-app=economy] .phone-app-tile{background:linear-gradient(160deg,#e1f7e8,#52b788)}.phone-app-icon[data-app=levels] .phone-app-tile{background:linear-gradient(160deg,#fff6c2,#ffc61a)}.phone-app-icon[data-app=ranking] .phone-app-tile{background:linear-gradient(160deg,#f1e0ff,#a978e8)}.phone-app-icon[data-app=profile] .phone-app-tile{background:linear-gradient(160deg,#e3f4ff,#58b4e8)}.phone-app-icon[data-app=missions] .phone-app-tile{background:linear-gradient(160deg,#e3ffd4,#6cc04a)}.phone-app-icon[data-app=online] .phone-app-tile{background:linear-gradient(160deg,#d6fbff,#26b3c7)}.phone-app-icon[data-app=friends] .phone-app-tile{background:linear-gradient(160deg,#ffe0ef,#ef6fa6)}.phone-app-icon[data-app=bank] .phone-app-tile{background:linear-gradient(160deg,#e9eef2,#8397a8)}.phone-app-icon:hover .phone-app-tile{transform:translateY(-2px)}.phone-app-icon:active .phone-app-tile{transform:scale(.92)}.phone-app-icon:focus-visible{outline:none}.phone-app-icon:focus-visible .phone-app-tile{outline-offset:2px;outline:3px solid #f2a33a}.phone-app-emoji{filter:drop-shadow(0 1px 1px #0003);font-size:28px;line-height:1}.phone-app-label{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #00000073;max-width:100%;font-size:11.5px;font-weight:700;overflow:hidden}.phone-badge{background:var(--phone-badge,#e5483b);color:#fff;min-width:20px;height:20px;text-shadow:none;border:2px solid #fff;border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:800;line-height:1;animation:.3s cubic-bezier(.3,1.6,.5,1) phone-badge-pop;display:grid;position:absolute;top:-6px;right:-6px}@keyframes phone-badge-pop{0%{transform:scale(0)}}.phone-toggle .phone-badge{top:-2px;right:-2px}.phone-close{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid}.phone-home-close{z-index:2;color:#fff;background:#0000002e;width:32px;height:32px;font-size:20px;position:absolute;top:50px;right:14px}.phone-home-close+.phone-widget{width:calc(100% - 42px)}.phone-app{background:var(--phone-screen);transform-origin:var(--phone-origin,50% 50%);touch-action:pan-y;flex-direction:column;padding-top:34px;animation:.24s cubic-bezier(.2,.9,.3,1) phone-app-in;display:flex;position:absolute;inset:0}@keyframes phone-app-in{0%{opacity:0;border-radius:34px;transform:scale(.2)}}.phone-app-header{border-bottom:1px solid #e3ecd9;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;min-height:44px;padding:0 6px 6px;display:grid}.phone-back{min-height:40px;color:var(--phone-accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-self:start;align-items:center;gap:4px;padding:0 8px;font-size:14px;font-weight:700;display:inline-flex}.phone-back:hover{background:#eef7e3}.phone-app-title{white-space:nowrap;margin:0;font-size:16px;font-weight:800}.phone-app-header .phone-close{justify-self:end}.phone-back:focus-visible,.phone-close:focus-visible,.phone-widget:focus-visible,.phone-home-bar:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.phone-app-body{overscroll-behavior:contain;flex:1;min-height:0;padding:10px 14px 30px;position:relative;overflow-y:auto}.phone-home-bar{z-index:4;cursor:pointer;background:0 0;border:0;width:120px;height:14px;padding:0;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.phone-home-bar:before{content:"";background:#1c32268c;border-radius:999px;height:5px;position:absolute;top:5px;left:0;right:0}.phone-screen:has(.phone-home) .phone-home-bar:before{background:#ffffffd9}.levels-hero{color:#4d3800;background:linear-gradient(150deg,#fff6c2,#ffe082);border-radius:18px;padding:12px 14px}.levels-hero-level{font-size:20px;font-weight:800}.levels-hero .weight-bar{background:#fff9}.levels-hero .weight-bar-fill{background:#ffb300}.levels-hero-next{flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:700;display:flex}.levels-hero-chips,.level-step-unlocks{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.levels-chip{color:var(--phone-ink);background:#fff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600}.levels-timeline{margin:14px 0 0;padding:0;list-style:none;position:relative}.levels-timeline:before{content:"";background:#d8e4cc;border-radius:999px;width:3px;position:absolute;top:12px;bottom:12px;left:15px}.level-step{gap:10px;padding:6px 0;display:flex;position:relative}.level-step-dot{z-index:1;width:32px;height:32px;color:var(--phone-dim);background:#fff;border:3px solid #d8e4cc;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.level-step[data-state=done] .level-step-dot{border-color:var(--phone-accent);background:var(--phone-accent);color:#fff}.level-step[data-state=current] .level-step-dot{color:#4d3800;background:#ffe082;border-color:#ffb300;box-shadow:0 0 0 5px #ffb30040}.level-step[data-state=next] .level-step-dot{border-style:dashed;border-color:#ffb300}.level-step-body{border-radius:14px;flex:1;min-width:0;padding:6px 10px 8px}.level-step[data-state=current] .level-step-body{background:#fff6d6;box-shadow:inset 0 0 0 2px #ffd54f}.level-step[data-state=next] .level-step-body{background:#f6faef}.level-step[data-state=locked] .level-step-body{opacity:.72}.level-step[data-state=done] .levels-chip{background:#eef7e3}.level-step[data-state=locked] .levels-chip,.level-step[data-state=next] .levels-chip{background:#eef2ea}.level-step-title{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;font-size:14px;display:flex}.level-step-tag{color:#3b2a00;background:#ffb300;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800}.level-step-tag.next{color:var(--phone-accent-ink);background:#e3ecd9}.level-step-xp{color:var(--phone-dim);margin-left:auto;font-size:11px;font-weight:700}.level-step-empty{color:var(--phone-dim);margin:0;font-size:12px}.online-count{color:var(--phone-dim);align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:700;display:flex}.online-pulse{background:#3f9d2b;border-radius:50%;width:8px;height:8px;animation:1.8s infinite online-pulse;box-shadow:0 0 #3f9d2b99}@keyframes online-pulse{70%{box-shadow:0 0 0 8px #3f9d2b00}to{box-shadow:0 0 #3f9d2b00}}.online-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.online-row{background:#f3f8ec;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;padding:8px 10px;display:grid}.online-row[data-relation=incoming]{background:#fff4d6}.online-avatar{color:#1c3226;border-radius:50%;place-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:grid}.online-info{min-width:0;color:var(--phone-dim);flex-direction:column;font-size:12px;display:flex}.online-name{color:var(--phone-ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex;overflow:hidden}.online-tag{color:var(--phone-accent-ink);background:#d9f0c9;border-radius:999px;padding:0 6px;font-size:10px;font-weight:800}.online-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.online-sent{color:var(--phone-dim);font-size:12px;font-weight:700}@media (width<=700px){.phone{background:var(--phone-bezel);width:auto;height:auto;min-height:0;box-shadow:none;border-radius:0;padding:0;animation-name:phone-rise-full;position:fixed;inset:0}.phone-screen{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0}.phone-notch{display:none}.phone-status{margin-top:env(safe-area-inset-top)}.phone-home{padding-top:calc(env(safe-area-inset-top) + 46px);padding-bottom:calc(env(safe-area-inset-bottom) + 28px)}.phone-home-close{top:calc(env(safe-area-inset-top) + 52px)}.phone-app-tile{border-radius:18px;width:64px;height:64px}.phone-app-emoji{font-size:32px}.phone-app{padding-top:calc(env(safe-area-inset-top) + 34px);padding-bottom:env(safe-area-inset-bottom)}.phone-home-bar{bottom:calc(env(safe-area-inset-bottom) + 4px)}.phone-grid{gap:20px 6px}@keyframes phone-rise-full{0%{opacity:0;transform:translateY(8%)}}}@media (prefers-reduced-motion:reduce){.phone,.phone-home,.phone-app,.phone-badge,.online-pulse{animation:none}.phone-app-tile{transition:none}}.phone-goal-widget{background:#28180457;gap:3px 8px;padding:10px 14px}.phone-goal-widget.met{border-color:#ffd23fb3}.phone-goal-kicker{letter-spacing:.06em;opacity:.9;font-size:10px;font-weight:800}.phone-goal-left{opacity:.9;justify-self:end;font-size:11px;font-weight:700}.phone-goal-name{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:15px;font-weight:800;overflow:hidden}.phone-goal-bar>span{background:linear-gradient(90deg,#b8f28c,#7cc25a)}.phone-goal-meta{opacity:.92;grid-column:1/-1;font-size:11px;font-weight:700}.goal-app-name{margin:0 0 8px;font-size:17px;font-weight:800}.myshops{flex-direction:column;gap:12px;display:flex}.myshop-card{background:#fff;border:1px solid #1c32261f;border-radius:16px;padding:10px 12px;box-shadow:0 1px 3px #0000000f}.myshop-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.myshop-revenue{color:var(--phone-accent-ink);margin:6px 0 2px;font-size:12px;font-weight:800}.myshop-listing{border-top:1px dashed #1c322624;padding:6px 0;list-style:none}.myshop-listing-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.myshop-soldout{color:#b23a2e;font-weight:700}.myshop-edit{flex-direction:column;gap:6px;margin-top:6px;display:flex}.myshop-edit input{width:84px}.myshop-sales>summary{cursor:pointer;font-size:12px;font-weight:800}.election-app{flex-direction:column;gap:12px;display:flex}.election-mayor{background:linear-gradient(135deg,#fff4d6,#f3e2b3);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.election-mayor-icon{font-size:34px}.election-mayor-name{color:var(--phone-ink);font-size:18px;display:block}.election-decree{color:var(--phone-accent-ink);margin:2px 0 0;font-size:13px;font-weight:700}.election-decree-desc,.election-slogan{color:var(--phone-dim);font-size:12px}.election-slogan{overflow-wrap:anywhere;white-space:normal;font-style:italic}.election-avatar{background:#f3e2b3}.election-row[data-voted=yes]{box-shadow:inset 0 0 0 2px var(--phone-accent);background:#e3f5d6}.election-votes{color:var(--phone-ink);font-size:13px}.election-decrees{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.election-decree-card{border:2px solid var(--phone-accent);width:100%;color:var(--phone-ink);font:inherit;text-align:left;cursor:pointer;background:#f3f8ec;border-radius:14px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.election-decree-card:hover:not(:disabled){background:#e3f5d6}.election-decree-card small{color:var(--phone-dim)}.election-run form{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:4px;display:flex}.election-slogan-input{min-width:0;color:var(--phone-ink);font:inherit;background:#fff;border:1px solid #c9dcc0;border-radius:10px;flex:100%;padding:8px 10px;font-size:13px}.name-plates{pointer-events:none;position:absolute;inset:0;overflow:hidden}.name-plate{will-change:transform;flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}.name-plate-label{padding:2px var(--s-2);border-radius:var(--r-pill);color:var(--inverse-ink);font-size:12px;font-weight:var(--fw-medium);white-space:nowrap;background:#14221cb3;line-height:1.4}.name-plate--self .name-plate-label{background:#3b8530eb}.name-plate--worker .name-plate-label{color:#e5e7eb;background:#5a6068d9}.chat-bubble{max-width:200px;margin-bottom:var(--s-1);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-size:13px;font-weight:var(--fw-medium);white-space:normal;text-align:center;overflow-wrap:anywhere;box-shadow:var(--shadow-1);padding:6px 10px;line-height:1.3}.action-overlays{pointer-events:none;position:absolute;inset:0;overflow:hidden}.progress-ring{will-change:transform;width:34px;height:34px;position:absolute;top:0;left:0}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-track{fill:#14221c8c;stroke:#f4ffe959;stroke-width:4px}.progress-ring-arc{fill:none;stroke:var(--gold);stroke-width:4px;stroke-linecap:round}.float-text{padding:2px var(--s-2);border-radius:var(--r-pill);color:#ffd84d;font-size:14px;font-weight:var(--fw-heavy);white-space:nowrap;will-change:transform, opacity;background:#14221cbf;position:absolute;top:0;left:0}.action-menu{z-index:5;border-radius:var(--r-md);background:var(--paper);min-width:180px;color:var(--ink);box-shadow:var(--shadow-2);pointer-events:auto;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.action-menu-item{min-height:44px;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);color:inherit;font:inherit;font-weight:var(--fw-bold);text-align:left;cursor:pointer;background:0 0;border:0}.action-menu-item:hover{background:var(--paper-3)}.action-menu-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.action-menu-repeat{gap:var(--s-2);min-height:36px;padding:0 var(--s-2);color:var(--ink-2);align-items:center;font-size:13px;display:flex}.panel.depot-panel{top:auto;left:50%;right:auto;bottom:calc(var(--gutter-bottom) + 56px + var(--s-4));width:min(400px, calc(100% - 2 * var(--gutter)));max-height:min(64%,460px);transform:translate(-50%)}.depot-row{row-gap:var(--s-1);grid-template-columns:1fr auto}.depot-actions{gap:var(--s-2);grid-column:1/-1;justify-content:flex-end;display:flex}.depot-row[data-current]{margin:0 calc(-1 * var(--s-2));padding-inline:var(--s-2);border-radius:var(--r-sm);background:var(--accent-soft)}.shop-listing-row{grid-template-columns:1fr}.shop-listing-row .item-actions{flex-wrap:wrap}.report-toggle{color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:13px;text-decoration:underline}.report-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.report-form{gap:var(--s-2);margin-top:10px;display:flex}.report-form .danger-button{flex-shrink:0}.panel.professions-panel{top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-2));right:auto;left:var(--gutter-left)}.prof-row{gap:6px var(--s-2);border-bottom:1px solid var(--line);font-size:var(--fs-md);grid-template-columns:1fr auto;align-items:center;padding:10px 0;display:grid}.prof-row:last-child{border-bottom:0}.prof-bar{border-radius:var(--r-pill);background:var(--paper-3);grid-column:1/-1;height:5px;display:block;position:relative;overflow:hidden}.prof-fill{border-radius:inherit;background:var(--accent-bright);height:100%;display:block}.save-password{margin-top:var(--s-3)}.save-later{width:100%;margin-top:var(--s-2)}.panel.settings-panel{top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-2));right:auto;left:var(--gutter-left);z-index:var(--z-popover)}.settings-range{width:100%;min-height:44px;accent-color:var(--accent)}.settings-controls{color:var(--ink-2);font-size:var(--fs-sm);margin:0;padding-left:18px;line-height:1.6}.phone-option{justify-content:space-between;align-items:center;gap:var(--s-2);width:100%;min-height:44px;margin-top:var(--s-2);padding:var(--s-2) var(--s-3);border:1.5px solid var(--line-strong);border-radius:var(--r-md);color:inherit;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer;background:0 0;display:flex}.phone-option.active{border-color:var(--accent);background:var(--accent-soft)}.phone-option:disabled{opacity:.5;cursor:default}.phone-option:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.phone-warn{margin:var(--s-2) 0 0;color:var(--warn-ink);font-size:12px}.friend-add{gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.friend-add input{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);min-width:0;min-height:36px;font:inherit;flex:1;padding:6px 10px;font-size:13px}.friend-section{margin:var(--s-4) 0 6px;color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-heavy);letter-spacing:var(--tracking-caps);text-transform:uppercase}.friend-online{color:var(--accent-ink)}.friend-offline{color:var(--ink-3)}.debt-amount{color:var(--danger-ink)}.push-status{margin:0 0 var(--s-2);color:var(--ink-2);font-size:13px}.debug-anim{width:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex}.debug-anim-scene{flex:1;min-width:0}.debug-anim-scene canvas{width:100%;height:100%;display:block}.debug-anim-panel{background:var(--inverse);width:300px;color:var(--inverse-ink);flex-shrink:0;padding:16px;overflow-y:auto}.debug-anim-title{margin:0 0 4px;font-size:17px}.debug-anim-panel h2{text-transform:uppercase;letter-spacing:.08em;color:#f3f8ecb3;margin:14px 0 6px;font-size:12px}.debug-anim-panel h3{color:#f3f8ecb3;margin:8px 0 4px;font-size:12px}.debug-anim-playing{color:#f3f8ecb3;margin:0;font-size:13px}.debug-anim-empty{color:#f3f8ecb3;font-size:13px}.debug-anim-buttons{flex-wrap:wrap;gap:6px;display:flex}.debug-anim-buttons button{color:var(--inverse-ink);font:inherit;cursor:pointer;background:#f4ffe914;border:1px solid #f4ffe940;border-radius:8px;padding:5px 10px;font-size:12px}.debug-anim-buttons button.active{color:#1c3226;background:#7cc25a;border-color:#7cc25a;font-weight:700}@media (width<=700px){.debug-anim{flex-direction:column}.debug-anim-scene{flex:45%}.debug-anim-panel{border-radius:16px 16px 0 0;width:100%;max-height:55%}}.shift-heading{margin:12px 0 0;font-size:14px}.shift-timer{background:#e3ecd9;border-radius:999px;height:10px;margin:10px 0 4px;position:relative;overflow:hidden}.shift-timer-fill{background:#7cc25a;height:100%}.shift-target{text-align:center;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:20px;font-weight:800}.shift-status{text-align:center;color:#b23c17;margin:4px 0 0;font-size:13px;font-weight:700}.shift-status[data-stable=true]{color:#4f9a3a}.shift-result{text-align:center;margin:10px 0 0;font-size:15px;font-weight:700}.shift-result[data-passed=true]{color:#4f9a3a}.shift-result[data-passed=false]{color:#b23c17}.medal-row{flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.medal-chip{color:#6b4a10;background:linear-gradient(#ffe9a8,#f2c94c);border:1px solid #c79a2e;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.medal-chip.locked{color:#8a968b;background:#e2e8e2;border-color:#b9c4ba}.player-card-swatch{vertical-align:-2px;border:1px solid #0000004d;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.report-form .field-input{flex:1;min-height:36px;padding:6px 10px;font-size:13px}.account-login{text-align:left;border-top:1px solid #e8ddc8;flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;display:flex}.save-or{text-align:center;margin-top:10px}.valve-order{flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 2px;display:flex}.valve-order-step{color:#1c3226;text-align:center;font-variant-numeric:tabular-nums;background:#dfe9f6;border-radius:8px;min-width:30px;padding:4px 6px;font-size:15px;font-weight:800}.valve-order-step[data-done]{background:#9fd8b4}.valve-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;display:grid}.valve-btn{color:#1c3226;min-width:44px;min-height:52px;font:inherit;cursor:pointer;background:#cfe3ea;border:0;border-radius:999px;font-size:18px;font-weight:800}.valve-btn:active{background:#8fc6d4}.valve-btn:disabled{opacity:.5;cursor:default}.valve-btn:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.sweep-street{flex-direction:column;gap:6px;margin:10px 0;display:flex}.sweep-lane{cursor:pointer;background:repeating-linear-gradient(90deg,#6b6f72 0 26px,#f0e6b8 26px 34px);border:0;border-radius:8px;width:100%;min-height:44px;display:block;position:relative;overflow:hidden}.sweep-lane:active{filter:brightness(1.15)}.sweep-lane:disabled{opacity:.7;cursor:default}.sweep-lane:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.sweep-litter{background:#b98a4a;border-radius:6px 10px 6px 12px;width:22px;height:22px;animation:2s linear forwards sweep-litter-drift;position:absolute;top:50%;left:8px;transform:translateY(-50%);box-shadow:0 2px #00000040}@keyframes sweep-litter-drift{0%{left:4px}to{left:calc(100% - 26px)}}.fire-block{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.fire-house{cursor:pointer;background:linear-gradient(#c96f4a 0 28%,#f3e2c3 28% 100%);border:0;border-radius:8px 8px 4px 4px;min-height:60px;position:relative;overflow:hidden}.fire-house[data-burning]{background:linear-gradient(#8a3b2a 0 28%,#f2c29a 28% 100%)}.fire-house:active{filter:brightness(1.12)}.fire-house:disabled{opacity:.7;cursor:default}.fire-house:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.fire-flame{transform-origin:50% 100%;background:radial-gradient(circle at 50% 70%,#fff3a0 0 20%,#f8a23a 45%,#e0412f 80%);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:28px;height:36px;animation:.35s ease-in-out infinite alternate fire-flicker;position:absolute;bottom:8px;left:calc(50% - 14px)}.fire-house[data-wet] .fire-flame{opacity:.55}@keyframes fire-flicker{0%{filter:brightness()}to{filter:brightness(1.25)}}.patrol-radio{text-align:center;margin:8px 0 4px;font-weight:800}.patrol-radio-bar{background:#dfe9f6;border-radius:999px;height:6px;overflow:hidden}.patrol-radio-fill{background:#5a6fd6;height:100%}.patrol-map{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.patrol-point{color:#1c3226;min-height:52px;font:inherit;cursor:pointer;background:#cfd8e8;border:0;border-radius:10px;font-weight:700}.patrol-point[data-called]{color:#fff;background:#5a6fd6;box-shadow:0 0 0 3px #f4d35e}.patrol-point:disabled{opacity:.6;cursor:default}.patrol-point:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.trade-modal{width:min(560px,100%)}.trade-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.trade-heading{margin:0 0 4px;font-size:14px}.trade-subtitle{color:#5d7563;margin:0 0 8px;font-size:12px}.trade-picker{max-height:180px;overflow-y:auto}.trade-offer{min-height:120px}.trade-coins{align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.trade-coins .field-input{width:90px;min-height:36px}.trade-value{color:#3d5a45;margin:10px 0;font-size:13px;font-weight:700}.trade-hint{color:#5d7563;margin:12px 0 0;font-size:12px}.trade-hint-warn{color:#b23c17;font-weight:700}@media (width<=560px){.trade-columns{grid-template-columns:1fr}}.rank-board{margin-bottom:14px}.rank-champion{color:#8a6d00;margin:0 0 6px;font-size:12px;font-weight:700}.rank-list{counter-reset:none;padding-left:0;list-style:none}.rank-me{color:#5d7563;margin:6px 0 0;font-size:12px}.food-effect{color:var(--ink-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);flex-wrap:wrap;flex-basis:100%;order:99;grid-column:1/-1;align-items:center;gap:2px 0;margin-top:2px;line-height:1.35;display:flex}.food-effect-name{color:var(--accent-ink);font-weight:var(--fw-bold);align-items:center;gap:5px;display:inline-flex}.food-effect-chip:before,.food-effect-time:before{content:"·";color:var(--ink-3);margin:0 5px}.food-effect-time{color:var(--ink-3)}.bank-panel .panel-subtitle{margin:var(--s-4) 0 var(--s-1);font-size:15px}.account-section{margin:0 0 var(--s-2);padding:0 0 var(--s-4);border-bottom:1px solid var(--line)}.account-section h3{margin:0 0 4px}.account-status{color:var(--ink-2);overflow-wrap:anywhere;margin:0 0 8px;font-size:13px;line-height:1.35}.secondary-button.account-register{background:var(--accent);color:var(--ink-on-accent)}.turbine-goal{text-align:center;background:#fff4cf;border-radius:10px;margin:6px 0 0;padding:5px 8px;font-size:13px;font-weight:800}.turbine-dial{width:min(210px,100%);margin:4px auto 0;position:relative}.turbine-dial svg{width:100%;height:auto;display:block}.turbine-arc{fill:none;stroke-width:18px}.turbine-arc-low{stroke:#5b6b7d}.turbine-arc-ok{stroke:#6cc04a}.turbine-arc-high{stroke:#e0532f}.turbine-dial-label{fill:#5d7563;font-size:10px;font-weight:700}.turbine-needle{transform-origin:100px 100px;transition:transform .1s linear}.turbine-needle line{stroke:#1c3226;stroke-width:5px;stroke-linecap:round}.turbine-hub{fill:#1c3226}.turbine-dial[data-zone=ok] .turbine-hub{fill:#4f9a3a}.turbine-sparks{background:radial-gradient(circle,#fff9c4 0 20%,#ffd23a 35%,#0000 70%);width:26px;height:26px;animation:.18s steps(2,end) infinite turbine-spark;position:absolute;top:6px;right:8px}@keyframes turbine-spark{0%{opacity:1;transform:scale(1)rotate(0)}to{opacity:.3;transform:scale(1.4)rotate(45deg)}}.turbine-zone{text-align:center;color:#4f9a3a;margin:2px 0 0;font-size:18px;font-weight:800}.turbine-zone[data-zone=low]{color:#3d4d5f}.turbine-zone[data-zone=high]{color:#c23b1b}.turbine-spike{text-align:center;color:#b25e00;visibility:hidden;min-height:18px;margin:2px 0 0;font-size:12px;font-weight:800}.turbine-spike[data-on]{visibility:visible;animation:.4s ease-in-out infinite alternate turbine-blink}@keyframes turbine-blink{to{opacity:.35}}.turbine-city{background:#1f2d4a;border-radius:10px;justify-content:space-between;gap:4px;margin:8px 0 0;padding:8px 6px 0;transition:background .2s;display:flex}.turbine-city[data-zone=low]{background:#10151f}.turbine-house{background:#c96f4a;border-radius:4px 4px 0 0;flex:1;justify-content:center;align-items:center;gap:3px;height:26px;display:flex}.turbine-house:nth-child(2n){background:#d9a05b;height:32px}.turbine-window{background:#ffe36e;border-radius:1px;width:7px;height:8px;transition:background .2s,box-shadow .2s;box-shadow:0 0 6px #ffe36e}.turbine-city[data-zone=low] .turbine-window{box-shadow:none;background:#2b3340}.turbine-city[data-zone=high] .turbine-window{background:#fff;animation:.15s steps(2,end) infinite alternate turbine-blink;box-shadow:0 0 8px #fff}.turbine-score{font-variant-numeric:tabular-nums;justify-content:space-between;margin:8px 0 2px;font-size:13px;font-weight:700;display:flex}.turbine-goal-mark{color:#5d7563}.turbine-score-bar{background:#e3ecd9;border-radius:999px;height:8px;position:relative}.turbine-score-fill{background:#e39b3a;border-radius:999px;height:100%}.turbine-score-fill[data-ok]{background:#4f9a3a}.turbine-score-marker{background:#1c3226;width:2px;height:14px;position:absolute;top:-3px}.turbine-controls{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.turbine-btn{min-height:56px;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:14px;font-size:16px;font-weight:800}.turbine-btn-down{color:#174a7a;background:#cfe6fb}.turbine-btn-up{color:#6b4a00;background:#ffe07a}.turbine-btn:active{filter:brightness(.95);transform:scale(.96)}.turbine-btn:disabled{opacity:.5;cursor:default}.turbine-btn:focus-visible{outline-offset:2px;outline:3px solid #f2a33a}.hud{color:var(--ink);font-family:var(--font-ui);font-size:var(--fs-md);pointer-events:none;position:absolute;inset:0}.hud-cluster{gap:var(--s-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.hud-cluster>*,.hud-row>*{pointer-events:auto}.hud-cluster .panel,.hud-cluster .modal-backdrop{position:fixed}.hud-cluster--tl{top:var(--gutter-top);left:var(--gutter-left);align-items:flex-start;max-width:280px}.hud-cluster--tc{top:var(--gutter-top);align-items:center;width:320px;margin:0 auto;left:0;right:0}.hud-cluster--tr{top:var(--gutter-top);right:var(--gutter-right);align-items:flex-end}.hud-row{gap:var(--s-2);pointer-events:none;align-items:center;display:flex}.hud-chip,.hud-title,.hud-releases,.hud-level,.mission-tracker,.hud-clock,.buff-chip,.vehicle-chip,.hud-city-goal,.hud-inactivity-row,.hud-coins,.hud-backpack,.chat-toggle,.emote-toggle,.hud-home{gap:var(--s-2);min-height:var(--hud-chip);padding:0 var(--s-3);border-radius:var(--r-md);background:var(--paper-glass);color:var(--ink);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-bold);box-shadow:var(--shadow-1);pointer-events:auto;border:0;align-items:center;line-height:1.2;display:inline-flex}button.hud-chip,.hud-title,.hud-releases,.hud-level,.mission-tracker,.hud-backpack,.chat-toggle,.emote-toggle,.hud-home{cursor:pointer;transition:background var(--dur-1), translate var(--dur-1)}.hud-title:hover,.hud-releases:hover,.hud-level:hover,.mission-tracker:hover,.hud-backpack:hover,.chat-toggle:hover,.emote-toggle:hover,.hud-home:hover:not(:disabled){background:var(--paper)}.hud-title:active,.hud-releases:active,.hud-level:active,.mission-tracker:active,.hud-backpack:active,.chat-toggle:active,.emote-toggle:active,.hud-home:active:not(:disabled){translate:0 1px}.hud-title:focus-visible,.hud-releases:focus-visible,.hud-level:focus-visible,.mission-tracker:focus-visible,.hud-backpack:focus-visible,.chat-toggle:focus-visible,.emote-toggle:focus-visible,.emote-option:focus-visible,.hud-home:focus-visible,.phone-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.hud svg.lucide{--icon-size:18px}.hud-title{padding:0 var(--s-4) 0 var(--s-3);font-size:15px;font-weight:var(--fw-heavy);letter-spacing:-.01em;position:relative}.hud-title>svg.lucide{color:var(--ink-2)}.hud-title[data-guest]:after{content:"";background:var(--gold);width:8px;height:8px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:6px;right:6px}.hud-releases{width:var(--hud-chip);color:var(--ink-2);justify-content:center;padding:0;position:relative}.hud-releases.has-new{color:var(--gold-ink)}.hud-releases .count-dot{background:var(--gold);border-width:2px;min-width:10px;height:10px;padding:0;top:5px;right:5px}.hud-level{gap:4px var(--s-2);width:208px;min-height:48px;padding:6px var(--s-3) 7px 7px;text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;display:grid;position:relative}.hud-level-icon{border-radius:var(--r-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-ink);grid-row:1/span 2;place-items:center;display:grid}.hud-level-badge{font-size:var(--fs-md);font-weight:var(--fw-heavy)}.hud-level-text{color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;justify-self:end}.hud-level-bar{border-radius:var(--r-pill);background:var(--paper-3);grid-column:2/span 2;height:5px;overflow:hidden}.hud-level-fill{border-radius:inherit;background:var(--accent-bright);height:100%;transition:width var(--dur-3) var(--ease-out);display:block}.hud-level .count-dot{top:-5px;right:-5px}.mission-tracker{max-width:280px;min-height:48px;padding:7px var(--s-3) 7px 7px;text-align:left;gap:10px}.mission-icon{border-radius:var(--r-sm);background:var(--gold-soft);width:34px;height:34px;color:var(--gold-ink);flex:none;place-items:center;display:grid}.mission-body{flex-direction:column;gap:1px;min-width:0;display:flex}.mission-label{color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-heavy);letter-spacing:var(--tracking-caps);text-transform:uppercase}.mission-task{font-size:13px;font-weight:var(--fw-bold);line-height:1.25}.hud-clock{min-height:34px;padding:0 var(--s-3);font-size:13px;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;gap:6px}.hud-clock>svg.lucide{--icon-size:16px;color:var(--gold)}.hud-clock[data-night]>svg{color:var(--night)}.hud-ping{margin-left:var(--s-1);padding-left:var(--s-2);border-left:1px solid var(--line-strong);color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);align-items:center;gap:5px;display:inline-flex}.hud-ping:before{content:"";background:var(--ink-3);border-radius:50%;width:7px;height:7px}.hud-ping[data-quality=good]:before{background:var(--accent)}.hud-ping[data-quality=ok]:before{background:var(--warn)}.hud-ping[data-quality=bad]:before{background:var(--danger)}.buff-bar{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.buff-chip{min-height:30px;font-size:var(--fs-sm);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;white-space:nowrap;gap:6px;padding:0 10px}.buff-name{color:var(--ink-2);font-weight:var(--fw-medium)}.buff-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.buff-dot-food{background:var(--gold)}.buff-dot-drink{background:var(--info)}.vehicle-chip{gap:var(--s-2);padding:0 4px 0 var(--s-3);white-space:nowrap;font-size:13px}.vehicle-chip>svg.lucide{color:var(--ink-2)}.vehicle-chip-fuel{color:var(--ink-3);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.vehicle-chip-dismount{min-height:var(--control-sm)}.hud-city-goal{width:100%;padding:10px var(--s-3);font-size:var(--fs-sm);flex-direction:column;align-items:stretch;gap:6px;display:flex}.hud-city-goal-title{gap:var(--s-2);font-weight:var(--fw-bold);align-items:center;display:flex}.hud-city-goal-title>svg.lucide{--icon-size:15px;color:var(--ink-3)}.hud-city-goal-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hud-city-goal-count{color:var(--ink-2);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.hud-city-goal-done{color:var(--gold-ink);font-weight:var(--fw-bold)}.hud-city-goal-buff{color:var(--accent-ink);font-weight:var(--fw-medium);align-items:center;gap:6px;display:flex}.hud-city-goal-buff>svg.lucide{--icon-size:14px}.hud-decree{color:var(--ink-2)}.hud-city-goal>.hud-city-goal-buff:only-child{margin:0}.hud-inactivity{pointer-events:none;flex-direction:column;gap:6px;width:100%;display:flex}.hud-inactivity-row{justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.3}.hud-inactivity-row>svg.lucide{color:var(--warn)}.hud-inactivity-row>span{flex:1}.hud-toast{z-index:var(--z-toast)}.hud-net{top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-2));z-index:var(--z-toast);gap:var(--s-3);max-width:calc(100% - 2 * var(--gutter));padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--inverse);color:var(--inverse-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-2);pointer-events:auto;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-net-logout{color:var(--accent-bright);font:inherit;font-weight:var(--fw-bold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.hud-coins{padding:0 var(--s-3) 0 10px;font-size:15px;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums;transition:scale var(--dur-2) var(--ease-spring), box-shadow var(--dur-2);gap:6px}.hud-coins>svg.lucide{--icon-size:19px;color:var(--gold)}.hud-coins--rising{box-shadow:0 0 0 2px var(--gold), var(--shadow-1);scale:1.06}.hud-backpack>svg.lucide{color:var(--ink-2)}.hud-backpack-kg{font-variant-numeric:tabular-nums}.hud-backpack[data-load=high]{color:var(--danger-ink)}.hud-backpack[data-load=high]>svg{color:var(--danger)}.chat-toggle,.emote-toggle,.hud-home{min-height:var(--control-lg);padding:0 var(--s-4) 0 14px;position:absolute}.chat-toggle{left:var(--gutter-left);bottom:var(--gutter-bottom)}.chat-toggle .count-dot,.hud-home .count-dot{top:-5px;right:-5px}.emote-menu{right:var(--gutter-right);bottom:var(--gutter-bottom);gap:var(--s-2);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:absolute}.emote-toggle{position:relative}.emote-menu>*{pointer-events:auto}.emote-options{border-radius:var(--r-md);background:var(--paper);min-width:180px;box-shadow:var(--shadow-2);animation:panel-in var(--dur-2) var(--ease-out);flex-direction:column;gap:2px;padding:6px;display:flex}.emote-option{min-height:var(--control-md);padding:0 var(--s-3);border-radius:var(--r-sm);color:var(--ink);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:left;cursor:pointer;background:0 0;border:0}.emote-option:hover{background:var(--paper-3)}.hud-home{left:var(--gutter-left);bottom:calc(var(--gutter-bottom) + var(--control-lg) + var(--s-3));width:var(--control-lg);justify-content:center;padding:0}.hud-home:disabled{opacity:.6;cursor:default}.hud-home>svg.lucide{--icon-size:20px;color:var(--ink-2)}.phone-toggle{left:50%;bottom:var(--gutter-bottom);background:var(--bezel);color:#fff;width:56px;height:56px;box-shadow:0 0 0 1.5px #ffffff24 inset, var(--shadow-2);cursor:pointer;pointer-events:auto;transition:translate var(--dur-1);border:0;border-radius:18px;place-items:center;display:grid;position:absolute;transform:translate(-50%)}.phone-toggle:hover{translate:0 -1px}.phone-toggle:active{translate:0 1px}.phone-toggle>svg.lucide{--icon-size:24px}.hud-hint{bottom:calc(var(--gutter-bottom) + 56px + var(--s-3));max-width:min(880px, calc(100% - 2 * var(--gutter)));padding:var(--s-2) var(--s-4);border-radius:var(--r-md);color:var(--inverse-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:opacity var(--dur-3) ease;background:#1c2b22b8;flex-wrap:wrap;justify-content:center;gap:4px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-hint[data-leaving]{opacity:0}.hud-hint>span{white-space:nowrap}.chat-panel{left:var(--gutter-left);bottom:var(--gutter-bottom);z-index:var(--z-panel);width:min(360px, calc(100% - 2 * var(--gutter)));max-height:min(48%,380px);padding:var(--s-2) var(--s-3) var(--s-3);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);pointer-events:auto;animation:panel-in var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:absolute}.chat-channels{border-radius:var(--r-md);background:var(--paper-3);border:0;gap:2px;margin:0;padding:3px;display:flex}.chat-channels .choice-chip{min-height:30px;padding:0 var(--s-3);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);background:0 0;border:0;border-radius:11px}.chat-channels .choice-chip[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1020181f}.chat-lines{min-height:80px;margin:var(--s-2) 0;flex:1;padding:0 2px;font-size:13.5px;line-height:1.4;list-style:none;overflow-y:auto}.chat-line{overflow-wrap:anywhere;padding:3px 0}.chat-name{font-weight:var(--fw-heavy)}.chat-line--local .chat-name{color:var(--accent-ink)}.chat-empty{padding:var(--s-4) 0;color:var(--ink-3);text-align:center}.chat-form{gap:6px;display:flex}.chat-input{min-height:var(--control-md);font-size:16px}.mayor-dialog{left:50%;bottom:calc(var(--gutter-bottom) + 56px + var(--s-4));z-index:var(--z-popover);gap:2px var(--s-3);width:min(460px, calc(100% - 2 * var(--gutter)));padding:var(--s-4) var(--s-4) var(--s-3);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);pointer-events:auto;animation:panel-in var(--dur-3) var(--ease-out);grid-template-columns:auto 1fr;display:grid;position:absolute;transform:translate(-50%)}.mayor-avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);border-radius:50%;grid-row:1/span 2;place-items:center;display:grid}.mayor-avatar>svg.lucide{--icon-size:20px}.mayor-name{color:var(--accent-ink);font-size:var(--fs-sm);font-weight:var(--fw-heavy);align-self:end}.mayor-text{margin:0;font-size:15px;line-height:1.45}.mayor-actions{margin-top:var(--s-2);grid-column:1/-1;justify-content:flex-end;display:flex}.level-up{z-index:var(--z-toast);min-width:260px;max-width:calc(100% - 2 * var(--gutter));padding:var(--s-5) var(--s-6) var(--s-4);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);text-align:center;box-shadow:var(--shadow-2);animation:level-up-pop .5s var(--ease-spring);pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%)}.level-up-medal{width:52px;height:52px;margin-bottom:var(--s-2);background:var(--gold-soft);color:var(--gold);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #e8b01959}.level-up-medal>svg.lucide{--icon-size:26px;fill:currentColor}.level-up-title{font-size:var(--fs-xl);font-weight:var(--fw-heavy);letter-spacing:-.01em}.level-up-text{color:var(--ink-2);font-size:13px;font-weight:var(--fw-medium)}@keyframes level-up-pop{0%{opacity:0;scale:.8}}.hud-update{top:var(--gutter-top);z-index:var(--z-banner);gap:var(--s-3);width:max-content;max-width:min(640px, calc(100% - 2 * var(--gutter)));padding:var(--s-2) var(--s-2) var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-2);pointer-events:auto;animation:hud-update-in var(--dur-3) var(--ease-out);align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-update-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.hud-update-text{flex-direction:column;gap:1px;min-width:0;font-size:13px;line-height:1.3;display:flex}.hud-update-text strong{font-weight:var(--fw-heavy)}.hud-update-what{color:var(--ink-2);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-update-actions{flex-shrink:0;gap:4px;display:flex}@keyframes hud-update-in{0%{opacity:0;translate:0 -12px}}.releases-modal{width:min(480px,100%);padding-bottom:var(--s-2)}.releases-modal .modal-text{margin-bottom:var(--s-2)}.release-list{margin:0;padding:0;list-style:none}.release-item{padding:var(--s-4) 0;border-top:1px solid var(--line)}.release-head{gap:var(--s-2);color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;align-items:center;display:flex}.release-date{font-weight:var(--fw-medium);margin-left:auto}.release-title{font-size:var(--fs-lg);font-weight:var(--fw-heavy);letter-spacing:-.005em;margin-top:2px}.release-item:not(.fresh) .release-title{color:var(--ink-2)}.release-points{margin:var(--s-2) 0 0;color:var(--ink-2);padding-left:18px;font-size:13.5px;line-height:1.5}.release-points li+li{margin-top:4px}.release-item.fresh .release-points{color:var(--ink)}.fishing-cast-buttons{right:var(--gutter-right);bottom:calc(var(--gutter-bottom) + var(--control-lg) + var(--s-3));z-index:var(--z-popover);gap:var(--s-2);pointer-events:none;flex-direction:column;align-items:stretch;display:flex;position:absolute}.fishing-cast-button{min-width:168px;min-height:var(--control-lg);border-radius:var(--r-md);box-shadow:var(--shadow-1);pointer-events:auto;font-size:15px}.fishing-cast-button.auto{background:var(--paper);color:var(--ink)}.fishing-cast-button.auto:hover:not(:disabled){background:var(--paper-2)}.fishing-overlay{z-index:var(--z-popover);padding:0 var(--gutter) calc(var(--gutter-bottom) + 56px + var(--s-6));pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.fishing-card,.fishing-auto,.fishing-bite,.fishing-catch,.fishing-reel{gap:var(--s-2);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);font:inherit;text-align:center;box-shadow:var(--shadow-2);pointer-events:auto;border:0;flex-direction:column;align-items:center;display:flex}.fishing-hint{padding:var(--s-2) var(--s-4);border-radius:var(--r-md);background:var(--paper-glass);color:var(--ink);font-size:var(--fs-md);font-weight:var(--fw-bold);box-shadow:var(--shadow-1)}.fishing-wait{gap:var(--s-3);flex-direction:column;align-items:center;display:flex}.fishing-bobber{filter:drop-shadow(0 3px 4px #0000004d);width:34px;height:44px;animation:1.6s ease-in-out infinite fishing-bob}.bobber-line{stroke:var(--ink);stroke-width:2px;stroke-linecap:round}.bobber-top{fill:var(--danger)}.bobber-bottom{fill:var(--paper)}.bobber-band{fill:var(--ink)}.fishing-bobber.nibble{animation:.35s ease-in-out 2 fishing-nibble}@keyframes fishing-bob{50%{translate:0 -6px}}@keyframes fishing-nibble{40%{translate:0 7px;scale:1.12}}.fishing-cancel{min-height:var(--control-md);box-shadow:var(--shadow-1);pointer-events:auto}.fishing-wait .fishing-cancel{background:var(--paper)}.fishing-bite{min-width:220px;padding:var(--s-5) var(--s-6) var(--s-4);cursor:pointer;animation:fishing-pop .18s var(--ease-spring)}@keyframes fishing-pop{0%{scale:.8}}.fishing-bite-mark{background:var(--danger);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:32px;font-weight:900;line-height:1;animation:.4s steps(2,jump-none) infinite fishing-bite-blink;display:grid}@keyframes fishing-bite-blink{50%{opacity:.55}}.fishing-bite-bar{border-radius:var(--r-pill);background:var(--paper-3);width:100%;height:6px;overflow:hidden}.fishing-bite-fill{border-radius:inherit;background:var(--danger);transform-origin:0;width:100%;height:100%;display:block}.fishing-bite-label{font-size:var(--fs-lg);font-weight:var(--fw-heavy)}.fishing-key-hint{color:var(--ink-3);font-size:var(--fs-xs);font-weight:var(--fw-medium)}.fishing-reel{gap:var(--s-5);padding:var(--s-5);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:row;align-items:center}.fishing-reel-track{border-radius:var(--r-pill);background:var(--paper-3);width:40px;height:240px;position:relative;overflow:visible}.fishing-reel-zone{border-radius:var(--r-pill);background:#7cc25a8c;position:absolute;left:0;right:0}.fishing-reel-marker{border-radius:var(--r-pill);background:var(--gold);width:48px;height:30px;color:var(--gold-ink);place-items:center;transition:bottom 40ms linear;display:grid;position:absolute;left:50%;transform:translate(-50%,50%);box-shadow:0 2px 8px #e8b01999}.fishing-reel.holding .fishing-reel-marker{background:var(--warn)}.fishing-reel-side{gap:var(--s-3);flex-direction:column;align-items:stretch;min-width:150px;display:flex}.fishing-reel-coach{border-radius:var(--r-sm);font-size:var(--fs-lg);font-weight:var(--fw-heavy);text-align:center;transition:background var(--dur-1) linear;padding:6px 10px}.fishing-reel-coach.holdNow{background:var(--gold-soft);color:var(--gold-ink)}.fishing-reel-coach.releaseNow{background:var(--danger-soft);color:var(--danger-ink)}.fishing-reel-coach.keepIt{background:var(--accent-soft);color:var(--accent-ink)}.fishing-reel-meter{border-radius:var(--r-pill);background:var(--paper-3);height:10px;overflow:hidden}.fishing-reel-meter>span{border-radius:inherit;background:var(--accent-bright);transform-origin:0;height:100%;transition:transform 60ms linear;display:block}.fishing-reel-meter.time{width:100%;height:5px}.fishing-reel-meter.time>span{background:var(--ink-3)}.fishing-reel-label{font-size:15px;font-weight:var(--fw-heavy)}.fishing-reel-hint{bottom:calc(var(--gutter-bottom) + 56px + var(--s-3));text-align:center;max-width:min(92vw,420px);font-size:13px;position:absolute}.fishing-auto{min-width:260px;padding:var(--s-4) var(--s-5);gap:6px}.fishing-auto-title{color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);align-items:center;gap:6px;display:flex}.fishing-auto-count{font-size:var(--fs-2xl);font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.fishing-auto-last{color:var(--ink-2);font-size:13px}.fishing-auto .fishing-cancel{margin-top:var(--s-2);box-shadow:none}.fishing-catch{min-width:260px;padding:var(--s-5) var(--s-6) var(--s-4);animation:fishing-pop .22s var(--ease-spring);gap:6px}.fishing-catch.rare{box-shadow:0 0 0 3px var(--gold), var(--shadow-2)}.fishing-catch-title{color:var(--accent-ink);font-size:var(--fs-xs);font-weight:var(--fw-heavy);letter-spacing:var(--tracking-caps);text-transform:uppercase}.fishing-catch-icon{font-size:56px;line-height:1.1;animation:.6s ease-out fishing-catch-flip}@keyframes fishing-catch-flip{0%{translate:0 24px;rotate:-30deg;scale:.6}60%{translate:0 -8px;rotate:10deg;scale:1.1}}.fishing-catch-name{font-size:22px;font-weight:var(--fw-heavy);letter-spacing:-.01em}.fishing-catch-tags{gap:6px;display:flex}.fishing-tag{min-height:22px;padding:0 var(--s-2);border-radius:var(--r-pill);background:var(--paper-3);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);align-items:center;display:inline-flex}.fishing-catch.rare .fishing-catch-rarity{background:var(--gold-soft);color:var(--gold-ink)}.fishing-catch-xp{color:var(--ink-3);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.fishing-catch-actions{gap:var(--s-2);margin-top:var(--s-2);display:flex}.fishing-catch-actions .fishing-cancel{box-shadow:none}.hud-loading{background:var(--sky);color:var(--ink);font-size:var(--fs-lg);font-weight:var(--fw-bold);place-items:center;display:grid;position:absolute;inset:0}@media (width<=1000px){.hud-cluster--tl{max-width:calc(50% - var(--gutter) - 4px)}.hud-cluster--tc{top:calc(var(--gutter-top) + var(--hud-chip) + var(--s-2));right:var(--gutter-right);width:min(300px, calc(50% - var(--gutter) - 4px));align-items:flex-end;margin:0;left:auto}.buff-bar{justify-content:flex-end}}@media (width<=700px){.hud-title{width:var(--hud-chip);justify-content:center;padding:0}.hud-title-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hud-level{width:100%}.mission-tracker{max-width:100%}.mission-icon{display:none}.mission-tracker{padding-left:var(--s-3)}.buff-bar{flex-direction:column;align-items:flex-end}.buff-name{display:none}.hud-city-goal{padding:var(--s-2) 10px}.hud-city-goal-title{flex-wrap:wrap;row-gap:2px}.hud-city-goal-title>svg.lucide{display:none}.hud-city-goal-name{white-space:normal;flex-basis:100%}.hud-inactivity-row{flex-wrap:wrap}.vehicle-chip-name{display:none}.hud-toast{left:var(--gutter-left);right:var(--gutter-right);bottom:calc(var(--gutter-bottom) + 56px + var(--s-3));max-width:none;position:fixed}.hud-coins,.hud-backpack{padding:0 10px;font-size:14px}.hud-backpack{gap:6px}.chat-toggle,.emote-toggle{width:var(--control-lg);justify-content:center;padding:0}.hud-button-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-toggle>svg.lucide,.emote-toggle>svg.lucide{--icon-size:22px}.hud-hint{display:none}.mayor-dialog{bottom:calc(var(--gutter-bottom) + 56px + var(--s-3))}.hud-update{width:calc(100% - 2 * var(--gutter));flex-wrap:wrap}.hud-update-text{flex:1}.hud-update-actions{justify-content:flex-end;width:100%}.fishing-cast-button{min-width:0}}@media (prefers-reduced-motion:reduce){.hud-coins--rising{scale:1}.level-up,.hud-update,.mayor-dialog,.emote-options,.chat-panel,.fishing-bobber,.fishing-bite,.fishing-bite-mark,.fishing-catch,.fishing-catch-icon{animation:none}}
