@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2)format("woff2"),url(/assets/archivo-latin-400-normal-Bl602Mgc.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-latin-500-normal-CGugC8dq.woff2)format("woff2"),url(/assets/archivo-latin-500-normal-pkzA7jw9.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2)format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}:root{--bg:#02070d;--panel:#141618;--panel-2:#1c2227;--line:#273036;--text:#c8ced2;--muted:#7e8a93;--faint:#53616e;--accent:#ce94c1;--accent-2:#927092;--accent-bg:#2d1f35;--brand:#bf4342;--brand-strong:#7c1e25;--brand-on:#fbe7e6;--buy:#a9d7ec;--buy-fill:#1f7fb4;--sell:#ef4c4d;--sell-fill:#c92733;--flat:#9bb0be;--flat-fill:#3c5365;--online:#689689;--gold:#e8c170;--danger:#ef4c4d;--font-display:"Bricolage Grotesque Variable", "Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--radius:14px;--tabbar-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}h2{margin:0 0 4px;font-size:1.25rem}.app{max-width:640px;min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));margin:0 auto}.topbar{z-index:10;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{letter-spacing:.04em;color:var(--accent);font-weight:700}.gold,.gold-text{color:var(--gold);font-weight:600}.active-strip{top:calc(49px + env(safe-area-inset-top));z-index:9;background:var(--panel);border:none;border-bottom:1px solid var(--line);text-align:left;flex-direction:column;gap:6px;width:100%;padding:8px 16px;font-size:.875rem;display:flex;position:sticky}.content{padding:8px 16px 24px}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 8px;font-size:.8rem}.muted{color:var(--muted)}.small{font-size:.8rem}.row{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-list{flex-direction:column;gap:10px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;gap:8px;width:100%;padding:14px;display:flex}.card.running{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.card.locked{opacity:.55}.skill-card{flex-direction:row;align-items:center;gap:14px}.skill-icon{background:var(--panel-2);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.75rem;display:grid}.skill-icon.big{width:60px;height:60px;font-size:2.25rem}.skill-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.skill-header{align-items:center;gap:14px;margin:8px 0;display:flex}.back{color:var(--accent);background:0 0;border:none;padding:8px 0}.bar{background:var(--panel-2);border-radius:99px;height:8px;overflow:hidden}.bar-fill{border-radius:99px;height:100%;transition:width .1s linear}.bar-xp .bar-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent))}.bar-action .bar-fill{background:linear-gradient(90deg, var(--flat-fill), var(--buy-fill))}.btn{border:1px solid var(--line);background:var(--panel-2);white-space:nowrap;border-radius:10px;min-height:40px;padding:8px 16px}a.btn{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.btn.primary:active{background:var(--brand-strong)}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.wide{width:100%;margin-top:8px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--panel-2);border-radius:99px;padding:3px 8px;font-size:.8rem}.item-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;display:grid}.item-tile{aspect-ratio:1;background:var(--panel);border:1px solid var(--line);border-radius:12px;place-items:center;display:grid;position:relative}.item-icon{font-size:1.75rem}.item-qty{font-size:.75rem;font-weight:600;position:absolute;bottom:4px;right:6px}.dev{border:1px dashed var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;margin-top:24px;padding:12px;display:flex}.dev summary{color:var(--muted);cursor:pointer}.dev[open]>*+*{margin-top:12px}.tabbar{z-index:10;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{max-width:160px;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;display:flex}.tabbar button.on{color:var(--accent)}.tab-icon{font-size:1.35rem}.toast{left:50%;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px);z-index:30;background:var(--panel-2);border:1px solid var(--accent);white-space:nowrap;border-radius:99px;padding:10px 16px;font-size:.9rem;animation:.2s ease-out pop;position:fixed;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}.sheet-backdrop{z-index:40;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;max-height:85dvh;padding:12px 20px calc(20px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);border-radius:20px 20px 0 0;animation:.22s ease-out slide;overflow-y:auto}@keyframes slide{0%{opacity:0;transform:translateY(40px)}}.sheet-handle{background:var(--line);border-radius:99px;width:40px;height:4px;margin:0 auto 12px}.summary{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}@media (width>=720px){.sheet-backdrop{align-items:center}.sheet{border:1px solid var(--line);border-radius:20px}}.area-banner{border-style:dashed;border-color:var(--line);color:var(--muted);gap:4px;margin-bottom:12px}.badge-inline{background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-radius:99px;padding:2px 8px;font-size:.7rem}.error-text{color:var(--danger)}.form{flex-direction:column;gap:12px;display:flex}.input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:10px;padding:10px 14px;font-size:1rem}.input:focus{outline:2px solid var(--accent);outline-offset:1px}.code-input{letter-spacing:.4em;text-align:center;font-size:1.6rem;font-family:var(--font-mono)}.btn-link{color:var(--accent);background:0 0;border:none;padding:4px}.error-text{overflow-wrap:anywhere}.action-effect{color:var(--accent);margin:4px 0 2px}:root{--r-common:#9bb0be;--r-uncommon:#5fd38d;--r-rare:#4ea3ff;--r-epic:#b77cff;--r-legendary:#e8c170;--r-mythic:#3fe0d0}.item-tile.rarity-uncommon{border-color:var(--r-uncommon)}.item-tile.rarity-rare{border-color:var(--r-rare);box-shadow:0 0 10px color-mix(in srgb, var(--r-rare) 35%, transparent)}.item-tile.rarity-epic{border-color:var(--r-epic);box-shadow:0 0 12px color-mix(in srgb, var(--r-epic) 40%, transparent)}.item-tile.rarity-legendary{border-color:var(--r-legendary);box-shadow:0 0 14px color-mix(in srgb, var(--r-legendary) 45%, transparent)}.item-tile.rarity-mythic{border-color:var(--r-mythic);box-shadow:0 0 16px color-mix(in srgb, var(--r-mythic) 50%, transparent)}.rarity-label{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem;font-weight:700}.rarity-label.rarity-common{color:var(--r-common)}.rarity-label.rarity-uncommon{color:var(--r-uncommon)}.rarity-label.rarity-rare{color:var(--r-rare)}.rarity-label.rarity-epic{color:var(--r-epic)}.rarity-label.rarity-legendary{color:var(--r-legendary)}.rarity-label.rarity-mythic{color:var(--r-mythic)}.expand-btn{width:100%;margin-bottom:12px}.bonuses{margin-bottom:12px}.dev-note{border:1px dashed var(--gold);color:var(--gold);border-radius:10px;margin:0;padding:8px 12px;font-size:.85rem}.expertise{align-items:center;gap:8px;display:flex}.expertise-bar{background:var(--panel-2);border-radius:99px;flex:1;height:4px;overflow:hidden}.expertise-bar .bar-fill{background:var(--r-rare)}.finds{margin-bottom:12px}.finds summary{cursor:pointer}.finds ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.finds li{text-transform:none;letter-spacing:normal;font-size:.9rem}.tool-card{margin-bottom:12px}.tool-card .row{flex-wrap:wrap}.board-chips{scrollbar-width:none;gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex;overflow-x:auto}.board-chip{border:1px solid var(--line);white-space:nowrap;padding:6px 12px}.board-chip.on{border-color:var(--accent);color:var(--accent)}.board{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board-row{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.board-row.me{border-color:var(--gold)}.board-mine{margin-top:10px}.board-rank{text-align:center;font-weight:700}.board-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.board-xp{font-variant-numeric:tabular-nums;white-space:nowrap}.avatar{object-fit:cover;background:var(--panel-2);border:1px solid var(--line);vertical-align:middle;border-radius:50%;flex-shrink:0}.avatar-fallback{color:var(--accent);place-items:center;font-weight:700;display:inline-grid}.profile-header{flex-direction:row;align-items:center;gap:14px;margin-top:8px}.profile-header.plain{margin-bottom:12px;display:flex}.profile-id{flex:1;min-width:0}.profile-name{text-overflow:ellipsis;font-size:1.25rem;font-weight:700;overflow:hidden}.skill-board{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.skill-board-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.skill-tile{background:var(--panel-2);border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.event-card .event-desc{margin:0}.goal{flex-direction:column;gap:4px;display:flex}.tier-chip{color:var(--muted)}.tier-chip.on{color:var(--gold);background:color-mix(in srgb, var(--gold) 15%, var(--panel-2))}.my-share{background:var(--panel-2);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.skill-tile.maxed{box-shadow:0 0 0 1px var(--gold) inset}.skill-tile-icon{font-size:1.3rem}.skill-tile-level{font-variant-numeric:tabular-nums;font-weight:700}.skill-tile-level .muted{font-size:.75rem;font-weight:400}.skill-board-total{margin-top:10px;padding:0 4px}.field-label{font-size:.85rem;font-weight:600}.avatar-form{margin-top:20px}.avatar-preview{align-items:center;gap:10px;display:flex}.board-row{text-align:left;width:100%;font:inherit;color:inherit}.board-name{align-items:center;gap:8px;display:flex}.player-name{align-items:center;gap:4px;min-width:0;display:inline-flex}.crown{filter:drop-shadow(0 0 2px #00000080);flex-shrink:0}.crown-admin{fill:var(--gold)}.crown-moderator{fill:#c9d3dc}.mod-entry{border-color:color-mix(in srgb, var(--gold) 40%, var(--line));flex-direction:row;justify-content:space-between;align-items:center;margin-top:12px}.mod-item .board-name{gap:10px}.mod-note{margin:0;font-style:italic}.mod-form{margin-top:12px}.report-link{color:var(--muted);margin-top:12px;font-size:.85rem}.report-form,.report-done{margin-top:12px}.tonic-card,.bait-card,.active-tonics{margin-bottom:12px}.tonic-card .row,.bait-card .row{flex-wrap:wrap}.drink-row{gap:8px;margin-bottom:12px;display:flex}.drink-row .input{flex:1;min-height:40px}.order-card.done{opacity:.6}.rarity-text.rarity-uncommon{color:var(--r-uncommon)}.rarity-text.rarity-rare{color:var(--r-rare)}.rarity-text.rarity-epic{color:var(--r-epic)}.rarity-text.rarity-legendary{color:var(--r-legendary)}.donate-row .btn-row .btn{flex:1}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.segmented button{min-height:36px;color:var(--muted);background:0 0;border:none;border-radius:9px;flex:1}.segmented button.on{background:var(--panel-2);color:var(--text);font-weight:600}.reason-form{gap:8px}.filter-chips{margin-top:8px}.directory-row{gap:6px}.directory-id{flex-direction:column;min-width:0;display:flex}.directory-id .small{text-overflow:ellipsis;overflow:hidden}.badge-inline.warn{color:var(--danger);border:1px solid var(--danger)}.audit-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.audit-entry{background:var(--panel-2);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.audit-reason{font-style:italic}.trip.returned{border-color:var(--gold)}.route-desc{margin:0}.route-send{flex-wrap:wrap}.select{flex:1;min-width:0;min-height:40px;padding:6px 10px}.rarity-chip.rarity-uncommon{color:var(--r-uncommon)}.rarity-chip.rarity-rare{color:var(--r-rare)}.rarity-chip.rarity-epic{color:var(--r-epic)}.rarity-chip.rarity-legendary{color:var(--r-legendary)}.crate-contents li{text-transform:none;letter-spacing:normal;font-size:.95rem}.player-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--gold);font-size:.75rem;font-weight:500;display:block;overflow:hidden}.board-who{flex-direction:column;min-width:0;display:flex;overflow:hidden}.profile-id .player-title{margin:2px 0}.title-picker{gap:8px}.title-chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.title-chip.on{border-color:var(--gold);color:var(--gold)}.profile-titles{margin-top:12px}.event-board{flex-direction:column;gap:6px;display:flex}.event-board-toggle{align-self:flex-start;padding:6px 0}.event-board-row{background:var(--panel-2);grid-template-columns:32px 1fr auto;padding:8px 10px}.event-board .board-mine{margin-top:6px}.hp-bar{background:var(--panel-2);border-radius:99px;height:16px;margin:4px 0 8px;position:relative;overflow:hidden}.hp-bar .bar-fill{height:100%;transition:width .15s linear}.hp-player .bar-fill{background:linear-gradient(90deg,#2f9e6b,#5fd394)}.hp-enemy .bar-fill{background:linear-gradient(90deg, #a83b45, var(--danger))}.hp-text{color:var(--text);text-shadow:0 1px 2px #0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loadout .gear-list{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.small-btn{padding:4px 10px;font-size:.8rem}.food-pick{gap:8px}.food-pick .select{flex:1;min-width:0}.zone-card summary{cursor:pointer}.zone-card>.card-list{margin-top:8px}.enemy-card.boss{border-color:var(--gold)}.boss-chip{color:var(--gold);border-color:var(--gold);font-size:.7rem}.chip.risky{color:var(--gold)}.chip.danger{color:var(--danger)}.enemy-card .drops ul{margin:6px 0 0;padding-left:18px}.feedback-form .segmented{margin-bottom:0}.feedback-form .segmented button{padding:0 4px;font-size:.85rem}.feedback-message{resize:vertical;min-height:120px;line-height:1.4}.feedback-count{text-align:right;margin-top:-8px}.feedback-check{align-items:flex-start;gap:10px;display:flex}.feedback-check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0}.feedback-error{overflow-wrap:anywhere;display:block}.feedback-details summary{cursor:pointer}.feedback-details dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:.85rem;display:grid}.feedback-details dt{color:var(--muted)}.feedback-details dd{overflow-wrap:anywhere;margin:0}.feedback-error-log{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:180px;margin:8px 0 0;padding:8px 10px;font-size:.75rem;overflow:auto}.feedback-entry{gap:10px}.feedback-link{align-self:flex-start;padding:4px 0;font-size:.85rem}.feedback-item.feedback-new{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.feedback-item.feedback-resolved{opacity:.8}.feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.badge-inline.feedback-status-new{color:var(--accent)}.badge-inline.feedback-status-resolved{color:#5fd38d}.playtest-banner{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line));background:color-mix(in srgb, var(--gold) 8%, var(--panel));align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 6px 10px 12px;display:flex}.playtest-icon{line-height:1.4}.playtest-text{flex:1;min-width:0;line-height:1.4}.playtest-link{font-size:inherit;padding:0;text-decoration:underline}.playtest-close{width:32px;height:32px;color:var(--muted);background:0 0;border:none;border-radius:8px;flex-shrink:0;margin:-4px 0;font-size:1.3rem;line-height:1}.playtest-close:hover{background:var(--panel-2);color:var(--text)}.whats-new{flex-direction:column;gap:16px;margin:12px 0 16px;display:flex}.whats-new-entry ul{margin:6px 0 0;padding-left:20px;line-height:1.45}.whats-new-entry li+li{margin-top:4px}.wt-goals{flex-direction:column;gap:4px;display:flex}.wt-goal{background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.wt-goal-icon{font-size:1.4rem;line-height:1}.wt-goal-text{overflow-wrap:anywhere;min-width:0}.wt-goal-text strong{font-variant-numeric:tabular-nums}.wt-progress{flex-direction:column;gap:6px;display:flex}.wt-track{background:var(--panel-2);border-radius:99px;height:12px;position:relative}.wt-fill{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:99px;height:100%;transition:width .3s}.wt-mark{border:2px solid var(--line);background:var(--panel);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%)}.wt-mark:last-child{transform:translate(-100%,-50%)}.wt-mark.on{border-color:var(--gold);background:var(--gold)}.wt-milestones{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.wt-milestones li{background:var(--panel-2);color:var(--muted);border-radius:8px;flex-direction:column;gap:2px;padding:6px 8px;font-size:.75rem;display:flex}.wt-milestones li.on{color:var(--gold);background:color-mix(in srgb, var(--gold) 15%, var(--panel-2))}.wt-ms-at{font-size:.85rem;font-weight:700}.wt-ms-reward{white-space:nowrap}.wt-ms-extra{color:var(--muted);margin:0}.wt-ms-extra.on{color:var(--gold)}.wt-me .bar{margin-top:2px}.wt-personal.on{color:var(--gold)}.wt-soon{color:var(--danger)}.boss-fight{border:1px solid var(--line);border-radius:10px;gap:6px;margin:8px 0;padding:8px 10px;display:grid}.segmented button{min-width:0;padding:0 4px;font-size:.85rem}.admin-event .btn-row{align-items:center}.admin-events-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 8px;font-size:.85rem}.admin-event{gap:6px}.admin-event code{overflow-wrap:anywhere;font-size:.75rem}.admin-event-cancelled{opacity:.7}.admin-event-goals{margin:0;padding-left:18px}.badge-inline.admin-event-status-active{color:var(--accent);border:1px solid var(--accent)}.badge-inline.admin-event-status-cancelled{color:var(--danger);border:1px solid var(--danger)}.admin-event-reason{overflow-wrap:anywhere}.admin-event-form{gap:10px;margin-top:8px}.admin-event-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.admin-field{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-field .input:disabled{opacity:.5}.admin-field textarea.input{resize:vertical}.admin-goal{border:1px solid var(--line);border-radius:10px;margin:6px 0;padding:8px}.app.welcome{padding-bottom:env(safe-area-inset-bottom)}.welcome-hero{padding:calc(48px + env(safe-area-inset-top)) 16px 8px;text-align:center}.welcome-brand{font-size:2rem}.welcome-tagline{color:var(--muted);margin:6px 0 0}.welcome-pitch{gap:10px;margin:8px 0 16px;padding:0;list-style:none;display:grid}.welcome-pitch li{align-items:flex-start;gap:12px;line-height:1.4;display:flex}.welcome-icon{flex:none;font-size:1.3rem}.welcome-card{gap:10px;display:grid}.welcome-card p{margin:0}.welcome-wait{text-align:center;margin-top:32px}.grail-forge summary{cursor:pointer}.grail-forge>.card-list{margin-top:8px}.grail-card{border-color:var(--accent)}.chip.missing{opacity:.55}.hall-of-fame summary{cursor:pointer}.hall-of-fame>.card-list{margin-top:8px}.hof-set.done{border-color:var(--gold)}.hof-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.hof-slot{border:1px dashed var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:6px 2px;display:flex}.hof-slot.filled{border-style:solid;border-color:var(--gold)}.hof-slot.ready{border-style:solid;border-color:var(--accent);cursor:pointer}.hof-slot.empty{opacity:.5}.hof-icon{font-size:1.3rem}.hof-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.hof-reward{color:var(--muted);margin:4px 0 6px}.hof-reward.done{color:var(--gold)}.legal-links{margin:8px 0 0}.delete-account{margin-top:10px}.delete-account summary{cursor:pointer;color:var(--muted)}.delete-account .input{width:100%;margin:6px 0}.brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;font-size:1.2rem;font-weight:800;display:flex}.brand-logo{width:30px;height:30px}.welcome-logo{width:112px;height:112px;margin:0 auto 10px;display:block}.welcome-brand{justify-content:center;margin:0;font-size:2.4rem}.invite-card{gap:10px}.invite-boost{background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:10px;margin:0;padding:8px 10px}.invite-link{align-items:center;gap:8px;min-width:0;display:flex}.invite-link code{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:.85rem;overflow:hidden}.invite-link .input{letter-spacing:.12em;flex:1;min-width:0}.invite-code{letter-spacing:.12em}.invite-rewards,.invite-recruits{gap:6px;margin:0;padding:0;list-style:none;display:grid}.invite-rewards li{align-items:center;gap:10px;display:flex}.invite-rewards li:not(.earned){opacity:.75}.invite-at{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:inline-grid}.invite-rewards li.earned .invite-at{background:var(--accent);border-color:var(--accent);color:var(--bg)}.invite-recruits li{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:6px;display:flex}.invite-enter{border-top:1px solid var(--line);gap:6px;padding-top:8px}.welcome-invite{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));margin:0 0 12px}.player-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--founder:#e8c170}.player-name.founder .player-name-text{color:var(--founder);text-shadow:0 0 8px color-mix(in srgb, var(--founder) 45%, transparent)}.look-picker{gap:8px}.look-preview{background:color-mix(in srgb, var(--bg) 60%, transparent);border-radius:10px;padding:8px 10px;font-weight:600}.crew-tag{color:var(--crew,var(--muted));letter-spacing:.04em;font-size:.8em;font-weight:700}.name-crew-tag{flex:none;margin-left:4px}.player-name.crew .player-name-text{color:var(--crew);text-shadow:0 0 8px color-mix(in srgb, var(--crew) 40%, transparent)}.crew-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;border-left:4px solid var(--crew,var(--line));gap:6px;display:grid}.crew-emblem{font-size:1.2em}.crew-page h4,.crew-found+h4{margin:16px 0 6px}.crew-preview{margin:0 0 6px}.crew-needs{gap:6px;margin:6px 0;padding:0;list-style:none;display:grid}.crew-needs li{grid-template-columns:1fr auto;gap:2px 8px;display:grid}.crew-needs li>:last-child{grid-column:1/-1}.crew-members{gap:6px}.crew-colour .crew-swatch{background:var(--crew);vertical-align:-1px;border-radius:50%;width:12px;height:12px;display:inline-block}.crew-emblem-chip{font-size:1.1rem}.crew-found,.crew-settings{gap:8px}.crew-settings[open]{display:grid}.crew-pending{flex-basis:100%}.crew-leave{margin-top:12px}.check-row{align-items:center;gap:8px;display:flex}.danger-link{color:var(--danger)}.crew-treasury{gap:6px;display:grid}.crew-treasury .row strong{font-size:1.3rem}.crew-raid{border-top:1px solid var(--line);gap:4px;padding-top:8px;display:grid}.crew-ledger-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.crew-ledger-list li{grid-template-columns:1fr auto;gap:0 8px;display:grid}.crew-ledger-list li>:last-child{grid-column:1/-1;font-size:.85em}.crew-board-toggle{margin-bottom:8px}:root{--cardboard:#a9855c;--chrome:#c4913f;--holo:#2fb39a}.trader-offer.done{opacity:.6}.trader-tiers{gap:6px;margin-top:8px}.equipment-card summary{cursor:pointer}.equipment-card[open]{gap:8px}.equipment-card[open]>summary{margin-bottom:4px}.loadout-switcher .chips{justify-content:flex-end}.avatar.cardboard-frame{border:2px dashed var(--cardboard)}.avatar.chrome-frame{border:2px solid var(--chrome);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--chrome)}.avatar.holo-frame{border:2px solid var(--holo);box-shadow:0 0 0 2px #e8f4f2b3, 0 0 12px color-mix(in srgb, var(--holo) 55%, transparent)}.guide-card{border-color:var(--accent);gap:6px;margin-bottom:12px}.guide-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.guide-step.claimed{opacity:.55}.guide-step.ready{font-weight:600}.guide-hint{gap:8px;margin-top:2px;padding-left:26px}.guide-card .link-btn{cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:0;text-decoration:underline}:root{--buy-on:#eaf6fc}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.trend-up{color:var(--buy)}.trend-down{color:var(--sell)}.trend-flat{color:var(--flat)}.view-toggle,.range-toggle{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:4px;padding:4px;display:flex}.view-toggle{margin:8px 0 4px}.view-toggle.sub{flex-wrap:wrap;margin:4px 0 10px}.view-toggle.sub button{white-space:nowrap;flex:auto;min-height:32px;padding:0 8px;font-size:.8rem}details.pinned>summary{cursor:default;list-style:none}details.pinned>summary::-webkit-details-marker{display:none}.view-toggle button,.range-toggle button{min-height:36px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;font-size:.9rem}.view-toggle button.on,.range-toggle button.on{background:var(--accent-bg);border-color:var(--accent-2);color:var(--accent)}.range-toggle{width:fit-content;margin:12px 0 8px}.range-toggle button{min-width:52px;min-height:32px;font-family:var(--font-mono);flex:none;font-size:.8rem}.networth-card{gap:2px;margin-top:8px}.networth-label{text-transform:uppercase;letter-spacing:.08em}.networth-value{overflow-wrap:anywhere;font-size:2rem;font-weight:500;line-height:1.2}.networth-parts{flex-wrap:wrap;gap:4px 16px;margin-top:4px;display:flex}.market-status.live:before{content:"";background:var(--online);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.coin-list{flex-direction:column;gap:8px;display:flex}.coin-row{grid-template-columns:40px minmax(0,1fr) 52px 86px;align-items:center;gap:8px;padding:12px;display:grid}.coin-icon{background:var(--panel-2);border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid}.coin-name{flex-direction:column;gap:1px;min-width:0;display:flex}.coin-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coin-held{color:var(--gold);white-space:nowrap}.coin-price{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:.9rem;display:flex}.sparkline{width:52px;height:28px;overflow:visible}.sparkline path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.disclaimer{text-align:center;color:var(--faint);margin-top:14px}.coin-tags{margin:4px 0}.chip.rug-chip{background:color-mix(in srgb, var(--sell-fill) 22%, transparent);color:var(--sell)}.coin-quote{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:4px;display:flex}.coin-quote-price{font-size:1.75rem;font-weight:500}.price-chart{background:var(--bg);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex;position:relative}.price-chart.empty{justify-content:center;align-items:center;min-height:140px}.price-chart svg{touch-action:pan-y;cursor:crosshair;width:100%;height:auto;max-height:260px;display:block;overflow:visible}.chart-readout,.chart-axis{justify-content:space-between;gap:8px;display:flex}.chart-readout .mono{color:var(--text)}.chart-axis{font-family:var(--font-mono);font-size:.7rem}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-cursor{stroke:var(--faint);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.trend-up .chart-line{stroke:var(--buy-fill)}.trend-down .chart-line{stroke:var(--sell-fill)}.trend-flat .chart-line{stroke:var(--flat)}.trend-up .chart-dot{fill:var(--buy)}.trend-down .chart-dot{fill:var(--sell)}.trend-flat .chart-dot{fill:var(--flat)}.trend-up .chart-fill-top{stop-color:var(--buy-fill);stop-opacity:.28}.trend-down .chart-fill-top{stop-color:var(--sell-fill);stop-opacity:.24}.trend-flat .chart-fill-top{stop-color:var(--flat-fill);stop-opacity:.3}.chart-fill-bottom{stop-color:var(--bg);stop-opacity:0}.price-chart.trend-up,.price-chart.trend-down,.price-chart.trend-flat{color:var(--text)}.coin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.coin-stats>div{background:var(--panel-2);border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.coin-stats dt{color:var(--muted);font-size:.75rem}.coin-stats dd{overflow-wrap:anywhere;margin:0;font-size:.9rem}@media (width>=520px){.coin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.trade-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:10px;padding:12px;display:flex}.side-toggle{grid-template-columns:1fr 1fr;gap:6px;display:grid}.side-toggle button{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);border-radius:10px;font-weight:600}.side-toggle .side-buy.on{border-color:var(--buy-fill);background:color-mix(in srgb, var(--buy-fill) 18%, transparent);color:var(--buy)}.side-toggle .side-sell.on{border-color:var(--sell-fill);background:color-mix(in srgb, var(--sell-fill) 18%, transparent);color:var(--sell)}.side-toggle button:disabled{opacity:.4;cursor:not-allowed}.trade-input{flex-direction:column;gap:4px;display:flex}.trade-input-box{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:8px;min-height:48px;padding:0 14px;display:flex}.trade-input-box:focus-within{outline:2px solid var(--accent);outline-offset:1px}.trade-input-box input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1.15rem}.pct-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pct-row .btn{min-height:36px;font-family:var(--font-mono);padding:4px 8px;font-size:.85rem}.trade-estimate{flex-direction:column;gap:4px;display:flex}.trade-estimate .row>:last-child{text-align:right;white-space:nowrap}.trade-estimate .error-text{margin:4px 0 0}.btn.trade-submit{margin-top:0;font-weight:600}.btn.trade-submit.buy{background:var(--buy-fill);border-color:var(--buy-fill);color:var(--buy-on)}.btn.trade-submit.sell{background:var(--sell-fill);border-color:var(--sell-fill);color:var(--brand-on)}.trade-note{text-align:center;margin:0}.trade-fill{gap:4px;padding:10px 12px}.trade-fill.buy{border-color:var(--buy-fill)}.trade-fill.sell{border-color:var(--sell-fill)}.coin-chip{color:var(--text)}.profile-wealth{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.profile-wealth .card{gap:2px;padding:10px 14px}.profile-wealth strong{font-size:1.1rem;font-weight:500}@media (width>=520px){.coin-row{grid-template-columns:40px minmax(0,1fr) 96px 110px;gap:12px;padding:12px 14px}.coin-row .sparkline{width:96px}}.news-strip{gap:6px;margin-top:12px;padding:10px 14px}.news-strip-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.news-line{align-items:center;gap:8px;min-width:0;display:flex}.news-line-icon{flex:none}.news-line-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.news-status{border:1px solid var(--line);text-align:center;text-transform:uppercase;letter-spacing:.06em;min-width:42px;color:var(--muted);border-radius:99px;flex:none;padding:1px 6px;font-size:.68rem;display:inline-block}.news-status.live{border-color:var(--accent-2);background:var(--accent-bg);color:var(--accent)}.news-status.upcoming{color:var(--text)}.news-status.over{color:var(--faint)}.news-item{gap:4px;padding:12px 14px}.news-item.news-over{opacity:.75}.news-item-head{align-items:baseline}.news-item-head>:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.news-type{white-space:nowrap;flex:none;font-size:.8rem}.news-headline{overflow-wrap:anywhere;font-size:.95rem}.coin-events .section-title{margin-top:4px}.coin-events{margin-bottom:12px}.coin-row.halted{opacity:.8}.rug-tag{white-space:nowrap}.rug-tag-halted{color:var(--sell)}.rug-tag-recovering{color:var(--flat)}.recovering-note{margin:8px 0}.rugged-note{border:1px solid color-mix(in srgb, var(--sell-fill) 60%, transparent);background:color-mix(in srgb, var(--sell-fill) 12%, transparent);border-radius:10px;margin:8px 0;padding:8px 12px}.signal-chip{border:1px dashed var(--line);background:var(--panel-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:10px 0 0;padding:8px 12px;display:flex}.signal-label{color:var(--muted)}.signal-reading{align-items:baseline;gap:6px;font-weight:600;display:inline-flex}.signal-arrow{font-size:1.15rem}.signal-note{flex-basis:100%}.side-toggle.three{grid-template-columns:repeat(3,1fr)}.side-toggle .side-order.on{border-color:var(--accent-2);background:var(--accent-bg);color:var(--accent)}.order-form{flex-direction:column;gap:10px;display:flex}.order-kinds{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.order-kinds button{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--muted);border-radius:9px;padding:4px 6px;font-size:.85rem}.order-kinds .side-buy.on{border-color:var(--buy-fill);background:color-mix(in srgb, var(--buy-fill) 18%, transparent);color:var(--buy)}.order-kinds .side-sell.on{border-color:var(--sell-fill);background:color-mix(in srgb, var(--sell-fill) 18%, transparent);color:var(--sell)}.order-kinds button:disabled{opacity:.4;cursor:not-allowed}.order-help{margin:0}.order-away{white-space:nowrap;flex:none}.orders{margin-top:4px}.coin-events+.trade-form,.trade-form+.orders{margin-top:12px}.order-list{flex-direction:column;gap:8px;display:flex}.order-row{border-left:3px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px}.order-row.buy{border-left-color:var(--buy-fill)}.order-row.sell{border-left-color:var(--sell-fill)}.order-main{flex-direction:column;gap:2px;min-width:0;display:flex}.order-kind{font-weight:600}.order-kind.buy{color:var(--buy)}.order-kind.sell{color:var(--sell)}.order-row .btn{flex:none}.summary .order-fill-buy{color:var(--buy)}.summary .order-fill-sell{color:var(--sell)}.segmented.wrap{flex-wrap:wrap}.segmented.wrap button{flex:1 0 auto;padding:0 8px}.market-event .admin-event-headline{overflow-wrap:anywhere}.market-event-size{font-family:var(--font-mono)}.chip.rug-chip.rug-chip-recovering{background:color-mix(in srgb, var(--flat-fill) 30%, transparent);color:var(--flat)}.stake-form{flex-direction:column;gap:10px;display:flex}.stake-coins{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.stake-coins button{border:1px solid var(--line);background:var(--panel);min-height:44px;color:var(--muted);border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;font-size:.85rem;display:flex}.stake-coins button.on{border-color:var(--accent-2);background:var(--accent-bg);color:var(--accent)}.stake-coins button:disabled{opacity:.4;cursor:not-allowed}.range-toggle.stake-terms{flex-wrap:wrap;margin:0}.range-toggle.stake-terms button:disabled{opacity:.4;cursor:not-allowed}.stake-row .rugged-note{margin:4px 0 0}.coin-stake,.bots,.leaks{margin-top:12px}.bots-foot{flex-wrap:wrap;gap:8px;margin-top:8px}.bot-card{border-left:3px solid var(--accent-2);gap:6px}.bot-card .row{flex-wrap:wrap;gap:8px}.bot-left{font-family:var(--font-mono);color:var(--online)}.bot-left.ending{color:var(--gold)}.bot-stats{margin:4px 0}.bot-actions .btn-row{margin:0}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.grid-levels{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.grid-levels li{border-left:3px solid var(--line);background:var(--panel-2);border-radius:6px;justify-content:space-between;gap:8px;padding:4px 8px;display:flex}.grid-levels li.buy{border-left-color:var(--buy-fill);color:var(--buy)}.grid-levels li.sell{border-left-color:var(--sell-fill);color:var(--sell)}.grid-levels li.idle{color:var(--flat)}.bot-form{flex-direction:column;gap:10px;display:flex}.bot-form .side-toggle button{padding:0 6px}.bot-form .range-toggle{flex-wrap:wrap;width:auto;margin:0}.bot-form .range-toggle button{min-width:40px}.bot-form .range-toggle button:disabled{opacity:.4;cursor:not-allowed}.bot-range{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=520px){.bot-range{grid-template-columns:1fr 1fr}}.leak-card{border-left:3px solid var(--accent-2);gap:4px}.leak-card .row{flex-wrap:wrap;gap:8px}.leak-verdict{color:var(--accent);font-weight:600}.leak-card.leak-over{border-left-color:var(--line)}.leak-card.leak-over .leak-verdict{color:var(--muted)}.leak-card.leak-true .leak-verdict{color:var(--text)}.read-leak{flex-direction:column;gap:8px;margin:8px 0;display:flex}.read-leak .btn{align-self:flex-start}.home-entry{color:var(--text);flex-direction:row;align-items:center;gap:14px;margin-bottom:12px}.home-needs .chip.ok{color:var(--muted)}.home-needs .chip.missing{box-shadow:0 0 0 1px var(--line) inset;color:var(--text)}.home-needs .chip.ok:before{content:"✓ ";color:var(--accent)}.room-card.done,.car-card.done{border-color:var(--gold)}.car-card.lambo{border-color:var(--accent);background:linear-gradient(135deg, var(--panel), var(--accent-bg))}.car-card.lambo.locked{opacity:.8}.garage-next{margin-bottom:10px}.home-top{border-color:var(--gold)}.place-and-car{margin:4px 0 10px}.chip.lambo-chip{color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.bull-run-banner{border:1px dashed var(--buy-fill);color:var(--text);align-items:center;gap:10px;margin-bottom:12px;display:flex}.bull-run-banner.live{background:color-mix(in srgb, var(--buy-fill) 14%, var(--panel));border-style:solid}.bull-run-banner strong{color:var(--buy)}.bull-run-icon{flex:none;font-size:1.6rem}.dao-bonus-line,.profile-grails{margin:6px 0}.admin-stats{flex-direction:column;gap:8px;display:flex}.admin-stats .section-title{margin:12px 0 0}.stats-table{border-collapse:collapse;width:100%;font-size:.875rem}.stats-table th,.stats-table td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}.stats-table th{color:var(--muted);font-weight:500}.stats-table td.mono{text-align:right;white-space:nowrap}.stats-bars{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;align-items:flex-end;gap:2px;height:96px;padding:8px;display:flex}.stats-bar{flex:1;align-items:flex-end;height:100%;display:flex}.stats-bar-fill{background:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:1px}
