:root{--bg: #EEF0F6;--bg-primary: #EEF0F6;--bg-secondary: rgba(255, 255, 255, .52);--bg-card: linear-gradient(140deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .44));--bg-card-hover: linear-gradient(140deg, rgba(255, 255, 255, .88), rgba(255, 255, 255, .6));--bg-input: rgba(118, 128, 160, .1);--bg-input-focus: rgba(255, 255, 255, .92);--bg-elevated: rgba(255, 255, 255, .88);--glass-a: rgba(255, 255, 255, .7);--glass-b: rgba(255, 255, 255, .3);--glass-fill: linear-gradient(140deg, var(--glass-a), var(--glass-b));--glass-stroke: rgba(255, 255, 255, .88);--glass-inner: inset 0 1px 0 rgba(255, 255, 255, .98), inset 0 -1px 0 rgba(255, 255, 255, .35);--glass-blur: saturate(190%) blur(28px);--glass-blur-soft: saturate(160%) blur(16px);--text-primary: #1D1D1F;--text-secondary: #57575E;--text-muted: #76767C;--text-inverse: #FFFFFF;--ink: #1D1D1F;--ink-2: #57575E;--ink-3: #76767C;--accent-purple: #5E5CE6;--accent-purple-light: #6E6BF0;--accent-purple-dim: rgba(94, 92, 230, .1);--accent-purple-glow: rgba(94, 92, 230, .2);--accent-green: #21803A;--accent-green-dim: rgba(33, 128, 58, .09);--accent-green-glow: rgba(33, 128, 58, .18);--accent-gold: #A95400;--accent-gold-dim: rgba(169, 84, 0, .1);--accent-gold-glow: rgba(169, 84, 0, .18);--accent-blue: #0071E3;--accent-blue-dim: rgba(0, 113, 227, .08);--accent-red: #D70015;--accent-red-dim: rgba(215, 0, 21, .08);--accent-red-glow: rgba(215, 0, 21, .16);--group-a: #5E5CE6;--group-a-dim: rgba(94, 92, 230, .12);--group-b: #B2409D;--group-b-dim: rgba(178, 64, 157, .12);--sponsor-diamond: #07657A;--sponsor-gold: #8F5300;--sponsor-silver: #565C66;--sponsor-bronze: #8C4514;--hairline: rgba(30, 35, 70, .1);--border-color: rgba(30, 35, 70, .1);--border-hover: rgba(30, 35, 70, .2);--edge-light: rgba(255, 255, 255, .88);--shadow-1: 0 16px 44px rgba(42, 50, 92, .1), 0 2px 8px rgba(42, 50, 92, .05);--shadow-2: 0 26px 60px rgba(42, 50, 92, .16), 0 4px 12px rgba(42, 50, 92, .07);--shadow-3: 0 40px 90px rgba(42, 50, 92, .22);--shadow-inset: var(--glass-inner);--orb-1: #A9C8FF;--orb-2: #D9B6FF;--orb-3: #A5E8DC;--orb-4: #FFC6D9;--orb-opacity: .38;--grain-opacity: .12;--bg-base: linear-gradient(160deg, #F3F4FA, #E9EDF6 45%, #F6EEF7);--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-heading: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-logo: var(--font-display);--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "PingFang SC", monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 3.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 26px;--radius-panel: 26px;--radius-sub: 20px;--radius-full: 999px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--duration-fast: .18s;--duration-normal: .28s;--duration-slow: .42s;--max-width: 1120px;--shell-pad: 18px;--sidebar-w: 232px;--shell-gap: 18px;--navbar-height: 58px;--maintenance-bar-height: 34px;--navbar-offset: 0px;--tabbar-height: 62px;--z-sticky: 200;--z-sidebar: 210;--z-tabbar: 220;--z-toast: 500}[data-theme=dark]{--bg: #0C0E14;--bg-primary: #0C0E14;--bg-secondary: rgba(30, 34, 46, .55);--bg-card: linear-gradient(140deg, rgba(38, 43, 58, .78), rgba(22, 26, 36, .62));--bg-card-hover: linear-gradient(140deg, rgba(48, 54, 72, .86), rgba(28, 33, 45, .72));--bg-input: rgba(255, 255, 255, .06);--bg-input-focus: rgba(255, 255, 255, .1);--bg-elevated: rgba(30, 34, 46, .92);--glass-a: rgba(44, 50, 66, .72);--glass-b: rgba(24, 28, 38, .54);--glass-fill: linear-gradient(140deg, var(--glass-a), var(--glass-b));--glass-stroke: rgba(255, 255, 255, .14);--glass-inner: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(255, 255, 255, .04);--glass-blur: saturate(150%) blur(28px);--glass-blur-soft: saturate(140%) blur(16px);--text-primary: #F2F3F7;--text-secondary: #A9ADBB;--text-muted: #7C8192;--text-inverse: #0C0E14;--ink: #F2F3F7;--ink-2: #A9ADBB;--ink-3: #7C8192;--accent-purple: #8B89FF;--accent-purple-light: #A5A3FF;--accent-purple-dim: rgba(139, 137, 255, .14);--accent-purple-glow: rgba(139, 137, 255, .28);--accent-green: #4BD37B;--accent-green-dim: rgba(75, 211, 123, .12);--accent-green-glow: rgba(75, 211, 123, .22);--accent-gold: #FFB340;--accent-gold-dim: rgba(255, 179, 64, .12);--accent-gold-glow: rgba(255, 179, 64, .22);--accent-blue: #4DA3FF;--accent-blue-dim: rgba(77, 163, 255, .12);--accent-red: #FF5C6E;--accent-red-dim: rgba(255, 92, 110, .12);--accent-red-glow: rgba(255, 92, 110, .22);--group-a: #8B89FF;--group-a-dim: rgba(139, 137, 255, .16);--group-b: #D46BC0;--group-b-dim: rgba(212, 107, 192, .16);--sponsor-diamond: #B9F2FF;--sponsor-gold: #FFC24D;--sponsor-silver: #C6CAD2;--sponsor-bronze: #D08A46;--hairline: rgba(255, 255, 255, .09);--border-color: rgba(255, 255, 255, .09);--border-hover: rgba(255, 255, 255, .18);--edge-light: rgba(255, 255, 255, .14);--shadow-1: 0 16px 44px rgba(0, 0, 0, .38), 0 2px 8px rgba(0, 0, 0, .24);--shadow-2: 0 26px 60px rgba(0, 0, 0, .48), 0 4px 12px rgba(0, 0, 0, .3);--shadow-3: 0 40px 90px rgba(0, 0, 0, .58);--orb-1: #4C6BD6;--orb-2: #7A46B8;--orb-3: #2E8E86;--orb-4: #B7477A;--orb-opacity: .32;--grain-opacity: .1;--bg-base: linear-gradient(160deg, #12151F, #0C0F17 45%, #161020)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--bg);min-height:100vh;touch-action:manipulation}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2;text-wrap:balance;letter-spacing:-.01em}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}a{color:var(--accent-green);text-decoration:none;transition:color .15s}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 22px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s,color .15s,opacity .15s;min-height:38px;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent-purple);color:#fff;box-shadow:0 0 #9b4dca00}.btn-primary:hover:not(:disabled){background:var(--accent-purple-light);box-shadow:0 0 0 4px #9b4dca1f}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#1e1e28;border-color:var(--border-hover)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff08}.btn-danger{background:transparent;color:var(--accent-red);border:1px solid rgba(255,51,85,.12)}.btn-danger:hover:not(:disabled){background:var(--accent-red-dim);border-color:#ff335540}.btn-sm{padding:6px 14px;min-height:30px;font-size:var(--text-xs)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.form-input,.form-select,.form-textarea{padding:10px 14px;font-size:var(--text-base);font-family:var(--font-body);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:42px;letter-spacing:.01em}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-purple-light);box-shadow:0 0 0 3px #9b4dca14}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238A8A99' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;padding-right:36px;cursor:pointer}.form-select option{background:#111118;color:#e8e8ed}.form-select:disabled{opacity:.4;cursor:not-allowed}.form-textarea{min-height:80px;resize:vertical}.form-error{font-size:var(--text-xs);color:var(--accent-red)}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color .2s,transform .2s}.card:hover{border-color:#ffffff14;transform:translateY(-1px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.card-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);letter-spacing:.01em}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}thead th{font-family:var(--font-heading);font-size:.6875rem;font-weight:600;color:var(--text-muted);text-align:left;padding:10px var(--space-4);border-bottom:1px solid var(--border-color);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}tbody td{padding:12px var(--space-4);border-bottom:1px solid rgba(255,255,255,.02);vertical-align:middle;font-variant-numeric:tabular-nums}tbody tr{transition:background .1s}tbody tr:hover{background:#ffffff04}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-family:var(--font-heading);font-size:.75rem;font-weight:600;flex-shrink:0;border-radius:50%}.rank-1{background:#ffb8001f;color:var(--accent-gold)}.rank-2{background:#c0c0c014;color:silver}.rank-3{background:#b8860b14;color:#b8860b}.rank-other{background:#ffffff08;color:var(--text-muted)}.group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 10px;font-family:var(--font-heading);font-size:.625rem;font-weight:600;flex-shrink:0;border-radius:var(--radius-full);letter-spacing:.04em}.title-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;white-space:nowrap;letter-spacing:.02em}.title-badge img{width:16px;height:16px;border-radius:50%;object-fit:contain}.avatar{width:40px;height:40px;object-fit:cover;flex-shrink:0;background:var(--bg-input);border-radius:50%}.avatar-sm{width:28px;height:28px}.avatar-lg{width:72px;height:72px}.avatar-xl{width:96px;height:96px}.loading-spinner{width:32px;height:32px;border:2px solid rgba(255,255,255,.06);border-top-color:var(--accent-purple-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16) var(--space-6)}.loading-container p{color:var(--text-muted);font-size:var(--text-sm);font-weight:500;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.4}50%{opacity:1}}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:var(--z-toast);padding:12px 24px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;animation:toastIn var(--duration-normal) ease;max-width:480px;text-align:center;pointer-events:none;box-shadow:var(--shadow-2)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.page{flex:1;padding-top:calc(var(--navbar-height) + var(--navbar-offset) + var(--space-8));padding-bottom:var(--space-20)}.page-header{text-align:center;margin-bottom:var(--space-10)}.page-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-2)}.page-header h1 .green{color:var(--accent-green)}.page-header p{color:var(--text-secondary);font-size:var(--text-lg);font-weight:400;margin-top:var(--space-2)}.page-header-tag{display:inline-block;padding:4px 14px;font-family:var(--font-heading);font-size:.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-green);border:1px solid rgba(158,230,70,.12);border-radius:var(--radius-full);margin-bottom:var(--space-4)}.group-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-input);border-radius:var(--radius-full);width:fit-content}.group-tab{padding:6px 18px;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);min-height:32px;white-space:nowrap;letter-spacing:.03em}.group-tab.active{background:var(--accent-purple);color:#fff}.page-fade{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s var(--ease-spring)}.page-fade.visible{opacity:1;transform:translateY(0)}@media (max-width: 768px){:root{--text-4xl: 2.25rem;--text-3xl: 1.5rem;--text-2xl: 1.25rem;--text-xl: 1.0625rem;--text-lg: .9375rem;--text-base: .875rem;--navbar-height: 48px}.show-mobile{display:flex!important}.hide-mobile{display:none!important}.container{padding:0 var(--space-4)}.page{padding-top:calc(var(--navbar-height) + var(--navbar-offset) + var(--space-4));padding-bottom:var(--space-8)}.page-header{margin-bottom:var(--space-6)}.card{padding:var(--space-4)}.card:hover{transform:none}.table-wrapper{margin:0 calc(-1 * var(--space-4));border-radius:0}table{font-size:var(--text-xs)}thead th,tbody td{padding:var(--space-2) var(--space-3)}.form-input,.form-select,.form-textarea{padding:10px 14px;min-height:42px;font-size:16px}.btn{min-height:42px;padding:10px 20px}.btn-sm{min-height:34px}.toast{bottom:20px;max-width:90%}.group-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;white-space:nowrap}.group-tab{flex-shrink:0}#splash .logo{font-size:2.5rem}#splash .glow.g1{width:140px;height:140px}#splash .glow.g2{width:120px;height:120px}}@media (max-width: 480px){:root{--text-4xl: 1.75rem;--text-3xl: 1.375rem;--text-2xl: 1.125rem;--text-xl: 1rem;--space-6: 1.25rem;--space-8: 1.5rem;--space-10: 2rem;--space-12: 2.5rem}.container{padding:0 var(--space-3)}.card{padding:var(--space-4);border-radius:var(--radius-md)}.page-header{margin-bottom:var(--space-4)}.hide-mobile{display:none!important}thead th{padding:var(--space-1) var(--space-2);font-size:.625rem}tbody td{padding:var(--space-1) var(--space-2);font-size:.6875rem}.table-wrapper{margin:0 calc(-1 * var(--space-3))}.loading-container{padding:var(--space-8) var(--space-4)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shame-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;background:linear-gradient(135deg,var(--accent-red) 0%,#E8573F 55%,var(--accent-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}.shame-slogan{color:var(--text-muted);font-size:var(--text-sm)}.shame-empty-icon{font-size:3rem;margin-bottom:var(--space-4)}.shame-empty-title{color:var(--accent-green);font-size:var(--text-lg);font-weight:600}.shame-empty-desc{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}.shame-empty{text-align:center;padding:var(--space-12)}.shame-list{display:grid;gap:var(--space-4)}.shame-card{border-left:3px solid var(--accent-red);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);flex-wrap:wrap;position:relative;overflow:hidden;box-shadow:inset 0 0 40px var(--accent-red-dim)}.shame-rank{width:48px;height:48px;font-family:var(--font-display);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:var(--text-base);color:var(--accent-red);background:#ff335514;border-radius:50%}.shame-rank-1{background:linear-gradient(135deg,var(--accent-red),#E8573F);color:#fff;font-size:var(--text-xl)}.shame-rank-2{background:linear-gradient(135deg,#E8573F,var(--accent-gold));color:#fff;font-size:var(--text-xl)}.shame-rank-3{background:linear-gradient(135deg,var(--accent-gold),#D9A441);color:#fff;font-size:var(--text-xl)}.shame-user-info{flex:1;min-width:150px}.shame-user-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.shame-user-name{font-weight:600;font-size:var(--text-lg);color:var(--text-primary);text-decoration:line-through;text-decoration-color:#ff33554d}.shame-sponsor{font-size:10px;padding:2px 8px;border-radius:10px}.shame-reason{color:var(--accent-red);font-size:var(--text-sm);margin-top:4px}.shame-time{color:var(--text-muted);font-size:var(--text-xs);text-align:right}.shame-time-mono{font-family:var(--font-mono)}.shame-footer{margin-top:var(--space-6);text-align:center;padding:var(--space-6)}.shame-footer p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.shame-footer-sub{color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--space-1)!important}.profile-card{margin-bottom:var(--space-6)}.profile-layout{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.profile-avatar{width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);object-fit:cover;flex-shrink:0;background:var(--bg-input);border-radius:50%}.profile-avatar-placeholder{width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;border-radius:50%}.profile-avatar-placeholder.group-a{background:var(--group-a-dim);color:var(--group-a);border:2px solid rgba(158,230,70,.15)}.profile-avatar-placeholder.group-b{background:var(--group-b-dim);color:var(--group-b);border:2px solid rgba(180,77,207,.15)}.profile-meta{flex:1;min-width:200px}.profile-name-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap}.profile-name{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--text-primary);margin:0;font-weight:600}.profile-group-avatar{width:40px;height:40px;font-size:var(--text-base)}.profile-social{margin-top:var(--space-2)}.profile-social a{font-size:var(--text-xs);color:var(--accent-green)}.profile-stats{margin-top:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.profile-song-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.profile-best-card{margin-bottom:var(--space-6);border-color:#ffb80026}.profile-best-layout{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}.profile-best-xacc{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;color:var(--accent-gold)}.profile-best-xacc.perfect{color:var(--accent-gold)}.profile-best-time{color:var(--text-secondary)}.profile-judgment-grid{margin-top:var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.profile-judgment-item{padding:var(--space-2) var(--space-3);background:var(--bg-input);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.profile-judgment-key{font-size:var(--text-xs);color:var(--text-muted)}.profile-judgment-val{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.profile-history{padding:0;overflow:hidden}.profile-history-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-color)}.profile-empty{text-align:center;padding:var(--space-10)}.profile-empty p{color:var(--text-muted)}.scores-container{max-width:1100px;margin:0 auto}.scores-tabs{margin:0 auto var(--space-8) auto}.scores-card{padding:0;overflow:hidden}.score-player-link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration:none}.score-player-name{font-weight:600}.score-stage-cell{text-align:center}.score-stage-none{color:var(--text-muted);font-size:var(--text-xs)}.score-song{color:var(--text-secondary);font-size:var(--text-sm)}.score-xacc{text-align:right;font-family:var(--font-heading);font-weight:600;color:var(--accent-green);font-size:var(--text-base)}.score-xacc.perfect{color:var(--accent-gold);font-weight:600}.rainbow-text{background:linear-gradient(90deg,red,#f80,#ff0,#0f0,#08f,#80f,#f08,red);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:rainbow-shift 3s linear infinite}@keyframes rainbow-shift{0%{background-position:0% 50%}to{background-position:200% 50%}}.score-judgment-cell{font-size:var(--text-xs);color:var(--text-muted)}.score-judgment-field{margin-right:8px}.score-judgment-highlight{color:var(--text-secondary);font-family:var(--font-mono)}.score-detail-row{background:var(--bg-input)}.score-detail-row td{padding:0}.score-detail-inner{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color)}.score-detail-header{display:flex;justify-content:space-between;margin-bottom:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.score-detail-title{font-weight:600;color:var(--accent-green)}.score-detail-time{font-size:var(--text-xs);color:var(--text-muted)}.score-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(130px,45%),1fr));gap:2px}.score-detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.score-detail-item.hit{background:#9ee64608}.score-detail-label{font-size:var(--text-xs);color:var(--text-muted)}.score-detail-value{font-size:var(--text-xs);font-family:var(--font-mono)}.score-detail-value.hit{color:var(--text-primary);font-weight:600}.score-detail-value.miss{color:var(--text-muted);font-weight:400}.score-expand-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);min-height:24px}.score-empty{text-align:center;padding:var(--space-10)}.score-empty p{color:var(--text-muted)}.score-player-group-row:hover{background:var(--bg-input)!important}.score-player-group-row td{padding:var(--space-2) var(--space-4)}.score-player-score-row td{padding:var(--space-1) var(--space-4);font-size:var(--text-sm)}.score-player-score-row:last-child td{padding-bottom:var(--space-3)}.score-player-score-row .score-song{padding-left:var(--space-2)}.leaderboard-actions{display:flex;gap:var(--space-3);justify-content:flex-start;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-8)}.leaderboard-card{padding:0;overflow:hidden}.player-row-link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration:none}.player-row-name{font-weight:600}.player-avatar-circle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.625rem;font-weight:600;object-fit:cover;border-radius:50%}.player-avatar-circle.group-a{background:var(--group-a-dim);color:var(--group-a)}.player-avatar-circle.group-b{background:var(--group-b-dim);color:var(--group-b)}.player-best-xacc{text-align:right;font-family:var(--font-heading);font-weight:600}.player-best-xacc.hit{color:var(--accent-green)}.player-best-xacc.hit.perfect{color:var(--accent-gold);font-weight:600}.player-best-xacc.miss{color:var(--text-muted)}.player-song-count{text-align:center;color:var(--text-muted)}.player-group-cell{text-align:center}.player-group-none{color:var(--text-muted);font-size:var(--text-xs)}.player-social-btn{display:inline-block;padding:4px 12px;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;color:var(--accent-blue);background:#409eff0a;border:1px solid color-mix(in srgb,var(--accent-blue) 20%,transparent);border-radius:var(--radius-full);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.player-social-btn:hover{background:color-mix(in srgb,var(--accent-blue) 16%,transparent);border-color:color-mix(in srgb,var(--accent-blue) 36%,transparent);color:var(--accent-blue)}.player-honor-title{display:inline-block;padding:2px 10px;font-family:var(--font-heading);font-size:.625rem;font-weight:600;border-radius:var(--radius-full);white-space:nowrap;cursor:default;letter-spacing:.02em}.player-admin-tag{color:var(--accent-gold);background:var(--accent-gold-dim);border:1px solid rgba(255,184,0,.12);font-size:.625rem}body.has-maintenance-bar{--navbar-offset: var(--maintenance-bar-height)}.maintenance-bar{position:fixed;top:0;left:0;right:0;height:var(--maintenance-bar-height);z-index:calc(var(--z-sticky) + 1);background:#ffb800;color:#000;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:0 var(--space-4);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.maintenance-bar .maintenance-dot{width:8px;height:8px;border-radius:50%;background:#000;flex:none}.navbar-bar{position:fixed;top:var(--navbar-offset);left:0;right:0;z-index:var(--z-sticky);height:var(--navbar-height);background:#0a0a0fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);display:flex;align-items:center}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.navbar-left{display:flex;align-items:center;gap:var(--space-8)}.navbar-logo{font-family:var(--font-logo);font-weight:800;font-size:var(--text-2xl);text-decoration:none;flex-shrink:0;letter-spacing:.01em;background:linear-gradient(135deg,var(--accent-purple-light) 0%,var(--accent-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-desktop-links{display:flex;align-items:center;gap:4px}.navbar-right{display:flex;align-items:center;gap:var(--space-2)}.nav-user-link{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--text-primary);padding:4px 12px;border-radius:var(--radius-md);min-height:32px;border:1px solid var(--border-color);transition:border-color .15s}.nav-user-link:hover{border-color:var(--border-hover);background:none}.nav-user-name{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.nav-user-avatar-placeholder{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;border-radius:50%}.nav-user-avatar-placeholder.group-a{background:var(--group-a-dim);color:var(--group-a)}.nav-user-avatar-placeholder.group-b{background:var(--group-b-dim);color:var(--group-b)}.nav-user-avatar-wrap{position:relative}.nav-user-avatar-btn{display:flex;align-items:center;gap:var(--space-2);background:none;border:1px solid var(--border-color);padding:4px 12px;border-radius:var(--radius-md);min-height:32px;cursor:pointer;color:var(--text-primary);font-family:inherit;font-size:inherit;transition:border-color .15s}.nav-user-avatar-btn:hover{border-color:var(--border-hover)}.nav-avatar-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-2);z-index:1000;overflow:hidden}.nav-avatar-dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:var(--text-sm);font-family:inherit;text-align:left;transition:background .12s}.nav-avatar-dropdown-item svg{flex-shrink:0;opacity:.5}.nav-avatar-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.nav-login-btn{font-size:var(--text-xs);padding:6px 14px;min-height:32px}.nav-link{padding:6px 14px;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;background:transparent;border-radius:var(--radius-sm);text-decoration:none;transition:color var(--duration-fast),background var(--duration-fast);min-height:32px;display:inline-flex;align-items:center}.nav-link.inactive{color:var(--text-secondary)}.nav-link.active{color:var(--accent-green);background:transparent}.nav-link.admin.inactive{color:var(--text-secondary)}.nav-link.admin.active{color:var(--accent-gold);background:transparent}.nav-link-v{display:block;padding:12px var(--space-4);font-family:var(--font-heading);font-size:var(--text-base);font-weight:500;letter-spacing:.01em;border-radius:var(--radius-sm);text-decoration:none}.nav-link-v.inactive{color:var(--text-secondary);background:transparent}.nav-link-v.active{color:var(--accent-green);background:transparent}.nav-link-v.admin.inactive{color:var(--text-secondary)}.nav-link-v.admin.active{color:var(--accent-gold);background:transparent}.nav-hamburger{width:36px;height:36px;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:color .15s,background .15s}.nav-hamburger:hover{color:var(--text-primary);background:var(--bg-input)}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-sticky) - 1);background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-drawer{position:fixed;top:calc(var(--navbar-height) + var(--navbar-offset));right:0;bottom:0;width:min(280px,80vw);z-index:var(--z-sticky);background:#0e0e14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--border-color);transition:right .3s var(--ease-spring);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;overscroll-behavior:contain}.mobile-drawer.closed{right:-100%}.mobile-user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.mobile-user-avatar-placeholder{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:.625rem;font-weight:600;border-radius:50%}.mobile-user-avatar-placeholder.group-a{background:var(--group-a-dim);color:var(--group-a)}.mobile-user-avatar-placeholder.group-b{background:var(--group-b-dim);color:var(--group-b)}.mobile-user-name{font-family:var(--font-heading);font-weight:500;font-size:var(--text-sm)}.mobile-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-color)}.mobile-settings-link{display:block;width:100%;padding:10px var(--space-4);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);text-decoration:none;background:var(--bg-input);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-2)}.mobile-logout-btn{width:100%;padding:10px var(--space-4);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:500;color:var(--accent-red);background:transparent;border:1px solid rgba(255,51,85,.12);border-radius:var(--radius-md);cursor:pointer}.mobile-login-link{width:100%}.settings-container{max-width:520px;margin:0 auto}.settings-form{display:flex;flex-direction:column;gap:var(--space-5)}.settings-avatar-preview{text-align:center}.settings-avatar-img{width:80px;height:80px;object-fit:cover;border:2px solid var(--border-color);margin-bottom:var(--space-2);border-radius:50%}.settings-avatar-placeholder{width:80px;height:80px;margin:0 auto var(--space-2) auto;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;border-radius:50%}.settings-avatar-placeholder.group-a{background:var(--group-a-dim);color:var(--group-a);border:2px solid rgba(158,230,70,.15)}.settings-avatar-placeholder.group-b{background:var(--group-b-dim);color:var(--group-b);border:2px solid rgba(180,77,207,.15)}.settings-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.settings-password-section{padding:var(--space-4);background:var(--bg-input);border-radius:var(--radius-md)}.settings-password-title{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);font-weight:500}.settings-password-fields{display:flex;flex-direction:column;gap:var(--space-3)}.settings-save-btn{width:100%}.sponsor-card{border-left:2px solid var(--border-color)}.sponsor-avatar{width:52px;height:52px}.sponsor-avatar-placeholder{width:52px;height:52px;margin:0}.admin-layout{display:flex;min-height:calc(100vh - 72px);max-width:var(--max-width);margin:0 auto}.admin-sidebar{width:200px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:var(--space-6) 0;display:flex;flex-direction:column;gap:4px}.admin-sidebar-header{padding:0 var(--space-5) var(--space-5);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-2)}.admin-role-badge{font-family:var(--font-heading);font-size:.625rem;padding:3px 10px;border-radius:var(--radius-full);font-weight:600;display:inline-block;width:fit-content}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px var(--space-5);margin:0 var(--space-2);border-radius:var(--radius-md);border:none;background:none;font-family:var(--font-heading);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;font-weight:500;letter-spacing:.01em;transition:background var(--duration-fast),color var(--duration-fast);text-align:left;width:calc(100% - var(--space-4))}.admin-nav-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.admin-nav-item.active{background:var(--accent-purple-dim);color:var(--accent-purple-light)}.admin-nav-item.opened{color:var(--text-primary)}.admin-nav-opened-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-purple-light);margin-left:auto;flex-shrink:0;opacity:.7}.admin-content{flex:1;min-width:0;display:flex;flex-direction:column;height:calc(100vh - 72px);max-width:calc(100vw - 200px)}.admin-tabbar{display:flex;align-items:flex-end;gap:var(--space-2);padding:8px var(--space-4) 0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.admin-tabbar-list{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin}.admin-tab{display:flex;align-items:center;gap:6px;padding:7px 10px;max-width:190px;border:1px solid var(--border-color);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-heading);font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{background:var(--accent-purple-dim);color:var(--accent-purple-light);border-color:#9b4dca59}.admin-tab-label{overflow:hidden;text-overflow:ellipsis}.admin-tab-dirty{color:var(--accent-gold);font-size:10px}.admin-tab-close{opacity:.5;padding:0 3px;border-radius:4px;font-size:15px;line-height:1}.admin-tab-close:hover{opacity:1;background:var(--bg-input)}.admin-tabbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-bottom:7px}.admin-tabbar-btn{border:1px solid var(--border-color);background:none;color:var(--text-muted);font-size:var(--text-xs);padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}.admin-tabbar-btn:hover{color:var(--text-primary);border-color:var(--accent-purple)}.admin-main{flex:1;padding:var(--space-6);overflow-y:auto;min-height:0}.admin-empty-tabs{padding:var(--space-16) 0;text-align:center;color:var(--text-muted)}.admin-section{margin-bottom:var(--space-6)}.admin-section-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:10px;margin:0 0 var(--space-4) 0}.admin-section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.admin-section-hint{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);font-weight:400}.admin-empty{text-align:center;padding:var(--space-8);color:var(--text-muted)}.admin-card-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.admin-user-row{display:flex;align-items:center;gap:8px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md);transition:background var(--duration-fast);background:transparent}.admin-user-row:hover{background:var(--bg-card-hover)}.admin-user-row.banned{background:#ff335508}.admin-row-actions{margin-left:auto;display:flex;gap:2px;align-items:center;flex-shrink:0}.admin-mini-select{font-family:var(--font-heading);font-size:.625rem;padding:3px 8px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer}.admin-action-btn{background:none;border:none;font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.admin-action-btn:hover{color:var(--btn-hover-color, var(--accent-green));background:var(--bg-input)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain}.form-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.admin-title-palette{display:flex;flex-wrap:wrap;align-items:center;gap:4px}@media (max-width: 900px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;padding:var(--space-3) var(--space-4);flex-direction:row;flex-wrap:wrap;gap:4px;border-right:none;border-bottom:1px solid var(--border-color);overflow-x:auto}.admin-sidebar-header{padding:0;margin:0;border:none;flex-direction:row;align-items:center;gap:var(--space-3);width:100%}.admin-nav-item{width:auto;padding:6px 12px;margin:0;font-size:12px;flex-shrink:0}.admin-content{height:auto;max-width:100%}.admin-main{max-width:100%;padding:var(--space-4);overflow-y:visible}.admin-nav-opened-dot{display:none}}.download-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}.download-card{padding:var(--space-4);transition:border-color var(--duration-fast)}.download-card:hover{border-color:var(--accent-purple)}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:var(--bg-base);overflow:hidden}.aurora .orb{position:absolute;display:block;border-radius:50%;filter:blur(100px);opacity:var(--orb-opacity);animation:orb-drift 26s ease-in-out infinite alternate;will-change:transform}.aurora .o1{width:46vw;height:46vw;min-width:320px;min-height:320px;background:var(--orb-1);top:-12%;left:-8%}.aurora .o2{width:40vw;height:40vw;min-width:280px;min-height:280px;background:var(--orb-2);top:-10%;right:-6%;animation-delay:-8s}.aurora .o3{width:42vw;height:42vw;min-width:300px;min-height:300px;background:var(--orb-3);bottom:-14%;left:-6%;animation-delay:-14s}.aurora .o4{width:38vw;height:38vw;min-width:260px;min-height:260px;background:var(--orb-4);bottom:-12%;right:-8%;animation-delay:-4s}@keyframes orb-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6%,8%,0) scale(1.15)}}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:overlay;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.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}html{color-scheme:light;background:var(--bg)}[data-theme=dark]{color-scheme:dark}body{background:transparent;color:var(--text-primary);letter-spacing:-.01em;line-height:1.5;-webkit-tap-highlight-color:transparent}::selection{background:var(--accent-purple-dim)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,.card-title,.page-header h1{font-family:var(--font-display);letter-spacing:-.03em}a{color:var(--accent-purple)}a:hover{color:var(--accent-purple-light)}.show-mobile{display:none}.glass{position:relative;isolation:isolate;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);border-radius:var(--radius-panel);box-shadow:var(--shadow-1),var(--glass-inner)}@supports (corner-shape: squircle){.glass,.card{corner-shape:squircle}}.glass>*{position:relative;z-index:1}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--edge-light) 0%,rgba(160,210,255,.55) 24%,transparent 48%,rgba(255,170,215,.4) 78%,var(--edge-light) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(500px circle at var(--mx, 50%) var(--my, 0%),rgba(255,255,255,.45),transparent 62%);opacity:.35;transition:opacity .35s var(--ease)}.glass:hover:after{opacity:.7}[data-theme=dark] .glass:after{background:radial-gradient(500px circle at var(--mx, 50%) var(--my, 0%),rgba(255,255,255,.14),transparent 62%);opacity:.5}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.card{background:var(--bg-elevated)}}.card{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);border-radius:var(--radius-panel);box-shadow:var(--shadow-1),var(--glass-inner);padding:var(--space-6);transition:box-shadow .4s var(--ease),transform .4s var(--ease),border-color .3s var(--ease)}.card:hover{border-color:var(--glass-stroke);transform:translateY(-2px);box-shadow:var(--shadow-2),var(--glass-inner)}.card-header{border-bottom:1px solid var(--hairline)}.card-title{font-weight:650}.btn{border-radius:var(--radius-full);font-weight:550;letter-spacing:-.005em;min-height:40px;padding:10px 20px;box-shadow:none;transition:transform .2s var(--ease),box-shadow .3s var(--ease),background .25s var(--ease),color .25s var(--ease),opacity .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.96)}.btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:3px}.btn-primary{background:var(--accent-purple);color:#fff;box-shadow:0 6px 18px var(--accent-purple-glow),inset 0 1px #ffffff47}.btn-primary:hover:not(:disabled){background:var(--accent-purple-light);box-shadow:0 10px 26px var(--accent-purple-glow),inset 0 1px #ffffff52}.btn-secondary{background:var(--bg-secondary);-webkit-backdrop-filter:var(--glass-blur-soft);backdrop-filter:var(--glass-blur-soft);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:inset 0 1px 0 var(--edge-light)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-input);color:var(--text-primary)}.btn-danger{background:transparent;color:var(--accent-red);border:1px solid color-mix(in srgb,var(--accent-red) 24%,transparent)}.btn-danger:hover:not(:disabled){background:var(--accent-red-dim);border-color:color-mix(in srgb,var(--accent-red) 40%,transparent)}.btn-sm{min-height:32px;padding:6px 14px;font-size:var(--text-xs)}.form-label{color:var(--text-secondary);font-weight:550}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);min-height:44px;font-size:var(--text-base);transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}.form-input:hover,.form-select:hover{border-color:var(--border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-purple);background:var(--bg-input-focus);box-shadow:0 0 0 4px var(--accent-purple-dim)}.form-input::placeholder{color:var(--text-muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2376767C' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 12px;padding-right:38px}.form-select:disabled{opacity:.55;cursor:not-allowed}.form-select option{background:var(--bg);color:var(--text-primary)}table{font-size:var(--text-sm)}thead th{font-family:var(--font-heading);font-size:.6875rem;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:12px var(--space-4);border-bottom:1px solid var(--hairline)}tbody td{padding:13px var(--space-4);border-bottom:1px solid var(--hairline);color:var(--text-primary)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .18s var(--ease)}tbody tr:hover{background:color-mix(in srgb,var(--bg-elevated) 70%,transparent)}.group-tabs{display:inline-flex;gap:2px;padding:4px;background:var(--bg-input);border-radius:var(--radius-full);border:1px solid var(--border-color);width:fit-content}.group-tab{padding:7px 18px;min-height:34px;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:550;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;letter-spacing:-.005em;transition:color .2s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.group-tab:hover{color:var(--text-primary)}.group-tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 3px #2a325c1f,inset 0 1px 0 var(--edge-light)}[data-theme=dark] .group-tab.active{background:#ffffff24;box-shadow:0 1px 3px #0006,inset 0 1px #ffffff29}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin-bottom:var(--space-5)}.podium-card{font:inherit;color:inherit;cursor:pointer;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;text-align:center;text-decoration:none;border-radius:var(--radius-panel);background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);box-shadow:var(--shadow-1),var(--glass-inner);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.podium-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2),var(--glass-inner)}.podium-card.is-first{padding:30px 16px 26px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent-gold) 22%,var(--glass-a)),var(--glass-b))}.podium-medal{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.podium-medal.p1{background:var(--accent-gold);color:#fff;box-shadow:0 4px 12px var(--accent-gold-glow)}.podium-medal.p2{background:var(--bg-input);color:var(--text-secondary)}.podium-medal.p3{background:color-mix(in srgb,var(--accent-gold) 18%,transparent);color:var(--accent-gold)}.podium-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;object-fit:cover;font-size:1.125rem;font-weight:700;background:var(--bg-input);color:var(--text-secondary)}.podium-card.is-first .podium-avatar{width:68px;height:68px;box-shadow:0 8px 24px #2a325c2e}.podium-name{font-size:.9375rem;font-weight:650;color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-score{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.podium-card.is-first .podium-score{font-size:1.65rem}.podium-meta{font-size:.6875rem;color:var(--text-muted);letter-spacing:.02em}.hero-home{text-align:center;padding:clamp(2.25rem,7vw,4.25rem) 0 clamp(2rem,5vw,3rem)}.hero-home-kicker{font-size:.8125rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-purple);margin-bottom:18px}.hero-home-logo{display:inline-block;font-family:var(--font-logo);font-size:clamp(3.6rem,12.5vw,7.25rem);font-weight:800;letter-spacing:-.05em;line-height:.94;margin-bottom:22px;background:linear-gradient(105deg,var(--accent-purple) 0%,var(--accent-purple-light) 32%,var(--group-b) 58%,var(--accent-green) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-home-sub{color:var(--text-secondary);font-size:clamp(.9375rem,1.5vw,1.0625rem);line-height:1.8;max-width:620px;margin:0 auto 34px;text-wrap:pretty}.hero-home-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-home-actions .btn{min-height:46px;padding:12px 28px;font-size:.9375rem}.page-header{text-align:left;margin-bottom:var(--space-8)}.page-header h1{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:700;letter-spacing:-.04em;line-height:1.1}.page-header p{color:var(--text-secondary);font-size:var(--text-base);margin-top:var(--space-2)}.page-header-tag{color:var(--accent-purple);background:var(--accent-purple-dim);border:1px solid transparent;border-radius:var(--radius-full);padding:5px 12px;font-size:.6875rem;font-weight:650;letter-spacing:.1em}.group-badge{min-width:28px;height:24px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:650;letter-spacing:.02em}.group-A{background:var(--group-a-dim);color:var(--group-a)}.group-B{background:var(--group-b-dim);color:var(--group-b)}.rank-badge{border-radius:50%;font-weight:650}.rank-1{background:#ffb34029;color:#a95400}.rank-2{background:#787e9124;color:#5c6274}.rank-3{background:#a954001f;color:#8a4b12}.rank-other{background:var(--bg-input);color:var(--text-muted)}[data-theme=dark] .rank-1{color:#ffc978}[data-theme=dark] .rank-2{color:#c3c8d6}[data-theme=dark] .rank-3{color:#e0a872}.title-badge{border-radius:var(--radius-full);font-size:.6875rem;font-weight:600}.player-social-btn{color:var(--accent-blue);background:var(--accent-blue-dim);border:1px solid color-mix(in srgb,var(--accent-blue) 20%,transparent);border-radius:var(--radius-full);padding:5px 12px;font-size:var(--text-xs);font-weight:600;text-decoration:none;transition:background .2s var(--ease)}.player-social-btn:hover{background:color-mix(in srgb,var(--accent-blue) 16%,transparent)}.player-admin-tag{color:var(--accent-gold);background:var(--accent-gold-dim);border:1px solid color-mix(in srgb,var(--accent-gold) 20%,transparent)}.player-avatar-circle,.avatar,.nav-user-avatar-placeholder,.mobile-user-avatar-placeholder,.profile-avatar{border-radius:50%}.loading-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-purple)}.loading-container p{color:var(--text-muted)}.toast{background:var(--bg-elevated);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-2);padding:12px 22px;font-weight:550}.toast-success{color:var(--accent-green);border-color:color-mix(in srgb,var(--accent-green) 26%,transparent)}.toast-error{color:var(--accent-red);border-color:color-mix(in srgb,var(--accent-red) 26%,transparent)}.toast-info{color:var(--accent-purple);border-color:color-mix(in srgb,var(--accent-purple) 26%,transparent)}.toast-warning{color:var(--accent-gold);border-color:color-mix(in srgb,var(--accent-gold) 26%,transparent)}.maintenance-bar{background:var(--accent-gold);color:#1d1d1f;font-weight:600;letter-spacing:.01em;border-radius:0 0 var(--radius-md) var(--radius-md)}.navbar-bar{position:fixed;top:calc(var(--shell-pad) + var(--navbar-offset));left:var(--shell-pad);right:var(--shell-pad);height:var(--navbar-height);z-index:var(--z-sticky);display:flex;align-items:center;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);border-radius:var(--radius-full);box-shadow:var(--shadow-1),var(--glass-inner)}.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:100%;padding:0 9px 0 20px}.navbar-left{display:flex;align-items:center;gap:16px;min-width:0}.navbar-logo{font-family:var(--font-display);font-size:1.0625rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);text-decoration:none;flex-shrink:0}.navbar-links{display:flex;align-items:center;gap:1px}.nav-link{display:inline-flex;align-items:center;padding:8px 13px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:550;letter-spacing:-.005em;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:color .2s var(--ease),background .2s var(--ease)}.nav-link:hover{color:var(--text-primary);background:var(--bg-input)}.nav-link.active{color:var(--accent-purple);background:var(--accent-purple-dim)}.nav-link.admin.active{color:var(--accent-purple)}.navbar-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--bg-input);color:var(--text-primary)}.nav-user-avatar-btn{border:1px solid var(--border-color);border-radius:var(--radius-full);padding:4px 10px 4px 5px;min-height:38px;background:var(--bg-secondary);gap:8px;transition:border-color .2s var(--ease),background .2s var(--ease)}.nav-user-avatar-btn:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.nav-user-name{color:var(--text-primary);font-weight:550;font-size:.8125rem}.nav-hamburger{display:none;width:40px;height:40px;place-items:center;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-primary);cursor:pointer}.nav-hamburger:hover{background:var(--bg-input)}.nav-avatar-dropdown{background:var(--bg-elevated);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:6px;min-width:180px;top:calc(100% + 10px)}.nav-avatar-dropdown-item{display:flex;align-items:center;gap:9px;border-radius:var(--radius-sm);padding:9px 10px;font-size:.8125rem;color:var(--text-primary)}.nav-avatar-dropdown-item:hover{background:var(--bg-input)}.nav-avatar-dropdown-item svg{opacity:.6}.nav-avatar-dropdown-divider{background:var(--hairline);margin:5px 4px}.nav-avatar-dropdown-logout{color:var(--accent-red)}.page{flex:1;padding-top:calc(var(--shell-pad) + var(--navbar-offset) + var(--navbar-height) + 22px);padding-left:var(--shell-pad);padding-right:var(--shell-pad);padding-bottom:var(--space-16)}.container{max-width:var(--max-width);margin:0 auto;padding:0;width:100%}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1e47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:400}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;z-index:401;width:min(320px,86vw);display:flex;flex-direction:column;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg-elevated);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-left:1px solid var(--border-color);border-radius:var(--radius-panel) 0 0 var(--radius-panel);box-shadow:var(--shadow-3);transition:right .36s var(--ease)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px}.drawer-title{font-size:.6875rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.drawer-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.nav-link-v{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:var(--radius-md);font-size:.9375rem;font-weight:550;color:var(--text-secondary);text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease)}.nav-link-v:hover{background:var(--bg-input);color:var(--text-primary)}.nav-link-v.active{background:var(--accent-purple-dim);color:var(--accent-purple)}.mobile-footer{display:flex;flex-direction:column;gap:8px;padding-top:12px;margin-top:8px;border-top:1px solid var(--hairline)}.mobile-user-info{display:flex;align-items:center;gap:10px;padding:4px 6px 8px}.mobile-settings-link{background:var(--bg-input);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;padding:12px var(--space-4);min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.mobile-logout-btn{border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent-red) 22%,transparent);background:transparent;color:var(--accent-red);min-height:44px;font-size:.875rem;font-weight:600;cursor:pointer}.mobile-user-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.modal-overlay{background:#0a0e1e4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-header-tag{display:inline-block;margin-bottom:12px}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header-text{min-width:0}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.segmented{display:inline-flex;gap:2px;padding:4px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-full);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented-item{flex-shrink:0;padding:7px 16px;min-height:34px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-family:var(--font-heading);font-size:.8125rem;font-weight:550;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:color .2s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.segmented-item:hover{color:var(--text-primary)}.segmented-item.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 1px 3px #2a325c1f,inset 0 1px 0 var(--edge-light)}[data-theme=dark] .segmented-item.active{background:#ffffff24;box-shadow:0 1px 3px #0006,inset 0 1px #ffffff29}.search-field{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--radius-full);background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-muted);transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);min-width:0}.search-field:focus-within{border-color:var(--accent-purple);background:var(--bg-input-focus);box-shadow:0 0 0 4px var(--accent-purple-dim);color:var(--text-primary)}.search-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:.875rem}.search-field input::placeholder{color:var(--text-muted)}.search-clear{display:grid;place-items:center;width:20px;height:20px;border:none;border-radius:50%;background:var(--border-color);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.search-clear:hover{background:var(--border-hover);color:var(--text-primary)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .search-field{flex:1 1 220px;max-width:320px;height:38px}.toolbar-count{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.ring-wrap{position:relative;display:grid;place-items:center;flex-shrink:0}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.ring-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.ring-unit{font-size:.75rem;font-weight:600;margin-left:1px;color:var(--text-muted)}.ring-caption{font-size:.625rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--space-10) var(--space-6);text-align:center}.empty-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--bg-input);color:var(--text-muted);margin-bottom:4px}.empty-title{font-size:.9375rem;font-weight:600;color:var(--text-secondary)}.empty-desc{font-size:var(--text-xs);color:var(--text-muted);max-width:32ch;line-height:1.6}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a0e1e4d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:sheet-fade .24s var(--ease)}.sheet{position:relative;width:min(440px,100%);max-height:86vh;overflow-y:auto;padding:24px;border-radius:30px;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);box-shadow:var(--shadow-3),var(--glass-inner);animation:sheet-in .4s var(--ease)}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.sheet-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--bg-input);color:var(--text-secondary);cursor:pointer}.sheet-close:hover{background:var(--border-hover);color:var(--text-primary)}.sheet-close:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.sheet-head{display:flex;align-items:center;gap:14px}.sheet-avatar{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;object-fit:cover;font-size:1.25rem;font-weight:700;background:var(--bg-input);color:var(--text-secondary);flex-shrink:0}.sheet-avatar.group-A{background:var(--group-a-dim);color:var(--group-a)}.sheet-avatar.group-B{background:var(--group-b-dim);color:var(--group-b)}.sheet-identity{min-width:0}.sheet-name{font-size:1.25rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-meta{display:flex;align-items:center;gap:8px;margin-top:6px}.sheet-rank{font-size:var(--text-xs);color:var(--text-muted)}.sheet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;padding:14px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.sheet-stat{display:flex;flex-direction:column;align-items:center;gap:3px}.sheet-stat-value{font-family:var(--font-display);font-size:1.1875rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sheet-stat-label{font-size:.625rem;color:var(--text-muted);letter-spacing:.06em}.sheet-songs-head{font-size:.625rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.sheet-song-list{display:flex;flex-direction:column;max-height:210px;overflow-y:auto}.sheet-song{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--hairline)}.sheet-song:last-child{border-bottom:none}.sheet-song-name{font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-song-value{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.sheet-song-value.high{color:var(--accent-green)}.sheet-actions{display:flex;gap:10px;margin-top:20px}.sheet-actions .btn{flex:1}.score-cards{display:flex;flex-direction:column;gap:12px}.score-card{border-radius:var(--radius-lg);background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);box-shadow:var(--shadow-1),var(--glass-inner);overflow:hidden}.score-card-head{display:flex;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;color:inherit}.score-card-id{min-width:0;flex:1}.score-card-name{font-size:.9375rem;font-weight:650;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card-sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.score-card-total{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0}.score-card-lines{border-top:1px solid var(--hairline)}.score-line{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--hairline);text-decoration:none;color:inherit;min-height:44px}.score-line:last-child{border-bottom:none}.score-line:active{background:var(--bg-input)}.score-line-name{flex:1;min-width:0;font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-line-stage{font-size:.625rem;color:var(--text-muted);padding:2px 7px;border-radius:var(--radius-full);background:var(--bg-input);flex-shrink:0}.score-line-value{font-family:var(--font-mono);font-size:.8125rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--text-primary);flex-shrink:0}.score-line-value.perfect{color:var(--accent-gold)}.section-title{font-size:.9375rem;font-weight:650;letter-spacing:-.01em;color:var(--text-primary);margin:0 0 var(--space-3)}.matchup-head{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.matchup-player{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.matchup-name{font-weight:600;font-size:var(--text-base);color:var(--text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matchup-vs{font-family:var(--font-display);font-size:.875rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted)}.matchup-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.matchup-side{border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--border-color);min-width:0}.matchup-side.side-A{background:var(--group-a-dim);border-color:color-mix(in srgb,var(--group-a) 22%,transparent)}.matchup-side.side-B{background:var(--group-b-dim);border-color:color-mix(in srgb,var(--group-b) 22%,transparent)}.matchup-side-title{font-size:var(--text-xs);font-weight:650;margin:0 0 var(--space-2);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-A .matchup-side-title{color:var(--group-a)}.side-B .matchup-side-title{color:var(--group-b)}.matchup-empty{font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2) 0}tr.row-click{cursor:pointer}tr.row-click:focus-visible{outline:2px solid var(--accent-purple);outline-offset:-2px}@media (max-width: 1024px){.navbar-links{display:none}.nav-hamburger{display:grid}.nav-user-name{display:none}}@media (max-width: 760px){.matchup-grid{grid-template-columns:1fr;gap:10px}.matchup-head{gap:10px}.matchup-name{font-size:.875rem}}@media (max-width: 860px){:root{--shell-pad: 12px;--navbar-height: 54px}.page{padding-top:calc(var(--shell-pad) + var(--navbar-offset) + var(--navbar-height) + 16px)}.page-header h1{font-size:1.75rem}.card{border-radius:var(--radius-lg);padding:var(--space-4)}.card:hover{transform:none}.navbar-inner{padding:0 8px 0 16px}.navbar-logo{font-size:1rem}}@media (max-width: 560px){:root{--shell-pad: 10px}.podium{grid-template-columns:1fr;gap:10px}.podium-card.is-first{order:-1}.podium-card{flex-direction:row;text-align:left;padding:14px 16px;gap:12px}.podium-card.is-first{padding:16px}.podium-avatar,.podium-card.is-first .podium-avatar{width:46px;height:46px;font-size:.9375rem}.podium-name{flex:1}.podium-score{font-size:1.0625rem}.podium-card.is-first .podium-score{font-size:1.125rem}.podium-meta{display:none}.page-header{margin-bottom:var(--space-5)}.hero-home-sub{font-size:.875rem;padding:0 6px}.hero-home{padding-top:1.75rem}.page-header h1{font-size:1.5rem}.group-tabs{width:100%;overflow-x:auto;white-space:nowrap}.group-tab{flex-shrink:0}.toast{bottom:24px}}@media (prefers-reduced-motion: reduce){.aurora .orb{animation:none}.glass:after{transition:none}}
