:root{--ocean:#0a1017;--ocean-deep:#06090e;--land:#222c37;--land-edge:#0a1017;--land-dim:#1a222c;--panel:#101823;--panel-edge:#1e2937;--ink:#ece6d8;--ink-dim:#8d96a3;--brass:#e0a83e;--brass-soft:#b98a34;--jade:#4ec78f;--coral:#e2604f;--sky:#6fb1d8;--font-display:"Fraunces", serif;--font-body:"Karla", sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius:4px;--radius-lg:6px;font-family:var(--font-body);color:var(--ink);background-color:var(--ocean);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(120% 90% at 50% 0%, #101a26 0%, var(--ocean) 55%, var(--ocean-deep) 100%);background-attachment:fixed;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(0deg,#8d96a30b 0 1px,#0000 1px 72px),repeating-linear-gradient(90deg,#8d96a30b 0 1px,#0000 1px 72px);position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 100% at 50% 30%,#000 40%,#0000 100%);mask-image:radial-gradient(120% 100% at 50% 30%,#000 40%,#0000 100%)}body:after{content:"";z-index:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:1;position:relative}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:600}button{cursor:pointer;font-family:inherit}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.btn{border:1px solid var(--brass-soft);background:linear-gradient(180deg, #f0b94e, var(--brass));color:#241a06;text-transform:uppercase;letter-spacing:.14em;border-radius:var(--radius-lg);padding:.85rem 2.1rem;font-size:.88rem;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 4px 24px #e0a83e40}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn--ghost{border-color:var(--panel-edge);color:var(--ink-dim);box-shadow:none;background:0 0}.btn--ghost:hover{color:var(--ink);border-color:var(--ink-dim)}.chip{background:color-mix(in srgb, var(--panel) 72%, transparent);border:1px solid var(--panel-edge);border-radius:var(--radius);align-items:baseline;gap:.5rem;padding:.55rem .95rem;display:inline-flex;box-shadow:inset 0 1px #ffffff08}.chip b{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.chip span{font-family:var(--font-mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;font-size:.64rem}.plate{border:1px solid var(--panel-edge);border-radius:var(--radius);position:relative}.plate:before,.plate:after{content:"";pointer-events:none;width:11px;height:11px;position:absolute}.plate:before{border-top:1.5px solid var(--brass-soft);border-left:1.5px solid var(--brass-soft);top:-1px;left:-1px}.plate:after{border-bottom:1.5px solid var(--brass-soft);border-right:1.5px solid var(--brass-soft);bottom:-1px;right:-1px}.sechead{width:100%;font-family:var(--font-mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.28em;white-space:nowrap;align-items:center;gap:1rem;font-size:.7rem;font-weight:500;display:flex}.sechead:before,.sechead:after{content:"";background:linear-gradient(90deg, transparent, var(--panel-edge));flex:1;height:1px}.sechead:after{background:linear-gradient(90deg, var(--panel-edge), transparent)}.authmodal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06090eb8;place-items:center;padding:1.25rem;animation:.16s both authfade;display:grid;position:fixed;inset:0}@keyframes authfade{0%{opacity:0}to{opacity:1}}.authmodal__panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius-lg);width:min(26rem,100%);padding:1.9rem 1.7rem 1.5rem;animation:.2s both authrise;position:relative;box-shadow:0 24px 60px #0000008c}@keyframes authrise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.authmodal__close{width:1.9rem;height:1.9rem;color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:1.4rem;line-height:1;transition:color .15s;display:grid;position:absolute;top:.7rem;right:.8rem}.authmodal__close:hover{color:var(--ink)}.authmodal__title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem}.authmodal__sub{color:var(--ink-dim);margin:.3rem 0 1.3rem;font-size:.84rem}.authmodal__google{border-radius:var(--radius);border:1px solid var(--panel-edge);color:#1f2329;width:100%;font-family:var(--font-mono);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:.6rem;padding:.65rem;font-size:.82rem;font-weight:600;transition:transform .12s,box-shadow .12s;display:flex}.authmodal__google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #00000059}.authmodal__google:disabled{opacity:.65;cursor:default}.authmodal__divider{text-align:center;color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;margin:1.1rem 0;font-size:.68rem;display:flex}.authmodal__divider:before,.authmodal__divider:after{content:"";background:var(--panel-edge);flex:1;height:1px}.authmodal__divider span{padding:0 .7rem}.authmodal__form{flex-direction:column;gap:.85rem;display:flex}.authmodal__field{flex-direction:column;gap:.3rem;display:flex}.authmodal__field span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);font-size:.68rem}.authmodal__field input{border-radius:var(--radius);border:1px solid var(--panel-edge);background:var(--ocean-deep);width:100%;color:var(--ink);font-family:var(--font-mono);padding:.6rem .7rem;font-size:.9rem;transition:border-color .15s}.authmodal__field input:focus{border-color:var(--brass-soft);outline:none}.authmodal__field input::placeholder{color:color-mix(in srgb, var(--ink-dim) 70%, transparent)}.authmodal__error{color:var(--coral);margin:0;font-size:.78rem}.authmodal__notice{color:var(--jade);margin:0;font-size:.78rem}.authmodal__submit{border-radius:var(--radius);background:linear-gradient(180deg, #f0b94e, var(--brass));color:#241a06;width:100%;font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;border:none;margin-top:.25rem;padding:.7rem;font-size:.86rem;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s}.authmodal__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #e0a83e59}.authmodal__submit:disabled{opacity:.7;cursor:default}.authmodal__foot{text-align:center;color:var(--ink-dim);font-family:var(--font-mono);flex-direction:column;gap:.5rem;margin-top:1.2rem;font-size:.76rem;display:flex}.authmodal__link{color:var(--brass);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.authmodal__link:hover{text-decoration:underline}.account{z-index:20;font-family:var(--font-mono);position:absolute;top:1.1rem;right:1.25rem}.account--signin{color:var(--ink-dim);border:1px solid var(--panel-edge);letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .85rem;font-size:.74rem;transition:color .15s,border-color .15s,background .15s}.account--signin:hover:not(:disabled){color:var(--brass);border-color:var(--brass-soft);background:#e0a83e0f}.account--signin:disabled{opacity:.6;cursor:default}.account--avatar{border:1px solid var(--brass-soft);width:2.1rem;height:2.1rem;color:var(--brass);font-family:var(--font-display);cursor:pointer;background:linear-gradient(160deg,#2a2113,#14110a);border-radius:50%;place-items:center;font-size:.95rem;font-weight:600;text-decoration:none;transition:border-color .15s;display:grid}.account--avatar:hover{border-color:var(--brass)}.account__popover{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius-lg);text-align:left;min-width:13rem;padding:.85rem .9rem;position:absolute;top:2.6rem;right:0;box-shadow:0 12px 30px #00000073}.account__name{font-family:var(--font-display);color:var(--ink);font-size:.92rem}.account__email{color:var(--ink-dim);word-break:break-all;margin-top:.15rem;font-size:.72rem}.account__synced{color:var(--jade);letter-spacing:.02em;margin-top:.55rem;font-size:.68rem}.account__signout{width:100%;color:var(--ink-dim);border:1px solid var(--panel-edge);border-radius:var(--radius);font-family:var(--font-mono);cursor:pointer;background:0 0;margin-top:.7rem;padding:.4rem 0;font-size:.74rem;transition:color .15s,border-color .15s}.account__signout:hover{color:var(--coral);border-color:var(--coral)}@media (width<=560px){.account{top:.75rem;right:.85rem}}.map-tooltip{z-index:60;background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--panel-edge);border-radius:var(--radius);pointer-events:none;white-space:nowrap;align-items:center;gap:.55rem;padding:.45rem .7rem;animation:.12s both tip-in;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 6px 24px #00000080}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 8px))}to{opacity:1;transform:translate(-50%,calc(-100% - 14px))}}.map-tooltip img{width:38px;box-shadow:0 0 0 1px var(--panel-edge);border-radius:2px;display:block}.map-tooltip__name{font-size:.92rem;font-weight:700}.map-tooltip__detail{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);font-size:.62rem}.map-tooltip__detail--mastered{color:var(--brass);font-weight:700}.globe{justify-content:center;width:min(600px,94vw);display:flex;position:relative}.globe canvas{cursor:grab;touch-action:none}.globe canvas:active{cursor:grabbing}.rankbadge{--rank-color:var(--brass);border:2px solid var(--rank-color);color:var(--rank-color);background:radial-gradient(70% 70% at 50% 35%, color-mix(in srgb, var(--rank-color) 16%, transparent), transparent 75%), var(--panel);box-shadow:0 0 18px color-mix(in srgb, var(--rank-color) 30%, transparent), inset 0 1px 0 #ffffff0f;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.rankbadge:before{content:"";border:1px dashed color-mix(in srgb, var(--rank-color) 55%, transparent);pointer-events:none;border-radius:50%;position:absolute;inset:4px}.rankbadge--sm{width:40px;height:40px}.rankbadge--sm svg{width:19px;height:19px}.rankbadge--md{width:64px;height:64px}.rankbadge--md svg{width:30px;height:30px}.rankbadge--lg{width:84px;height:84px}.rankbadge--lg svg{width:40px;height:40px}.rankbadge--atlas{color:#e8defc;background-image:radial-gradient(1px 1px at 29% 24%,#fffffff2,#0000 100%),radial-gradient(1px 1px at 67% 16%,#bee2ffd9,#0000 100%),radial-gradient(1.4px 1.4px at 76% 62%,#fffc,#0000 100%),radial-gradient(1px 1px at 20% 68%,#d6bcffcc,#0000 100%),radial-gradient(1px 1px at 48% 82%,#ffffff8c,#0000 100%),radial-gradient(1.2px 1.2px at 56% 38%,#fff6dcb3,#0000 100%),radial-gradient(60% 55% at 38% 30%,#7c3aed66,#0000 75%),radial-gradient(55% 50% at 68% 72%,#3884c847,#0000 75%),radial-gradient(circle at 50% 42%,#170c30 0%,#07040f 80%);background-clip:padding-box;border-color:#0000;animation:3.2s ease-in-out infinite atlas-breathe}.rankbadge--atlas svg{filter:drop-shadow(0 0 5px #a78bfad9)}.rankbadge--atlas:before{border-color:#cdb6ff73}.rankbadge--atlas:after{content:"";z-index:-1;background:conic-gradient(#8b5cf6,#6fd1f1 30%,#ecdfb4 52%,#b072e8 72%,#8b5cf6);border-radius:50%;animation:7s linear infinite atlas-spin;position:absolute;inset:-2.5px}@keyframes atlas-spin{to{transform:rotate(360deg)}}@keyframes atlas-breathe{0%,to{box-shadow:0 0 22px #8b5cf673,0 0 46px #6fd1f12e,inset 0 1px #ffffff14}50%{box-shadow:0 0 30px #8b5cf6a6,0 0 60px #6fd1f14d,inset 0 1px #ffffff14}}.atlas-text{background:linear-gradient(100deg,#b69df8 5%,#7dd6f6 40%,#efe3c2 70%,#cdb0ff 95%);color:#0000;filter:drop-shadow(0 2px 12px #8b5cf666);-webkit-background-clip:text;background-clip:text}.atlas-text span{background:0 0;-webkit-background-clip:initial;background-clip:initial;color:var(--ink-dim)}.rankcard{flex-direction:column;align-items:center;gap:.5rem;width:min(520px,100%);display:flex}.rankcard__emblem{align-items:center;gap:1rem;display:flex}.rankcard__id{text-align:left}.rankcard__name{font-family:var(--font-display);font-size:1.9rem;font-weight:700;line-height:1.05}.rankcard__name span{color:var(--ink-dim);font-size:1.3rem;font-weight:600}.rankcard__score{font-family:var(--font-mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem}.rankcard__score b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.rankscale{gap:5px;width:100%;padding:.6rem 0 .2rem;display:flex}.rankseg{flex-direction:column;flex-basis:0;gap:7px;min-width:0;display:flex}.rankseg__bar{background:#ffffff12;border-radius:3px;height:5px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #00000073}.rankseg__fill{background:linear-gradient(90deg, color-mix(in srgb, var(--rank-color) 65%, #000), var(--rank-color));border-radius:3px;height:100%;transition:width 1.1s cubic-bezier(.22,1,.36,1)}.rankseg.active .rankseg__fill{box-shadow:0 0 10px color-mix(in srgb, var(--rank-color) 55%, transparent)}.rankseg.done .rankseg__fill{opacity:.75}.rankseg__notch{background:#0a1017d9;width:1.5px;position:absolute;top:0;bottom:0}.rankseg__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--ink-dim);font-size:.54rem;overflow:hidden}.rankseg.done .rankseg__label{color:color-mix(in srgb, var(--rank-color) 65%, var(--ink-dim))}.rankseg.active .rankseg__label{color:var(--rank-color);font-weight:600}.gamebadge{filter:drop-shadow(0 3px 8px #00000080);display:block}.gamebadge--bronze{filter:drop-shadow(0 0 7px #c0824959)drop-shadow(0 3px 7px #00000080)}.gamebadge--silver{filter:drop-shadow(0 0 7px #b9c4cf4d)drop-shadow(0 3px 7px #00000080)}.gamebadge--gold{filter:drop-shadow(0 0 9px #e0a83e73)drop-shadow(0 3px 7px #00000080)}.gamebadge--diamond{filter:drop-shadow(0 0 13px #78d7f099)drop-shadow(0 3px 7px #00000080)}.medal{border:1px solid var(--panel-edge);background:var(--panel);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .9rem;font-size:.8rem;font-weight:700;display:inline-flex}.medal--diamond span{color:#9fe8f7}.medal--gold span{color:var(--brass)}.medal--silver span{color:#c9d4de}.medal--bronze span{color:#d49a64}.award{flex-direction:column;align-items:center;gap:.4rem;width:100%;display:flex;position:relative}.award--bronze{color:#d8a36c}.award--silver{color:#cdd7e0}.award--gold{color:#f0c060}.award--diamond{color:#9fe8f7}.award--none{color:var(--ink-dim)}.award__rays{opacity:0;pointer-events:none;background:repeating-conic-gradient(currentColor 0deg 1.6deg,#0000 1.6deg 13deg);width:300px;height:300px;animation:.6s .22s forwards rays-in,36s linear infinite rays-spin;position:absolute;top:64px;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(closest-side,#0000 34%,#000 46%,#0000 72%);mask:radial-gradient(closest-side,#0000 34%,#000 46%,#0000 72%)}@keyframes rays-in{to{opacity:.22}}@keyframes rays-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.award__badge{z-index:1;animation:.72s cubic-bezier(.34,1.7,.5,1) both badge-pop;position:relative}@keyframes badge-pop{0%{opacity:0;transform:scale(.3)rotate(-28deg)}55%{opacity:1}to{opacity:1;transform:scale(1)rotate(0)}}.award--none .award__badge .gamebadge{filter:grayscale(.85)brightness(.55);opacity:.65}.award__name{z-index:1;font-family:var(--font-display);letter-spacing:.05em;color:currentColor;margin-top:.45rem;font-size:clamp(1.7rem,5.5vw,2.5rem);font-weight:700;line-height:1;animation:.36s .24s both rise;position:relative}.award--diamond .award__name,.award--gold .award__name{text-shadow:0 0 18px}.award--none .award__name{font-size:clamp(1.2rem,4vw,1.6rem)}.award__flavor{z-index:1;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:.68rem;animation:.36s .3s both rise;position:relative}.ladder{width:min(440px,100%)}.ladder__row{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.ladder__step{border-radius:var(--radius);border:1px solid #0000;flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .2rem .45rem;display:flex}.ladder__step .gamebadge{filter:grayscale()brightness(.55);opacity:.5;transition:filter .3s,opacity .3s}.ladder__step.is-reached .gamebadge{filter:none;opacity:1}.ladder__step.is-earned{border-color:color-mix(in srgb, currentColor 35%, var(--panel-edge));background:color-mix(in srgb, var(--panel) 62%, transparent)}.ladder__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);font-size:.54rem}.ladder__step.is-reached .ladder__label{color:var(--ink)}.ladder__step.is-earned .ladder__label{font-weight:700}.ladder__pts{font-family:var(--font-mono);color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.58rem}.ladder__next{text-align:center;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);margin-top:.8rem;font-size:.7rem}.ladder__next b{color:var(--brass);font-variant-numeric:tabular-nums;font-weight:700}@media (prefers-reduced-motion:reduce){.award__rays{animation:1ms forwards rays-in}.award__badge{animation:none}}.history{flex-direction:column;gap:.45rem;width:100%;max-width:720px;display:flex}.history__row{background:color-mix(in srgb, var(--panel) 72%, transparent);border:1px solid var(--panel-edge);border-left:2px solid var(--panel-edge);border-radius:var(--radius);color:var(--ink);text-align:left;cursor:pointer;grid-template-columns:1fr auto auto 26px auto;align-items:center;gap:.9rem;padding:.6rem 1rem;font-size:.92rem;transition:border-color .12s,transform .12s;display:grid}.history__row:hover{border-color:var(--brass-soft);border-left-color:var(--brass);transform:translateY(-1px)}.history__date{color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.03em;flex-direction:column;font-size:.74rem;display:flex}.history__date em{letter-spacing:.1em;text-transform:uppercase;color:var(--brass-soft);font-size:.64rem;font-style:normal}.history__exact{color:var(--ink-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.74rem}.history__delta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;text-align:right;min-width:2.6rem;color:var(--ink-dim);font-size:.74rem;font-weight:600}.history__delta.up{color:var(--jade)}.history__delta.down{color:var(--coral)}.history__pts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:3.2rem;font-size:.95rem;font-weight:600}.history__nomedal{color:var(--panel-edge);text-align:center}.home{flex-direction:column;align-items:center;gap:2.2rem;max-width:1180px;margin:0 auto;padding:2.5rem 1.5rem 4rem;animation:.4s both rise;display:flex;position:relative}.home__masthead{text-align:center}.home__title{font-size:clamp(2.2rem,4vw,3rem);font-weight:700;line-height:1}.home__title em{color:var(--brass);font-style:italic}.home__tag{font-family:var(--font-mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.24em;margin:.7rem 0 0;font-size:.7rem}.home__grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);width:100%;display:grid}.home__hero{flex-direction:column;align-items:center;gap:1rem;display:flex;position:sticky;top:1.5rem}.home__console{flex-direction:column;align-items:stretch;gap:1.1rem;display:flex}.home__console .rankcard,.home__play{width:100%}.home__howto{color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;align-self:center;padding:.2rem;font-size:.74rem}.home__howto:hover{color:var(--brass)}@media (width<=920px){.home__grid{grid-template-columns:1fr}.home__hero{order:2;position:static}.home__console{order:1}}.legend{color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.66rem;display:flex}.passportcard{background:color-mix(in srgb, var(--panel) 82%, transparent);border:1px solid var(--panel-edge);border-left:2px solid var(--brass-soft);border-radius:var(--radius);color:var(--ink);align-items:center;gap:1rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .14s,transform .14s,box-shadow .14s;display:flex}.passportcard:hover{border-color:var(--brass-soft);border-left-color:var(--brass);transform:translateY(-1px);box-shadow:0 6px 18px #00000047}.passportcard__icon{width:42px;height:42px;color:var(--brass);background:color-mix(in srgb, var(--brass) 12%, transparent);border:1px solid color-mix(in srgb, var(--brass) 28%, transparent);border-radius:8px;flex:none;place-items:center;transition:background .14s,color .14s;display:grid}.passportcard__icon svg{width:24px;height:24px}.passportcard:hover .passportcard__icon{background:color-mix(in srgb, var(--brass) 20%, transparent);color:#f0c97e}.passportcard__body{flex-direction:column;flex:auto;gap:.4rem;min-width:0;display:flex}.passportcard__top{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.passportcard__label{font-family:var(--font-display);letter-spacing:.01em;font-size:1.05rem;font-weight:700}.passportcard__count{font-family:var(--font-mono);color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.74rem}.passportcard__count b{color:var(--brass);font-weight:600}.passportcard__bar{background:var(--ocean);border-radius:3px;height:6px;display:flex;overflow:hidden}.passportcard__seg{height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1)}.passportcard__seg--mastered{background:var(--brass)}.passportcard__seg--learning{background:#3d9a70}.passportcard__legend{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.1rem .85rem;font-size:.58rem;display:flex}.passportcard__key{align-items:center;gap:.32rem;display:inline-flex}.passportcard__key:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.passportcard__key--mastered{color:var(--brass)}.passportcard__key--learning{color:#3d9a70}.passportcard__key--unseen{color:var(--ink-dim)}.passportcard__key--unseen:before{border:1px solid var(--ink-dim);background:0 0}.passportcard__arrow{font-family:var(--font-mono);color:var(--brass);flex:none;font-size:1.1rem;transition:transform .14s}.passportcard:hover .passportcard__arrow{transform:translate(3px)}.legend__bar{background:linear-gradient(90deg,#222c37 0%,#2c5a4c 28%,#3d9a70 52%,#5fd49a 74%,#e0a83e 100%);border-radius:3px;width:180px;height:6px}.modes{flex-direction:column;gap:.9rem;width:100%;display:flex}.modegrid{grid-template-columns:1fr 1fr;align-items:stretch;gap:.7rem;display:grid}@media (width<=420px){.modegrid{grid-template-columns:1fr}}.modecard{background:color-mix(in srgb, var(--panel) 82%, transparent);color:var(--ink);text-align:left;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.95rem 1.05rem;transition:border-color .13s,transform .13s;display:flex}button.modecard:hover:not(:disabled){border-color:var(--brass-soft);transform:translateY(-1px)}.modecard:disabled{opacity:.45;cursor:default}.modecard b{font-family:var(--font-display);font-size:1.08rem}.modecard span{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);font-size:.66rem;line-height:1.5}.modecard__go{font-style:normal;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-top:auto;padding-top:.5rem;font-size:.66rem;font-weight:600;transition:color .12s,letter-spacing .12s}.modecard:disabled .modecard__go{visibility:hidden}button.modecard:hover:not(:disabled) .modecard__go{color:#f0c97e;letter-spacing:.2em}.modecard__go--btn{text-align:left;cursor:pointer;background:0 0;border:none;padding:.5rem 0 0}.modecard__go--btn:hover:not(:disabled){color:#f0c97e;letter-spacing:.2em}.modecard__go--btn:disabled{color:var(--ink-dim);cursor:default;visibility:visible}.modecard--config{grid-column:1/-1}.modecard__bottom{flex-direction:column;gap:.5rem;width:100%;margin-top:auto;padding-top:.55rem;display:flex}.iconrow{gap:.4rem;width:100%;display:flex}.iconbtn{background:var(--ocean);border:1px solid var(--panel-edge);border-radius:var(--radius);min-width:0;color:var(--ink-dim);flex-direction:column;flex:1 1 0;align-items:center;gap:.4rem;padding:.55rem .15rem .5rem;transition:border-color .12s,color .12s,background .12s;display:flex}.iconbtn:hover{border-color:var(--brass-soft);color:var(--ink)}.iconbtn.selected{border-color:var(--rank-color,var(--brass));color:var(--rank-color,var(--brass));background:color-mix(in srgb, var(--rank-color,var(--brass)) 8%, transparent)}.iconbtn svg{flex:none;width:28px;height:22px}.iconbtn span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-align:center;font-size:.52rem;line-height:1.25}.playglobe{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.playglobe canvas{display:block}.playglobe__readout{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);background:color-mix(in srgb, var(--ocean-deep) 82%, transparent);border:1px solid var(--panel-edge);white-space:nowrap;pointer-events:none;opacity:0;border-radius:5px;align-items:center;gap:.4rem;padding:.25rem .5rem;font-size:.62rem;transition:opacity .12s;display:flex;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.playglobe__readout-flag{object-fit:contain;border-radius:1px;width:22px;height:15px;box-shadow:0 0 0 1px #0006}.score-reel{z-index:45;pointer-events:none;text-align:center;flex-direction:column;align-items:center;gap:.5rem;animation:.28s cubic-bezier(.2,1.2,.4,1) both reel-in;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%)}@keyframes reel-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.score-reel__verdict{font-family:var(--font-display);letter-spacing:.01em;text-shadow:0 2px 14px #0009;font-size:1.7rem;font-weight:700}.score-reel__verdict.good{color:var(--jade)}.score-reel__verdict.near{color:var(--brass)}.score-reel__verdict.bad{color:var(--coral)}.score-reel__counter{border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 78%, transparent);box-shadow:0 6px 30px #00000073, inset 0 0 0 1px var(--panel-edge);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:baseline;gap:.3rem;padding:.3rem 1rem;display:inline-flex;position:relative}.score-reel__value{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;font-size:2.9rem;font-weight:700;line-height:1;animation:.32s cubic-bezier(.2,1.5,.4,1) value-pop;display:inline-block}@keyframes value-pop{0%{transform:scale(1)}35%{color:var(--brass);transform:scale(1.28)}to{transform:scale(1)}}.score-reel__unit{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:.8rem}.score-reel__chip{font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.82rem;font-weight:700;animation:1.5s cubic-bezier(.3,.9,.3,1) both chip-collide;position:absolute;bottom:-1.5rem;left:50%}.score-reel__chip.speed{color:#241a06;background:linear-gradient(180deg, #f4cd76, var(--brass));box-shadow:0 0 16px #e0a83e99}.score-reel__chip.name{color:#06231a;background:linear-gradient(180deg, #7fe3b4, var(--jade));box-shadow:0 0 16px #4ec78f8c}.score-reel__chip.miss{color:#fff;background:color-mix(in srgb, var(--coral) 80%, black)}@keyframes chip-collide{0%{opacity:0;transform:translate(-50%,22px)scale(.85)}14%{opacity:1;transform:translate(-50%,22px)scale(1)}30%{opacity:1;transform:translate(-50%)scale(1.04)}38%{opacity:1;transform:translate(-50%)scale(1)}82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-10px)scale(.85)}}.score-reel.perfect .score-reel__verdict{background:linear-gradient(95deg,#e0a83e 0%,#fff2c8 30%,#f4cd76 55%,#e0a83e 100%) 0 0/220%;color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 12px #e0a83e8c);-webkit-background-clip:text;background-clip:text;font-size:2rem;animation:1.6s linear infinite perfect-shine}@keyframes perfect-shine{to{background-position:220%}}.score-reel.perfect .score-reel__counter{box-shadow:0 0 34px #f4cd768c, inset 0 0 0 1px var(--brass)}.score-reel.perfect .score-reel__value{color:#ffe6ad}.score-reel__burst{pointer-events:none;z-index:-1;background:radial-gradient(circle,#f4cd768c 0%,#e0a83e2e 38%,#0000 66%);border-radius:50%;width:260px;height:260px;animation:1.1s ease-out both perfect-burst;position:absolute;top:50%;left:50%}@keyframes perfect-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@media (prefers-reduced-motion:reduce){.score-reel,.score-reel__value,.score-reel__chip,.score-reel__burst{animation-duration:1ms}.score-reel.perfect .score-reel__verdict{animation:none}}.play{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.play__map{flex:1;justify-content:center;align-items:center;min-height:0;padding:.5rem;display:flex}.studyloading{z-index:60;background:radial-gradient(120% 90% at 50% 0%, #101a26 0%, var(--ocean) 55%, var(--ocean-deep) 100%);color:var(--ink-dim);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;font-size:.72rem;display:flex;position:fixed;inset:0}.studyloading__spinner{border:2px solid var(--panel-edge);border-top-color:var(--brass);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite studyspin}@keyframes studyspin{to{transform:rotate(360deg)}}.play__map svg{max-height:calc(100vh - 2rem)}.hud{z-index:30;gap:.6rem;display:flex;position:absolute;top:1rem;right:1.25rem}.hint-button{border-radius:var(--radius);border:1px solid var(--brass-soft);color:var(--brass);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;background:#e0a83e1a;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.7rem;font-weight:600;transition:background .13s,color .13s,transform .13s,box-shadow .13s;display:inline-flex;box-shadow:0 0 16px #e0a83e26}.hint-button:hover{background:linear-gradient(180deg, #f0b94e, var(--brass));color:#241a06;transform:translateY(-1px);box-shadow:0 4px 20px #e0a83e66}.hint-button:active{transform:translateY(1px)}.hint-button svg{flex:none;width:15px;height:15px}.hint-button em{opacity:.7;font-style:normal;font-weight:400}.hint-button--study{border-style:dashed}.play__quit{z-index:50;border:1px solid var(--panel-edge);background:color-mix(in srgb, var(--panel) 80%, transparent);color:var(--ink-dim);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .7rem;font-size:.66rem;line-height:1;transition:border-color .13s,color .13s;display:inline-flex;position:absolute;bottom:1.4rem;left:1.25rem}.play__quit:hover{border-color:var(--coral);color:var(--coral)}.play__quit-x{font-size:.82rem}.play__quit-key{font-family:var(--font-mono);border:1px solid var(--panel-edge);color:var(--ink-dim);border-radius:4px;padding:.12rem .34rem;font-size:.58rem}@media (width<=560px){.play__quit-text,.play__quit-key{display:none}.play__quit{gap:0;padding:.45rem}.play__quit-x{font-size:.95rem}}.quitconfirm{z-index:100;background:color-mix(in srgb, var(--ocean-deep) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:5vmin;animation:.16s both lightbox-fade;display:grid;position:fixed;inset:0}.quitconfirm__panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);text-align:center;width:min(380px,92vw);padding:1.6rem 1.5rem 1.3rem;animation:.22s cubic-bezier(.2,.8,.2,1) both lightbox-zoom;box-shadow:0 24px 80px #0009}.quitconfirm__panel h2{font-size:1.25rem;font-weight:700}.quitconfirm__panel p{color:var(--ink-dim);margin-top:.5rem;font-size:.9rem;line-height:1.5}.quitconfirm__actions{gap:.7rem;margin-top:1.3rem;display:flex}.quitconfirm__actions .btn{flex:1}.flagcard{z-index:40;transform-origin:0 0;pointer-events:none;width:min(420px,70vw);margin:0;transition:top .6s cubic-bezier(.33,1,.68,1),left .6s cubic-bezier(.33,1,.68,1),width .6s cubic-bezier(.33,1,.68,1),transform .14s;position:absolute;top:calc(50% - 135px);left:calc(50% - min(210px,35vw))}.flagcard img{width:100%;box-shadow:0 10px 60px #000000a6, 0 0 0 1px var(--panel-edge), 0 0 0 5px var(--ocean-deep), 0 0 0 6px var(--brass-soft);background:var(--panel);border-radius:2px;display:block}.flagcard figcaption{text-align:center;width:max-content;max-width:88vw;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--ink);opacity:1;font-size:.78rem;transition:opacity .3s;position:absolute;top:calc(100% + 1.1rem);left:50%;transform:translate(-50%)}.flagcard.docked{width:132px;top:1rem;left:1.25rem}.flagcard.docked figcaption{opacity:0}.flagcard.clickable{pointer-events:auto;cursor:pointer}.flagcard.clickable.docked:hover{transform:scale(1.05)}.flagcard.clickable.docked:hover img{box-shadow:0 10px 60px #000000a6, 0 0 0 1px var(--panel-edge), 0 0 0 5px var(--ocean-deep), 0 0 0 6px var(--brass)}.flagcard.clickable:not(.docked) figcaption{color:var(--ink-dim);font-size:.68rem}.flagcard__name{text-transform:none;letter-spacing:normal;flex-direction:column;gap:.2rem;display:inline-flex}.flagcard__name b{font-family:var(--font-display);color:var(--brass);font-size:1.15rem}.flagcard__name em{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:.62rem;font-style:normal}.flagcard--named.docked figcaption{opacity:1;letter-spacing:normal;top:calc(100% + .5rem)}.flagcard--named.docked .flagcard__name b{font-size:.86rem}.flagcard--named.docked .flagcard__name em{display:none}.bonusmeter{z-index:50;background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--panel-edge);font-family:var(--font-mono);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:.55rem;padding:.4rem .7rem;transition:opacity .3s;display:flex;position:absolute;top:.9rem;left:50%;transform:translate(-50%)}.bonusmeter__icon{filter:saturate(1.2);font-size:.8rem;line-height:1}.bonusmeter__label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:.58rem}.bonusmeter__track{background:var(--ocean);border-radius:3px;width:90px;height:5px;overflow:hidden}.bonusmeter__fill{background:linear-gradient(90deg, var(--brass), #f0c97e);border-radius:3px;height:100%;transition:width .12s linear}.bonusmeter__mult{font-variant-numeric:tabular-nums;color:var(--brass);text-align:right;min-width:2.2rem;font-size:.72rem;font-weight:700}.bonusmeter.is-spent{opacity:.72}.bonusmeter.is-spent .bonusmeter__icon{filter:grayscale();opacity:.6}.bonusmeter.is-spent .bonusmeter__mult{color:var(--ink-dim)}.tray{z-index:40;flex-direction:column;align-items:center;gap:.7rem;width:min(560px,100vw - 2rem);display:flex;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.banner{background:color-mix(in srgb, var(--panel) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;width:100%;padding:1rem 1.3rem;animation:.28s both rise}.banner h2{margin-bottom:.15rem;font-size:1.35rem}.banner h2.good{color:var(--jade)}.banner h2.near{color:var(--brass)}.banner h2.bad{color:var(--coral)}.banner p{color:var(--ink-dim);margin:.2rem 0 0;font-size:.95rem}.banner .points{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);margin-top:.45rem;font-size:.85rem}.recap__cards{justify-content:center;align-items:flex-start;gap:1.4rem;margin-top:.8rem;display:flex}.recap__card{flex-direction:column;align-items:center;gap:.4rem;margin:0;display:flex}.recap__card img{width:84px;box-shadow:0 0 0 1px var(--panel-edge), 0 4px 16px #0006;border-radius:2px}.recap__card--answer img{box-shadow:0 0 0 1px var(--jade), 0 0 18px #4ec78f59}.recap__flagwrap{line-height:0;display:inline-block;position:relative}.recap__stamp{background:color-mix(in srgb, var(--ocean-deep) 82%, transparent);width:42px;height:42px;box-shadow:0 2px 8px #00000080, inset 0 0 0 1px color-mix(in srgb, currentColor 30%, transparent);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;border:2px solid;border-radius:50%;place-items:center;font-size:.56rem;font-weight:700;line-height:1;animation:.54s cubic-bezier(.2,1.5,.35,1) .12s both stamp-thunk;display:grid;position:absolute;top:-13px;left:-15px}.recap__stamp--discovered{color:#57c6a0}.recap__stamp--mastered{color:var(--brass)}.recap__stamp-star{fill:currentColor;width:22px;height:22px;display:block}@keyframes stamp-thunk{0%{opacity:0;transform:rotate(-14deg)scale(2.4)}55%{opacity:1;transform:rotate(-14deg)scale(.86)}to{opacity:1;transform:rotate(-14deg)scale(1)}}@media (prefers-reduced-motion:reduce){.recap__stamp{animation-duration:1ms;animation-delay:0s}}.recap--mastered .recap__card--answer img{box-shadow:0 0 0 1px var(--brass), 0 0 22px #e0a83e66}.recap--mastered .recap__card--answer figcaption span{color:var(--brass)}.recap__reward{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:.8rem;font-size:.7rem;animation:.32s both rise}.recap__reward--discovered{color:#57c6a0}.recap__reward--mastered{background:linear-gradient(95deg,#e0a83e,#fff2c8 45%,#f4cd76 60%,#e0a83e) 0 0/220%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700;animation:1.6s linear infinite perfect-shine}.recap__card figcaption{flex-direction:column;align-items:center;line-height:1.3;display:flex}.recap__card figcaption b{color:var(--ink);font-size:.92rem}.recap__card figcaption span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);font-size:.58rem}.recap__card--answer figcaption span{color:var(--jade)}.recap__points{flex-direction:column;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.recap__points-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-size:.56rem}.ptchips{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.ptchip{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid;border-radius:999px;align-items:center;gap:.45rem;padding:.32rem .65rem;font-size:.68rem;animation:.38s cubic-bezier(.2,1.5,.4,1) both ptpop;display:inline-flex}.ptchip__label{text-transform:uppercase}.ptchip__val{font-variant-numeric:tabular-nums;font-weight:700}.ptchip--good{color:var(--jade);background:color-mix(in srgb, var(--jade) 13%, transparent)}.ptchip--near{color:var(--brass);background:color-mix(in srgb, var(--brass) 13%, transparent)}.ptchip--bad{color:var(--coral);background:color-mix(in srgb, var(--coral) 13%, transparent)}.ptchip--speed{color:#5fd0e0;background:#5fd0e021}.ptchip--muted{color:var(--ink-dim);border-color:var(--panel-edge);background:color-mix(in srgb, var(--panel) 50%, transparent)}.pttotal{align-items:baseline;gap:.45rem;animation:.42s cubic-bezier(.2,1.6,.4,1) both ptpop;display:inline-flex}.pttotal:before{content:"= ";font-family:var(--font-mono);color:var(--ink-dim);font-size:.7rem}.pttotal b{font-family:var(--font-display);color:var(--brass);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1}.recap--perfect .pttotal b{background:linear-gradient(95deg,#8fe3f5,#f1fdff 45%,#cdf3fb 60%,#8fe3f5) 0 0/220%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite perfect-shine}.recap__namemiss{color:var(--ink-dim);margin-top:.5rem!important;font-size:.74rem!important}.recap__shared{color:var(--ink-dim);text-align:center;max-width:34ch;margin:.5rem auto 0!important;font-size:.74rem!important}@keyframes ptpop{0%{opacity:0;transform:translateY(7px)scale(.88)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ptchip,.pttotal{animation:none}}.recap .btn{margin-top:1rem}.recap--perfect{box-shadow:inset 0 0 0 1px #9fe8f7bf,0 0 30px #8fe3f538}.recap__perfect{font-family:var(--font-mono);letter-spacing:.28em;background:linear-gradient(95deg,#8fe3f5,#f1fdff 45%,#cdf3fb 60%,#8fe3f5) 0 0/220%;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:.72rem;font-weight:700;animation:1.6s linear infinite perfect-shine}.namequiz{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.8rem;display:flex}.namequiz button{background:var(--ocean);border:1px solid var(--panel-edge);color:var(--ink);border-radius:var(--radius);padding:.6rem 1.1rem;font-size:.95rem;transition:border-color .12s,background .12s}.namequiz button:hover:not(:disabled){border-color:var(--brass)}.summary{flex-direction:column;align-items:center;gap:1.6rem;max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem;animation:.4s both rise;display:flex}.summary__result{flex-direction:column;align-items:center;gap:.7rem;width:100%;display:flex}.summary__score{color:var(--brass);font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,8vw,4rem);line-height:1}.summary__scoreunit{font-size:.28em;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);vertical-align:.35em;margin-left:.35rem}.summary__exact{color:var(--ink-dim);margin:0;font-size:.88rem}.summary__mode{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--brass-soft);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:.35rem .9rem;font-size:.66rem}.summary__rounds{flex-direction:column;gap:.45rem;width:100%;display:flex}.summary__row{background:color-mix(in srgb, var(--panel) 72%, transparent);border:1px solid var(--panel-edge);border-left:2px solid var(--panel-edge);border-radius:var(--radius);color:var(--ink);grid-template-columns:52px 1fr auto;align-items:center;gap:1rem;padding:.55rem 1rem;text-decoration:none;transition:border-color .12s,transform .12s;display:grid}.summary__row:hover{border-color:var(--brass-soft);border-left-color:var(--brass);transform:translateY(-1px)}.summary__tag{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:999px;align-items:center;gap:.25rem;margin-left:.45rem;padding:.1rem .4rem;font-size:.52rem;display:inline-flex}.summary__star{fill:currentColor;width:.72rem;height:.72rem}.summary__tag--new{color:#57c6a0;background:#57c6a024}.summary__tag--mastered{color:var(--brass);background:color-mix(in srgb, var(--brass) 14%, transparent)}.summary__row img{width:52px;box-shadow:0 0 0 1px var(--panel-edge);border-radius:2px;display:block}.summary__body{flex-direction:column;gap:.4rem;min-width:0;display:flex}.summary__name{flex-wrap:wrap;align-items:center;gap:.45rem;font-weight:700;display:flex}.summary__chips{flex-wrap:wrap;gap:.35rem;display:flex}.scorechip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);border:1px solid color-mix(in srgb, currentColor 38%, transparent);background:color-mix(in srgb, currentColor 10%, transparent);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.6rem;display:inline-flex}.scorechip b{font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:700}.scorechip--exact{color:var(--jade)}.scorechip--border{color:var(--brass)}.scorechip--region{color:var(--sky)}.scorechip--miss{color:var(--coral)}.scorechip--speed{color:#f0b94e}.scorechip--name{color:var(--jade)}.scorechip--hint{color:var(--ink-dim);border-color:var(--panel-edge);background:0 0}.summary__total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:3rem;font-size:1.3rem;font-weight:700}.summary__row--perfect{--diamond:#9fe8f7;background: radial-gradient(60% 130% at 100% 50%, color-mix(in srgb, var(--diamond) 16%, color-mix(in srgb, var(--panel) 74%, transparent)), color-mix(in srgb, var(--panel) 72%, transparent) 68%) padding-box,  linear-gradient(90deg, var(--panel-edge) 58%, color-mix(in srgb, var(--diamond) 82%, transparent)) border-box;border:1px solid #0000}.summary__row--perfect:hover{border-color:#0000}.summary__row--perfect .summary__total{color:var(--diamond)}.summary__scorebox{flex-direction:column;align-items:flex-end;gap:.15rem;min-width:3rem;display:flex}.summary__perfectlabel{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--diamond,#9fe8f7);align-items:center;gap:.25rem;font-size:.56rem;font-weight:700;display:inline-flex}.summary__perfectlabel svg{width:10px;height:10px}.actions{gap:.9rem;display:flex}.kdelta{background:color-mix(in srgb, var(--panel) 82%, transparent);border:1px solid var(--panel-edge);border-radius:var(--radius);font-family:var(--font-mono);align-items:baseline;gap:.55rem;padding:.55rem 1.1rem;font-size:.85rem;display:inline-flex}.kdelta__label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.16em;font-size:.62rem}.kdelta b{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.kdelta__arrow{color:var(--ink-dim)}.kdelta__diff{font-variant-numeric:tabular-nums;font-weight:600}.kdelta__diff.up{color:var(--jade)}.kdelta__diff.down{color:var(--coral)}.rankchange{--stamp-rot:-1.6deg;--rank-color:var(--brass-soft);text-align:left;border:2px dashed color-mix(in srgb, var(--rank-color) 75%, transparent);background:radial-gradient(80% 120% at 50% 0%, #e0a83e24, transparent 70%), color-mix(in srgb, var(--panel) 88%, transparent);transform:rotate(var(--stamp-rot));border-radius:10px;align-items:center;gap:1rem;padding:1.1rem 2.2rem 1.1rem 1.4rem;animation:.6s cubic-bezier(.34,1.4,.64,1) .4s both stamp-press;display:flex;position:relative;overflow:hidden}.rankchange:after{content:"";background:linear-gradient(115deg,#0000 30%,#fff0c82e 50%,#0000 70%);animation:.9s 1.05s both rank-shine;position:absolute;inset:0;transform:translate(-120%)}@keyframes stamp-press{0%{opacity:0;transform:rotate(var(--stamp-rot)) scale(1.6);filter:blur(3px)}62%{opacity:1;transform:rotate(var(--stamp-rot)) scale(.96);filter:blur()}to{opacity:1;transform:rotate(var(--stamp-rot)) scale(1)}}@keyframes rank-shine{to{transform:translate(120%)}}.rankchange__label{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--jade);font-size:.66rem;font-weight:600}.rankchange__rank{color:var(--rank-color);font-size:1.9rem;font-weight:700}.rankchange__rank span{color:var(--ink-dim);font-size:1.2rem}.rankchange.down{--stamp-rot:1.2deg;border-color:var(--panel-edge);background:radial-gradient(80% 120% at 50% 0%, #e2604f1a, transparent 70%), color-mix(in srgb, var(--panel) 88%, transparent)}.rankchange.down:after{display:none}.rankchange.down .rankchange__label{color:var(--coral)}.rankchange.down .rankchange__rank{color:var(--ink)}.coach{z-index:130;pointer-events:none;position:fixed;inset:0}.coach__block{pointer-events:auto;background:#06090ebd;animation:.16s both coachfade;position:fixed}@keyframes coachfade{0%{opacity:0}to{opacity:1}}.coach__tip{pointer-events:none;text-align:center;background:var(--panel);border:1px solid var(--brass-soft);border-radius:var(--radius-lg);max-width:min(22rem,84vw);color:var(--ink);padding:.7rem 1rem;font-size:.92rem;line-height:1.35;animation:.2s both coachfade;position:fixed;box-shadow:0 12px 34px #00000080}.coach__text{margin:0}.coach__next{pointer-events:auto;border-radius:var(--radius);background:linear-gradient(180deg, #f0b94e, var(--brass));color:#241a06;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;border:none;margin-top:.7rem;padding:.4rem 1.1rem;font-size:.78rem;font-weight:700;transition:transform .12s}.coach__next:hover{transform:translateY(-1px)}.homepicker{place-items:center;min-height:100%;padding:1.5rem;display:grid}.homepicker__panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius-lg);flex-direction:column;width:min(30rem,100%);padding:1.8rem 1.6rem 1.4rem;animation:.32s both rise;display:flex;box-shadow:0 24px 60px #00000080}.homepicker__title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.6rem}.homepicker__sub{color:var(--ink-dim);margin:.3rem 0 1.2rem;font-size:.86rem}.homepicker__search{border-radius:var(--radius);border:1px solid var(--panel-edge);background:var(--ocean-deep);width:100%;color:var(--ink);font-family:var(--font-mono);margin-bottom:.7rem;padding:.6rem .75rem;font-size:.9rem}.homepicker__search:focus{border-color:var(--brass-soft);outline:none}.homepicker__list{flex-direction:column;gap:.2rem;max-height:46vh;padding-right:.2rem;display:flex;overflow-y:auto}.homepicker__row{border-radius:var(--radius);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.7rem;padding:.45rem .6rem;font-size:.9rem;display:flex}.homepicker__row:hover{background:color-mix(in srgb, var(--panel-edge) 50%, transparent)}.homepicker__row.is-selected{border-color:var(--brass);background:color-mix(in srgb, var(--brass) 12%, transparent)}.homepicker__row img{width:30px;box-shadow:0 0 0 1px var(--panel-edge);border-radius:2px;flex:none}.homepicker__actions{gap:.7rem;margin-top:1.2rem;display:flex}.homepicker__actions .btn{flex:1}.homepicker__actions .btn--ghost{flex:none}.tutdone{place-items:center;min-height:100%;padding:2rem 1.5rem;display:grid}.tutdone__panel{text-align:center;background:var(--panel);border:1px solid var(--brass-soft);border-radius:var(--radius-lg);width:min(30rem,100%);box-shadow:0 0 40px color-mix(in srgb, var(--brass) 14%, transparent), 0 24px 60px #00000080;padding:2.4rem 1.8rem 2rem;animation:.36s both rise}.tutdone__spark{color:var(--brass);font-size:2.2rem;line-height:1}.tutdone__title{font-family:var(--font-display);color:var(--ink);margin:.6rem 0 0;font-size:1.9rem}.tutdone__score{color:var(--ink-dim);margin:.5rem 0 1.4rem;font-size:.9rem}.tutdone__score b{color:var(--brass);font-variant-numeric:tabular-nums}.tutdone__points{text-align:left;color:var(--ink-dim);flex-direction:column;gap:.6rem;margin:0 0 1.6rem;padding:0;font-size:.9rem;list-style:none;display:flex}.tutdone__points b{color:var(--ink)}.tutdone__cta{width:100%}
