@font-face{font-family:Switzer;src:url(/fonts/Switzer-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--night:#1a2026;--slate:#232c42;--cream:#fdfbf9;--terracotta:#b94e3a;--salmon:#e39a7c;--gold:#e0b84a;--sage:#8fbf8c;--root:#ec7f5f;--panel:#1a2026e0;--line:#fdfbf91f;--muted:#fdfbf9a8;--cap-night:#242d3af0;--cap-night-hi:#303b4ef5;--side-night:#0e1317;--cap-tc:#c0533e;--cap-tc-hi:#cd6049;--side-tc:#7a2e21;--facets:linear-gradient(to bottom, #fdfbf929, #fdfbf900 2px), linear-gradient(116deg, #fdfbf90d 0 36%, #fdfbf900 36%), linear-gradient(244deg, #00000014 0 24%, #0000 24%);--sans:"Switzer", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, monospace;--gutter:16px;--top:max(12px, env(safe-area-inset-top));--bottom:max(12px, env(safe-area-inset-bottom));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{font:15px/1.45 var(--sans);color:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}button,input{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--salmon);outline-offset:3px}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tile{--c:8px;--depth:4px;--cap:var(--cap-night);--side:var(--side-night);isolation:isolate;margin-bottom:var(--depth);background:0 0;border:0;position:relative}.tile:before,.tile:after{content:"";z-index:-1;pointer-events:none;clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% var(--c), 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, var(--c) 100%, 0 calc(100% - var(--c)), 0 var(--c));position:absolute;inset:0}.tile:before{z-index:-2;background:var(--side);transform:translateY(var(--depth))}.tile:after{background:var(--facets), var(--cap)}.tile.primary{--cap:var(--cap-tc);--side:var(--side-tc)}button.tile,a.tile{cursor:pointer;transition:transform 80ms ease-out}button.tile:active,a.tile:active{transform:translateY(calc(var(--depth) - 1px))}button.tile:active:before,a.tile:active:before{transform:translateY(1px)}@media (hover:hover){button.tile:hover,a.tile:hover{--cap:var(--cap-night-hi)}button.tile.primary:hover,a.tile.primary:hover{--cap:var(--cap-tc-hi)}}@media (prefers-reduced-motion:reduce){button.tile,a.tile{transition:none}}.glyph{stroke:none}.hud{top:var(--top);left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));pointer-events:none;flex-wrap:wrap;justify-content:center;gap:4px 6px;display:flex;position:fixed}.chip{--c:11px;--depth:3px;letter-spacing:.06em;white-space:nowrap;align-items:center;gap:7px;min-height:34px;padding:0 17px;font-size:12px;font-weight:700;display:inline-flex}.chip:before,.chip:after{clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% 50%, calc(100% - var(--c)) 100%, var(--c) 100%, 0 50%)}.chip.day small{letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700}.chip.day b{color:var(--salmon);letter-spacing:0;font-size:15px;font-weight:700}.chip.town{gap:6px;padding-left:13px}.chip.town .mark{width:28px;height:28px;margin:-4px -1px -3px -3px}.chip.town b{color:var(--salmon);font-weight:800}.chip.home{pointer-events:auto;letter-spacing:0;color:var(--cream)}.chip.home svg{width:16px;height:16px;color:var(--salmon)}.chip.home .num{font-size:12.5px}.chip.bug{pointer-events:auto;color:var(--cream)}.chip.bug small{letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:700}.chip.bug svg{color:#e8503a;width:16px;height:16px}.chip.bug .bar{flex:0 0 56px;min-width:0}.chip.bug .num{letter-spacing:0;font-size:11.5px}.milestone{max-width:440px;color:var(--muted);flex:100%;font-size:10.5px}.milestone .num{color:var(--cream);letter-spacing:0;font-size:11.5px}.milestone .next{color:var(--salmon);letter-spacing:.02em;flex-shrink:0;font-weight:700}.bar{clip-path:polygon(3px 0,calc(100% - 3px) 0,100% 50%,calc(100% - 3px) 100%,3px 100%,0 50%);background:#080b0eb3;flex:40px;min-width:32px;max-width:110px;height:8px;box-shadow:inset 0 1px #00000080,0 1px #fdfbf914}.fill{background:linear-gradient(to bottom, #ef8d6f 0 50%, var(--cap-tc) 50%);height:100%}@media (min-width:720px){.hud{left:24px;right:24px;top:max(20px, env(safe-area-inset-top));justify-content:flex-start}.milestone{flex:0 auto;max-width:none}}.toast{--c:13px;top:calc(var(--top) + 92px);white-space:nowrap;margin:0;padding:10px 22px;font-weight:700;animation:.3s cubic-bezier(.34,1.56,.64,1) toast-in;position:fixed;left:50%;transform:translate(-50%)}.toast:before,.toast:after{clip-path:polygon(var(--c) 0, calc(100% - var(--c)) 0, 100% 50%, calc(100% - var(--c)) 100%, var(--c) 100%, 0 50%)}.toast:after{background:var(--facets), var(--cap-tc)}.toast{--side:var(--side-tc)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.label{background:var(--panel);border:1px solid var(--line)}.labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;white-space:nowrap;border-radius:8px;padding:3px 8px 2px;line-height:1.2;animation:.25s ease-out fade;position:absolute;top:-6px;left:0}.label b{font:600 12px var(--mono);display:block}.label span{font:600 8.5px var(--mono);letter-spacing:.08em;color:var(--muted);display:block}.label.person{font:600 11px/1.2 var(--mono);border-radius:6px;padding:2px 6px}.label.founder{color:#e0b84a;border-color:#e0b84a80}.label.founder span{color:#e0b84abf}.label.root{color:var(--root);border-color:#ec7f5fb3;box-shadow:0 0 10px #ec7f5f73}.label.root span{color:var(--root)}.label.root i{font:700 9px/1.4 var(--mono);letter-spacing:.08em;vertical-align:1px;background:var(--root);color:var(--night);border-radius:4px;margin-left:5px;padding:0 4px;font-style:normal}.label.on{border-color:var(--salmon)}.label.on span{color:var(--salmon)}.label.root.on{border:2px solid var(--root);background:#4a241cf0;box-shadow:0 0 16px #ec7f5fcc}.label.root.on span{color:var(--root)}.label.title{border-radius:9px;padding:4px 10px 3px}.label.title b{font:700 14px/1.25 var(--sans)}.label.title.on{border:1.5px solid #e0b84a;box-shadow:0 0 12px #e0b84a73}.label.title.on span{color:#e0b84a}.label.news{pointer-events:auto;cursor:pointer}@media (hover:hover){.label.news:hover{border-color:#e0b84ab3}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.label{animation:none}}.dock{left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));bottom:var(--bottom);pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed}.dock>*{pointer-events:auto}@media (min-width:720px){.dock{width:420px;left:24px;right:auto;bottom:max(20px, env(safe-area-inset-bottom))}}.dock.carded .actions{display:none}@media (max-width:719px) and (max-height:740px){.dock.carded>.rail,.dock.carded>footer{display:none}.card{padding:14px 16px 12px}.card h2{margin-bottom:4px;font-size:19px}.card .story{font-size:13.5px;line-height:1.4}.card .row{margin-top:10px}.card .row .btn{min-height:40px}.card .link{margin-top:4px}}@media (max-width:719px){.dock.carded #go-play,.dock.carded #hall-open{display:none}}.dock>.rail{pointer-events:none;flex-direction:column;align-self:flex-end;gap:2px;display:flex}.rail .round{pointer-events:auto}@media (min-width:720px){.dock>.rail{right:max(24px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));position:fixed}}.round{--depth:5px;place-items:center;width:50px;height:57px;display:grid}.round:before,.round:after{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.round svg{width:21px;height:21px}#go-camp svg,#go-play svg{color:var(--salmon)}#hall-open svg{color:var(--gold)}.search{--c:10px;align-items:center;gap:6px;padding:6px;display:flex}.search input{clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);min-width:0;height:44px;font-family:var(--mono);background:#080b0e9e;border:0;outline:none;flex:1;padding:0 12px;font-size:16px;box-shadow:inset 0 2px #00000073}.search input::placeholder{font-family:var(--sans);color:var(--muted);font-size:15px}.search input::-webkit-search-cancel-button{display:none}.search:focus-within input{box-shadow:inset 0 2px 0 #00000073, inset 0 0 0 1.5px var(--salmon)}.search button{--c:6px;--depth:3px;flex:0 0 44px;place-items:center;height:41px;margin:0 0 3px;display:grid}.search button svg{width:20px;height:20px}.actions{gap:6px;display:flex}.actions .btn{flex:auto}.btn{letter-spacing:.06em;white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 14px;font-size:12.5px;font-weight:750;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn.primary{text-shadow:0 1px #5a1e1480}#howto-open svg{color:var(--salmon)}.dock>footer{height:var(--bottom);color:var(--muted);justify-content:center;align-items:center;font-size:11px;line-height:1;display:flex;position:absolute;top:100%;left:0;right:0}footer a{text-underline-offset:2px;padding:2px 8px}@media (min-width:720px){.dock>footer{height:max(20px, env(safe-area-inset-bottom))}}.card{--depth:6px;--roof-hi:#e07760;--roof-lit:#c0533e;--roof-shade:#8e3728;margin-top:30px;padding:18px 18px 16px;animation:.3s cubic-bezier(.34,1.4,.64,1) rise}.card:before,.card:after{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px))}.roof{isolation:isolate;background:linear-gradient(to top, #00000052 0 3px, #0000 3px), repeating-linear-gradient(to bottom, #0000 0 8px, #00000021 8px 9px), var(--roof-lit);clip-path:polygon(7% 0,93% 0,100% 100%,0 100%);height:30px;position:absolute;bottom:100%;left:-9px;right:-9px}.roof:before,.roof:after{content:"";position:absolute;inset:0}.roof:before{background:var(--roof-hi);clip-path:polygon(7% 0,13% 100%,0 100%)}.roof:after{background:var(--roof-shade);clip-path:polygon(93% 0,100% 100%,87% 100%)}.card.founder{--roof-hi:#f3d57e;--roof-lit:#ddb54c;--roof-shade:#a8822a}.card.plain{--roof-hi:#4c5b78;--roof-lit:#3a465e;--roof-shade:#262f43}.card.root{--roof-hi:#f7ad95;--roof-lit:#ec7f5f;--roof-shade:#b95640}.card.founder .number{color:var(--gold)}.card.root .number{color:var(--root)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.card{animation:none}}.close{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:4px;right:4px}.close svg{width:18px;height:18px}@media (hover:hover){.close:hover{color:var(--cream)}}.card h2{font:600 21px/1.25 var(--mono);overflow-wrap:anywhere;margin:0 40px 8px 0}.card h2.title{font:750 22px/1.2 var(--sans)}.card .number{font:600 12px var(--mono);letter-spacing:.08em;color:var(--salmon);flex-wrap:wrap;gap:4px 12px;margin:0 40px 6px 0;display:flex}.card p{margin:0}.card .story{font-size:14.5px;line-height:1.5}.card .meta{color:var(--muted);font-size:13.5px}.card .meta+.story,.card .story+.meta,.card .owns{margin-top:8px}.card .owns li{list-style:none}.card ul{margin:0;padding:0}.badges{gap:6px;margin-top:12px;display:flex}.badge{font:700 11px var(--mono);letter-spacing:.08em;color:var(--muted);align-items:center;gap:3px;display:inline-flex}.badge i{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fdfbf924;width:11px;height:12.5px}.badge i:first-child{margin-left:5px}.badge i.lit{background:linear-gradient(90deg,#f0cd6a 50%,#c79d35 50%)}.card>div>.btn{width:100%;margin-top:14px}.card .row{gap:8px;margin-top:14px;display:flex}.card .row .btn{flex:1 1 0}.card .link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:4px 0;font-size:13px;text-decoration:underline}.card .handle-link{font-family:var(--mono);color:var(--salmon);text-underline-offset:3px}.card .headline{font-size:17px;line-height:1.4}.card .rewards,.card .news,.hall-list{scrollbar-width:thin;scrollbar-color:#fdfbf940 transparent}.card .rewards{max-height:172px;margin-top:10px;overflow-y:auto}.card .rewards summary{font:600 12px var(--mono);letter-spacing:.04em;color:var(--salmon);cursor:pointer;padding:4px 0}.card .earned{margin-top:4px}.card .earned li{grid-template-columns:14px 1fr;column-gap:8px;padding:3px 0;list-style:none;display:grid}.card .earned i{background:linear-gradient(to right, #ffffff2e 50%, #0000001a 50%), var(--metal);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);grid-row:1/span 2;width:12px;height:14px;margin-top:3px}.card .earned .common{--metal:#b9824a}.card .earned .rare{--metal:#c9ccd1}.card .earned .legendary{--metal:#e3b341}.card .earned b{font-size:13.5px;font-weight:700}.card .earned p{color:var(--muted);font-size:12.5px;line-height:1.35}.card .kicker{font:600 11px var(--mono);letter-spacing:.08em;color:var(--muted);margin-top:10px}.card .knowledge li{font-size:13.5px;list-style:none}.card .news{max-height:min(320px,46vh);margin-top:4px;overflow-y:auto}.card .news li{border-top:1px solid var(--line);padding:8px 0;list-style:none}.card .news li:first-child{border-top:0}.card .news-title{font-size:15px;font-weight:700;line-height:1.3;display:block}a.news-title{color:var(--salmon);text-underline-offset:3px}.card .news p{margin-top:2px;font-size:13.5px;line-height:1.4}.card .news .meta{font-size:12px}.card .bug-head{align-items:center;gap:12px;margin:-4px 0 6px;display:flex}.card .bug-head .bug-art{flex:none;margin-left:-6px}.card .bug-head h2{margin-bottom:4px}.card .bug-head .meta{font-size:13px;line-height:1.4}.card .bug-health{align-items:center;gap:8px;margin-bottom:10px;display:flex}.card .bug-health small{font:700 10px var(--mono);letter-spacing:.1em;color:var(--muted)}.card .bug-health .bar{flex:auto;max-width:none;height:10px}.card .bug-health .num{color:var(--cream);font-size:12.5px}.card.bug .row .btn.primary{flex:2 auto}.loading{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1a202666;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0}.loading.done{opacity:0;pointer-events:none}.loading-card{--c:12px;--depth:6px;width:min(300px, calc(100% - 2 * var(--gutter)));text-align:center;padding:18px 20px 14px}.loading .loading-card{animation:.35s ease-out both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.loading .loading-card{opacity:1;animation:none}}.loading-card .mark{width:54px;height:54px;margin:-4px auto 4px;display:block}.loading-card h1{letter-spacing:.01em;margin:0 0 14px;font-size:18px;font-weight:750}.loading-bar{justify-content:center;gap:2px;width:-moz-fit-content;width:fit-content;height:30px;margin:0 auto;padding:4px 6px 0;display:flex}.loading-bar i{--cap:#8fbf8c;--side:#5f8a5d;isolation:isolate;opacity:.3;width:20px;height:23px;transition:transform .45s cubic-bezier(.34,1.7,.64,1),opacity .2s;transition-delay:calc(var(--k,0) * 90ms);position:relative;transform:translateY(9px)scale(.85)}.loading-bar i:before,.loading-bar i:after{content:"";z-index:-1;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);position:absolute;inset:0}.loading-bar i:before{z-index:-2;background:var(--side);transform:translateY(3px)}.loading-bar i:after{background:linear-gradient(to right, #ffffff1f 50%, #0000000f 50%), var(--cap)}.loading-bar i:nth-child(3n+2){--cap:#a3cc8a;--side:#6d8f5c}.loading-bar i:nth-child(4n+1){--cap:#e6d3a3;--side:#a99467}.loading-bar i:last-child{--cap:var(--cap-tc);--side:var(--side-tc)}.loading-bar i.up{opacity:1;transform:none}.loading-done{letter-spacing:.06em;min-height:1.2em;color:var(--muted);margin:10px 0 0;font-size:11px;font-weight:700}@media (prefers-reduced-motion:reduce){.loading-bar i{transition:none}}.status,.fallback{--c:12px;--depth:6px;width:min(400px, calc(100% - 2 * var(--gutter)));padding:18px;position:fixed;left:50%;transform:translate(-50%)}.status{text-align:center;top:38%}.status p{margin:0 0 14px;font-size:16px}.status .btn{width:100%}.fallback{top:calc(var(--top) + 96px);max-height:calc(100% - var(--top) - 96px - 230px);overflow:auto}@media (min-width:720px){.fallback{max-height:calc(100% - 140px);left:auto;right:24px;transform:none}}.fallback p{margin:0 0 14px}.fallback h2{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.fallback ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fallback li button{clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);min-height:36px;font:13px var(--mono);cursor:pointer;background:#080b0e80;border:0;padding:0 10px}body.flat{background:radial-gradient(120% 80% at 50% 0%, var(--slate), var(--night))}.howto{--depth:6px;--roof-hi:#e07760;--roof-lit:#c0533e;--roof-shade:#8e3728;width:min(440px, calc(100% - 2 * var(--gutter)));max-height:calc(100% - var(--top) - var(--bottom) - 40px);color:var(--cream);flex-direction:column;margin:auto;padding:20px 20px 16px;overflow:visible}.howto[open]{display:flex}.howto:before,.howto:after{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px))}.howto:after{background:var(--facets), #1e2631fa}.howto::backdrop{background:#0a0d1099}.howto header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.howto header .mark{width:36px;height:36px;margin:-4px 0}.howto h2{margin:0;font-size:21px;font-weight:750}.howto-list{min-height:0;margin:0 0 16px;padding:0 2px 0 0;list-style:none;overflow-y:auto}.howto-list li{border-top:1px solid var(--line);grid-template-columns:22px 1fr;column-gap:14px;padding:11px 0;display:grid}.howto-list li:first-child{border-top:0;padding-top:2px}.howto-list li>svg{width:22px;height:22px;color:var(--salmon);grid-row:1/span 2}.howto-list b{grid-column:2;font-size:15px;font-weight:700;line-height:22px}.howto-list p{color:var(--muted);grid-column:2;margin:2px 0 0;font-size:14px;line-height:1.45}.socket{width:40px;height:46px;color:var(--salmon);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(90deg,#fdfbf912 50%,#0000001f 50%),#080b0e8c;grid-row:1/span 2;place-items:center;display:grid}.socket svg{width:19px;height:19px}.howto-list li.founder>svg,.howto-list li.medal>svg{color:var(--gold)}.howto .btn{width:100%}.hall{--roof-hi:#f3d57e;--roof-lit:#ddb54c;--roof-shade:#a8822a}.hall header .socket{color:var(--gold);flex:none}.hall-week{letter-spacing:.08em;color:var(--muted);margin-left:auto;font-size:12px;font-weight:700}.hall-tabs{flex-wrap:wrap;gap:4px 6px;margin-bottom:12px;display:flex}.hall-tabs .chip{cursor:pointer;color:var(--muted)}.hall-tabs .chip[aria-selected=true]{--cap:var(--cap-tc);--side:var(--side-tc);color:var(--cream)}.hall-list{min-height:0;margin-bottom:16px;overflow-y:auto}.hall-list section+section{margin-top:12px}.hall-list h3{font:600 11px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:0 0 4px}.hall-list ol{counter-reset:rank;margin:0;padding:0;list-style:none}.hall-list li{border-top:1px solid var(--line);counter-increment:rank;align-items:center;gap:10px;min-height:40px;display:flex}.hall-list li:before{content:counter(rank);width:16px;font:700 13px var(--mono);color:var(--gold)}.hall-list li:first-child{border-top:0}.hall-list .handle-link{text-align:left;min-width:0;min-height:40px;font:600 14px var(--mono);color:var(--salmon);text-underline-offset:3px;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;padding:0;text-decoration:underline}.hall-list .num{color:var(--cream);font-size:13px}.hall-empty{color:var(--muted);margin:0}body.flat .card{--cap:var(--night)}.card h2:focus{outline:none}
