:root{--bg: #f4f6fb;--bg-elevated: #ffffff;--bg-muted: #e8ecf4;--ink: #12141c;--ink-muted: #52586a;--ink-faint: #8b92a5;--accent: #e8462a;--accent-soft: rgba(232, 70, 42, .1);--accent-glow: rgba(232, 70, 42, .28);--primary: #2f54eb;--primary-soft: rgba(47, 84, 235, .08);--teal: #0d9488;--gold: #d97706;--border: rgba(18, 20, 28, .08);--border-strong: rgba(18, 20, 28, .14);--shadow-sm: 0 2px 10px rgba(18, 20, 28, .05);--shadow-md: 0 10px 36px rgba(18, 20, 28, .09);--shadow-lg: 0 28px 72px rgba(18, 20, 28, .12);--radius: 14px;--radius-lg: 22px;--font-display: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--nav-h: 68px}@media(prefers-color-scheme:dark){:root{--bg: #0c0e14;--bg-elevated: #151821;--bg-muted: #1c2030;--ink: #eef0f6;--ink-muted: #9aa3b8;--ink-faint: #6b7388;--accent-soft: rgba(232, 70, 42, .14);--primary-soft: rgba(47, 84, 235, .14);--border: rgba(238, 240, 246, .08);--border-strong: rgba(238, 240, 246, .14);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .28);--shadow-md: 0 10px 36px rgba(0, 0, 0, .36);--shadow-lg: 0 28px 72px rgba(0, 0, 0, .44)}}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--font-display);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;left:-9999px;top:12px;z-index:100;padding:10px 16px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none;border-radius:8px}.skip-link:focus{left:12px}.page-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.page-bg:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.grid-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(18,20,28,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,20,28,.025) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 85% 65% at 50% 20%,black,transparent);mask-image:radial-gradient(ellipse 85% 65% at 50% 20%,black,transparent)}.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45}.orb-1{width:480px;height:480px;background:#b8c8ff;top:-160px;right:-80px}.orb-2{width:360px;height:360px;background:#ffc4b8;bottom:8%;left:-80px}.orb-3{width:280px;height:280px;background:#9ee8dc;top:38%;left:42%}@media(prefers-color-scheme:dark){.orb-1{background:#1e2a6e;opacity:.55}.orb-2{background:#4a1820;opacity:.45}.orb-3{background:#0f3d38;opacity:.4}}code{font-family:var(--font-mono);font-size:.86em;background:var(--primary-soft);color:var(--primary);padding:.14em .42em;border-radius:5px;font-weight:500}.site-header{position:sticky;top:0;z-index:50;height:var(--nav-h);padding:0 24px;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.header-inner{max-width:1180px;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.logo-img{width:34px;height:34px;object-fit:contain;border-radius:9px;flex-shrink:0}.logo-img.sm{width:26px;height:26px;border-radius:7px}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{color:var(--ink-muted);text-decoration:none;font-weight:500;font-size:.9rem;padding:8px 14px;border-radius:999px;transition:color .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1)}.site-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.nav-cta{background:var(--accent)!important;color:#fff!important;margin-left:6px;font-weight:600}.nav-cta:hover{background:#f05a40!important}main{max-width:1180px;margin:0 auto;padding:40px 24px 88px}.eyebrow{display:inline-block;margin:0 0 14px;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.section-head{max-width:620px;margin:0 0 44px}.section-head h2{margin:0 0 14px;font-size:clamp(1.75rem,3.2vw,2.35rem);font-weight:700;letter-spacing:-.03em;line-height:1.12;text-wrap:balance}.section-lead{margin:0;color:var(--ink-muted);font-size:1.02rem;line-height:1.65;max-width:58ch}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:36px 48px;align-items:center;min-height:calc(100dvh - var(--nav-h) - 80px);margin-bottom:88px;padding-top:8px}.hero-copy{text-align:left}.hero-title{font-size:clamp(2rem,3.6vw,2.85rem);line-height:1.08;margin:0 0 16px;font-weight:700;letter-spacing:-.035em;text-wrap:balance}.gradient-text{color:var(--accent)}.hero-sub{margin:0 0 26px;color:var(--ink-muted);font-size:1rem;line-height:1.68;max-width:48ch}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.demo-shell{width:100%;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.demo-shell-head{display:flex;align-items:center;gap:12px;padding:11px 16px;background:color-mix(in srgb,var(--bg-muted) 55%,var(--bg-elevated));border-bottom:1px solid var(--border)}.window-dots{display:flex;gap:5px}.window-dots span{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.window-dots span:nth-child(1){background:#ff5f57}.window-dots span:nth-child(2){background:#febc2e}.window-dots span:nth-child(3){background:#28c840}.demo-shell-title{flex:1;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint)}.live-badge{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,transparent);padding:4px 10px;border-radius:999px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}@media(prefers-reduced-motion:no-preference){.live-dot{animation:pulse 1.6s ease infinite}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.88)}}.showcase{position:relative}.scene-viewport{position:relative;width:100%;height:clamp(320px,48vh,460px);overflow:hidden;background:linear-gradient(180deg,#9ec9ef,#d0e6f6)}#home-canvas{display:block;width:100%;height:100%}.scene-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);font-weight:600;font-size:.88rem;color:var(--ink-muted);transition:opacity .4s}.scene-loading.hidden{opacity:0;pointer-events:none}.loader-skeleton{width:min(280px,70%);height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-muted) 0%,color-mix(in srgb,var(--bg-muted) 60%,var(--bg-elevated)) 50%,var(--bg-muted) 100%);background-size:200% 100%}@media(prefers-reduced-motion:no-preference){.loader-skeleton{animation:shimmer 1.4s ease infinite}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scene-overlay{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:color-mix(in srgb,var(--ink) 62%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#fff;font-size:.72rem;font-weight:600;pointer-events:none}.scene-overlay-hint{font-weight:400;opacity:.72;font-size:.66rem}.code-panel{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;flex-direction:column;width:min(272px,calc(100% - 28px));background:color-mix(in srgb,#13151f 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.09);border-radius:12px;box-shadow:0 10px 36px #00000052;overflow:hidden;pointer-events:auto}.code-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:9px 11px 0}.code-tab{font-family:var(--font-mono);font-size:.66rem;font-weight:500;padding:3px 7px;border-radius:4px;border:none;background:transparent;color:#5a6278;cursor:default;transition:color .2s,background .2s}.code-tab.active{color:#c4cce0;background:#ffffff0f}.code-block{margin:0;padding:11px 13px 13px;font-family:var(--font-mono);font-size:.8rem;line-height:1.42;color:#c4cce0;white-space:pre;background:transparent}.code-block .kw{color:#c792ea}.code-block .str{color:#c3e88d}.intro{margin-bottom:96px}.bento-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:auto auto;gap:14px}.bento-cell{position:relative;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:26px 26px 24px;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1)}.bento-cell:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.bento-cell:active{transform:translateY(-1px) scale(.995)}.bento-featured{grid-row:span 2;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--bg-elevated)),var(--bg-elevated));border-color:color-mix(in srgb,var(--primary) 18%,var(--border))}.bento-wide{grid-column:span 2}.bento-tag{display:inline-block;margin-bottom:12px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--primary);letter-spacing:.04em}.bento-cell h3{margin:0 0 8px;font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.bento-cell p{margin:0;color:var(--ink-muted);font-size:.92rem;line-height:1.62}.bento-accent-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bento-accent, var(--accent))}.skills{margin-bottom:96px;padding:52px 40px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.skill-card{position:relative;padding:22px 20px 20px;border-radius:calc(var(--radius) - 2px);background:var(--bg);border:1px solid var(--border);transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s}.skill-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--skill-accent, var(--accent)) 35%,var(--border))}.skill-icon{width:76px;height:76px;margin-bottom:14px;background-image:url(/assets/skills-BnRZEIbZ.png);background-size:200% 200%;background-repeat:no-repeat;border-radius:12px}.skill-icon--blink{background-position:0% 0%}.skill-icon--charge{background-position:100% 0%}.skill-icon--stealth{background-position:0% 100%}.skill-icon--speed{background-position:100% 100%}.skill-card h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.skill-card p{margin:0;color:var(--ink-muted);font-size:.86rem;line-height:1.58}.how{margin-bottom:0}.timeline{list-style:none;padding:0;margin:0 0 48px;max-width:680px;position:relative}.timeline:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--accent),var(--primary));border-radius:2px;opacity:.35}.timeline li{position:relative;display:flex;gap:20px;padding:0 0 32px}.timeline li:last-child{padding-bottom:0}.step-marker{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:2px solid var(--accent);color:var(--accent);font-weight:700;font-size:.82rem;border-radius:50%;z-index:1}.timeline strong{display:block;margin-bottom:5px;font-size:1rem;letter-spacing:-.01em}.timeline p{margin:0;color:var(--ink-muted);font-size:.9rem;line-height:1.58}.cta-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:38px 44px;background:var(--ink);border-radius:var(--radius-lg);color:var(--bg);box-shadow:var(--shadow-lg)}.cta-banner h3{margin:0 0 6px;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.cta-banner p{margin:0;opacity:.72;font-size:.92rem}.cta-row{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:10px;font-family:var(--font-display);font-weight:600;font-size:.9rem;text-decoration:none;border:none;white-space:nowrap;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,background .18s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 18px var(--accent-glow)}.btn-primary:hover{background:#f05a40}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.22)}.btn-secondary:hover{background:#ffffff29}.btn-ghost{background:var(--bg-elevated);color:var(--ink);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.btn-ghost:hover{background:color-mix(in srgb,var(--bg-elevated) 85%,var(--bg-muted))}.site-footer{margin-top:72px;padding:36px 24px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 50%,transparent)}.footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px 32px}.footer-brand{display:flex;align-items:center;gap:10px;font-weight:700}.footer-meta{margin:0;justify-self:center;color:var(--ink-faint);font-size:.86rem}.footer-meta a{color:var(--ink-muted);text-decoration:none;transition:color .2s}.footer-meta a:hover{color:var(--accent)}.footer-links{display:flex;gap:20px}.footer-links a{color:var(--ink-muted);text-decoration:none;font-size:.86rem;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--accent)}@media(max-width:1024px){.hero{grid-template-columns:1fr;gap:32px;min-height:auto;margin-bottom:72px}.hero-copy{text-align:center}.hero-sub{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.bento-grid{grid-template-columns:1fr 1fr}.bento-featured{grid-row:span 1;grid-column:span 2}.bento-wide{grid-column:span 2}.skill-grid{grid-template-columns:repeat(2,1fr)}.skills{padding:36px 28px}.cta-banner{flex-direction:column;text-align:center;padding:34px 28px}.cta-row{justify-content:center}.footer-inner{grid-template-columns:1fr;text-align:center;justify-items:center}}@media(max-width:720px){.site-header{padding:0 16px}.header-inner{flex-wrap:wrap;height:auto;padding:10px 0}.site-nav{flex-wrap:wrap;justify-content:center}main{padding:28px 16px 64px}.hero-title{font-size:clamp(1.85rem,8vw,2.2rem)}.scene-viewport{height:clamp(250px,40vh,340px)}.code-panel{right:10px;bottom:10px;width:min(230px,calc(100% - 20px))}.bento-grid{grid-template-columns:1fr}.bento-featured,.bento-wide{grid-column:span 1}.skill-grid{grid-template-columns:1fr}.skills{padding:28px 20px}}.auth-page .reveal,.profile-main .reveal,.ranked-match-main .reveal{opacity:1;transform:none}.auth-page main{padding-top:0}.auth-main,.profile-main{max-width:1100px;margin:0 auto;padding:calc(var(--nav-h) + 32px) 24px 80px}.auth-card{width:min(480px,100%);margin:0 auto;padding:36px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-card h1{margin:0 0 10px;font-size:1.75rem}.auth-lead,.profile-lead{margin:0 0 24px;color:var(--ink-muted);line-height:1.55}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:7px}.auth-form label{font-size:.8rem;font-weight:600;color:var(--ink-muted);letter-spacing:.02em}.auth-optional{font-weight:500;color:var(--ink-faint)}.auth-form input{width:100%;padding:13px 15px;border:1px solid var(--border-strong);border-radius:12px;font:inherit;font-size:.95rem;background:color-mix(in srgb,var(--bg) 72%,var(--bg-elevated));color:var(--ink);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.auth-form input::placeholder{color:var(--ink-faint)}.auth-form input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong));box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{margin-top:4px;padding-top:13px;padding-bottom:13px}.btn-block{width:100%;margin-top:12px;justify-content:center}.auth-switch{margin:20px 0 0;text-align:center;color:var(--ink-muted);font-size:.92rem}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-success{margin-top:16px;padding:12px 14px;border-radius:10px;background:#0d94881f;color:var(--teal);font-size:.92rem}.auth-result{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.auth-result h2{margin:0 0 8px;font-size:1.2rem}.token-hint{margin:0 0 16px;font-size:.86rem;color:var(--ink-muted)}.auth-result-actions{display:flex;flex-wrap:wrap;gap:10px}.nav-logout{border:1px solid var(--border-strong);background:transparent;color:var(--ink-muted);font:inherit;font-size:.88rem;font-weight:500;padding:8px 14px;border-radius:999px;cursor:pointer}.nav-logout:hover{color:var(--accent);border-color:var(--accent)}.nav-auth-btn{border:none;background:transparent;font:inherit;font-size:.9rem;font-weight:500;color:var(--ink-muted);cursor:pointer;padding:8px 14px;border-radius:999px;transition:color .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1)}.nav-auth-btn:hover{color:var(--ink);background:var(--bg-muted)}.nav-auth-btn[data-auth-open=register]{color:var(--accent);background:var(--accent-soft)}.nav-auth-btn[data-auth-open=register]:hover{background:color-mix(in srgb,var(--accent-soft) 65%,var(--accent) 12%)}.footer-auth-link{border:none;background:transparent;font:inherit;font-size:.86rem;font-weight:500;color:var(--ink-muted);cursor:pointer;padding:0;text-decoration:none}.footer-auth-link:hover{color:var(--accent)}body.auth-modal-open{overflow:hidden}.auth-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.auth-modal[hidden]{display:none}.auth-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 42%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);animation:authBackdropIn .32s ease}.auth-modal-dialog{position:relative;width:min(760px,100%);max-height:min(92vh,640px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:calc(var(--radius-lg) + 2px);box-shadow:0 28px 72px #12141c29,0 0 0 1px color-mix(in srgb,var(--bg-elevated) 80%,white);animation:authDialogIn .44s cubic-bezier(.16,1,.3,1)}@keyframes authBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes authDialogIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.auth-modal-chrome{display:flex;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--bg-muted) 50%,var(--bg-elevated));border-bottom:1px solid var(--border);flex-shrink:0}.auth-modal-chrome-title{flex:1;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.02em}.auth-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--ink-muted);cursor:pointer;transition:color .18s,border-color .18s,background .18s}.auth-modal-close:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}.auth-modal-body{display:grid;grid-template-columns:240px 1fr;min-height:0;flex:1;overflow:hidden}.auth-modal-aside{position:relative;overflow:hidden;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-muted) 35%,var(--bg-elevated))}.auth-modal-aside-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.auth-modal-orb{position:absolute;border-radius:50%;filter:blur(48px);opacity:.55}.auth-modal-orb-1{width:180px;height:180px;background:#b8c8ff;top:-40px;right:-30px}.auth-modal-orb-2{width:140px;height:140px;background:#ffc4b8;bottom:12%;left:-20px}.auth-modal-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:22px 22px;opacity:.45;-webkit-mask-image:linear-gradient(160deg,black 20%,transparent 88%);mask-image:linear-gradient(160deg,black 20%,transparent 88%)}.auth-modal-aside-inner{position:relative;z-index:1;height:100%;padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-end}.auth-modal-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:700;font-size:1rem;letter-spacing:-.02em}.auth-modal-aside-copy{margin:10px 0 0;color:var(--ink-muted);font-size:.88rem;line-height:1.55}.auth-modal-main{padding:28px 32px 32px;overflow-y:auto}.auth-modal-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:22px;background:var(--bg-muted);border-radius:12px}.auth-modal-tab{min-width:88px;padding:9px 18px;border:none;border-radius:9px;background:transparent;color:var(--ink-muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.auth-modal-tab.is-active{background:var(--bg-elevated);color:var(--ink);box-shadow:var(--shadow-sm)}.auth-modal-title{margin:0 0 6px;font-size:1.55rem;font-weight:700;letter-spacing:-.03em}.auth-modal-lead{margin:0 0 22px;color:var(--ink-muted);font-size:.9rem;line-height:1.55}.auth-modal-panel[hidden]{display:none}.auth-error{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:11px 13px;border-radius:11px;border:1px solid color-mix(in srgb,#c92a2a 18%,transparent);background:color-mix(in srgb,#fff5f5 88%,var(--bg-elevated));color:#c92a2a;font-size:.86rem;line-height:1.45}.auth-error[hidden]{display:none}.auth-register-result{margin-top:4px}.auth-success-badge{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--teal) 10%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--teal) 22%,transparent)}.auth-success-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;font-size:.82rem;font-weight:800;flex-shrink:0}.auth-success-badge strong{display:block;margin-bottom:2px;font-size:.95rem}.auth-success-badge p{margin:0;color:var(--ink-muted);font-size:.82rem;line-height:1.45}.token-box{margin:12px 0 16px;padding:14px 16px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--primary-soft) 40%,transparent));font-family:var(--font-mono);font-size:.78rem;word-break:break-all;line-height:1.55}@media(max-width:680px){.auth-modal-body{grid-template-columns:1fr}.auth-modal-aside{display:none}.auth-modal-main{padding:22px 20px 26px}.auth-modal-dialog{max-height:92vh}}@media(prefers-reduced-motion:reduce){.auth-modal-backdrop,.auth-modal-dialog{animation:none}}.profile-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}.profile-hero h1{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2rem)}.profile-user-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.profile-hero-avatar{line-height:0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.profile-avatar-field{margin-bottom:4px}.profile-field-label{display:block;margin-bottom:10px;font-size:.88rem;font-weight:600;color:var(--ink)}.profile-avatar-current{margin-bottom:12px;line-height:0}.profile-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-bottom:18px}.profile-avatar-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-muted);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.profile-avatar-option:hover{border-color:var(--border-strong);background:var(--bg-elevated)}.profile-avatar-option.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elevated));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.profile-avatar-option-label{font-size:.68rem;font-weight:600;color:var(--ink-muted);line-height:1.2;text-align:center}.profile-avatar-option.is-selected .profile-avatar-option-label{color:var(--ink)}.avatar-icon{display:block;flex-shrink:0;border-radius:8px;object-fit:contain;background:var(--bg-muted)}.player-inline{display:inline-flex;align-items:center;gap:6px;min-width:0;vertical-align:middle;line-height:1.2}.player-inline .avatar-icon{flex-shrink:0;align-self:center}.player-inline-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-inline-row{display:inline-flex;align-items:center;gap:6px;min-width:0}.player-inline-suffix{font-weight:600;white-space:nowrap;flex-shrink:0}.ranked-matchup-players{display:inline-flex;align-items:center;gap:8px;max-width:100%}.ranked-matchup-vs{flex-shrink:0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:lowercase;color:var(--ink-muted)}.ranked-summary dd .player-inline-row{justify-content:flex-end;flex-wrap:wrap}.ranked-result-banner-title.player-inline-row{justify-content:center;margin:0 0 10px;font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700;letter-spacing:.02em;color:#6ee7c8}.ranked-replay-frame-winner{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--ink)}.profile-nickname{font-weight:700;font-size:1.1rem;color:var(--primary)}.profile-userid{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-faint)}.profile-home-main{max-width:960px}.profile-home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center;margin-bottom:28px}.profile-home-portrait-shell{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.profile-home-portrait .profile-preview-viewport{aspect-ratio:1;min-height:280px}.profile-home-identity{display:flex;flex-direction:column;gap:8px}.profile-home-name-row{display:flex;align-items:center;gap:14px}.profile-home-nickname{margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15}.profile-home-rank{display:flex;align-items:baseline;gap:10px;margin-top:8px}.profile-home-rank .profile-ranked-score-value{font-size:2.4rem}.profile-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.profile-share{margin-top:16px;width:100%;max-width:420px}.profile-share-label{display:block;margin-bottom:8px;font-size:.82rem;font-weight:600;color:var(--ink-muted)}.profile-share-row{display:flex;gap:8px;align-items:stretch}.profile-share-input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg-elevated);color:var(--ink-muted);font-family:var(--font-mono);font-size:.78rem;line-height:1.4}.profile-share-input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong));box-shadow:0 0 0 3px var(--primary-soft)}.profile-share-row .btn{flex-shrink:0;padding-inline:16px}.profile-home-matches h2{margin:0}.leaderboard-main{max-width:720px}.leaderboard-head{margin-bottom:24px}.leaderboard-head h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.4rem)}.leaderboard-subtitle{margin:0;color:var(--ink-muted);font-size:.95rem}.leaderboard-card{padding:12px 0}.leaderboard-list{list-style:none;margin:0;padding:0}.leaderboard-empty{padding:32px 24px;text-align:center;color:var(--ink-muted)}.leaderboard-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item.is-self{background:color-mix(in srgb,var(--primary-soft) 65%,transparent)}.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--ink-muted);background:var(--bg-muted)}.leaderboard-rank.is-gold{color:#92400e;background:color-mix(in srgb,#fbbf24 28%,var(--bg-elevated))}.leaderboard-rank.is-silver{color:#475569;background:color-mix(in srgb,#94a3b8 30%,var(--bg-elevated))}.leaderboard-rank.is-bronze{color:#9a3412;background:color-mix(in srgb,#fb923c 28%,var(--bg-elevated))}.leaderboard-player{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit}.leaderboard-player:hover .leaderboard-player-name{color:var(--accent)}.leaderboard-player-avatar{flex-shrink:0;display:inline-flex}.leaderboard-player-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.leaderboard-player-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}.leaderboard-player-animal{font-size:.78rem;color:var(--ink-faint)}.leaderboard-score{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--ink);padding-left:8px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-card{padding:24px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-card h2{margin:0 0 16px;font-size:1.1rem}.profile-animal-name{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--accent)}.profile-picker-viewport{position:relative;border-radius:var(--radius);overflow:hidden;background:#f3f1ed;border:1px solid var(--border)}.profile-preview-viewport{position:relative;overflow:hidden}.profile-preview-shell{width:100%;max-width:300px;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated)}.profile-preview-viewport{width:100%;aspect-ratio:1;height:auto;border:none;border-radius:0;background:#f3f1ed}.profile-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:color-mix(in srgb,var(--bg-muted) 55%,var(--bg-elevated));border-top:1px solid var(--border)}.profile-preview-meta{text-align:right;min-width:0}.profile-edit-btn{flex-shrink:0;white-space:nowrap;padding:8px 12px;font-size:.84rem}.profile-preview-name{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--accent);letter-spacing:-.02em}.profile-preview-id{margin:0;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint)}.profile-preview-viewport canvas{display:block;width:100%;height:100%}.profile-color-field{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.profile-color-hint{margin:0 0 14px;font-size:.84rem;color:var(--ink-muted);line-height:1.45}.profile-color-grid{display:grid;grid-template-columns:repeat(4,64px);justify-content:center;gap:12px 16px;margin:0 auto;max-width:100%}.profile-color-item label{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.78rem;color:var(--ink-muted);text-align:center}.profile-color-item input[type=color]{width:64px;height:40px;padding:2px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);cursor:pointer}.profile-color-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}@media(max-width:400px){.profile-color-grid{grid-template-columns:repeat(2,64px);gap:14px 20px}}.profile-token-note{margin:0 0 12px;font-size:.88rem;color:var(--ink-muted);line-height:1.5}.profile-scripts-card{margin-top:20px}.profile-scripts-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:16px}.profile-scripts-head h2{margin:0}.profile-scripts-mode-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-muted) 65%,var(--bg-elevated))}.profile-scripts-mode-tab{padding:7px 14px;border:none;border-radius:7px;background:transparent;color:var(--ink-muted);font-family:var(--font-sans);font-size:.84rem;font-weight:600;cursor:pointer;transition:color .2s,background .2s,box-shadow .2s}.profile-scripts-mode-tab:hover{color:var(--ink)}.profile-scripts-mode-tab.active{color:var(--accent);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.profile-scripts-panel[hidden]{display:none}.profile-scripts-ranked-banner{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:20px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 6%,var(--bg-elevated))}.profile-scripts-ranked-copy{min-width:0}.profile-scripts-ranked-title{margin:0 0 4px;font-size:.98rem;font-weight:600;color:var(--ink)}.profile-scripts-ranked-note{margin:0;font-size:.86rem;color:var(--ink-muted);line-height:1.5}.profile-scripts-note{margin:0 0 16px;font-size:.88rem;color:var(--ink-muted);line-height:1.55}.agent-info-list{margin:0 0 20px;display:grid;gap:18px}.agent-info-item{margin:0}.agent-info-item dt{margin:0 0 8px;font-size:.82rem;font-weight:600;color:var(--ink-muted);letter-spacing:.02em}.agent-info-item dd{margin:0}.agent-info-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.agent-info-value{flex:1;min-width:0;margin:0;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-muted);font-family:var(--font-mono);font-size:.78rem;line-height:1.5;word-break:break-all}.agent-token-value.token-box{margin:0;border-style:dashed;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--primary-soft) 40%,transparent))}.agent-info-hint{margin:8px 0 0;font-size:.8rem;color:var(--ink-faint);line-height:1.45}.agent-info-hint code{font-family:var(--font-mono);font-size:.78rem}.agent-brief-actions{padding-top:4px;border-top:1px solid var(--border)}.agent-brief-hint{margin:10px 0 0;font-size:.82rem;color:var(--ink-faint);line-height:1.45}.btn-sm{padding:8px 12px;font-size:.8rem}.profile-script-editor{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#f8f7f5}.profile-script-tabs{display:flex;gap:6px;padding:8px 10px;background:color-mix(in srgb,var(--bg-muted) 70%,var(--bg-elevated));border-bottom:1px solid var(--border)}.profile-script-tab{padding:7px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-muted);font-family:var(--font-sans);font-size:.84rem;font-weight:600;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.profile-script-tab:hover{color:var(--ink)}.profile-script-tab.active{color:var(--accent);background:var(--bg-elevated);border-color:var(--border)}.profile-script-body{display:grid;grid-template-columns:auto 1fr;height:240px;overflow:hidden}.profile-script-gutter{margin:0;height:100%;min-height:0;padding:12px 8px 12px 10px;border:none;border-right:1px solid var(--border);background:color-mix(in srgb,var(--bg-muted) 45%,#f8f7f5);overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.profile-script-gutter code{display:block;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;color:var(--ink-muted);opacity:.72;text-align:right;min-width:2ch;white-space:pre}.profile-script-textarea{display:block;width:100%;height:100%;min-height:0;padding:12px 14px;border:none;resize:none;overflow-y:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;color:var(--ink);background:transparent;-moz-tab-size:2;tab-size:2}.profile-script-textarea:focus{outline:none}.profile-script-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}body.picker-modal-open{overflow:hidden}.picker-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.picker-modal[hidden]{display:none}.picker-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink) 42%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1)}.picker-modal-dialog{position:relative;width:min(820px,100%);max-height:min(92vh,720px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:calc(var(--radius-lg) + 2px);box-shadow:var(--shadow-lg)}.picker-modal-chrome{display:flex;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--bg-muted) 50%,var(--bg-elevated));border-bottom:1px solid var(--border);flex-shrink:0}.picker-modal-chrome-title{flex:1;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint)}.picker-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--ink-muted);cursor:pointer}.picker-modal-close:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.picker-modal-body{padding:22px 24px 24px;overflow-y:auto}.picker-modal-title{margin:0 0 6px;font-size:1.25rem;font-weight:700}.picker-modal-lead,.picker-modal-pending{margin:0 0 12px;font-size:.88rem;color:var(--ink-muted)}.picker-modal-pending strong{color:var(--accent)}.picker-modal-viewport{position:relative;height:min(380px,50vh);min-height:260px;border-radius:var(--radius);overflow:hidden;background:#f3f1ed;border:1px solid var(--border);margin-bottom:14px}.picker-modal-viewport canvas{display:block;width:100%;height:100%}.picker-modal-actions{display:flex;justify-content:flex-end;gap:10px}body.ranked-match-modal-open{overflow:hidden}.ranked-match-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:24px}.ranked-match-modal[hidden]{display:none}.ranked-match-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0e1485;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ranked-match-modal-dialog{position:relative;width:min(100%,320px);padding:36px 28px 32px;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);text-align:center;animation:ranked-match-modal-in .38s cubic-bezier(.16,1,.3,1)}@keyframes ranked-match-modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ranked-match-modal-label{margin:0 0 18px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.ranked-match-modal-countdown{font-family:var(--font-display);font-size:clamp(4rem,18vw,5.5rem);font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:14px}.ranked-match-modal-countdown.is-tick{animation:ranked-match-tick .42s cubic-bezier(.16,1,.3,1)}@keyframes ranked-match-tick{0%{transform:scale(1);opacity:1}35%{transform:scale(1.08);opacity:.82}to{transform:scale(1);opacity:1}}.ranked-match-modal-hint{margin:0;font-size:.92rem;color:var(--ink-muted)}.site-toast-stack{position:fixed;top:calc(var(--nav-h) + 12px);left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.site-toast{pointer-events:auto;padding:11px 18px;border-radius:999px;font-size:.88rem;font-weight:600;color:#fff;background:var(--ink);box-shadow:var(--shadow-md);opacity:0;transform:translateY(-8px);transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1);cursor:pointer;white-space:nowrap}.site-toast.is-visible{opacity:1;transform:translateY(0)}.site-toast--success{background:var(--teal)}.site-toast--error{background:#c92a2a}.profile-ranked-card{grid-column:1 / -1}.profile-ranked-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.profile-ranked-head h2{margin:0}.profile-ranked-score{text-align:right}.profile-ranked-score-value{display:block;font-size:2rem;font-weight:700;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.profile-ranked-score-label{font-size:.75rem;color:var(--ink-muted)}.profile-ranked-note{margin:0 0 16px;font-size:.86rem;color:var(--ink-muted);line-height:1.55}.profile-ranked-play-btn{width:auto;min-width:0;padding:10px 22px;margin-bottom:4px}.profile-ranked-history h3{margin:20px 0 10px;font-size:.92rem;font-weight:600;color:var(--ink-muted)}.profile-ranked-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.profile-ranked-empty{padding:12px 0;font-size:.88rem;color:var(--ink-faint)}.profile-ranked-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-muted);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.profile-ranked-link:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-muted))}.profile-ranked-main{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-ranked-matchup{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.profile-ranked-side{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.profile-ranked-role{flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--ink-faint);letter-spacing:.02em}.profile-ranked-name{font-weight:600;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-ranked-name.is-self,.profile-ranked-self{color:var(--accent)}.profile-ranked-vs{font-size:.76rem;font-weight:600;color:var(--ink-faint);text-transform:lowercase}.profile-ranked-time{font-size:.78rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.profile-ranked-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:.84rem;font-variant-numeric:tabular-nums}.ranked-win{color:var(--teal);font-weight:700}.ranked-loss{color:#c92a2a;font-weight:700}.profile-ranked-delta{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-muted)}.profile-ranked-after{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-faint)}.ranked-match-main{display:flex;flex-direction:column;gap:12px;max-width:1120px;margin:0 auto;padding:16px 20px 48px}.ranked-match-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}.ranked-match-head h1{margin:0;font-size:clamp(1.15rem,2.6vw,1.4rem);font-weight:700;letter-spacing:-.02em}.ranked-match-meta{margin:0;font-size:.82rem;color:var(--ink-muted);line-height:1.4}.ranked-stage-card{padding:12px}.ranked-replay-viewport{position:relative;width:100%;aspect-ratio:16 / 9;min-height:420px;max-height:min(78vh,820px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:#f3f1ed;box-shadow:var(--shadow-sm)}.ranked-replay-viewport canvas{display:block;width:100%;height:100%;transition:transform .62s cubic-bezier(.4,0,.2,1),filter .62s cubic-bezier(.4,0,.2,1)}.ranked-replay-viewport.is-transitioning canvas{transform:scale(1.02);filter:blur(4px) brightness(.88)}.ranked-replay-curtain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:#0a0a0c;opacity:0;pointer-events:none;transition:opacity .62s cubic-bezier(.4,0,.2,1)}.ranked-replay-curtain.is-visible{opacity:1}.ranked-replay-curtain[hidden]{display:none}.ranked-replay-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000061;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:#ffffffe0;font-size:.92rem;z-index:4;opacity:0;transition:opacity .4s ease}.ranked-replay-loading.is-visible{opacity:1}.ranked-replay-loading[hidden]{display:none}.ranked-replay-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:12px}.ranked-round-banner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5;opacity:0;visibility:hidden;background:#0000006b;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s cubic-bezier(.4,0,.2,1)}.ranked-round-banner--on-curtain{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.ranked-round-banner:not([hidden]){visibility:visible}.ranked-round-banner.is-visible{opacity:1}.ranked-round-banner[hidden]{display:none}.ranked-round-banner-label{font-family:var(--font-mono);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fffffff5;transform:translateY(10px);opacity:0;transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .45s cubic-bezier(.16,1,.3,1)}.ranked-round-banner.is-visible .ranked-round-banner-label{transform:translateY(0);opacity:1}.ranked-player-intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:14px 16px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .55s cubic-bezier(.4,0,.2,1),visibility .55s cubic-bezier(.4,0,.2,1)}.ranked-player-intro:not([hidden]){visibility:visible}.ranked-player-intro.is-visible{opacity:1}.ranked-player-intro[hidden]{display:none}.ranked-player-intro-round{margin:0;font-family:var(--font-mono);font-size:clamp(.9rem,2.2vw,1.1rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffffe6;text-shadow:0 1px 12px rgba(0,0,0,.45)}.ranked-player-intro-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 18px 14px;border-radius:calc(var(--radius) + 2px);background:#0a0a0c6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 28px #00000038}.ranked-player-intro-role{font-family:var(--font-display);font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:700;letter-spacing:.1em;color:#fffffff5;text-shadow:0 1px 10px rgba(0,0,0,.4)}.ranked-player-intro-card--chaser .ranked-player-intro-role{color:#ffb4a8}.ranked-player-intro-card--evader .ranked-player-intro-role{color:#9ee7d8}.ranked-player-intro-player{min-width:0;max-width:100%}.ranked-player-intro-player-row{justify-content:center;color:#fffffff5}.ranked-player-intro-player-row .player-inline-name{font-weight:600;font-size:.92rem}.ranked-result-banner{position:absolute;top:12px;left:12px;right:12px;z-index:8;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .55s cubic-bezier(.16,1,.3,1),visibility .55s cubic-bezier(.16,1,.3,1)}.ranked-result-banner:not([hidden]){visibility:visible}.ranked-result-banner.is-visible{opacity:1}.ranked-result-banner[hidden]{display:none}.ranked-result-banner-inner{padding:14px 18px;border-radius:var(--radius);background:#080c14e6;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 32px #00000059;transform:translateY(-8px);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .45s cubic-bezier(.16,1,.3,1)}.ranked-result-banner.is-visible .ranked-result-banner-inner{transform:translateY(0);opacity:1}.ranked-result-banner-title:not(.player-inline-row){margin:0 0 10px;font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.45rem);font-weight:700;letter-spacing:.02em;color:#6ee7c8}.ranked-result-banner-rounds{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px}.ranked-result-banner-rounds li{font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#ffffffd1}.ranked-log-window{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-muted);overflow:hidden;box-shadow:var(--shadow-sm)}.ranked-log-window-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent)}.ranked-log-tabs{display:flex;gap:6px}.ranked-log-tab{padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.ranked-log-tab:hover{color:var(--ink);border-color:var(--border-strong)}.ranked-log-tab.is-active{color:var(--ink);background:var(--bg-elevated);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.ranked-log-frame{font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums;flex-shrink:0}.ranked-log-panels{min-height:280px;max-height:420px}.ranked-log-panel{display:flex;flex-direction:column;height:100%;max-height:420px}.ranked-log-panel[hidden]{display:none}.ranked-log-panel-meta{margin:0;padding:10px 14px 8px;font-size:.8rem;color:var(--ink-muted);border-bottom:1px solid var(--border)}.ranked-log-panel-meta.ranked-matchup-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:6px}.ranked-log-panel-meta.ranked-matchup-players .player-inline:first-child{justify-self:start}.ranked-log-panel-meta.ranked-matchup-players .ranked-matchup-vs{justify-self:center;align-self:center;line-height:1}.ranked-log-panel-meta.ranked-matchup-players .player-inline:last-child{justify-self:end}.ranked-log-list{flex:1;overflow-y:auto;list-style:none;margin:0;padding:10px 12px 12px;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink-faint) 40%,transparent) transparent}.ranked-log-list::-webkit-scrollbar{width:6px}.ranked-log-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink-faint) 40%,transparent);border-radius:3px}.ranked-log-item{margin-bottom:8px;padding:8px 10px;border-radius:calc(var(--radius) - 2px);background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid color-mix(in srgb,var(--teal) 55%,transparent)}.ranked-log-item-head{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--teal);margin-bottom:4px;font-variant-numeric:tabular-nums}.ranked-log-item-events{list-style:none;margin:0;padding:0}.ranked-log-event{font-family:var(--font-mono);font-size:.74rem;line-height:1.45;color:var(--ink-muted);padding:1px 0}.ranked-log-event[data-kind=p1]{color:#c2410c}.ranked-log-event[data-kind=p2]{color:#0369a1}.ranked-log-event[data-kind=star]{color:#a16207}.ranked-log-event[data-kind=system]{color:var(--ink);font-weight:600}.ranked-log-empty{margin:0;padding:18px 14px;font-size:.84rem;color:var(--ink-faint);text-align:center}.ranked-replay-music-btn,.ranked-replay-fullscreen-btn{flex-shrink:0;padding:5px 12px;font-size:.76rem;line-height:1.2;box-shadow:none}.ranked-replay-music-btn.is-muted{color:var(--ink-faint)}.ranked-replay-all-btn{flex-shrink:0;padding:5px 12px;font-size:.76rem;line-height:1.2;box-shadow:none;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .38s cubic-bezier(.16,1,.3,1),transform .38s cubic-bezier(.16,1,.3,1)}.ranked-replay-all-btn.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.ranked-replay-all-btn[hidden],.ranked-round-tabs,.ranked-round-tab{display:none}.ranked-replay-hud{display:flex;flex-direction:row;align-items:stretch;width:100%;padding:0;border-radius:var(--radius);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);box-shadow:var(--shadow-sm);pointer-events:auto;overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1),background .25s ease,border-color .25s ease,box-shadow .25s ease}.ranked-replay-hud.is-collapsed{width:auto;align-self:flex-start;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.ranked-replay-hud-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;margin:0;padding:0;border:none;border-right:1px solid var(--border);border-radius:0;background:color-mix(in srgb,var(--bg-muted) 65%,transparent);color:var(--ink-muted);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.ranked-replay-hud.is-collapsed .ranked-replay-hud-toggle{width:24px;height:24px;border-right:none;border-radius:6px}.ranked-replay-hud-toggle:hover{background:color-mix(in srgb,var(--bg-muted) 92%,transparent);color:var(--ink)}.ranked-replay-hud-toggle svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.ranked-replay-hud.is-collapsed .ranked-replay-hud-toggle svg{transform:rotate(180deg)}.ranked-replay-hud-body{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex:1;min-width:0;padding:10px 12px;overflow:hidden;opacity:1;transition:flex .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,padding .28s cubic-bezier(.4,0,.2,1)}.ranked-replay-hud.is-collapsed .ranked-replay-hud-body{flex:0 0 0;width:0;opacity:0;padding:0;pointer-events:none}.ranked-replay-hud-left{min-width:0}.ranked-replay-matchup:not(.ranked-matchup-players){display:block;font-size:.86rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(52vw,420px)}.ranked-replay-matchup.ranked-matchup-players{font-size:.82rem;color:var(--ink);max-width:min(52vw,420px)}.ranked-replay-hud-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.ranked-replay-frame{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-muted)}.ranked-replay-round-desc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:12px 0 0;transition:opacity .35s ease,transform .35s ease}.ranked-round-desc-num{font-family:var(--font-mono);font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--ink-muted);flex-shrink:0}.ranked-round-desc-matchup{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.ranked-round-desc-sep{color:var(--ink-faint);font-weight:600}.ranked-round-role-line{font-size:.88rem}.ranked-round-role-line .player-inline-suffix{font-size:.78rem;color:var(--ink-muted);font-weight:600}.ranked-summary-players{justify-content:flex-start;flex-wrap:wrap}.ranked-replay-round-desc.is-switching{animation:ranked-desc-switch .55s cubic-bezier(.16,1,.3,1)}@keyframes ranked-desc-switch{0%{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ranked-replay-viewport canvas,.ranked-replay-curtain,.ranked-replay-loading,.ranked-round-banner,.ranked-round-banner-label,.ranked-player-intro,.ranked-result-banner,.ranked-result-banner-inner,.ranked-replay-all-btn,.ranked-replay-round-desc{transition:none;animation:none}.ranked-replay-viewport.is-transitioning canvas{transform:none;filter:none}}.ranked-round-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ranked-round-result-card{padding:14px 16px;border-radius:var(--radius);background:var(--bg-muted);border:1px solid var(--border)}.ranked-round-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.ranked-round-result-num{font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--accent)}.ranked-round-result-outcome{font-size:.84rem;font-weight:600;color:var(--ink)}.ranked-round-result-roles{margin:0;font-size:.8rem;color:var(--ink-muted)}.ranked-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.ranked-result-badge{padding:8px 16px;border-radius:999px;font-size:.88rem;font-weight:700;white-space:nowrap}.ranked-result-badge.ranked-win{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal)}.ranked-result-badge.ranked-loss{background:color-mix(in srgb,#c92a2a 14%,transparent);color:#c92a2a}.ranked-summary{margin:0;display:grid;gap:12px}.ranked-summary>div{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}.ranked-summary dt{margin:0;color:var(--ink-muted)}.ranked-summary dd{margin:0;font-weight:600;text-align:right}.ranked-score-changes{display:flex;flex-direction:column;gap:12px}.ranked-score-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);background:var(--bg-muted);border:1px solid var(--border)}.ranked-score-name{font-weight:600}.ranked-score-detail{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:.86rem}.ranked-delta-up{color:var(--teal);font-weight:700}.ranked-delta-down{color:#c92a2a;font-weight:700}.ranked-rounds-card{margin-top:0}.ranked-rounds{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ranked-round-card{padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-muted);display:flex;flex-direction:column;gap:14px}.ranked-round-head{display:flex;flex-direction:column;gap:4px}.ranked-round-num{font-weight:700;font-size:.95rem}.ranked-round-result{font-size:.86rem;color:var(--ink-muted)}.ranked-replay-btn{text-align:center;text-decoration:none}.ranked-replay-viewport:fullscreen,.ranked-replay-viewport:-webkit-full-screen{width:100%;height:100%;max-height:none;min-height:0;border:none;border-radius:0;background:#0a0a0c}.ranked-replay-viewport:fullscreen .ranked-replay-overlay,.ranked-replay-viewport:-webkit-full-screen .ranked-replay-overlay{opacity:1;pointer-events:none}.ranked-replay-viewport:fullscreen .ranked-replay-hud,.ranked-replay-viewport:-webkit-full-screen .ranked-replay-hud{background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(max-width:640px){.profile-preview-shell{max-width:100%}.profile-home-hero,.profile-grid{grid-template-columns:1fr}.profile-user-meta{align-items:flex-start}.ranked-match-grid,.ranked-rounds,.ranked-round-results{grid-template-columns:1fr}.ranked-replay-matchup{max-width:100%}.ranked-replay-viewport{min-height:260px;max-height:52vh}}
