.progress-level{max-width:420px;margin-top:12px}.xp-bar{background:var(--edge);border-radius:999px;height:8px;overflow:hidden}.xp-bar span{background:linear-gradient(90deg,#5fbf2a,#a6ff4d);border-radius:999px;height:100%;display:block}.xp-text{color:var(--ink-dim);flex-wrap:wrap;gap:2px 14px;margin:6px 0 0;font-size:13px;display:flex}.xp-text strong{color:var(--ink)}.xp-archetype{color:var(--gold)}.point-tiles{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.hero-tile.point-tile{grid-template-areas:"icon value""label label""sub sub"}.hero-tile.point-tile dd{white-space:nowrap}.point-total{color:var(--ink-faint);font-size:16px}.point-sub{color:var(--ink-faint);grid-area:sub;font-size:13px}.point-unspent{color:var(--gold)}.progress-updated{color:var(--ink-faint);margin:-8px 0 12px;font-size:13px}.progress-summary{color:var(--ink-dim);margin:0 0 14px}.list-controls .progress-summary{margin:0}.progress-panels{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:14px;display:grid}.progress-panels+.progress-panels{margin-top:14px}.progress-panels-small{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.progress-panels-wide{grid-template-columns:minmax(0,1fr)}.progress-panel-name{flex:1;min-width:0}.progress-panel-aside{color:var(--ink-faint);letter-spacing:.04em;text-transform:none;white-space:nowrap;flex-shrink:0;font-size:13px}.panel-sprite{width:16px;height:16px}.tile-grid{flex-wrap:wrap;gap:12px 10px;display:flex}.skill-cell{flex-direction:column;align-items:center;gap:4px;width:64px;display:flex}.ability-cell{width:104px}.skill-tile{--scale:2;--frame-u:30;--frame-v:93;width:calc(30px * var(--scale));height:calc(30px * var(--scale));background:url(/icons/tex/the_vault/gui/skill_widget.png) no-repeat;background-size:calc(256px * var(--scale));background-position:calc(var(--frame-u) * -1px * var(--scale)) calc(var(--frame-v) * -1px * var(--scale));image-rendering:pixelated;cursor:pointer;border:none;border-radius:6px;place-items:center;padding:0;transition:filter .15s,transform .15s;display:grid;position:relative}.skill-tile-sm{--scale:1.5}.frame-star{--frame-u:0}.frame-square{--frame-u:30}.frame-circle{--frame-u:60}.skill-tile.is-learned{--frame-v:62}.skill-tile:hover,.skill-tile:focus-visible{filter:brightness(1.2);transform:translateY(-1px)}.sprite-icon{object-fit:cover;object-position:top;width:32px;height:32px;image-rendering:pixelated}.skill-tile-sm .sprite-icon{width:24px;height:24px}.is-unlearned .sprite-icon{filter:grayscale(.85)brightness(.55)}.sprite-fallback{color:var(--ink-dim);font:400 15px var(--font-pixel);letter-spacing:.04em;background:#00000059;border-radius:3px;place-items:center;display:grid}.tile-badge{color:var(--gold-bright);text-shadow:0 1px 2px #000;font-size:15px;line-height:1;position:absolute;top:-5px;right:-5px}.tier-dots{align-items:center;gap:3px;height:8px;display:flex}.tier-dots i{background:var(--edge-strong);border-radius:1px;width:6px;height:6px}.tier-dots i.dot-learned{background:var(--gold)}.tier-dots i.dot-bonus{background:#63e2ff}.tier-text,.research-cost{font:400 17px var(--font-pixel);color:var(--ink-dim);line-height:1}.tier-bonus{color:#63e2ff}.research-cost{align-items:center;gap:3px;display:inline-flex}.spec-row{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.spec-icon{border:1px solid var(--edge);background:var(--bg-raised);cursor:pointer;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;display:grid}.spec-icon .sprite-icon{opacity:.5;width:16px;height:16px}.spec-icon .sprite-fallback{font-size:11px}.spec-icon:hover .sprite-icon,.spec-icon:focus-visible .sprite-icon,.spec-icon.is-chosen .sprite-icon{opacity:1}.spec-icon.is-chosen{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-deep)}.active-badge{color:var(--online);font:600 11px var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#4fe0b024;border-radius:999px;padding:0 7px}.tooltip.progress-tooltip{z-index:50;pointer-events:none;width:max-content;max-width:min(340px,100vw - 16px);max-height:calc(100vh - 16px);position:fixed;overflow:hidden}.progress-tooltip .tooltip-name,.progress-tooltip .tooltip-meta{margin-bottom:2px}.progress-description{white-space:pre-line;color:#b4b4b4;margin-top:6px}.greed-facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;display:grid}.greed-facts .hero-tile.point-tile{grid-template-columns:1fr;grid-template-areas:"value""label""sub"}.greed-flags{color:var(--ink-faint);flex-wrap:wrap;gap:6px 20px;margin:12px 0 14px;font-size:14px;display:flex}.greed-flags .flag-done{color:var(--completed)}.greed-map{overscroll-behavior:contain;border:1px solid var(--edge);border-radius:var(--radius);background:radial-gradient(circle at 50% 10%, #e8b04b14, transparent 60%), var(--bg-raised);cursor:grab;height:min(70vh,640px);position:relative;overflow:auto}.greed-map.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.greed-canvas{position:relative}.greed-links{position:absolute;inset:0}.greed-links line{stroke:var(--edge-strong);stroke-width:2px}.greed-links line.link-active{stroke:var(--gold);stroke-opacity:.85}.greed-node{position:absolute}.greed-row{margin-top:14px}.companion-xp{background:#2a2a2a;height:4px;margin-top:8px}.companion-xp span{background:#80ff20;height:100%;display:block}@media (width<=760px){.point-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-panels,.progress-panels-small{grid-template-columns:minmax(0,1fr)}.greed-map{height:60vh}.progress-panel{padding:14px}.tile-grid{gap:12px 8px}.ability-cell{width:88px}}.tooltip.progress-tooltip{max-width:min(380px,100vw - 16px);font-family:var(--font-body);letter-spacing:0;font-size:14px;line-height:1.5}.progress-tooltip .tooltip-line{text-shadow:none}.progress-description{color:#d6d0de}.tier-text,.research-cost{font:600 13px var(--font-display);letter-spacing:.02em;color:var(--ink)}:is(.is-unlearned+.tier-text,.skill-cell:has(.is-unlearned) .tier-text){color:var(--ink-dim)}.upgrade-facts{margin-bottom:14px}.upgrade-rows{flex-direction:column;gap:12px;display:flex}.upgrade-row{justify-content:center}.upgrade-cell{width:72px}.upgrade-cell.is-locked .skill-tile{opacity:.6}.upgrade-active{color:#63e2ff;font:600 12px var(--font-display);letter-spacing:.02em}.upgrade-levels{color:var(--ink-faint);grid-template-columns:auto minmax(0,1fr) auto;gap:1px 10px;margin:6px 0 4px;padding:0;list-style:none;display:grid}.upgrade-levels li{display:contents}.upgrade-levels li.level-owned{color:var(--gold)}.upgrade-levels li.level-next{color:var(--ink)}.upgrade-level-number{text-align:right;font-variant-numeric:tabular-nums}.upgrade-level-cost{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.gate-met{color:#6fdc8c}.gate-unmet{color:#ff7a6b}.tier-unknown{--tier:#6a6a72;color:var(--tier)}.tier-seen{--tier:#c8c8c8;color:var(--tier)}.tier-studied{--tier:#9fc3e8;color:var(--tier)}.tier-mastered{--tier:#f2c94c;color:var(--tier)}.atlas-facts{margin-bottom:4px}.atlas-controls{margin:14px 0 0}.atlas-status{flex:none;min-width:150px}.atlas-wings{margin:12px 0 16px}.atlas-chip-count{opacity:.75;font-weight:400}.atlas-groups{flex-wrap:wrap;gap:16px 32px;display:flex}.atlas-group{min-width:0}.atlas-group-title{color:var(--ink-dim);font:600 13px var(--font-display);letter-spacing:.06em;text-transform:uppercase;gap:8px;margin:0 0 8px;display:flex}.atlas-group-title span{color:var(--ink-faint);font-weight:400}.atlas-grid{gap:10px 8px}.atlas-cell{flex-direction:column;align-items:center;gap:4px;width:44px;display:flex}.atlas-tile{border:2px solid var(--tier);background:var(--bg-raised);cursor:pointer;border-radius:6px;place-items:center;width:44px;height:44px;padding:0;transition:filter .15s,transform .15s;display:grid}.atlas-tile.tier-unknown{background:#0000004d;border-style:dashed}.atlas-tile:hover,.atlas-tile:focus-visible{filter:brightness(1.2);transform:translateY(-1px)}.atlas-icon{object-fit:contain;width:32px;height:32px;image-rendering:pixelated}.panel-title .atlas-icon{width:16px;height:16px}.atlas-tile .sprite-fallback,.panel-title .sprite-fallback{font-size:13px;display:grid}.atlas-unknown{color:#3e3e48;font:400 22px var(--font-pixel)}.atlas-pips{gap:3px;display:flex}.atlas-pips i{background:var(--edge-strong);border-radius:1px;width:8px;height:4px}.atlas-pips i[class]{background:var(--tier)}.atlas-tiers{color:var(--ink-faint);grid-template-columns:auto auto minmax(0,1fr) auto;gap:1px 8px;margin:6px 0 4px;padding:0;list-style:none;display:grid}.atlas-tiers li{display:contents}.atlas-tier-need,.atlas-tier-reward{white-space:nowrap;font-variant-numeric:tabular-nums}.atlas-tier-reward{color:#b48cff;text-align:right}:root{--bg:#0c0a0f;--bg-raised:#14111a;--panel:#1a1621;--panel-hover:#211c2a;--edge:#2e2738;--edge-strong:#453a55;--ink:#eee8f4;--ink-dim:#aba2b8;--ink-faint:#736a80;--gold:#e8b04b;--gold-bright:#ffd27a;--gold-deep:#9c6a17;--online:#4fe0b0;--completed:#72d97e;--survived:#e8b04b;--failed:#ff6b6b;--tooltip-bg:#100010f0;--tooltip-edge-top:#5000ff;--tooltip-edge-bottom:#28007f;--font-display:"Chakra Petch", "Trebuchet MS", sans-serif;--font-body:"Atkinson Hyperlegible Next", "Segoe UI", sans-serif;--font-pixel:"Jersey 10", ui-monospace, monospace;--radius:10px;--gutter:clamp(16px, 4vw, 40px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 50% -200px, #e8b04b1a, transparent 70%), radial-gradient(800px 500px at 100% 100%, #5000ff12, transparent 70%), var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.05;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}a{color:inherit}img{max-width:100%}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-pixel);letter-spacing:.03em;font-size:1.2em;line-height:1}.game-icon,.player-head,.player-body{image-rendering:pixelated;flex-shrink:0}.player-head{background:var(--edge);border-radius:3px}.topbar{padding:14px var(--gutter);border-bottom:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#0c0a0fcc;align-items:center;gap:20px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gold);image-rendering:pixelated;align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.topnav a{font-family:var(--font-display);color:var(--ink-dim);border-radius:6px;padding:6px 10px;font-weight:600;text-decoration:none}.topnav a:hover,.topnav a.active{color:var(--ink);background:var(--panel)}.topbar-search{width:min(320px,100%);margin-left:auto}.page{width:100%;max-width:1180px;padding:32px var(--gutter) 64px;flex:1;margin:0 auto}.footer{padding:24px var(--gutter);color:var(--ink-faint);border-top:1px solid var(--edge);flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.button{border-radius:var(--radius);border:1px solid var(--edge-strong);background:var(--panel);min-height:44px;color:var(--ink);font-family:var(--font-display);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover{background:var(--panel-hover);border-color:var(--gold-deep)}.button:disabled{opacity:.6;cursor:progress}.button-gold{background:linear-gradient(180deg, var(--gold-bright), var(--gold));border-color:var(--gold);color:#1b1204;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 24px #e8b04b40}.button-gold:hover{background:linear-gradient(180deg, #ffe0a0, var(--gold-bright));transform:translateY(-1px)}.chip{border:1px solid var(--edge);min-height:36px;color:var(--ink-dim);font:600 14px var(--font-display);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip:hover{color:var(--ink);border-color:var(--edge-strong)}.chip-active{color:#1b1204;background:var(--gold);border-color:var(--gold)}.chip-active:hover{color:#1b1204}.presence{color:var(--ink-dim);align-items:center;gap:6px;font-size:13px;display:inline-flex}.presence-online{color:var(--online)}.presence-server{color:var(--ink-dim)}.presence-dot{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.presence-online .presence-dot,.presence-dot.online{background:var(--online);animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 3px #4fe0b02e}@keyframes pulse{50%{box-shadow:0 0 0 6px #4fe0b000}}.search{width:100%;position:relative}.search input{border:1px solid var(--edge-strong);background:var(--bg-raised);width:100%;color:var(--ink);font-family:var(--font-body);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #e8b04b26}.search input::-webkit-search-cancel-button{filter:invert(.6)}.search-icon{color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-large input{height:60px;padding:0 20px 0 54px;font-size:19px}.search-large .search-icon{width:22px;height:22px;left:18px}.search-compact input{height:40px;padding:0 12px 0 38px;font-size:15px}.search-compact .search-icon{width:17px;height:17px;left:12px}.search-list{background:var(--bg-raised);border:1px solid var(--edge-strong);border-radius:var(--radius);z-index:30;text-align:left;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 40px #0000008c}.search-list li{cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex}.search-list li.active{background:var(--panel-hover)}.search-name{text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.search-level{color:var(--ink-faint);font-size:13px}.home{min-height:100vh;padding:48px var(--gutter);flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.vault-door{aspect-ratio:1;pointer-events:none;opacity:.9;width:min(760px,150vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vault-door .ring{border-radius:50%;position:absolute;inset:0}.ring-outer{background:repeating-conic-gradient(from 0deg, #e8b04b59 0 1.5deg, transparent 1.5deg 7.5deg);animation:120s linear infinite turn;-webkit-mask:radial-gradient(circle,#0000 64%,#000 64.5% 70%,#0000 70.5%);mask:radial-gradient(circle,#0000 64%,#000 64.5% 70%,#0000 70.5%)}.ring-middle{background:repeating-conic-gradient(from 12deg, #e8b04b2e 0 18deg, transparent 18deg 30deg);animation:90s linear infinite reverse turn;inset:12%;-webkit-mask:radial-gradient(circle,#0000 60%,#000 61% 66%,#0000 67%);mask:radial-gradient(circle,#0000 60%,#000 61% 66%,#0000 67%)}.ring-inner{border:1px dashed #e8b04b40;animation:60s linear infinite turn;inset:24%}.door-core{filter:blur(6px);background:radial-gradient(circle,#e8b04b24,#5000ff0d 55%,#0000 70%);border-radius:50%;position:absolute;inset:36%}@keyframes turn{to{transform:rotate(360deg)}}.home-center{text-align:center;width:min(560px,100%);animation:.7s cubic-bezier(.2,.8,.2,1) both rise;position:relative}.home-kicker{font-family:var(--font-pixel);color:var(--gold);letter-spacing:.3em;text-transform:uppercase;margin:0 0 6px;font-size:18px}.home-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-shadow:0 4px 30px #0009;margin:0 0 32px;font-size:clamp(46px,10vw,84px);font-weight:700;line-height:.95}.home-title em{background:linear-gradient(180deg, var(--gold-bright), var(--gold) 55%, var(--gold-deep));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal;display:block}.home-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:22px;display:flex}.home-online{color:var(--ink-dim);align-items:center;gap:8px;font-size:14px;display:inline-flex}.home-heads{flex-wrap:wrap;justify-content:center;gap:6px;margin:26px 0 0;padding:0;list-style:none;display:flex}.home-heads a{border-radius:5px;transition:transform .15s;display:block}.home-heads a:hover{transform:translateY(-3px)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.page-header h1,.state-title{font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(30px,5vw,44px)}.page-sub{color:var(--ink-dim);align-items:center;gap:8px;margin:4px 0 0;display:flex}.list-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 16px;display:flex}.filter-input{border-radius:var(--radius);border:1px solid var(--edge-strong);background:var(--bg-raised);min-height:40px;color:var(--ink);font:15px var(--font-body);flex:220px;padding:0 14px}.filter-input:focus{border-color:var(--gold);outline:none}.sort-group{flex-wrap:wrap;gap:6px;display:flex}.player-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.player-list li{animation:.4s cubic-bezier(.2,.8,.2,1) both rise}.player-row{border-radius:var(--radius);border:1px solid var(--edge);background:var(--panel);grid-template-columns:auto minmax(0,1fr) repeat(3,110px);align-items:center;gap:16px;padding:12px 18px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s;display:grid}.player-row:hover{background:var(--panel-hover);border-color:var(--edge-strong);transform:translate(2px)}.player-row.is-online{border-left:3px solid var(--online)}.player-row-name{flex-direction:column;min-width:0;display:flex}.player-row-name strong{text-overflow:ellipsis;font-size:17px;overflow:hidden}.player-row-stat{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.stat-value{font-family:var(--font-display);font-size:18px;font-weight:600}.stat-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.empty-note{color:var(--ink-dim)}.state{text-align:center;color:var(--ink-dim);justify-items:center;gap:12px;padding:80px 0;display:grid}.state-loading{grid-auto-flow:column;align-items:center}.spinner{border:3px solid var(--edge-strong);border-top-color:var(--gold);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite turn}.player-hero{border-radius:calc(var(--radius) * 1.6);border:1px solid var(--edge);background:linear-gradient(120deg, #e8b04b14, transparent 50%), var(--panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px;animation:.5s cubic-bezier(.2,.8,.2,1) both rise;display:grid}.player-body{filter:drop-shadow(0 12px 18px #0009);width:96px;height:auto}.player-level-badge{border:1px solid var(--gold-deep);color:var(--gold);font:400 17px var(--font-pixel);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin:0 0 6px;padding:2px 10px;display:inline-block}.player-level-badge strong{color:var(--gold-bright)}.player-name{font-family:var(--font-display);overflow-wrap:anywhere;margin:0 0 4px;font-size:clamp(32px,6vw,52px);line-height:1.05}.player-since{color:var(--ink-faint);margin:8px 0 0;font-size:14px}.hero-tiles{grid-template-columns:repeat(2,minmax(110px,1fr));gap:10px;margin:0;display:grid}.hero-tile{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--edge);grid-template-columns:auto 1fr;grid-template-areas:"icon value""label label";align-items:center;column-gap:8px;padding:10px 14px;display:grid}.hero-tile .game-icon{grid-area:icon}.hero-tile dd{font:600 20px var(--font-display);grid-area:value;margin:0}.hero-tile dt{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;grid-area:label;font-size:12px}.tabs{border-bottom:1px solid var(--edge);gap:4px;margin:28px 0 20px;display:flex;overflow-x:auto}.tab{color:var(--ink-dim);font:600 16px var(--font-display);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 18px}.tab:hover{color:var(--ink)}.tab-active{color:var(--gold);border-bottom-color:var(--gold)}.tab-panel{animation:.3s both rise}.group-title{font:600 14px var(--font-display);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.14em;margin:28px 0 12px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:12px;display:grid}.gear{gap:20px;display:grid}.gear-panel{border-radius:var(--radius);border:1px solid var(--edge);background:var(--panel);grid-template-columns:auto minmax(160px,240px) auto minmax(300px,1fr);grid-template-areas:"curios figure equipment stats";gap:18px;padding:18px;display:grid}.gear-curios{grid-area:curios}.gear-figure{grid-area:figure}.gear-equipment{grid-area:equipment}.gear-stats{grid-area:stats}.gear-label{font:600 12px var(--font-display);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px}.slot-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.slot-tile{--rarity:var(--edge-strong);border:1px solid var(--edge);background:var(--bg-raised);width:80px;color:var(--ink-dim);font:500 11px/1.2 var(--font-body);text-align:center;cursor:default;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:7px 4px 6px;transition:border-color .12s,background .12s;display:flex}button.slot-tile{cursor:pointer}button.slot-tile:hover,button.slot-tile[aria-describedby]{border-color:var(--edge-strong);background:var(--panel-hover)}button.slot-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.slot-frame{border:2px solid color-mix(in srgb, var(--rarity) 80%, transparent);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--rarity) 20%, transparent), transparent 72%), #0d0a12;border-radius:6px;place-items:center;width:46px;height:46px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0009}button.slot-tile:hover .slot-frame,button.slot-tile[aria-describedby] .slot-frame{border-color:var(--rarity);box-shadow:inset 0 0 0 1px #0009, 0 0 12px color-mix(in srgb, var(--rarity) 45%, transparent)}.slot-tile.is-empty{background:0 0;border-style:dashed}.slot-tile.is-empty .slot-frame{border:1px solid var(--edge);box-shadow:none;background:#0d0a1299}.slot-tile.is-empty .slot-label{color:var(--ink-faint)}.slot-empty-icon{opacity:.35;width:30px;height:30px;image-rendering:pixelated}.slot-label{overflow-wrap:anywhere;max-width:100%}.slot-count{font:400 16px var(--font-pixel);color:#fff;text-shadow:2px 2px #3f3f3f;position:absolute;bottom:-2px;right:2px}.item-icon{width:34px;height:34px;display:block;position:relative}.item-icon img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain;position:absolute;inset:0}.item-icon-fallback{background:var(--edge);color:var(--ink-dim);font:600 13px var(--font-display);border-radius:6px;place-items:center;display:grid}.gear-figure{flex-direction:column;gap:12px;margin:0;padding-top:28px;display:flex}.gear-skin-box{border:1px solid var(--edge);background:radial-gradient(110px 40px at 50% 92%, #0000008c, transparent 70%), radial-gradient(150px 220px at 50% 42%, #e8b04b17, transparent 70%), var(--bg-raised);border-radius:8px;flex:1;place-items:center;min-height:260px;padding:16px;display:grid}.gear-skin{width:min(100%,150px);height:auto;image-rendering:pixelated;filter:drop-shadow(0 8px 10px #00000080)}.rarity-legend{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rarity-legend li{border:1px solid var(--edge);background:var(--bg-raised);color:color-mix(in srgb, var(--rarity,var(--ink-dim)) 55%, var(--ink-faint));border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.rarity-legend li.is-worn{border-color:color-mix(in srgb, var(--rarity) 55%, transparent);color:var(--rarity)}.rarity-legend-count{color:var(--ink-dim)}.gear-stats{flex-direction:column;min-width:0;display:flex}.gear-stats-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.gear-stats-head .gear-label{margin-bottom:10px}.chip.chip-small{min-height:24px;margin-bottom:8px;padding:0 10px;font-size:12px}.gear-stats-box{border:1px solid var(--edge);background:var(--bg-raised);border-radius:8px;flex:1;min-height:260px;position:relative}.gear-stats-scroll{scrollbar-width:thin;scrollbar-color:var(--edge-strong) transparent;padding:12px 14px;position:absolute;inset:0;overflow-y:auto}.god-reputation{border-bottom:1px solid var(--edge);justify-content:space-around;gap:6px;margin:0 0 10px;padding:0 0 10px;list-style:none;display:flex}.god-badge{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-items:center;gap:2px;padding:4px 10px;display:grid}.god-badge:hover,.god-badge[aria-describedby]{border-color:var(--edge-strong);background:var(--panel-hover)}.god-badge-value{font:600 16px var(--font-display)}.gear-headline{border-bottom:1px solid var(--edge);flex-wrap:wrap;gap:4px 14px;margin:0 0 8px;padding:0 4px 10px;font-size:13px;display:flex}.gear-headline div{gap:5px;display:flex}.gear-headline dt{color:var(--ink-faint)}.gear-headline dd{color:var(--ink);margin:0;font-weight:700}.attribute-rows{columns:2 230px;column-gap:24px;margin:0;padding:0;list-style:none}.attribute-row{break-inside:avoid;border-radius:4px;align-items:baseline;gap:10px;padding:2px 4px;font-size:14px;line-height:1.45;display:flex}.attribute-row[tabindex]:hover,.attribute-row[aria-describedby]{background:var(--panel-hover)}.attribute-name{flex:1;min-width:0}.attribute-value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:700}.attribute-row.is-zero .attribute-name,.attribute-row.is-zero .attribute-value{opacity:.6}.attribute-capped{color:#ff7a7a}.gear-updated{color:var(--ink-faint);margin:10px 4px 0;font-size:12px}.gear-companion-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.gear-companion-head .gear-label{margin:0}.gear-companion .companion-card{max-width:360px}.tooltip-contents{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tooltip-contents li{background:#8b8b8b33;border:1px solid #373737;place-items:center;width:40px;height:40px;display:grid;position:relative}.tooltip-contents .item-icon{width:30px;height:30px}.tooltip-contents-count{font:400 15px var(--font-pixel);color:#fff;text-shadow:1px 1px #3f3f3f;position:absolute;bottom:-3px;right:1px}@media (width<=899px){.gear-panel{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"curios figure equipment""stats stats stats"}.gear-stats-box{min-height:0}.gear-stats-scroll{position:static;overflow:visible}}@media (width<=760px){.gear-panel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"figure figure""curios equipment""stats stats";gap:16px 10px;padding:14px}.gear-figure{padding-top:0}.gear-skin-box{min-height:0}.gear-skin{width:96px}.gear-curios,.gear-equipment{justify-self:center}.gear-curios .slot-list,.gear-equipment .slot-list{grid-template-columns:repeat(2,72px)}.slot-tile{width:72px}}.deck{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:20px;display:flex}.deck-board{border:0 solid;border-image-slice:20 fill;border-image-width:calc(var(--px) * 20);image-rendering:pixelated;border-image-repeat:repeat;flex-shrink:0;position:relative}.deck-title{top:calc(var(--px) * 5);height:calc(var(--px) * 12);padding:calc(var(--px) * 2) calc(var(--px) * 16) 0;border:0 solid;border-image-slice:0 16 fill;border-image-width:0 calc(var(--px) * 16);image-rendering:pixelated;color:#404040;font:400 calc(var(--px) * 9) / 1 var(--font-pixel);white-space:nowrap;border-image-repeat:stretch;position:absolute;left:50%;transform:translate(-50%)}.deck-title-small{padding-inline:calc(var(--px) * 4);border-image-slice:0 4 fill;border-image-width:0 calc(var(--px) * 4)}.deck-title span span{color:inherit!important}.deck-slots{margin:0;padding:0;list-style:none}.deck-cell{width:calc(var(--px) * 18);height:calc(var(--px) * 18);image-rendering:pixelated;background-size:100% 100%;position:absolute}.deck-cell-overlay{inset:var(--px);pointer-events:none;position:absolute}.deck-card{inset:var(--px);cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.deck-card .item-icon{width:100%;height:100%}.deck-card:hover,.deck-card[aria-describedby]{background:#ffffff80}.deck-card:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.deck-card.is-foil:after{content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#be78ff73 45%,#ffffff59 50%,#0000 65%) 0 0/300% 100%;animation:3.5s linear infinite foil;position:absolute;inset:0}@keyframes foil{0%{background-position:100% 0}to{background-position:-50% 0}}.tooltip.deck-card-tooltip{max-width:min(420px,100vw - 16px)}.deck-inactive{color:#ff7a7a}.deck-summary{width:min(100%,300px)}.deck-socket-used{color:#ff5}.deck-socket-free{color:#aaa}.tooltip{--edge-top:var(--tooltip-edge-top);--edge-bottom:var(--tooltip-edge-bottom);background:linear-gradient(var(--tooltip-bg), var(--tooltip-bg)) padding-box, linear-gradient(180deg, var(--edge-top), var(--edge-bottom)) border-box;font-family:var(--font-body);color:#fff;border:2px solid #0000;border-radius:4px;padding:12px 14px 14px;font-size:14px;line-height:1.5;position:relative;box-shadow:0 0 0 1px #100010,0 10px 24px #00000073}.rarity-scrappy{--edge-top:#a8a8a8;--edge-bottom:#4a4a4a;--rarity:#a8a8a8}.rarity-common{--rarity:#55e6ff}.rarity-rare{--edge-top:#ffcb00;--edge-bottom:#7b5a00;--rarity:#ffcb00}.rarity-epic{--edge-top:#ff4dff;--edge-bottom:#6b007b;--rarity:#ff4dff}.rarity-omega{--edge-top:#6bff00;--edge-bottom:#1f6b00;--rarity:#6bff00}.rarity-unique{--edge-top:#ff9c33;--edge-bottom:#7b3b00;--rarity:#ff9c33}.rarity-special{--edge-top:#f48fb1;--edge-bottom:#7b3550;--rarity:#f48fb1}.rarity-chaotic{--edge-top:#b07aff;--edge-bottom:#45188f;--rarity:#b07aff}.tooltip-slot{color:#8f86a0;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-size:15px}.tooltip-name{font:400 22px var(--font-pixel);text-shadow:2px 2px #00000073;margin:0 0 6px}.tooltip-count{color:#bbb}.tooltip-meta{color:#c4bccf;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-bottom:4px;display:flex}.tooltip-level{color:#b0c0fa;font-weight:500}.tooltip-repairs{gap:3px;display:inline-flex}.tooltip-repairs i{background:#555;width:6px;height:6px}.tooltip-repairs i.used{background:#ff5}.tooltip-model{color:#9a93a8}.tooltip-group{margin-top:8px}.tooltip-group-title{color:#aaa;font-size:16px}.tooltip-line{text-shadow:1px 1px #00000080}.tooltip-empty,.tooltip-muted{color:#8f86a0}.tooltip-flags{gap:12px;margin-top:6px;display:flex}.tooltip-flags:empty{display:none}.flag-imbued{color:#a821fc}.flag-sealed{color:#c2ff7a}.flag-corrupted{color:#c4121b}.mc-obfuscated{filter:blur(2px)}.companion-body{align-items:center;gap:12px;display:flex}.companion-hearts{gap:3px;margin:8px 0 4px;display:flex}.heart-empty{filter:grayscale()brightness(.45)}.results-bar{background:var(--edge);border-radius:999px;height:12px;display:flex;overflow:hidden}.results-bar span{min-width:0}.results-completed{background:var(--completed)}.results-survived{background:var(--survived)}.results-failed{background:var(--failed)}.results-legend{color:var(--ink-dim);flex-wrap:wrap;gap:18px;margin:10px 0 0;font-size:14px;display:flex}.results-legend span{align-items:center;gap:6px;display:inline-flex}.results-legend i{border-radius:2px;width:10px;height:10px}.subtabs{flex-wrap:wrap;gap:6px;margin:22px 0 18px;display:flex}.sections{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px;display:grid}.sections+.sections{margin-top:14px}.panel{border-radius:var(--radius);border:1px solid var(--edge);background:var(--panel);padding:16px 18px}.panel-title{border-bottom:1px solid var(--edge);font:600 15px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);align-items:center;gap:10px;margin:0 0 10px;padding-bottom:10px;display:flex}.stat-rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.stat-rows li{border-radius:5px;align-items:center;gap:10px;padding:5px 4px;display:flex}.stat-rows li:hover{background:var(--panel-hover)}.stat-row-name{color:var(--ink-dim);flex:1;min-width:0}.stat-row-value{font:600 16px var(--font-display);text-align:right}.rarity-panel{margin-bottom:14px}.rarity-bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rarity-bars li{grid-template-columns:16px 80px 1fr auto;align-items:center;gap:10px;display:grid}.rarity-track{background:var(--edge);border-radius:999px;height:10px;overflow:hidden}.rarity-track span{border-radius:999px;height:100%;display:block}.rarity-count{font:600 15px var(--font-display)}.bestiary{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.bestiary li{border-radius:var(--radius);background:var(--panel);border:1px solid var(--edge);align-items:center;gap:12px;padding:10px 14px;display:flex}.bestiary-rank{width:26px;color:var(--ink-faint);font:400 18px var(--font-pixel)}.bestiary-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bestiary-kills{font:600 16px var(--font-display);color:var(--gold)}.vault-history{justify-items:center;gap:16px;display:grid}.vault-list{gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.vault-row{border-radius:var(--radius);border:1px solid var(--edge);background:var(--panel);grid-template-columns:96px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 16px;text-decoration:none;transition:background .15s,border-color .15s;display:grid}.vault-row:hover{background:var(--panel-hover);border-color:var(--edge-strong)}.vault-result{font:600 13px var(--font-display);letter-spacing:.1em;text-transform:uppercase;display:inline-block}.completion-completed .vault-result{color:var(--completed)}.completion-bailed .vault-result{color:var(--survived)}.completion-failed .vault-result{color:var(--failed)}.vault-main{flex-direction:column;min-width:0;display:flex}.vault-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vault-sub{color:var(--ink-faint);font-size:14px}.vault-party{gap:3px;display:flex}.vault-when{color:var(--ink-faint);white-space:nowrap;font-size:14px}.vault-hero{border-radius:calc(var(--radius) * 1.6);border:1px solid var(--edge);background:linear-gradient(120deg, #5000ff1a, transparent 55%), var(--panel);padding:28px}.vault-title{font-family:var(--font-display);margin:0;font-size:clamp(28px,5vw,44px);line-height:1.1}.vault-title span{color:var(--ink-dim);font-weight:500}.vault-facts{flex-wrap:wrap;gap:12px 32px;margin:18px 0 0;display:flex}.vault-facts dt,.vault-player-facts dt{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.vault-facts dd,.vault-player-facts dd{font:600 17px var(--font-display);margin:0}.modifier-list{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.modifier-list li{font:400 18px var(--font-pixel);background:#00000040;border:1px solid;border-radius:999px;padding:3px 12px}.vault-players{gap:16px;margin-top:20px;display:grid}.vault-player-head{align-items:center;gap:14px;display:flex}.vault-player-head>div{flex-direction:column;display:flex}.vault-player-name{font:600 20px var(--font-display);text-decoration:none}a.vault-player-name:hover{color:var(--gold)}.artifact-badge{color:var(--gold-bright);font:600 14px var(--font-display);background:#e8b04b26;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px 12px;display:inline-flex}.vault-player-facts{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:16px 0 0;display:grid}@media (width<=760px){.topbar{flex-wrap:wrap;gap:10px 16px}.topbar-search{order:3;width:100%}.page{padding-top:22px}.player-row{grid-template-columns:auto minmax(0,1fr) repeat(2,auto);gap:12px;padding:10px 12px}.hide-small{display:none}.player-hero{grid-template-columns:auto minmax(0,1fr);gap:18px;padding:20px}.player-body{width:64px}.hero-tiles{grid-column:1/-1}.vault-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.vault-row .vault-result{grid-column:1/-1}.vault-party{display:none}.item-grid,.sections,.bestiary{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.rsvp-page{justify-content:center;padding-top:clamp(8px,4vw,40px);display:flex}.rsvp-card{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:18px;width:min(480px,100%);padding:clamp(20px,4vw,32px);animation:.4s both rise;display:flex}.rsvp-card .page-sub{display:block}.rsvp-done{text-align:center;align-items:center}.rsvp-done h1{font-family:var(--font-display);margin:0}.field{flex-direction:column;gap:6px;display:flex}.field .filter-input{flex:none;min-height:44px;font-size:16px}.field-label{font:600 13px var(--font-display);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em}.field-note{color:var(--ink-faint);margin:0;font-size:13px}.field-error{color:var(--failed);margin:0}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-summary{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px;display:grid}.count-list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.count-list li{border-bottom:1px solid var(--edge);justify-content:space-between;padding:6px 0;display:flex}.count-list strong{font-family:var(--font-display);color:var(--gold)}.admin-table-wrap{border:1px solid var(--edge);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:15px}.admin-table th,.admin-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--edge);padding:10px 14px}.admin-table th{font:600 12px var(--font-display);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;background:var(--bg-raised)}.admin-table tbody tr:hover{background:var(--panel-hover)}.admin-player{align-items:center;gap:10px;display:inline-flex}.rsvp-title{font:600 clamp(20px, 3.5vw, 24px) / 1.3 var(--font-display);margin:0}.deck-resource{align-items:center;gap:8px;display:flex}.deck-resource .item-icon{flex:none;width:20px;height:20px}.deck-resource.is-inactive{opacity:.5}
