:root{--snow: #f3f6f9;--ink: #14212b;--ink-dim: #5b6b78;--panel: rgba(20, 33, 43, .82);--panel-ink: #eef3f7;--boundary: #f28c28;--jacket: #d6452b;--ice: #9fc3dc;--green: #2f8f4e;--blue: #2563b8;--font-display: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html,body{margin:0;height:100%;background:var(--snow);color:var(--ink);font-family:var(--font-body);font-size:14px;overscroll-behavior:none;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{position:relative;height:100%;overflow:hidden;touch-action:none}#slope{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#frost{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 55%,transparent 45%,rgba(159,195,220,.55) 80%,rgba(230,242,250,.95) 100%);transition:opacity .2s linear}.hud{position:absolute;inset:0 0 auto;display:grid;gap:6px;padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));pointer-events:none}.hud-row{display:flex;align-items:center;gap:8px}.stat{display:flex;align-items:baseline;gap:3px;padding:4px 8px;border-radius:4px;background:var(--panel);color:var(--panel-ink);font-variant-numeric:tabular-nums}.stat b{font-family:var(--font-display);font-weight:900;font-size:20px;line-height:1;letter-spacing:.02em}.stat span{font-size:11px;opacity:.75}.stat.style{margin-left:auto}.stat.style span{color:var(--boundary);opacity:1;font-weight:700}.icon-btn{pointer-events:auto;width:36px;height:32px;border:0;border-radius:4px;background:var(--panel);color:var(--panel-ink);font-size:12px;cursor:pointer}.icon-btn:focus-visible,.btn:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.trail{flex:none;width:22px;height:22px;display:grid;place-items:center}.trail:before{content:"";width:16px;height:16px;background:var(--green);border-radius:50%}.trail[data-rating=blue]:before{background:var(--blue);border-radius:1px}.trail[data-rating=black]:before{width:13px;height:13px;background:var(--ink);border-radius:1px;transform:rotate(45deg)}.slope-chip{align-items:center;gap:4px;padding:3px 8px 3px 4px}.slope-chip b{font-size:16px}.meter{position:relative;flex:1;height:18px;border-radius:4px;background:var(--panel);overflow:hidden}.meter-fill{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--ice),#e6f2fa)}.meter-fill.close{background:linear-gradient(90deg,var(--ice),var(--jacket))}.meter-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding-left:8px;color:var(--panel-ink);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 2px rgba(20,33,43,.9)}#toasts{position:absolute;top:96px;left:0;right:0;display:grid;justify-items:center;gap:4px;pointer-events:none}.toast{font-family:var(--font-display);font-weight:900;font-size:22px;letter-spacing:.03em;color:var(--ink);text-shadow:0 1px 0 #fff,0 0 8px #fff;animation:toast .9s ease-out forwards}.toast.warn{color:var(--jacket)}@keyframes toast{0%{opacity:0;transform:translateY(6px) scale(.9)}15%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:#f3f6f999}.card{width:min(380px,100%);max-height:100%;overflow-y:auto;display:grid;gap:14px;padding:22px 20px;border-radius:6px;background:var(--panel);color:var(--panel-ink);box-shadow:0 10px 30px #14212b40}.card h1,.card h2{margin:0;font-family:var(--font-display);font-weight:900;line-height:.95;text-transform:uppercase;letter-spacing:.02em;text-wrap:balance}.card h1{font-size:54px}.card h2{font-size:38px}.card p{margin:0;line-height:1.45;color:#c8d4dd}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--boundary)}.controls{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px}.controls dt{font-weight:700;white-space:nowrap}.controls dd{margin:0;color:#c8d4dd}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-variant-numeric:tabular-nums}.results div{display:grid;gap:2px}.results b{font-family:var(--font-display);font-weight:900;font-size:28px;line-height:1}.results span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9fb0bd}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{flex:1;min-height:48px;padding:0 16px;border:0;border-radius:4px;background:var(--boundary);color:var(--ink);font-family:var(--font-display);font-weight:900;font-size:22px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.btn.ghost{background:transparent;color:var(--panel-ink);box-shadow:inset 0 0 0 2px #eef3f759}.results .sign{display:flex;align-items:center;height:28px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.chips li{padding:3px 8px;border-radius:3px;background:#eef3f71f;font-size:12px;font-weight:700}.offers{display:grid;gap:8px}.gear{display:grid;gap:4px;width:100%;padding:12px;border:0;border-radius:4px;background:var(--snow);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.gear:hover{background:#fff}.gear:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.gear-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gear-top b{font-family:var(--font-display);font-weight:900;font-size:22px;line-height:1;text-transform:uppercase;letter-spacing:.02em}.tag{flex:none;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.tag.uncommon{color:var(--blue)}.tag.rare{color:var(--jacket)}.gear-text{font-size:13px;line-height:1.4}.gear-note{font-size:12px;font-weight:700;color:var(--jacket)}.snack-row{justify-content:flex-end;min-height:0}.snack{pointer-events:auto;min-width:56px;height:36px;padding:0 10px;border:2px solid var(--boundary);border-radius:4px;background:var(--panel);color:var(--panel-ink);font-family:var(--font-display);font-weight:900;font-size:16px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.snack:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9fb0bd}.kit{display:grid;gap:6px}.chips li.empty{background:transparent;box-shadow:inset 0 0 0 1px #eef3f740;color:#9fb0bd;font-weight:400}.offers.two{grid-template-columns:1fr 1fr}.gear.small .gear-top b{font-size:18px}.gear.small .gear-text{font-size:12px}.gear:disabled{opacity:.45;cursor:not-allowed}.price{font-weight:700;font-variant-numeric:tabular-nums;color:var(--jacket)}.gear>.price{justify-self:end}.sold{display:grid;place-items:center;min-height:48px;border-radius:4px;box-shadow:inset 0 0 0 1px #eef3f733;color:#9fb0bd;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.sell{display:flex;flex-wrap:wrap;gap:6px}.chip-btn{padding:6px 10px;border:0;border-radius:3px;background:#eef3f71f;color:var(--panel-ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.chip-btn span{color:var(--boundary)}.btn:disabled{opacity:.45;cursor:not-allowed}.chips li.curse{background:#d6452b40;color:#ffd9d2}.note{padding:8px 10px;border-radius:4px;background:#f28c2826;color:var(--panel-ink)}.condition{padding:8px 10px;border-radius:4px;background:#9fc3dc2e}.condition b{color:var(--panel-ink)}.trail.double:before,.trail.double:after{content:"";width:9px;height:9px;background:var(--ink);border-radius:1px;transform:rotate(45deg)}.trail.double{display:flex;gap:4px;width:auto}.map{position:relative;flex:none}.map svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map line{stroke:#eef3f738;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}.map line.taken{stroke:var(--boundary);stroke-dasharray:none}.map-row{position:relative}.node{position:absolute;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:1px;min-width:76px;max-width:33%;padding:5px 6px;border:0;border-radius:6px;background:#46535e;color:var(--panel-ink);font:inherit;cursor:default}.node .trail{width:auto;height:16px}.node-icon{font-size:15px;line-height:16px}.node-name{font-size:11px;font-weight:700;line-height:1.1;text-align:center}.node-sub{font-size:10px;line-height:1.1;color:#9fb0bd}.node.open{background:var(--snow);color:var(--ink);box-shadow:0 0 0 2px var(--boundary);cursor:pointer}.node.open .node-sub{color:var(--ink-dim)}.node.open .trail[data-rating=black]:before,.node.open .trail.double:after{background:var(--ink)}.node:not(.open) .trail[data-rating=black]:before,.node:not(.open) .trail.double:after{background:var(--panel-ink)}.node.taken{background:#7a5a3a}.node.past,.node.locked{background:#3f4b55;color:#8a9aa6}.node.summit{min-width:120px}.node:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.meta{font-size:11px;color:#9fb0bd;font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.toast{animation-duration:1.4s}}.unlock{margin:0;padding:8px 10px;border-radius:4px;background:#f4c43033;color:#fff3c4;font-weight:700}.btn.small{flex:0 1 auto;min-height:36px;font-size:14px}.alt-picker{display:flex;flex-wrap:wrap;gap:6px}.alt-picker .chip-btn{min-width:36px;min-height:36px;font-size:14px}.chip-btn.on{background:var(--boundary);color:var(--ink)}.gear.locked{opacity:.55}.route{display:grid;gap:6px}.route-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim-panel, rgba(238, 243, 247, .7))}.route-row>span{flex:none;width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-row ol{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}.route-row li{display:grid;place-items:center;width:24px;height:24px;border-radius:3px;background:#eef3f71f;color:var(--panel-ink);font-size:13px;font-weight:700}.route-row li.diamond,.route-row li.summit{background:#eef3f747}.route-row li.failed{background:var(--jacket);color:#fff}#app.demo .hud,#app.demo #toasts{display:none}#app.attract .overlay{place-items:stretch;grid-template-rows:minmax(0,1fr);padding-block:max(48px,env(safe-area-inset-top,0px)) max(40px,env(safe-area-inset-bottom,0px));background:linear-gradient(#14212b00,#14212b00 45%,#14212b99);cursor:pointer}#app.attract .card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:none;height:100%;overflow:visible;gap:0;padding:0;background:none;box-shadow:none;text-align:center;pointer-events:none}.logo{margin:0;font-family:var(--font-display);font-size:clamp(56px,19vw,96px);font-weight:900;line-height:.9;letter-spacing:.02em;text-transform:uppercase;color:#fff;text-shadow:0 3px 0 var(--ink),0 8px 24px rgba(20,33,43,.5)}.tagline{margin:8px 0 0;color:#fff;font-weight:700;text-shadow:0 1px 4px rgba(20,33,43,.8)}.press{margin:0;padding:12px 28px;border-radius:4px;background:var(--boundary);color:var(--ink)!important;font-family:var(--font-display);font-size:26px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;animation:blink 1.2s steps(2,jump-none) infinite}#app.attract .card .memphis{margin-top:auto}#app.attract .card .press{margin:9vh 0 10px}#app.attract .card .meta{color:#fff;text-shadow:0 1px 4px rgba(20,33,43,.8)}@keyframes blink{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.press{animation:none}}.passives{display:grid;gap:8px}.passive{display:grid;gap:6px;padding:10px 12px;border-radius:4px;background:#eef3f714;box-shadow:inset 0 0 0 1px #eef3f71f}.passive.pinned{box-shadow:inset 0 0 0 2px var(--boundary)}.passive .gear-text{color:#eef3f7cc;font-size:13px}.passive-actions{display:flex;gap:6px;align-items:center}.passive-actions .chip-btn{min-height:32px}.pips{display:flex;gap:3px}.pips i{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #eef3f780}.pips i.on{background:var(--boundary);box-shadow:none}.chip-btn:disabled{opacity:.4}.link{padding:0;border:0;background:none;color:var(--boundary);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.memphis{position:relative;display:grid;justify-items:center;gap:.5em;padding:1.1em .6em 1.4em;font-size:clamp(9px,2.9vw,15px)}.memphis h1{position:relative;margin:0;font:400 4.6em/1 "Bungee",var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:#ff3e7f;-webkit-text-stroke:.05em #1b1b3a;paint-order:stroke fill;text-shadow:.09em .09em 0 #1b1b3a;transform:rotate(-4deg)}.memphis .m-tag{position:relative;padding:.55em .75em;background:#ffd23f;box-shadow:.25em .25em #1b1b3a;color:#1b1b3a;font:400 .95em/1 "Press Start 2P",monospace;text-transform:uppercase;transform:rotate(-4deg)}.memphis [aria-hidden]{position:absolute;pointer-events:none}.memphis .m-dot{left:.4em;top:.2em;width:2.4em;height:2.4em;border-radius:50%;background:#2ec4b6}.memphis .m-tri{right:.6em;top:0;border-left:1.5em solid transparent;border-right:1.5em solid transparent;border-bottom:2.6em solid #ffd23f}.memphis .m-x{left:46%;top:-.4em;color:#2ec4b6;font:900 1.7em/1 sans-serif}.memphis .m-dash{left:1.2em;bottom:.5em;width:3.6em;height:.6em;background:repeating-linear-gradient(90deg,#1b1b3a 0 .32em,transparent .32em .64em)}.memphis .m-smile{right:1.4em;bottom:.2em;width:2.8em;height:1.3em;border:.22em solid #ff3e7f;border-top:none;border-radius:0 0 1.6em 1.6em}.memphis.small{justify-items:start;padding:.4em 0 .6em;font-size:10px}.memphis.small .m-dot,.memphis.small .m-x,.memphis.small .m-dash,.memphis.small .m-smile{display:none}.memphis.small .m-tri{right:0;top:-.4em}#splash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#1b1b3a;transition:opacity .5s ease}#splash.gone{opacity:0;pointer-events:none}.studio{position:relative;display:grid;justify-items:center;gap:10px;animation:studio-in .7s cubic-bezier(.2,1.4,.4,1) both}.studio-row{display:flex;align-items:center;gap:.06em}.studio-q{color:#ffd23f;font:400 clamp(56px,17vw,92px)/.8 "Bungee",var(--font-display);text-shadow:.06em .06em 0 #ff3e7f;transform:rotate(-12deg) translateY(-.04em)}.studio-name{position:relative;color:#fdf6e3;font:400 clamp(30px,9.5vw,52px)/1 "Bungee",var(--font-display);text-transform:uppercase;text-shadow:.08em .08em 0 #ff3e7f}.studio-sub{position:relative;padding:7px 10px;background:#2ec4b6;color:#1b1b3a;font:400 clamp(10px,3vw,14px)/1 "Press Start 2P",monospace;letter-spacing:.25em;text-transform:uppercase}@keyframes studio-in{0%{opacity:0;transform:scale(.6) rotate(-6deg)}}@media (prefers-reduced-motion: reduce){.studio{animation:none}}.meta.credit{opacity:.7;font-size:11px}.kitbar{position:absolute;top:46px;right:max(16px,env(safe-area-inset-right,0px));z-index:30;display:flex;gap:6px}.kit-btn{height:28px;font-family:var(--font-display);font-size:15px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.kit-btn:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.kit-feedback{width:auto;padding:0 10px;background:var(--boundary);color:var(--ink)}.hud-row:nth-child(2){padding-right:128px}#app:not(.attract) .overlay{padding-top:84px}.sheet-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding-block:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:#14212b8c}.sheet{display:flex;flex-direction:column;gap:14px;width:min(420px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:20px 18px;border-radius:6px;background:#1b2a36;color:var(--panel-ink);box-shadow:0 12px 40px #14212b73}.sheet>*{flex-shrink:0}.sheet:focus{outline:none}.sheet h2{margin:0;font-family:var(--font-display);font-size:34px;font-weight:900;line-height:1.1;text-transform:uppercase;letter-spacing:.02em}.sheet .actions{display:flex;flex-wrap:wrap;gap:8px}.rules{display:grid;gap:10px;margin:0;padding-left:22px;line-height:1.45;color:#c8d4dd}.rules li::marker{color:var(--boundary);font-family:var(--font-display);font-weight:900}.rules b{color:var(--panel-ink)}.field{display:grid;gap:6px}.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.rate{min-height:44px;border:0;border-radius:4px;background:#eef3f71f;color:var(--panel-ink);font-family:var(--font-display);font-size:22px;font-weight:900;cursor:pointer}.rate.on{background:var(--boundary);color:var(--ink)}.rate:focus-visible,.sheet textarea:focus-visible,.sheet a:focus-visible{outline:3px solid var(--boundary);outline-offset:2px}.rate-ends{display:flex;justify-content:space-between;font-size:11px;color:#eef3f799}.sheet textarea{min-height:96px;width:100%;padding:10px 12px;border:0;border-radius:4px;background:#eef3f7;color:var(--ink);font:16px/1.4 var(--font-body);resize:vertical}.report{margin:0;max-height:180px;overflow:auto;padding:10px 12px;border-radius:4px;background:#00000047;color:#d7e2ea;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.fb-status{margin:0;min-height:1.4em;color:#ffd9a8;font-size:14px;line-height:1.4}.fb-status:empty{min-height:0}.sheet .btn.discord{display:grid;place-items:center;text-align:center;text-decoration:none;line-height:1.1;padding-block:8px}.fb-url{margin:-8px 0 0;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}html.tv body{background:#0d1620}html.tv #app{width:min(100vw,75vh);margin-inline:auto;box-shadow:0 0 60px #00000080}html.tv :focus{outline:none}html.tv :focus-visible,html.tv button:focus,html.tv a:focus{outline:4px solid #ffd23f;outline-offset:3px;box-shadow:0 0 0 9px #ffd23f4d}
