:root{--bg:#0a0e14;--bg-elev:#111722;--bg-elev-2:#161e2b;--border:#233044;--border-soft:#1b2533;--text:#e6edf6;--text-dim:#9aa9bd;--text-faint:#64748b;--accent:#16c784;--accent-dim:#0f9c66;--up:#16c784;--down:#ea3943;--notice:#e8a838;--notice-dim:#c4892a;--shadow:0 18px 50px -20px #000000bf;--radius:14px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0}body{min-height:100vh;color:var(--text);background:radial-gradient(1100px 600px at 80% -10%, #16c78414, transparent 60%), radial-gradient(900px 500px at 0% 0%, #3874ff0f, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.app{flex-direction:column;max-width:980px;min-height:100vh;margin:0 auto;padding:0 20px;display:flex}.site-header{flex-wrap:wrap;align-items:center;gap:20px;padding:22px 0;display:flex}.brand{color:var(--text);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{color:#04110b;background:linear-gradient(135deg, var(--accent), #4ce0a8);border-radius:10px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 6px 18px -6px #16c78499}.brand-accent{color:var(--accent)}.search{flex:320px;gap:10px;min-width:260px;display:flex}.search-input{min-width:0;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;outline:none;flex:1;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px #16c78429}.auth-avatar{width:40px;height:40px;color:var(--text-dim);background:var(--bg-elev-2);border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;text-decoration:none;transition:border-color .15s,color .15s,box-shadow .15s,transform 80ms;display:grid;box-shadow:0 0 0 2px #16c7841f}.auth-avatar:hover{color:var(--accent);border-color:var(--accent-dim);box-shadow:0 0 0 3px #16c78433}.auth-avatar:active{transform:scale(.96)}.auth-avatar.is-signed-in{color:#04110b;background:linear-gradient(135deg, var(--accent), #4ce0a8);border-color:#0000;box-shadow:0 4px 14px -4px #16c784a6}.auth-avatar.is-signed-in:hover{color:#04110b;filter:brightness(1.06)}.auth-avatar-icon{display:block}.auth-avatar.is-signed-in .auth-avatar-icon,.auth-avatar:not(.is-signed-in) .auth-avatar-initials{display:none}.auth-avatar-initials{letter-spacing:.02em;text-transform:uppercase;font-size:14px;font-weight:700;line-height:1}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:#04110b}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:var(--bg-elev-2);border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){border-color:var(--accent-dim);color:var(--accent)}.content{flex:1;padding:8px 0 40px}.message{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);border-radius:10px;margin:8px 0 20px;padding:13px 16px;font-size:14px}.message.is-error{color:#ff8088;background:#ea394314;border-color:#ea394366}.message.is-loading{align-items:center;gap:10px;display:flex}.spinner{border:2px solid #ffffff2e;border-top-color:var(--accent);border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.welcome{text-align:center;padding:60px 0 24px}.welcome-title{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(26px,4vw,38px);font-weight:800}.welcome-sub{max-width:520px;color:var(--text-dim);margin:0 auto 6px;font-size:16px}.welcome-hint{color:var(--text-faint);margin:18px 0 0;font-size:14px}code{background:var(--bg-elev-2);border:1px solid var(--border-soft);color:var(--accent);border-radius:6px;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9em}.auth-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow);margin:48px auto 24px;padding:28px 28px 24px}.auth-card--wide{max-width:560px}.auth-title{letter-spacing:-.03em;margin:0 0 8px;font-size:28px;font-weight:800}.auth-sub{color:var(--text-dim);margin:0 0 22px;font-size:15px}.auth-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-dim);font-size:13px;font-weight:600}.field-input{color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px #16c78429}.field-hint{color:var(--text-faint);margin:-6px 0 0;font-size:13px}.field-feedback{margin:0;font-size:13px;font-weight:600}.field-feedback.is-match{color:var(--up)}.field-feedback.is-mismatch{color:var(--down)}.auth-submit{width:100%;margin-top:4px}.auth-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-family:inherit;font-size:14px;font-weight:600}.auth-link-btn:hover{text-decoration:underline}.auth-inline-form{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:14px}.auth-inline-actions{gap:10px;display:flex}.auth-inline-actions .btn{flex:1}.auth-switch{text-align:center;color:var(--text-faint);margin:20px 0 0;font-size:14px}.auth-switch a,.auth-switch-btn{color:var(--accent);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.auth-switch a:hover,.auth-switch-btn:hover{text-decoration:underline}.auth-back{margin:0 0 16px;font-size:14px}.auth-back a{color:var(--text-dim);font-weight:500;text-decoration:none}.auth-back a:hover{color:var(--accent)}.account-username-display{color:var(--text-dim);margin:0 0 20px;font-size:15px}.account-change-warning{color:#e8c078;background:#e8a83814;border:1px solid #e8a83859;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:13px}.account-change-warning.is-locked{color:#ff9ca3;background:#ea394314;border-color:#ea394366}.account-category{margin:0 0 24px}.account-category-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:0 0 10px;font-size:13px;font-weight:700}.account-action-list{flex-direction:column;gap:10px;display:flex}.account-action-btn{justify-content:center;width:100%;text-decoration:none}@media (width>=520px){.account-action-list{flex-direction:row}.account-action-btn{flex:1;min-width:0}}.account-unverified-prompt{background:#e8a8381a;border:1px solid #e8a83866;border-radius:10px;margin:0 0 20px;padding:14px 16px}.account-unverified-prompt p{color:#e8c078;margin:0 0 8px;font-size:14px}.account-unverified-prompt a{color:var(--notice);font-weight:600;text-decoration:none}.account-unverified-prompt a:hover{text-decoration:underline}.account-logout{width:100%}.welcome-verify-card{text-align:center}.welcome-verify-email{color:var(--accent);word-break:break-all;font-weight:600}.welcome-verify-hint{color:var(--text-faint);margin:0 0 22px;font-size:14px}.toast-popup{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04080cb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.toast-popup-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);width:min(100%,360px);box-shadow:var(--shadow);text-align:center;padding:24px 24px 20px}.toast-popup-text{color:var(--text);margin:0 0 18px;font-size:15px;line-height:1.5}.toast-popup-dismiss{width:100%}.auth-status{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);border-radius:10px;margin:8px 0 16px;padding:13px 16px;font-size:14px}.auth-status.is-loading{align-items:center;gap:10px;display:flex}.auth-status.is-error{color:#ff8088;background:#ea394314;border-color:#ea394366}.auth-status.is-success{color:#7ce9b8;background:#16c78414;border-color:#16c78466}.player-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.player-head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:18px;padding:22px 24px;display:flex}.player-id{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.player-riot-id{align-items:baseline;gap:4px;min-width:0;display:flex}.player-external-links{gap:10px;font-size:12px;display:flex}.player-external-links a{color:var(--text-faint);font-weight:600;text-decoration:none}.player-external-links a:hover{color:var(--accent);text-decoration:underline}.data-quality-hint{align-self:center;align-items:center;display:inline-flex;position:relative}.data-quality-hint-btn{border:1px solid var(--border);background:var(--bg-elev-2);width:18px;height:18px;color:var(--text-dim);cursor:pointer;border-radius:50%;padding:0;font-size:11px;font-weight:700;line-height:1}.data-quality-hint-btn:hover,.data-quality-hint-btn:focus-visible{border-color:var(--notice-dim);color:var(--notice);outline:none}.data-quality-tooltip{border:1px solid var(--border);background:var(--bg-elev-2);min-width:220px;max-width:min(320px,75vw);color:var(--text-dim);z-index:6;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:9px 11px;font-size:12px;line-height:1.4;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-3px);box-shadow:0 10px 26px -12px #000000d9}.data-quality-hint:hover .data-quality-tooltip,.data-quality-hint:focus-within .data-quality-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.player-name{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:24px;font-weight:700;overflow:hidden}.player-tag{color:var(--text-faint);font-size:17px;font-weight:500}.player-score{flex-direction:column;align-items:flex-end;margin-left:auto;line-height:1.1;display:flex}.score-label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);font-size:11px}.score-value{margin-top:3px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:30px;font-weight:700}.score-trend{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:8px;margin-top:4px;display:flex}.score-change{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:700}.score-context{color:var(--text-faint);font-size:12px}.refresh-icon{transition:transform .4s;display:inline-flex}.btn.is-busy .refresh-icon{animation:.7s linear infinite spin}.player-meta{color:var(--text-faint);border-bottom:1px solid var(--border-soft);gap:18px;padding:12px 24px;font-size:13px;display:flex}.chart{padding:18px 20px 20px}.range-filters{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.range-btn{appearance:none;letter-spacing:.02em;color:var(--text-dim);background:var(--bg-elev-2);border:1px solid var(--border-soft);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.range-btn:hover{color:var(--text);border-color:var(--border)}.range-btn.is-active{color:var(--accent);border-color:var(--accent-dim);background:#16c7841a}.chart-area{width:100%;height:320px;position:relative}.chart-svg{width:100%;height:100%;color:var(--text-dim);touch-action:pan-y;display:block;overflow:visible}.chart-svg[data-trend=up]{color:var(--up)}.chart-svg[data-trend=down]{color:var(--down)}.chart-grid{stroke:var(--border-soft);stroke-width:1px}.chart-grid-label,.chart-axis-label{fill:var(--text-faint);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.chart-area-fill{fill:url(#chart-fill)}.chart-fill-top{stop-color:var(--text-dim);stop-opacity:.28}.chart-fill-bottom{stop-color:var(--text-dim);stop-opacity:0}.chart-svg[data-trend=up] .chart-fill-top,.chart-svg[data-trend=up] .chart-fill-bottom{stop-color:var(--up)}.chart-svg[data-trend=down] .chart-fill-top,.chart-svg[data-trend=down] .chart-fill-bottom{stop-color:var(--down)}.chart-line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-line-abnormal{stroke-dasharray:4 4;opacity:.95}.chart-baseline{stroke:var(--text-faint);stroke-width:1px;stroke-dasharray:4 4;opacity:.45}.chart-cursor-line{stroke:var(--text-dim);stroke-width:1px;stroke-dasharray:3 3;opacity:.7}.chart-dot{fill:currentColor;stroke:var(--bg-elev);stroke-width:2.5px}.chart-tooltip{pointer-events:none;background:var(--bg-elev-2);border:1px solid var(--border);white-space:nowrap;z-index:2;border-radius:8px;padding:7px 10px;position:absolute;top:0;left:0;box-shadow:0 10px 26px -12px #000000d9}.chart-tooltip-date{color:var(--text-faint);margin-bottom:2px;font-size:11px}.chart-tooltip-score{color:var(--text);font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;font-weight:700}.change-up{color:var(--up)}.change-down{color:var(--down)}.change-flat{color:var(--text-faint)}.history-empty{text-align:center;color:var(--text-faint);padding:48px 24px;font-size:14px}.site-footer{text-align:center;color:var(--text-faint);border-top:1px solid var(--border-soft);padding:24px 0;font-size:13px}@media (width<=560px){.site-header{gap:14px}.auth-card{margin-top:28px;padding:22px 18px 18px}.auth-card--wide{max-width:none}.player-head{padding:18px 16px}.player-score{align-items:flex-start;margin-left:0}.score-trend{justify-content:flex-start}.player-meta{padding-left:16px;padding-right:16px}.chart{padding:16px 14px 18px}.chart-area{height:240px}}
