:root{--color-bg: #0c0e14;--color-surface: #151821;--color-surface-raised: #1c2030;--color-text: #e2e4eb;--color-text-secondary: #8b8fa3;--color-text-muted: #5c6078;--color-border: #252838;--color-accent: #dd2828;--color-accent-hover: #e45454;--color-accent-subtle: rgba(221, 40, 40, .1);--color-error: #ff6b6b;--color-error-bg: rgba(255, 107, 107, .08);--color-highlight: #1e2235;--color-input-bg: #151821;--color-input-border: #2a2e40;--color-input-focus: var(--color-accent);--color-btn-bg: #dd2828;--color-btn-text: #ffffff;--color-btn-hover: #b82020;--color-btn-secondary-bg: transparent;--color-btn-secondary-text: var(--color-text-secondary);--color-btn-secondary-border: var(--color-border);--color-link: var(--color-accent);--color-link-hover: var(--color-accent-hover);--color-badge-bg: var(--color-accent-subtle);--color-badge-text: var(--color-accent);--color-table-header-bg: var(--color-surface);--color-table-row-hover: var(--color-highlight);--color-divider: var(--color-border);--color-success: #4ade80;--color-focus-ring: rgba(221, 40, 40, .15);--color-error-border: rgba(255, 107, 107, .25);--color-error-border-subtle: rgba(255, 107, 107, .15);--radius: 4px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--font-sans: "Play", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", monospace;--transition-fast: .12s ease;--transition-base: .2s ease}[data-theme=light]{--color-bg: #f8f7f4;--color-surface: #ffffff;--color-surface-raised: #f0eeeb;--color-text: #1c1917;--color-text-secondary: #57534e;--color-text-muted: #a8a29e;--color-border: #e7e5e4;--color-accent: #dd2828;--color-accent-hover: #b82020;--color-accent-subtle: rgba(221, 40, 40, .08);--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .06);--color-highlight: #f5f3f0;--color-input-bg: #ffffff;--color-input-border: #d6d3d1;--color-input-focus: var(--color-accent);--color-btn-bg: var(--color-accent);--color-btn-text: #ffffff;--color-btn-hover: var(--color-accent-hover);--color-btn-secondary-bg: transparent;--color-btn-secondary-text: var(--color-text-secondary);--color-btn-secondary-border: var(--color-border);--color-link: var(--color-accent);--color-link-hover: var(--color-accent-hover);--color-badge-bg: var(--color-accent-subtle);--color-badge-text: var(--color-accent);--color-table-header-bg: var(--color-surface);--color-table-row-hover: var(--color-highlight);--color-divider: var(--color-border);--color-success: #16a34a;--color-focus-ring: rgba(221, 40, 40, .15);--color-error-border: rgba(220, 38, 38, .25);--color-error-border-subtle: rgba(220, 38, 38, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1)}[data-theme=light] html,html[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}body{background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh}.app-shell{max-width:680px;margin:0 auto;padding:2rem 1.5rem 4rem}h1{font-size:1.625rem;font-weight:700;letter-spacing:-.03em;margin-bottom:1.25rem;color:var(--color-text)}h2{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.875rem;color:var(--color-text)}h3{font-size:.95rem;font-weight:600;margin-bottom:.625rem;color:var(--color-text)}p{margin-bottom:.625rem}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-surface-raised);color:var(--color-accent);padding:.125em .4em;border-radius:var(--radius)}hr{border:none;border-top:1px solid var(--color-divider);margin:1.5rem 0}small{font-size:.825em;color:var(--color-text-secondary)}.app-header{display:flex;flex-direction:column;margin-bottom:.75rem}.app-header .nav-bar{margin-bottom:0;border-bottom:none;padding:0}.nav-bar{display:flex;align-items:center;padding:.625rem 0;margin-bottom:.75rem;border-bottom:1px solid var(--color-divider)}.nav-bar a{font-size:.825rem;font-weight:500;letter-spacing:.01em}label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.375rem;letter-spacing:.01em}input[type=text],input[type=number],input[type=search],select{display:block;width:100%;padding:.625rem 1rem;font-size:.95rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}input::placeholder{color:var(--color-text-muted)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.45rem .875rem;font-size:.825rem;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);background:var(--color-btn-bg);color:var(--color-btn-text);letter-spacing:.01em}button:hover,.btn:hover{background:var(--color-btn-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}button:active{transform:translateY(0)}.btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-text-secondary);border-color:var(--color-btn-secondary-border)}.btn-secondary:hover{background:var(--color-highlight);color:var(--color-text);border-color:var(--color-text-muted)}.btn-danger{background:transparent;color:var(--color-error);border-color:var(--color-error-border)}.btn-danger:hover{background:var(--color-error-bg);border-color:var(--color-error)}.btn-inline{display:inline-flex;padding:.2rem .5rem;font-size:.75rem}.search-container{position:relative;max-width:100%;margin-bottom:1.25rem}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.25rem;list-style:none;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto;z-index:10}.search-result{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;cursor:pointer;border-radius:var(--radius);transition:background var(--transition-fast)}.search-result:hover,.search-result.selected{background:var(--color-accent-subtle)}.avatar{border-radius:var(--radius);object-fit:cover;flex-shrink:0;border:2px solid var(--color-border)}.avatar-xs{width:24px;height:24px;border-width:1px}.avatar-sm{width:32px;height:32px}.avatar-md{width:48px;height:48px}.avatar-lg{width:72px;height:72px;border-width:3px}.profile-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;padding:1.25rem;margin-bottom:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.profile-card .meta{flex:1;min-width:0}.profile-card h2{margin:0 0 .125rem;font-size:1.125rem;color:var(--color-text)}.profile-card .handle{color:var(--color-text-secondary);font-size:.85rem;margin:0 0 .375rem}.profile-card .bio{white-space:pre-wrap;margin:.375rem 0;line-height:1.5;font-size:.9rem;color:var(--color-text-secondary)}.profile-card .stats{margin:.5rem 0 0;font-size:.85rem}.profile-card .stats a{color:var(--color-text-secondary)}.profile-card .stats a strong{color:var(--color-text)}.profile-card .stats a:hover{color:var(--color-link)}.score-pair{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.score-pair .arrow-score{display:flex;align-items:center;gap:.5rem}.score-pair .arrow-score .score-pct{font-weight:700;font-size:1rem;color:var(--color-text-secondary)}.score-pair .arrow{color:var(--color-text-muted);font-size:1.125rem}@media(max-width:480px){.score-pair .arrow{transform:rotate(90deg)}}@media(min-width:481px){.score-pair{flex-direction:row;gap:1rem}.score-pair .arrow-score{flex-direction:column}}.score-pair .user-chip{display:flex;align-items:center;gap:.5rem}.score-pair .user-chip .name{font-weight:600;font-size:.9rem}.score-pair .user-chip .handle{color:var(--color-text-secondary);font-size:.8rem}table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1.25rem}thead th{text-align:left;padding:.5rem .75rem;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-table-header-bg);border-bottom:1px solid var(--color-border)}tbody td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:middle}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--color-table-row-hover)}.record-list{list-style:none;padding:0}.record-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;font-size:.9rem}.record-list li:last-child{border-bottom:none}.user-list{list-style:none;padding:0}.user-list li{display:flex;align-items:center;gap:.625rem;padding:.45rem 0;border-bottom:1px solid var(--color-border)}.user-list li:last-child{border-bottom:none}details{margin-bottom:.875rem}summary{cursor:pointer;font-weight:500;font-size:.875rem;color:var(--color-link);padding:.375rem 0;transition:color var(--transition-fast)}summary:hover{color:var(--color-link-hover)}details[open] summary{margin-bottom:.625rem}details form{padding:1rem;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}details form label+label{margin-top:.625rem}details form>button{margin-top:.875rem}.alert-error{color:var(--color-error);background:var(--color-error-bg);padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--color-error-border-subtle);font-size:.85rem;margin-bottom:.875rem}.badge{display:inline-flex;align-items:center;padding:.1rem .45rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;border-radius:var(--radius);background:var(--color-badge-bg);color:var(--color-badge-text)}.signin-form{max-width:340px;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.signin-form button{margin-top:.875rem;width:100%}.actions{display:inline-flex;gap:.25rem;margin-left:auto}.actions form{display:inline}.score-form{display:flex;align-items:flex-end;gap:.625rem;flex-wrap:wrap}.score-form label{flex:1;min-width:140px}.edit-form{display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;width:100%;padding:.5rem 0}.edit-form label{flex:1;min-width:120px}.loading{color:var(--color-text-muted);font-style:italic;font-size:.85rem}.admin-table td:first-child{font-weight:500;white-space:nowrap}.rate{color:var(--color-text-secondary);font-size:.85em;padding-left:.75em}.error-text{color:var(--color-error)}.password-gate{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.toggle-form{display:flex;align-items:center;gap:.75rem}.gate-status{font-weight:700;font-size:.85rem;padding:.2rem .6rem;border-radius:var(--radius)}.gate-on{background:var(--color-success-bg, rgba(34, 197, 94, .15));color:var(--color-success, #22c55e)}.gate-off{background:var(--color-highlight);color:var(--color-text-muted)}.password-form{display:flex;gap:.5rem;align-items:center}.password-form input{width:200px}.btn-success{background:transparent;color:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e)}.btn-success:hover{background:var(--color-success-bg, rgba(34, 197, 94, .15))}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.logo.svelte-12qhfyh{height:6rem;width:auto}.logo-dark.svelte-12qhfyh{display:none}.logo-light.svelte-12qhfyh{display:inline}[data-theme=dark] .logo-light.svelte-12qhfyh,:root:not([data-theme=light]) .logo-light.svelte-12qhfyh{display:none}[data-theme=dark] .logo-dark.svelte-12qhfyh,:root:not([data-theme=light]) .logo-dark.svelte-12qhfyh{display:inline}.header-actions.svelte-12qhfyh{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.signin-anchor.svelte-12qhfyh{position:relative}.signin-popover.svelte-12qhfyh{position:absolute;top:calc(100% + .5rem);right:0;width:280px;padding:1rem;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-md);z-index:20}.signin-popover.svelte-12qhfyh button[type=submit]:where(.svelte-12qhfyh){margin-top:0;width:100%}.signin-divider.svelte-12qhfyh{display:flex;align-items:center;gap:.75rem;margin:.75rem 0;color:var(--color-text-muted);font-size:.8rem}.signin-divider.svelte-12qhfyh:before,.signin-divider.svelte-12qhfyh:after{content:"";flex:1;height:1px;background:var(--color-border)}.signup-backdrop.svelte-12qhfyh{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.signup-dialog.svelte-12qhfyh{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;max-width:380px;width:90%;box-shadow:var(--shadow-md)}.signup-dialog.svelte-12qhfyh h3:where(.svelte-12qhfyh){margin:0 0 .75rem}.signup-dialog.svelte-12qhfyh p:where(.svelte-12qhfyh){margin:0 0 1rem;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.signup-cta.svelte-12qhfyh{display:block;width:100%;text-align:center;text-decoration:none}.app-footer.svelte-12qhfyh{text-align:center;padding:1.5rem 1rem;margin-top:2rem;font-size:.85rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.app-footer.svelte-12qhfyh a:where(.svelte-12qhfyh){color:var(--color-text-secondary);text-decoration:none}.app-footer.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{text-decoration:underline}.footer-sep.svelte-12qhfyh{margin:0 .4rem}.cookie-banner.svelte-12qhfyh{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:var(--color-surface-raised);border-top:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:50;font-size:.85rem;color:var(--color-text-secondary)}
