:root{--ink-0: #0d0b0f;--ink-1: #141116;--ink-2: #1a161d;--ink-3: #231e27;--ink-4: #2e2833;--hair: rgba(243, 234, 216, .07);--hair-2: rgba(243, 234, 216, .13);--ivory: #f3ead8;--ivory-2: #c7bdac;--mute: #8a8179;--faint: #5e5750;--wine: #a8263e;--wine-hi: #c63a52;--wine-lo: #4a1220;--gold: #e6b450;--gold-lo: #6b5021;--side-a: #6d9df2;--side-b: #ef6a7f;--good: #74d08f;--bad: #ec6f5d;--heal: #7be0a0;--font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--display: Archivo, Inter, system-ui, sans-serif;--mono: "JetBrains Mono", Consolas, monospace;--nav-h: 52px;--gutter: 28px;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;overflow-x:clip;background:var(--ink-0);color:var(--ivory);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit;color:inherit}::selection{background:var(--wine);color:var(--ivory)}*{scrollbar-width:thin;scrollbar-color:var(--ink-4) var(--ink-1)}html{scrollbar-color:var(--ink-4) var(--ink-0)}@supports not (scrollbar-color: auto){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink-1)}::-webkit-scrollbar-thumb{background:var(--ink-4);border:2px solid var(--ink-1)}::-webkit-scrollbar-thumb:hover{background:var(--wine-lo)}::-webkit-scrollbar-corner{background:transparent}}.hidden{display:none!important}.display{font-family:var(--display);font-stretch:72%;font-weight:850;text-transform:uppercase;letter-spacing:-.005em;line-height:.92;margin:0}.h-xl{font-size:clamp(44px,6.4vw,92px)}.h-l{font-size:clamp(32px,3.6vw,52px)}.h-m{font-family:var(--display);font-stretch:78%;font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.05;margin:0}.eyebrow{font-family:var(--display);font-stretch:85%;font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}.lede{color:var(--ivory-2);font-size:16px;line-height:1.55;max-width:62ch}.muted{color:var(--mute)}.num{font-variant-numeric:tabular-nums}.app-nav{position:sticky;top:0;z-index:30;height:var(--nav-h);display:flex;align-items:stretch;background:var(--ink-1);box-shadow:0 1px 0 var(--hair)}.app-nav .brand{display:flex;flex:none;white-space:nowrap;align-items:center;gap:10px;padding:0 22px 0 18px;text-decoration:none;font-family:var(--display);font-stretch:70%;font-weight:900;font-size:21px;letter-spacing:.01em;text-transform:uppercase;color:var(--ivory)}.app-nav .brand-mark{width:30px;height:30px;flex:none;margin-top:-3px}.app-nav .brand-accent{color:var(--gold)}.app-nav .links{display:flex;align-items:stretch}.app-nav .nav-link{display:flex;white-space:nowrap;align-items:center;padding:0 16px;text-decoration:none;font-family:var(--display);font-stretch:85%;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-2);transition:background .12s,color .12s}.app-nav .nav-link:hover{color:var(--ivory);background:var(--ink-2)}.app-nav .nav-link.current{color:var(--ivory);background:var(--ink-3)}.app-nav .admin-links{align-items:center;background:var(--ink-0);box-shadow:inset 1px 0 0 var(--hair),inset -1px 0 0 var(--hair)}.app-nav .admin-links .nav-link{align-self:stretch;color:var(--mute)}.app-nav .admin-links .nav-link:hover,.app-nav .admin-links .nav-link.current{color:var(--ivory)}.app-nav .admin-tag{margin:0 4px 0 14px;padding:1px 5px;background:var(--wine-lo);color:var(--ivory-2);font-family:var(--display);font-stretch:85%;font-weight:700;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}.app-nav .spacer{flex:1}.app-nav .me{display:flex;align-items:center;gap:8px;padding:0 16px;font-size:13px;color:var(--ivory-2);text-decoration:none}.app-nav .me strong{color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:480px){.app-nav .me{min-width:0;padding:0 10px;gap:6px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.lang-switch{display:flex;align-items:stretch}.lang-switch button{border:none;background:none;padding:0 12px;font-family:var(--display);font-stretch:85%;font-weight:700;font-size:12px;letter-spacing:.08em;color:var(--faint);cursor:pointer}.lang-switch button:hover{color:var(--ivory)}.lang-switch button.on{color:var(--ivory);background:var(--ink-3)}@media(max-width:900px){.app-nav{overflow-x:auto;scrollbar-width:none}:root{--gutter: 16px}.app-nav .nav-link{padding:0 10px}}.page{max-width:1360px;margin:0 auto;padding:36px var(--gutter) 80px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.panel{background:var(--ink-1);padding:22px 24px}.panel.raised{background:var(--ink-2)}.rule{height:1px;background:var(--hair);border:none;margin:22px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;background:var(--ink-3);color:var(--ivory);padding:9px 16px;font-family:var(--display);font-stretch:85%;font-weight:750;font-size:13px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .12s,color .12s,transform .12s;white-space:nowrap}.btn:hover{background:var(--ink-4)}.btn:active{transform:translateY(1px)}.btn.on{background:var(--ivory);color:var(--ink-0)}.btn.primary{background:var(--wine);color:#fff6ea}.btn.primary:hover{background:var(--wine-hi)}.btn.big{padding:15px 26px;font-size:15px}.btn.cut{clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%);padding-right:30px}.btn.ghost{background:transparent;color:var(--ivory-2)}.btn.ghost:hover{background:var(--ink-3);color:var(--ivory)}.btn:disabled{opacity:.45;cursor:default;transform:none}.seg{display:inline-flex;background:var(--ink-1)}.seg button,.seg a{border:none;background:none;color:var(--mute);padding:9px 16px;font-family:var(--display);font-stretch:85%;font-weight:750;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}.seg button:hover,.seg a:hover{color:var(--ivory)}.seg .on{background:var(--ivory);color:var(--ink-0)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:var(--ink-3);color:var(--ivory-2);font-family:var(--display);font-stretch:85%;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.chip.wine{background:var(--wine);color:#fff6ea}.chip.gold{background:var(--gold);color:var(--ink-0)}.swatch{display:inline-block;width:10px;height:10px;background:var(--c, var(--ivory));flex:none}.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th{text-align:left;font-family:var(--display);font-stretch:85%;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:8px 10px}.table td{padding:9px 10px;box-shadow:inset 0 1px 0 var(--hair)}.table tr:hover td{background:var(--ink-2)}.table .r{text-align:right}.field{background:var(--ink-3);border:none;padding:10px 12px;color:var(--ivory);outline:none}.field:focus{background:var(--ink-4)}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;cursor:pointer;background:var(--ink-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23c7bdac' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 11px center}select.field option{background:var(--ink-2)}.meter{position:relative;height:6px;background:var(--ink-3)}.meter>i{position:absolute;inset:0 auto 0 0;background:var(--c, var(--ivory))}.tooltip{position:fixed;width:min(340px,calc(100vw - 16px));overflow:hidden;background:var(--ink-2);padding:14px 16px;box-shadow:0 18px 50px #000000a6;z-index:50;pointer-events:none}.tooltip .thead{display:flex;gap:12px;align-items:center}.tooltip .thead .icon{width:46px;height:46px;flex:none}.tooltip .tname{font-family:var(--display);font-stretch:80%;font-weight:800;font-size:18px;text-transform:uppercase}.tooltip .tkind{color:var(--mute);font-size:11.5px;margin-top:2px}.tooltip .tdesc{margin:10px 0 0;line-height:1.45;color:var(--ivory-2)}.tooltip .tlabel{margin-top:12px;font-family:var(--display);font-stretch:85%;font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.tooltip .tformula{margin-top:3px;font-family:var(--mono);font-size:12px;color:var(--gold)}.tooltip .tnote{margin-top:3px;font-size:11px;color:var(--mute);line-height:1.4}.tooltip .ttext{margin-top:3px;line-height:1.4}.empty{padding:40px 24px;text-align:center;color:var(--mute);background:var(--ink-1)}.notice{padding:12px 16px;background:var(--wine-lo);color:var(--ivory)}.fade-in{animation:fade-in .35s ease-out both}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}.app-nav .me.current{background:var(--ink-3);color:var(--ivory)}.app-nav .me:hover{background:var(--ink-2);color:var(--ivory)}.app-nav .me-new{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;background:var(--wine);color:#fff6ea;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.app-nav .nav-icon{padding:0 14px}.app-nav .nav-play{width:10px;height:10px;flex:none;margin:-1px 7px 0 0;color:var(--gold)}.app-nav .nav-gear{width:16px;height:16px}.auth{display:flex;flex-direction:column;gap:18px}.auth-tabs{align-self:flex-start}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form p{margin:0}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.auth-hint{font-size:12px;color:var(--mute)}.auth-hint.ok{color:var(--good)}.auth-hint.bad{color:var(--bad)}.auth-submit{display:flex;align-items:center;gap:16px;margin-top:4px}.auth-msg{color:var(--bad);font-size:13px}.auth-msg.ok{color:var(--good)}.small{font-size:12.5px}.badge{position:relative;flex:none}.badge svg{display:block;overflow:visible}.badge:not(.locked) svg{filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.badge-face{position:absolute;top:18%;right:19%;bottom:22%;left:19%;display:grid;place-items:center;overflow:hidden;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.ach-card{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--ink-1);min-width:0}.ach-card.done{background:var(--ink-2)}.ach-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ach-name{font-family:var(--display);font-stretch:80%;font-weight:800;font-size:16px;text-transform:uppercase;line-height:1.1}.ach-card:not(.done) .ach-name{color:var(--ivory-2)}.ach-desc{color:var(--mute);font-size:12.5px;line-height:1.35}.ach-foot{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:11.5px;color:var(--mute)}.ach-meter{flex:1;height:4px;--c: var(--ivory-2)}.ach-tier{font-family:var(--display);font-stretch:85%;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.ach-tier.t-bronze{color:#d08a52}.ach-tier.t-silver{color:#d9dee6}.ach-tier.t-gold{color:var(--gold)}.ach-tier.t-platinum{color:#bff3ee}.ach-unlocked{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:linear-gradient(90deg,#e6b45024,#e6b45008)}.ach-unlocked .eyebrow{color:var(--gold)}.ach-unlocked-list{display:flex;flex-direction:column;gap:8px}.ach-unlocked-item{display:flex;align-items:center;gap:12px;text-decoration:none}.ach-unlocked-item strong{font-family:var(--display);font-stretch:80%;font-weight:800;text-transform:uppercase;font-size:15px}@media(max-width:1560px){.app-nav{overflow-x:auto;scrollbar-width:none}.app-nav .nav-link{padding:0 11px}.app-nav .brand{padding-right:14px}}.auth-link{align-self:flex-start;border:none;background:none;padding:0;color:var(--ivory-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:13px}.auth-link:hover{color:var(--ivory)}.field.mono{font-family:var(--mono);letter-spacing:.04em}.auth-trap{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.auth-check{display:flex;flex-direction:column;gap:12px}.auth-check h2,.auth-check p{margin:0}.app-nav .nav-menu{display:contents}.app-nav .nav-menu>.links{order:1}.app-nav .nav-menu>.spacer{order:2}.app-nav .nav-menu>.admin-links{order:3}.app-nav>.me{order:4}.app-nav .nav-menu>.nav-account{order:5}.app-nav .nav-menu>.lang-switch{order:6}.app-nav .nav-label,.app-nav .nav-burger{display:none}@media(max-width:760px){.app-nav{overflow:visible}.app-nav .brand{padding:0 12px 0 var(--gutter)}.app-nav>.me{margin-left:auto;padding:0 12px}.app-nav>.me.hidden+.nav-burger{margin-left:auto}.app-nav .nav-burger{order:7;display:flex;flex-direction:column;justify-content:center;gap:5px;width:var(--nav-h);flex:none;padding:0 15px;border:none;background:none;cursor:pointer}.app-nav .nav-burger span{display:block;height:2px;background:var(--ivory-2);transition:transform .15s,opacity .15s}.app-nav.open .nav-burger{background:var(--ink-3)}.app-nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.app-nav.open .nav-burger span:nth-child(2){opacity:0}.app-nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-nav .nav-menu{display:none}.app-nav.open .nav-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--nav-h));overflow-y:auto;padding-bottom:8px;background:var(--ink-1);box-shadow:0 1px 0 var(--hair),0 18px 40px #0000008c}.app-nav .nav-menu>.spacer{display:none}.app-nav .nav-menu .links{flex-direction:column;align-items:stretch}.app-nav .nav-menu .nav-link{min-height:48px;padding:0 var(--gutter);font-size:14px}.app-nav .nav-menu .admin-links{box-shadow:inset 0 1px 0 var(--hair),inset 0 -1px 0 var(--hair);padding-top:10px}.app-nav .nav-menu .admin-tag{align-self:flex-start;margin:0 var(--gutter) 2px}.app-nav .nav-menu .nav-icon{gap:10px}.app-nav .nav-menu .nav-label{display:inline}.app-nav .nav-menu .lang-switch{padding:10px var(--gutter) 4px;gap:2px}.app-nav .nav-menu .lang-switch button{min-height:40px;padding:0 16px;background:var(--ink-2)}.app-nav .nav-menu .lang-switch button.on{background:var(--ink-3)}}@media(max-width:360px){.app-nav .brand{font-size:0;gap:0}}.site-footer{margin-top:40px;border-top:1px solid var(--hair);background:var(--ink-1)}.site-footer-inner{max-width:1360px;margin:0 auto;padding:20px var(--gutter) 28px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--faint)}.site-footer a{color:var(--mute);text-decoration:none}.site-footer a:hover{color:var(--ivory)}.app-nav .nav-legal{display:none}@media(max-width:760px){.app-nav .nav-menu .nav-legal{display:block;order:7;padding:12px var(--gutter) 6px;font-size:12px;color:var(--mute);text-decoration:none}}.auth-terms a{color:var(--ivory-2)}.toasts{position:fixed;top:calc(var(--nav-h) + 12px);right:12px;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 24px));pointer-events:none}.toast{position:relative;display:flex;align-items:center;gap:14px;padding:12px 34px 12px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--tier) 22%,var(--ink-2)),var(--ink-2) 70%);box-shadow:0 14px 34px #00000080;color:var(--ivory);text-decoration:none;pointer-events:auto;animation:toast-in .32s cubic-bezier(.2,.9,.3,1.2) both}.toast:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--tier) 30%,var(--ink-3)),var(--ink-3) 70%)}.toast .eyebrow{color:var(--tier, var(--gold))}.toast strong{display:block;margin:2px 0 1px;font-family:var(--display);font-stretch:80%;font-weight:800;font-size:17px;text-transform:uppercase}.toast-text{min-width:0}.toast-close{position:absolute;top:4px;right:4px;width:26px;height:26px;border:none;background:none;color:var(--mute);font-size:18px;line-height:1;cursor:pointer}.toast-close:hover{color:var(--ivory)}.toast-more{padding:10px 14px;font-size:13px;color:var(--ivory-2)}.toast.out{animation:toast-out .26s ease both}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}}@keyframes toast-out{to{opacity:0;transform:translate(40px)}}@media(prefers-reduced-motion:reduce){.toast,.toast.out{animation-duration:.01s}}.admin-heading{display:flex;align-items:center;gap:8px}.chip.admin-tag{padding:2px 6px;font-size:10px;letter-spacing:.1em;vertical-align:middle;cursor:help}.chip.bot-tag{padding:2px 6px;margin-left:6px;font-size:10px;letter-spacing:.1em;vertical-align:middle;cursor:help}.sound-toggle{padding-left:11px;padding-right:11px}.sound-toggle svg{width:18px;height:18px;display:block}.sound-toggle .cross,.sound-toggle.off .wave{display:none}.sound-toggle.off .cross{display:inline}.sound-toggle.off,.sound-toggle.idle{color:var(--mute)}.render-notice{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:16px;width:min(640px,calc(100% - 32px));padding:14px 16px;background:var(--ink-1);box-shadow:0 10px 30px #00000080;color:var(--ivory);font-size:13px}.render-notice .text{display:grid;gap:4px;flex:1}.render-notice strong{font-family:var(--display);font-size:15px;color:var(--gold)}.render-notice span{color:var(--ivory-2);line-height:1.45}.render-notice .actions{display:grid;gap:6px}@media(max-width:760px){.render-notice{flex-direction:column;align-items:stretch;bottom:72px}.render-notice .actions{grid-template-columns:1fr 1fr}}
