:root{--surface:#181425;--surface-raised:#262b44;--surface-elevated:#3a4466;--chrome:#262b44;--chrome-line:#3a4466;--chrome-line-strong:#5a6988;--divider:#262b44;--vignette-bg:#193c3e;--scrim:color-mix(in srgb, var(--surface) 85%, transparent);--text-primary:#ead4aa;--text-secondary:#c0cbdc;--text-muted:#8b9bb4;--text-disabled:#5a6988;--text-emphasis:#fff;--text-on-chrome:var(--text-emphasis);--text-on-chrome-muted:var(--text-muted);--accent:#fee761;--accent-secondary:#2ce8f5;--attention:#feae34;--positive:#63c74d;--positive-deep:#3e8948;--positive-surface:#265c42;--negative:#e43b44;--gold:#fee761;--motivation:#feae34;--seniority:#2ce8f5;--font-body:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-body);--font-numeric:var(--font-body);--font-smoothing:none;--display-weight:700;--display-tracking:0;--text-display:21px;--text-large:16px;--text-body:14px;--text-small:12px;--text-caption:11px;--text-micro:10px;--space-2:2px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-pill:999px;--border-hair:1px;--border:2px;--motion-press:80ms;--motion-quick:.15s;--motion-leave:.2s;--motion-pop:.8s;--motion-coin:.5s;--motion-badge:.7s;--motion-reveal:.7s;--motion-stamp:.35s;--motion-beat:.6s;--motion-pulse:1.2s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-stamp:cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-press:0s;--motion-quick:0s;--motion-leave:0s;--motion-pop:0s;--motion-coin:0s;--motion-badge:0s;--motion-reveal:0s;--motion-stamp:0s;--motion-beat:0s;--motion-pulse:0s}}@font-face{font-family:"Jacquard 12";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jacquard-12/jacquard-12-400-latin.woff2)format("woff2")}[data-direction=guild-hall]{--px:2px;--surface:#3e2731;--surface-raised:#ead4aa;--surface-elevated:#e8b796;--chrome:#733e39;--chrome-line:#3e2731;--chrome-line-strong:#b86f50;--divider:#c28569;--scrim:#3e2731cc;--text-primary:#181425;--text-secondary:#3e2731;--text-muted:#733e39;--text-disabled:#b86f50;--text-emphasis:#181425;--text-on-chrome:#ead4aa;--text-on-chrome-muted:#e8b796;--accent:#a22633;--accent-secondary:#265c42;--attention:#a22633;--positive:#265c42;--positive-deep:#3e8948;--positive-surface:#e8b796;--negative:#a22633;--gold:#733e39;--motivation:#a22633;--seniority:#265c42;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Jacquard 12", var(--font-body);--font-numeric:"Jacquard 12", var(--font-body);--font-smoothing:antialiased;--display-weight:400;--display-tracking:0;--text-display:24px;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0}[data-direction=guild-hall] h2,[data-direction=guild-hall] .guild-name,[data-direction=guild-hall] .hero-name,[data-direction=guild-hall] .retire-hero{font-size:24px;font-weight:400;line-height:1}[data-direction=guild-hall] .gold,[data-direction=guild-hall] .cost,[data-direction=guild-hall] .report-totals,[data-direction=guild-hall] .reveal-gain,[data-direction=guild-hall] .retire-preview strong{font-size:24px;line-height:1}[data-direction=guild-hall] .card{border-style:solid;border-width:calc(5 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_card.png) 5 / calc(5 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);padding:calc(var(--space-10) - 5 * var(--px) + var(--space-4)) calc(var(--space-12) - 5 * var(--px) + var(--space-2));margin-top:var(--space-12);background-clip:padding-box;border-radius:0;position:relative}[data-direction=guild-hall] .card:before{content:"";top:calc(-1 * var(--space-12));left:calc(50% - 8 * var(--px) - 24px);width:calc(16 * var(--px));height:calc(16 * var(--px));image-rendering:pixelated;pointer-events:none;background:url(/assets/ui/pin.png) 50%/100% 100% no-repeat;position:absolute}[data-direction=guild-hall] .card:nth-child(2n):before{left:calc(50% - 8 * var(--px) + 24px)}[data-direction=guild-hall] .panel{border-style:solid;border-width:calc(5 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_card.png) 5 / calc(5 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);padding:calc(var(--space-16) - 5 * var(--px) + var(--space-4));background-clip:padding-box}[data-direction=guild-hall] .segmented{background:var(--surface-raised)}[data-direction=guild-hall] .card.slot-locked{border-width:var(--border);border-style:dashed;border-color:var(--chrome-line-strong);color:var(--text-on-chrome-muted);padding:var(--space-10) var(--space-12);background:0 0;border-image:}[data-direction=guild-hall] .card.slot-locked:before{content:none}[data-direction=guild-hall] .card.slot-locked .chevron{color:var(--text-on-chrome-muted)}[data-direction=guild-hall] .card.slot-locked.slot-hireable{color:var(--text-on-chrome);border-style:solid;border-color:#feae34}[data-direction=guild-hall] .modal{border-style:solid;border-width:calc(7 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_modal.png) 7 / calc(7 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);color:var(--text-primary);background-clip:padding-box;border-radius:0}[data-direction=guild-hall] .vignette{border-style:solid;border-width:calc(7 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_modal.png) 7 / calc(7 * var(--px)) repeat;image-rendering:pixelated;border-radius:0}[data-direction=guild-hall] .guild-strip,[data-direction=guild-hall] .tabbar{background:var(--chrome);color:var(--text-on-chrome)}[data-direction=guild-hall] .guild-strip{border-bottom:var(--border) solid #b86f50}[data-direction=guild-hall] .tabbar{border-top:var(--border) solid #b86f50}[data-direction=guild-hall] .gold-row{color:var(--text-on-chrome-muted)}[data-direction=guild-hall] .guild-strip .gold{color:#fee761}[data-direction=guild-hall] .guild-strip .motivation{color:#feae34}[data-direction=guild-hall] .guild-strip .seniority{color:#e8b796}[data-direction=guild-hall] .tabbar .tab.active{color:#feae34;border-top-color:#feae34}[data-direction=guild-hall] button.send-btn,[data-direction=guild-hall] button.fight-btn,[data-direction=guild-hall] button.errand-btn,[data-direction=guild-hall] button.hire-btn,[data-direction=guild-hall] .buy-btn,[data-direction=guild-hall] .claim-btn,[data-direction=guild-hall] .segmented .seg,[data-direction=guild-hall] .chip,[data-direction=guild-hall] .skill-btn,[data-direction=guild-hall] .picker button,[data-direction=guild-hall] .retire-btn,[data-direction=guild-hall] .confirm-retire-btn,[data-direction=guild-hall] .cancel-btn,[data-direction=guild-hall] .help-toggle,[data-direction=guild-hall] .copy-btn,[data-direction=guild-hall] .danger-btn{border-style:solid;border-width:calc(7 * var(--px));border-color:#0000;border-image:url(/assets/ui/button_normal.png) 7 / calc(7 * var(--px)) stretch;image-rendering:pixelated;color:#ead4aa;text-shadow:1px 1px #3e2731;padding-top:calc(var(--space-10) - 7 * var(--px) + var(--space-4));padding-bottom:calc(var(--space-10) - 7 * var(--px) + var(--space-4));transition:transform var(--motion-press) var(--ease-out);background:#733e39 padding-box padding-box;border-radius:0}[data-direction=guild-hall] button.send-btn.send-secondary,[data-direction=guild-hall] .cancel-btn{color:#181425;text-shadow:none;background-color:#c28569;background-clip:padding-box}[data-direction=guild-hall] button:active:not(:disabled){transform:translateY(var(--px));background-color:#3e2731;background-clip:padding-box;border-image-source:url(/assets/ui/button_pressed.png)}[data-direction=guild-hall] button:disabled,[data-direction=guild-hall] .buy-btn:disabled,[data-direction=guild-hall] .claim-btn:disabled{opacity:1;color:#18142599;text-shadow:none;background-color:#b86f50;background-clip:padding-box;border-image-source:url(/assets/ui/button_disabled.png)}[data-direction=guild-hall] .skill-btn .skill-name,[data-direction=guild-hall] .skill-locked .skill-name{color:#ead4aa}[data-direction=guild-hall] .skill-unlock,[data-direction=guild-hall] .skill-locked .skill-unlock,[data-direction=guild-hall] button.fight-btn{color:#feae34}[data-direction=guild-hall] .skill-btn:disabled .skill-name{color:#18142599}[data-direction=guild-hall] .segmented .seg.active,[data-direction=guild-hall] .chip-equipped,[data-direction=guild-hall] .skill-active{color:#fee761;box-shadow:none}[data-direction=guild-hall] .skill-locked{color:#c28569}[data-direction=guild-hall] .claim-btn,[data-direction=guild-hall] .confirm-retire-btn{white-space:nowrap}[data-direction=guild-hall] .seal{width:calc(12 * var(--px));height:calc(12 * var(--px));margin-right:var(--space-4);vertical-align:middle;display:inline-block;position:relative}[data-direction=guild-hall] .seal:before,[data-direction=guild-hall] .seal:after{content:"";image-rendering:pixelated;background:url(/assets/ui/seal_confirm.png) 50%/100% 100% no-repeat;position:absolute;inset:0}[data-direction=guild-hall] .seal:before{clip-path:inset(0 50% 0 0)}[data-direction=guild-hall] .seal:after{clip-path:inset(0 0 0 50%)}[data-direction=guild-hall] .confirm-retire-btn .seal{width:calc(16 * var(--px));height:calc(16 * var(--px))}[data-direction=guild-hall] .modal .seal{animation:seal-stamp var(--motion-stamp) var(--ease-stamp)}[data-direction=guild-hall] .modal.claimed .seal:before{animation:seal-break-left var(--motion-beat) var(--ease-out) forwards}[data-direction=guild-hall] .modal.claimed .seal:after{animation:seal-break-right var(--motion-beat) var(--ease-out) forwards}[data-direction=guild-hall] .coin-burst{image-rendering:pixelated;background-color:#0000;background-image:url(/assets/ui/icon_gold.png);border-radius:0}[data-direction=guild-hall] .icon{width:calc(16 * var(--px));height:calc(16 * var(--px));margin-right:var(--space-4);vertical-align:middle;image-rendering:pixelated;background-size:100% 100%;display:inline-block}[data-direction=guild-hall] .icon:before{content:none}[data-direction=guild-hall] .icon-motivation{background-image:url(/assets/ui/icon_motivation.png)}[data-direction=guild-hall] .icon-gold{background-image:url(/assets/ui/icon_gold.png)}[data-direction=guild-hall] .icon-seniority{background-image:url(/assets/ui/icon_seniority.png)}[data-direction=guild-hall] .tabbar .icon{width:calc(12 * var(--px));height:calc(12 * var(--px));margin:0 auto var(--space-2);display:block}[data-direction=guild-hall] .icon-tab-board{background-image:url(/assets/ui/icon_tab_board.png)}[data-direction=guild-hall] .icon-tab-hero{background-image:url(/assets/ui/icon_tab_hero.png)}[data-direction=guild-hall] .icon-tab-retire{background-image:url(/assets/ui/icon_tab_retire.png)}[data-direction=guild-hall] .icon-tab-more{background-image:url(/assets/ui/icon_tab_more.png)}[data-direction=guild-hall] .tabbar .tab{padding-top:var(--space-6)}[data-direction=guild-hall] .toast,[data-direction=guild-hall] .coach-mark,[data-direction=guild-hall] .chore-row{border-style:solid;border-width:calc(4 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_note.png) 4 / calc(4 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);color:var(--text-primary);background-clip:padding-box;border-radius:0}[data-direction=guild-hall] .toast{padding:calc(var(--space-8) - 4 * var(--px) + var(--space-4)) calc(var(--space-12) - 4 * var(--px) + var(--space-2))}[data-direction=guild-hall] .toast-refusal{box-shadow:inset calc(2 * var(--px)) 0 0 #a22633;color:var(--text-primary)}[data-direction=guild-hall] .toast-network{box-shadow:inset calc(2 * var(--px)) 0 0 #feae34;color:var(--text-secondary)}[data-direction=guild-hall] .toast-info{box-shadow:inset calc(2 * var(--px)) 0 0 #265c42;color:#265c42}[data-direction=guild-hall] .coach-mark{padding:calc(var(--space-10) - 4 * var(--px) + var(--space-6)) calc(var(--space-12) - 4 * var(--px) + var(--space-2)) calc(var(--space-10) - 4 * var(--px) + var(--space-2))}[data-direction=guild-hall] .coach-mark:before{content:"";top:calc(-5 * var(--px));left:calc(3 * var(--px));width:calc(12 * var(--px));height:calc(12 * var(--px));image-rendering:pixelated;pointer-events:none;background:url(/assets/ui/pin.png) 50%/100% 100% no-repeat;position:absolute}[data-direction=guild-hall] .coach-arrow{background:var(--surface-raised);border-color:var(--text-secondary)}[data-direction=guild-hall] .cold-open-skip{border:var(--border-hair) solid var(--text-muted);color:var(--text-secondary);border-radius:0}[data-direction=guild-hall] .skeleton{background:#ead4aa40;border-radius:0}[data-direction=guild-hall] .boot-note,[data-direction=guild-hall] .boot-fail-note{color:var(--text-on-chrome-muted)}[data-direction=guild-hall] .boot-fail{color:var(--text-on-chrome)}[data-direction=guild-hall] .retire-goes{padding-left:var(--space-16)}[data-direction=guild-hall] .retire-goes li{padding:var(--space-4) 0;border-bottom:var(--border-hair) solid var(--divider)}[data-direction=guild-hall] .retire-guard,[data-direction=guild-hall] .retire-ineligible{color:var(--text-muted);font-style:italic}[data-direction=guild-hall] .retire-handshake{color:var(--text-secondary)}[data-direction=guild-hall] .streak-strip{border:var(--border-hair) solid var(--text-muted);gap:0}[data-direction=guild-hall] .streak-cell{border:0;border-right:var(--border-hair) solid var(--divider);color:var(--text-muted);background:0 0;border-radius:0;position:relative}[data-direction=guild-hall] .streak-cell:last-child{border-right:0}[data-direction=guild-hall] .streak-cell.streak-claimed{color:var(--text-secondary);background:0 0}[data-direction=guild-hall] .streak-cell.streak-claimed:after{content:"";width:calc(16 * var(--px));height:calc(16 * var(--px));image-rendering:pixelated;opacity:.85;pointer-events:none;background:url(/assets/ui/stamp_attended.png) 50%/100% 100% no-repeat;margin:auto;position:absolute;inset:0}[data-direction=guild-hall] .streak-cell.streak-today{box-shadow:inset 0 0 0 var(--border) #feae34;color:var(--text-primary)}[data-direction=guild-hall] .chore-list{gap:var(--space-8);padding:var(--space-4) var(--space-8) var(--space-8);background:var(--surface);display:grid}[data-direction=guild-hall] .chore-row{margin-top:var(--space-8);padding:calc(var(--space-8) - 4 * var(--px) + var(--space-6)) calc(var(--space-10) - 4 * var(--px) + var(--space-2)) calc(var(--space-8) - 4 * var(--px) + var(--space-2));position:relative}[data-direction=guild-hall] .chore-row:before{content:"";top:calc(-5 * var(--px));left:calc(50% - 6 * var(--px));width:calc(12 * var(--px));height:calc(12 * var(--px));image-rendering:pixelated;pointer-events:none;background:url(/assets/ui/pin.png) 50%/100% 100% no-repeat;position:absolute}[data-direction=guild-hall] .chore-bar{height:calc(3 * var(--px));background:#3e2731;border-radius:0}[data-direction=guild-hall] .chore-fill{background:#feae34}[data-direction=guild-hall] .chore-row.chore-done{opacity:1;color:var(--text-muted)}[data-direction=guild-hall] .chore-row.chore-done .chore-name,[data-direction=guild-hall] .chore-row.chore-done .chore-reward{color:var(--text-muted)}[data-direction=guild-hall] .chore-row.chore-done:after{content:"";top:var(--space-2);right:var(--space-4);width:calc(16 * var(--px));height:calc(16 * var(--px));image-rendering:pixelated;opacity:.85;pointer-events:none;background:url(/assets/ui/stamp_attended.png) 50%/100% 100% no-repeat;position:absolute}[data-direction=guild-hall] .sink-list.sink-coffee{border-style:solid;border-width:calc(7 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_modal.png) 7 / calc(7 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);padding:0 var(--space-4);background-clip:padding-box;border-radius:0}[data-direction=guild-hall] .spend-balance{align-items:center;gap:var(--space-2);font-family:var(--font-numeric);color:var(--motivation);font-size:24px;line-height:1;display:inline-flex}[data-direction=guild-hall] .spend-balance .icon{width:calc(12 * var(--px));height:calc(12 * var(--px));margin-right:0}[data-direction=guild-hall] .achievement-list{gap:var(--space-8);display:grid}[data-direction=guild-hall] .achievement-row{border-style:solid;border-width:calc(6 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_plaque.png) 6 / calc(6 * var(--px)) repeat;image-rendering:pixelated;padding:calc(var(--space-8) - 6 * var(--px) + var(--space-4)) calc(var(--space-10) - 6 * var(--px) + var(--space-4));color:#ead4aa;background:#3e2731 padding-box padding-box}[data-direction=guild-hall] .achievement-name{color:#ead4aa;font-family:var(--font-display);font-size:24px;line-height:1}[data-direction=guild-hall] .achievement-reward{color:#fee761}[data-direction=guild-hall] .achievement-req{color:#e8b796}[data-direction=guild-hall] .achievement-row.achievement-locked{border-width:var(--border);border-style:dashed;border-color:var(--text-disabled);padding:var(--space-8) var(--space-10);background:0 0;border-image:}[data-direction=guild-hall] .achievement-row.achievement-locked .achievement-name,[data-direction=guild-hall] .achievement-row.achievement-locked .achievement-reward,[data-direction=guild-hall] .achievement-row.achievement-locked .achievement-req{color:var(--text-muted)}[data-direction=guild-hall] .bestiary-biome-name{font-family:var(--font-display);color:var(--text-primary);font-size:24px;line-height:1}[data-direction=guild-hall] .bestiary-cell{border-style:solid;border-width:calc(5 * var(--px));border-color:#0000;border-image:url(/assets/ui/panel_card.png) 5 / calc(5 * var(--px)) repeat;image-rendering:pixelated;background:var(--surface-raised);padding:var(--space-2) 0;background-clip:padding-box;border-radius:0}[data-direction=guild-hall] .bestiary-cell.bestiary-boss{border-width:calc(6 * var(--px));border-image:url(/assets/ui/panel_plaque.png) 6 / calc(6 * var(--px)) repeat;background:#3e2731}[data-direction=guild-hall] .bestiary-cell.bestiary-boss .bestiary-name{color:#ead4aa}[data-direction=guild-hall] .bestiary-cell.bestiary-unseen{border-width:var(--border);border-style:dashed;border-color:var(--text-disabled);padding:var(--space-6) var(--space-2);background:0 0;border-image:}[data-direction=guild-hall] .bestiary-cell.bestiary-unseen .bestiary-name{color:var(--text-muted)}[data-direction=guild-hall] .bestiary-cell.bestiary-unseen .bestiary-art:after,[data-direction=guild-hall] .bestiary-cell.bestiary-noart .bestiary-art:after{background:var(--surface-elevated);border-radius:0}[data-direction=guild-hall] .setting-row,[data-direction=guild-hall] .account-row,[data-direction=guild-hall] .help-entry{border-bottom:var(--border-hair) solid var(--divider)}[data-direction=guild-hall] .help-entry{padding-bottom:var(--space-8)}[data-direction=guild-hall] .help-title{color:var(--text-primary)}[data-direction=guild-hall] .soon-badge{border:var(--border-hair) dashed var(--text-muted);color:var(--text-muted);border-radius:0}[data-direction=guild-hall] .danger-btn{color:#ead4aa;background-color:#a22633}[data-direction=guild-hall] .delete-warning{color:#a22633}*{box-sizing:border-box}html,body{background:var(--surface);height:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);-webkit-font-smoothing:var(--font-smoothing);margin:0}#app{height:100%}h2{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking)}.guild-name,.hero-name,.retire-hero{font-family:var(--font-display);letter-spacing:var(--display-tracking)}.gold,.cost,.report-totals,.reveal-gain,.retire-preview strong{font-family:var(--font-numeric)}.shell{max-width:430px;height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;margin:0 auto;display:flex}.guild-strip{padding:var(--space-8) var(--space-12) var(--space-6);background:var(--chrome);border-bottom:var(--border) solid var(--chrome-line)}.guild-row{justify-content:space-between;align-items:baseline;display:flex}.guild-name{color:var(--text-on-chrome);letter-spacing:.5px;font-weight:700}.guild-currencies{gap:var(--space-12);display:flex}.motivation{color:var(--motivation)}.seniority{color:var(--seniority)}.gold-row{margin-top:var(--space-2);align-items:baseline;gap:var(--space-6);color:var(--text-muted);display:flex}.gold{color:var(--gold)}.offline-badge{padding:0 var(--space-6);border:var(--border-hair) solid var(--negative);border-radius:var(--radius-sm);color:var(--negative);font-size:var(--text-caption);text-transform:lowercase;margin-left:auto}.icon{font-style:normal}.icon:before{content:""}.icon-motivation:before{content:"◆ "}.icon-seniority:before{content:"★ "}.icon-gold:before{content:"gold "}.tabbar .icon{display:none}.content{padding:var(--space-8) var(--space-8) var(--space-16);flex:1;overflow-y:auto}.boot-note{padding:var(--space-32) var(--space-16);color:var(--text-muted);text-align:center}.card{width:100%;margin:0 0 var(--space-8);padding:var(--space-10) var(--space-12);background:var(--surface-raised);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;text-align:left;display:block}.chevron{color:var(--text-muted)}.hero-card.collapsed{cursor:pointer;color:var(--text-secondary)}.hero-card.collapsed:active,.hero-card.expanded{border-color:var(--chrome-line-strong)}.hero-name{color:var(--text-emphasis);font-weight:700}.formerly{color:var(--text-muted);font-weight:400}.zone-line{margin-top:var(--space-2);color:var(--text-secondary)}.mode-line{margin:var(--space-2) 0 var(--space-8);color:var(--positive)}.vignette{background:var(--vignette-bg);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:180px;display:flex;overflow:hidden}.vignette canvas{image-rendering:pixelated}.send-row,.fight-row{margin-top:var(--space-8)}button.fight-btn{width:100%;min-height:44px;padding:var(--space-10);background:var(--surface-elevated);border:var(--border) solid var(--attention);border-radius:var(--radius-md);color:var(--attention);font:inherit;cursor:pointer;font-weight:700}button.fight-btn:disabled{opacity:.5;cursor:default}button.send-btn{width:100%;padding:var(--space-10);background:var(--positive-surface);border:var(--border) solid var(--positive-deep);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer;font-weight:700}button.send-btn:disabled{opacity:.5;cursor:default}.picker{gap:var(--space-6);margin-top:var(--space-6);display:flex}.picker button{padding:var(--space-8) 0;background:var(--surface-elevated);border:var(--border) solid var(--chrome-line-strong);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;cursor:pointer;flex:1}.slot-locked{color:var(--text-muted);cursor:default;background:0 0;border-style:dashed}.slot-locked.slot-hireable{border-style:solid;border-color:var(--positive-deep);color:var(--text-primary);cursor:pointer}.slot-card.expanded{border-color:var(--positive-deep)}.hire-reason{margin-top:var(--space-4);color:var(--text-muted)}.hire-row{gap:var(--space-6);margin-top:var(--space-8);align-items:center;display:flex}button.hire-btn{padding:var(--space-10);background:var(--positive-surface);border:var(--border) solid var(--positive-deep);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer;flex:1;font-weight:700}button.hire-btn:disabled{opacity:.5;cursor:default}.hire-row .cancel-btn{padding:var(--space-10) var(--space-12);background:var(--surface-elevated);border:var(--border) solid var(--chrome-line-strong);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;cursor:pointer}.hire-line{margin-top:var(--space-4);color:var(--positive);font-weight:400}.send-all-row{margin-top:var(--space-8)}.tabbar{background:var(--chrome);border-top:var(--border) solid var(--chrome-line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid}.tabbar .tab{min-height:44px;padding:var(--space-12) 0 var(--space-10);border:none;border-top:var(--border) solid transparent;margin-top:calc(-1 * var(--border));color:var(--text-on-chrome-muted);font:inherit;cursor:pointer;background:0 0}.tabbar .tab.active{color:var(--accent);border-top-color:var(--accent)}.modal-backdrop{z-index:15;background:var(--scrim);padding:var(--space-24);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:360px;padding:var(--space-16);background:var(--chrome);border:var(--border) solid var(--chrome-line-strong);border-radius:var(--radius-lg)}.modal h2{color:var(--text-emphasis);margin:0}.modal-sub{margin:var(--space-2) 0 var(--space-10);color:var(--text-muted)}.story{margin:var(--space-8) 0;color:var(--text-secondary)}.report-totals{margin:var(--space-12) 0;color:var(--gold)}.modal-actions{gap:var(--space-8);display:flex}.modal-actions button{padding:var(--space-10);border-radius:var(--radius-md);font:inherit;cursor:pointer;flex:1;font-weight:700}button.claim-btn{background:var(--positive-surface);border:var(--border) solid var(--positive-deep);color:var(--text-emphasis)}.panel{padding:var(--space-16)}.panel h2{margin:0 0 var(--space-8);color:var(--text-emphasis)}.placeholder-note{color:var(--text-muted)}.offline-hint,.hint{margin-left:var(--space-8);color:var(--attention);font-size:var(--text-caption)}.hero-tab{overflow-y:visible}.hero-tab h2{margin:var(--space-16) 0 var(--space-8)}.hero-tab h2:first-child{margin-top:0}.segmented{z-index:1;gap:var(--space-4);padding:var(--space-4) 0 var(--space-8);background:var(--surface);grid-template-columns:repeat(4,1fr);display:grid;position:sticky;top:0}.segmented .seg{min-height:44px;padding:var(--space-6) 0;background:var(--surface-raised);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-md);color:var(--text-muted);font:inherit;cursor:pointer}.segmented .seg.active{border-color:var(--accent);color:var(--accent)}.upgrade-row{padding:var(--space-6) 0;border-bottom:var(--border-hair) solid var(--chrome-line)}.upgrade-main{align-items:center;gap:var(--space-8);white-space:nowrap;display:flex}.upgrade-name{text-overflow:ellipsis;overflow:hidden}.upgrade-level{color:var(--text-muted);font-size:var(--text-caption)}.buy-btn{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);background:var(--positive-surface);border:var(--border) solid var(--positive-deep);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer}.buy-btn:disabled{background:var(--surface-raised);border-color:var(--chrome-line);color:var(--text-disabled);cursor:default}.cost{color:var(--gold);margin-left:auto}.upgrade-subtitle{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-caption)}.gear-row{align-items:center;gap:var(--space-8);padding:var(--space-6) 0;border-bottom:var(--border-hair) solid var(--chrome-line);display:flex}.gear-slot{min-width:64px}.gear-empty{color:var(--text-muted)}.gear-chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.chip{min-width:44px;min-height:44px;padding:var(--space-8) var(--space-12);background:var(--surface-raised);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-xl);color:var(--text-secondary);font:inherit;font-size:var(--text-small);cursor:pointer}.chip-equipped{border-color:var(--accent-secondary);color:var(--accent-secondary)}.skills-row{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.skill-btn{align-items:center;gap:var(--space-4);padding:var(--space-10) var(--space-4);background:var(--surface-raised);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-lg);color:var(--text-primary);font:inherit;font-size:var(--text-small);cursor:pointer;flex-direction:column;display:flex;position:relative}.skill-btn:disabled{color:var(--text-muted);cursor:default}.skill-active{border-color:var(--accent);box-shadow:0 0 6px var(--accent)}.skill-locked{border-style:dashed;border-color:var(--attention);cursor:pointer}.skill-locked .skill-name{color:var(--text-muted)}.skill-locked .skill-ring{visibility:hidden}.skill-locked .skill-unlock{color:var(--attention)}.skill-ring{background:conic-gradient(var(--chrome-line-strong) calc(var(--cd,0) * 360deg), var(--positive-surface) 0);border-radius:50%;width:18px;height:18px}.skill-unlock{color:var(--text-muted);font-size:var(--text-caption);text-align:center;line-height:1.3}.toast-host{left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));gap:var(--space-6);pointer-events:none;z-index:10;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);border:var(--border) solid var(--chrome-line-strong);background:var(--chrome);color:var(--text-secondary);pointer-events:auto;display:flex}.toast-refusal{border-color:var(--negative);color:var(--text-primary)}.toast-network{border-color:var(--attention);color:var(--text-muted)}.toast-info{border-color:var(--positive-deep);color:var(--gold)}.toast-message{flex:1}.toast-dismiss{padding:0 var(--space-4);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none}.dev-footer{gap:var(--space-8);padding:var(--space-2) var(--space-8);background:var(--surface);border-top:var(--border-hair) solid var(--chrome-line);color:var(--text-disabled);font-size:var(--text-micro);white-space:nowrap;align-items:center;display:flex;overflow-x:auto}.dev-footer button{padding:1px var(--space-6);background:var(--surface-elevated);border:var(--border-hair) solid var(--chrome-line-strong);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer}.direction-switch{z-index:30;background:var(--scrim);border:var(--border-hair) solid var(--chrome-line-strong);border-radius:var(--radius-pill) 0 0 var(--radius-pill);min-width:44px;min-height:44px;color:var(--text-muted);font:inherit;font-size:var(--text-caption);cursor:pointer;opacity:.7;border-right:none;padding:0;position:fixed;top:50%;right:0;transform:translateY(-50%)}.name-flip{animation:name-flip var(--motion-reveal) var(--ease-out);transform-origin:50%;display:inline-block}@keyframes name-flip{0%{opacity:0;transform:rotateX(90deg)}60%{opacity:1;transform:rotateX(-20deg)}to{transform:rotateX(0)}}.retire-hero{color:var(--text-emphasis);margin-bottom:var(--space-8);font-weight:700}.retire-reveal{border:var(--border-hair) solid var(--chrome-line-strong);border-radius:var(--radius-md);padding:var(--space-10);margin:var(--space-8) 0}.reveal-gain{color:var(--gold)}.reference{color:var(--text-muted);font-style:italic}.retire-preview strong{color:var(--gold)}.retire-handshake{color:var(--attention)}.retire-goes{color:var(--text-secondary);padding-left:var(--space-16)}.retire-goes li{margin:var(--space-4) 0}.retire-guard{color:var(--attention)}.retire-ineligible{color:var(--text-secondary)}.retire-btn,.confirm-retire-btn{padding:var(--space-8) var(--space-12);background:var(--positive-deep);border:var(--border-hair) solid var(--positive);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer}.retire-btn:disabled,.confirm-retire-btn:disabled{opacity:.5;cursor:default}.cancel-btn{padding:var(--space-8) var(--space-12);background:var(--surface-elevated);border:var(--border-hair) solid var(--chrome-line-strong);border-radius:var(--radius-md);color:var(--text-muted);font:inherit;cursor:pointer}.more-tab{overflow-y:auto}.more-section{margin-bottom:var(--space-24)}.more-section h2{margin:0 0 var(--space-8);color:var(--text-emphasis);justify-content:space-between;align-items:baseline;display:flex}.section-count,.spend-balance{color:var(--text-muted);font-size:var(--text-small);font-weight:400}.streak-strip{gap:var(--space-4);margin:0 0 var(--space-10);grid-template-columns:repeat(7,1fr);padding:0;list-style:none;display:grid}.streak-cell{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-4) 0;border:var(--border) solid var(--chrome-line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-muted);font-size:var(--text-micro);flex-direction:column;display:flex}.streak-cell.streak-claimed{border-color:var(--positive-deep);background:var(--positive-surface);color:var(--text-secondary)}.streak-cell.streak-today{border-color:var(--accent);color:var(--accent)}.streak-motivation{color:var(--accent-secondary);font-size:var(--text-small)}.streak-cell.streak-claimed .streak-motivation{color:var(--text-secondary)}.claim-row{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.claim-note{color:var(--text-muted);font-size:var(--text-small)}.claim-btn{min-height:44px;padding:var(--space-10) var(--space-16);background:var(--positive-surface);border:var(--border) solid var(--positive-deep);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer}.claim-btn:disabled{background:var(--surface-raised);border-color:var(--chrome-line-strong);color:var(--text-muted);cursor:default}.chore-reset{margin-bottom:var(--space-8);color:var(--text-muted);font-size:var(--text-small);display:block}.chore-list,.sink-list,.achievement-list{margin:0;padding:0;list-style:none}.chore-row{padding:var(--space-8) 0;border-bottom:var(--border-hair) solid var(--divider)}.chore-row.chore-done{opacity:.6}.chore-head,.chore-foot,.sink-head,.sink-foot{justify-content:space-between;align-items:center;gap:var(--space-8);display:flex}.chore-foot,.sink-foot{min-height:44px}.chore-name,.sink-name{color:var(--text-emphasis)}.chore-count{color:var(--text-secondary);font-size:var(--text-small)}.chore-req,.sink-effect{margin:var(--space-2) 0 var(--space-6);color:var(--text-muted);font-size:var(--text-small)}.chore-bar{border-radius:var(--radius-pill);background:var(--surface-raised);height:6px;overflow:hidden}.chore-fill{background:var(--positive);height:100%}.chore-reward,.sink-cost{color:var(--accent-secondary)}.chore-claimed{color:var(--text-muted);font-size:var(--text-small)}.sink-row{padding:var(--space-8) 0;border-bottom:var(--border-hair) solid var(--divider)}.sink-list.sink-coffee{margin-bottom:var(--space-12);padding:var(--space-4) var(--space-10);border:var(--border) solid var(--attention);border-radius:var(--radius-md)}.sink-list.sink-coffee .sink-name{color:var(--attention);font-size:var(--text-large)}.sink-list.sink-coffee .sink-row:last-child{border-bottom:none}.sink-who{color:var(--text-muted);font-size:var(--text-small)}.sink-row.sink-blocked .sink-name,.sink-row.sink-blocked .sink-cost{color:var(--text-muted)}.sink-reason{color:var(--attention);font-size:var(--text-caption)}.sink-buy{min-width:64px;min-height:44px;padding:var(--space-10) var(--space-16)}.achievement-row{align-items:baseline;gap:0 var(--space-8);padding:var(--space-8) 0;border-bottom:var(--border-hair) solid var(--divider);grid-template-columns:1fr auto;display:grid}.achievement-name{color:var(--text-emphasis)}.achievement-reward{color:var(--accent-secondary);grid-area:1/2}.achievement-req{color:var(--text-muted);font-size:var(--text-small);grid-column:1/-1}.achievement-row.achievement-locked .achievement-name,.achievement-row.achievement-locked .achievement-reward{color:var(--text-muted)}.bestiary-biome{margin-bottom:var(--space-12)}.bestiary-biome-name{margin:0 0 var(--space-6);color:var(--text-secondary);font-size:var(--text-small);font-weight:400}.bestiary-grid{gap:var(--space-6);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.bestiary-cell{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-2);border:var(--border) solid var(--chrome-line);border-radius:var(--radius-md);background:var(--surface-raised);font-size:var(--text-micro);text-align:center;flex-direction:column;display:flex}.bestiary-cell.bestiary-boss{border-color:var(--attention)}.bestiary-art{justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.bestiary-sprite{image-rendering:pixelated}.bestiary-cell.bestiary-noart .bestiary-art:after{content:"";border-radius:var(--radius-sm);background:var(--chrome-line-strong);width:28px;height:28px}.bestiary-cell.bestiary-unseen{border-style:dashed}.bestiary-cell.bestiary-unseen .bestiary-art:after{content:"";border-radius:var(--radius-sm);background:var(--surface-elevated);width:28px;height:28px}.bestiary-name{color:var(--text-secondary)}.bestiary-cell.bestiary-unseen .bestiary-name{color:var(--text-muted)}.setting-row,.account-row{justify-content:space-between;align-items:center;gap:var(--space-8);min-height:44px;display:flex}.setting-label{color:var(--text-secondary)}.setting-note,.setting-version{margin:0 0 var(--space-12);color:var(--text-muted);font-size:var(--text-caption)}.soon-badge{padding:var(--space-4) var(--space-8);border:var(--border-hair) dashed var(--chrome-line-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption)}.account-id{color:var(--text-secondary)}.copy-btn{min-height:44px;padding:var(--space-10) var(--space-12);background:var(--surface-raised);border:var(--border) solid var(--chrome-line-strong);border-radius:var(--radius-md);color:var(--text-secondary);font:inherit;cursor:pointer}.danger-btn{width:100%;min-height:44px;margin-top:var(--space-8);padding:var(--space-10) var(--space-16);background:var(--surface-raised);border:var(--border) solid var(--negative);border-radius:var(--radius-md);color:var(--negative);font:inherit;cursor:pointer}.danger-btn:disabled{border-color:var(--chrome-line-strong);color:var(--text-muted);cursor:default}.modal-actions .danger-btn{width:auto;margin-top:0}.delete-warning{margin:0 0 var(--space-8);color:var(--text-emphasis)}.delete-note{margin:0 0 var(--space-12);color:var(--text-muted);font-size:var(--text-small)}.boot-screen{gap:var(--space-10);padding:var(--space-16);flex-direction:column;flex:1;display:flex}.skeleton{border-radius:var(--radius-md);background:var(--surface-raised)}.skeleton-strip{height:44px}.skeleton-card{height:220px}.skeleton-row{height:36px}.boot-fail{margin:var(--space-24) 0 var(--space-4);color:var(--text-emphasis);font-size:var(--text-large)}.boot-fail-note{margin:0 0 var(--space-16);color:var(--text-muted)}.coach-mark{z-index:12;max-width:280px;padding:var(--space-10) var(--space-12);background:var(--chrome);border:var(--border) solid var(--accent);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;position:fixed}.coach-text{margin:0}.coach-arrow{background:var(--chrome);border:var(--border) solid var(--accent);width:10px;height:10px;position:absolute;transform:rotate(45deg)}.coach-above .coach-arrow{border-top-color:#0000;border-left-color:#0000;bottom:-7px}.coach-below .coach-arrow{border-bottom-color:#0000;border-right-color:#0000;top:-7px}.cold-open-foot{justify-content:space-between;align-items:center;gap:var(--space-8);margin-top:var(--space-8);font-size:var(--text-caption);color:var(--text-muted);display:flex}.cold-open-skip{min-height:32px;padding:var(--space-4) var(--space-10);border:var(--border-hair) solid var(--chrome-line-strong);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0}.send-row.with-errand{gap:var(--space-6);flex-direction:column;display:flex}button.errand-btn{width:100%;min-height:44px;padding:var(--space-10);background:var(--positive-surface);border:var(--border) solid var(--accent);border-radius:var(--radius-md);color:var(--text-emphasis);font:inherit;cursor:pointer;font-weight:700}button.errand-btn:disabled{opacity:.5;cursor:default}button.send-btn.send-secondary{padding:var(--space-6);border-color:var(--chrome-line-strong);color:var(--text-muted);background:0 0;font-weight:400}[data-coach-active=upgrade] [data-coach=tab-hero],[data-coach-active=upgrade] [data-coach=upgrades],[data-coach-active=wall] [data-coach=tab-hero],[data-coach-active=wall] [data-coach=upgrades],[data-coach-active=errand] .errand-btn,[data-coach-active=claim] .modal .claim-btn,[data-coach-active=session2] [data-coach=tab-more],[data-coach-active=session2] .more-tab .claim-btn:not(:disabled),[data-coach-active=retire] [data-coach=tab-retire]{box-shadow:0 0 6px var(--accent);animation:coach-pulse var(--motion-pulse) var(--ease-in-out) infinite alternate}@keyframes coach-pulse{0%{box-shadow:0 0 4px var(--accent)}to{box-shadow:0 0 12px var(--accent)}}.help-note{margin:0 0 var(--space-8);color:var(--text-muted);font-size:var(--text-small)}.help-toggle{min-height:36px;padding:var(--space-6) var(--space-12);background:var(--surface-elevated);border:var(--border) solid var(--chrome-line-strong);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;cursor:pointer}.help-list{margin:var(--space-12) 0 0}.help-entry{margin:0 0 var(--space-12)}.help-title{color:var(--gold);font-weight:700}.help-body{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--text-body)}button{transition:transform var(--motion-press) var(--ease-out)}button:active:not(:disabled){transform:translateY(1px)}.tab-page{animation:page-enter var(--motion-quick) var(--ease-out)}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}}.card-enter{animation:card-enter var(--motion-reveal) var(--ease-out)}@keyframes card-enter{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.toast{animation:toast-in var(--motion-quick) var(--ease-out)}.toast-leaving{animation:toast-out var(--motion-leave) var(--ease-in-out) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}@keyframes seal-stamp{0%{opacity:.6;transform:scale(1.6)}}@keyframes seal-break-left{to{opacity:0;transform:translate(-6px,4px)rotate(-12deg)}}@keyframes seal-break-right{to{opacity:0;transform:translate(6px,4px)rotate(12deg)}}.coin-burst-host{z-index:16;pointer-events:none;position:fixed}.coin-burst{background:var(--gold);border-radius:var(--radius-pill);animation:coin-burst var(--motion-coin) var(--ease-in-out) var(--coin-delay) forwards;background-size:100% 100%;position:absolute;inset:0}@keyframes coin-burst{to{opacity:0;transform:translate(var(--coin-dx), var(--coin-dy)) scale(.6)}}.mode-line,.zone-line,.chore-reset,.gold-rate,.gold-row,.skill-ring{font-variant-numeric:tabular-nums}
