@charset "UTF-8";:root{color-scheme:light;--app-vh: 1vh;--bg-0: #edf0f9;--bg-1: #f8f9ff;--bg-2: #e4e8f5;--bg-3: #d6dbed;--border: #c8ceea;--border-strong: #aab1d0;--text: #0f1124;--text-dim: #424870;--text-faint: #7880a4;--accent: #5b52f0;--accent-hover: #4840d4;--accent-dim: rgba(91, 82, 240, .1);--accent-gradient: linear-gradient(135deg, #5b52f0 0%, #8b5cf6 100%);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--played: #16a34a;--played-bg: rgba(22, 163, 74, .09);--sidebar-surface: linear-gradient(170deg, #f0f3fc 0%, #e8ecf9 55%, #edf1fd 100%);--sidebar-border-color: #c4cbe6;--nav-hover-bg: rgba(91, 82, 240, .06);--nav-active-bg: rgba(91, 82, 240, .1);--accent-glow: rgba(91, 82, 240, .35);--card-surface: linear-gradient(180deg, #ffffff 0%, #fafbff 100%);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(200, 206, 234, .6);--radius-sm: 5px;--radius: 9px;--radius-lg: 14px;--radius-xl: 20px;--shadow-xs: 0 1px 3px rgba(15, 17, 36, .07);--shadow-sm: 0 2px 8px rgba(15, 17, 36, .08);--shadow: 0 6px 20px rgba(15, 17, 36, .1);--shadow-lg: 0 14px 36px rgba(15, 17, 36, .14);--shadow-xl: 0 24px 56px rgba(15, 17, 36, .18);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .1s;--duration: .16s;--duration-slow: .26s;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace}:root[data-theme=dark]{color-scheme:dark;--bg-0: #07080f;--bg-1: #0c0e1c;--bg-2: #121528;--bg-3: #191d32;--border: rgba(100, 110, 210, .14);--border-strong: rgba(140, 150, 240, .24);--text: #e4e7f6;--text-dim: #8089b8;--text-faint: #4d5478;--accent: #8078fc;--accent-hover: #a09afe;--accent-dim: rgba(128, 120, 252, .15);--accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);--success: #22c55e;--warning: #f59e0b;--danger: #f87171;--played: #22c55e;--played-bg: rgba(34, 197, 94, .1);--sidebar-surface: linear-gradient(170deg, #14172e 0%, #08090f 55%, #0e1122 100%);--sidebar-border-color: rgba(110, 120, 240, .18);--nav-hover-bg: rgba(100, 100, 220, .11);--nav-active-bg: rgba(120, 114, 252, .16);--accent-glow: rgba(128, 120, 252, .55);--card-surface: linear-gradient(180deg, #12152a 0%, #0d1020 100%);--glass-bg: rgba(18, 21, 42, .55);--glass-border: rgba(110, 120, 240, .15);--shadow-xs: 0 1px 4px rgba(0, 0, 0, .4);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .45);--shadow: 0 6px 24px rgba(0, 0, 0, .55);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .65);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .75)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--bg-0);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;min-height:-webkit-fill-available}body{min-height:100vh;min-height:100dvh;min-height:calc(var(--app-vh, 1vh) * 100);padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);transition:background var(--duration) var(--ease-in-out),color var(--duration) var(--ease-in-out)}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) ease}a:hover{color:var(--accent-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:.9rem;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;width:100%;outline:none;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease,box-shadow var(--duration) var(--ease-out)}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--bg-1);box-shadow:0 0 0 4px var(--accent-dim),0 2px 8px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-faint)}h1{font-size:1.85rem;font-weight:800;letter-spacing:-.035em;margin:0 0 .5rem}h2{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}h3{font-size:1rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .4rem}h4{font-size:.9rem;font-weight:600;margin:0 0 .35rem}p{margin:0 0 .5rem;color:var(--text-dim);line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.6rem 1rem;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--border);color:var(--text);font-size:.875rem;font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-in-out),border-color var(--duration-fast) var(--ease-in-out),color var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) ease,box-shadow var(--duration-fast) var(--ease-in-out);min-height:38px}.btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-dim);border-color:var(--accent)}.btn-primary{background:var(--accent-gradient);border-color:transparent;color:#fff;font-weight:600;box-shadow:0 2px 12px #5b52f052}.btn-primary:hover:not(:disabled){opacity:.9;background:var(--accent-gradient);border-color:transparent;box-shadow:0 4px 18px #5b52f070;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc262614}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text);background:var(--bg-2);border-color:transparent}.btn-block{width:100%}.btn-group{display:inline-flex;align-items:center}.btn-group .btn:not(:first-child){border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.card{background:var(--card-surface, var(--bg-1));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card-hover:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.card-accent{border-color:var(--accent-dim);background:linear-gradient(135deg,var(--accent-dim) 0%,transparent 40%),var(--card-surface, var(--bg-1))}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:999px;background:var(--bg-3);color:var(--text-dim);font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1}.badge.success{background:#16a34a1f;color:var(--success)}.badge.warning{background:#d977061f;color:var(--warning)}.badge.danger{background:#dc26261f;color:var(--danger)}:root[data-theme=dark] .badge.success{background:#22c55e26;color:#4ade80}:root[data-theme=dark] .badge.warning{background:#f59e0b26;color:#fbbf24}:root[data-theme=dark] .badge.danger{background:#f8717126;color:#fca5a5}.empty{text-align:center;padding:4rem 1.5rem;color:var(--text-faint);font-size:.9rem;line-height:1.6}.empty p{color:var(--text-faint);margin-bottom:1rem}.spacer{flex:1}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000;pointer-events:none}.toast{background:var(--bg-1);border:1px solid var(--border);color:var(--text);padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);pointer-events:auto;min-width:240px;max-width:340px;font-size:.875rem;animation:toast-in .24s var(--ease-out) both}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.glass{background:var(--glass-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.section-title{display:flex;align-items:center;gap:.65rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .85rem}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border) 0%,transparent 100%)}.chip-metal{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,var(--accent-dim),transparent);border:1px solid var(--accent-dim);color:var(--accent)}kbd{display:inline-block;padding:.15rem .4rem;min-width:1.4rem;text-align:center;font-family:var(--font-mono);font-size:.72rem;font-weight:700;line-height:1.3;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-sm);box-shadow:inset 0 -1px 0 var(--border-strong)}.table-row:hover{background:var(--nav-hover-bg)}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}
