@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap";
:root{--background:#fffbf7;--foreground:#5c544f;--primary:#f4978e;--primary-hover:#f08080;--primary-glow:#f4978e26;--glass-bg:#fff9;--glass-border:#5c544f14;--card-bg:#fffffff2;--card-hover-bg:#fff;--accent:#e8b4b8;--accent-glow:#e8b4b81f;--gold:#e5b25d;--silver:#a3adb8;--bronze:#c88d5d;--success:#6eab86;--danger:#e27373;--warning:#e8b042;--muted:#5c544f80;--radius:24px;--radius-sm:16px;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--background);background-image:radial-gradient(ellipse 80% 50% at 50% -20%, var(--primary-glow), transparent), radial-gradient(ellipse 60% 40% at 80% 100%, var(--accent-glow), transparent);color:var(--foreground);flex-direction:column;min-height:100vh;font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;display:flex}a{color:inherit;transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent)}.navbar{-webkit-backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--glass-border);z-index:100;background:#ffffffd9;justify-content:space-between;align-items:center;padding:.875rem 2rem;display:flex;position:sticky;top:0}.nav-brand{letter-spacing:.5px;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.nav-links{align-items:center;gap:1.25rem;display:flex}.nav-links a{opacity:.7;transition:opacity var(--transition), color var(--transition);font-size:.9rem;font-weight:500;position:relative}.nav-links a:hover{opacity:1}.nav-links a.active{opacity:1;color:var(--accent)}.nav-auth-btn{background:var(--primary);border-radius:var(--radius-sm);transition:background var(--transition), transform .1s;cursor:pointer;border:none;padding:.45rem 1rem;font-size:.85rem;font-weight:600;color:#fff!important;opacity:1!important}.nav-auth-btn:hover{background:var(--primary-hover);transform:scale(1.03);color:#fff!important}.guild-dropdown{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;transition:border-color var(--transition);background:#fff;outline:none;padding:.4rem .8rem;font-size:.9rem;font-weight:500}.guild-dropdown:focus{border-color:var(--primary)}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.card{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);padding:2rem;box-shadow:0 4px 24px #5c544f0d}.card:hover{border-color:var(--primary-glow);transform:translateY(-2px);box-shadow:0 8px 40px #5c544f14}.card-flat{background:var(--card-bg);border:1px solid var(--glass-border);border-radius:var(--radius);padding:2rem}.title{color:var(--foreground);margin-bottom:1.5rem;font-size:2.25rem;font-weight:700}.subtitle{color:var(--muted);margin-bottom:2rem;font-size:1rem}.section-title{color:var(--accent);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--glass-border);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--glass-border);white-space:nowrap;padding:1rem}th{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);background:#5c544f05;font-size:.85rem;font-weight:600}tr:last-child td{border-bottom:none}tr{transition:background var(--transition)}tr:hover td{background:#5c544f05}tr td:first-child{font-weight:600}.rank-1{color:var(--gold)}.rank-2{color:var(--silver)}.rank-3{color:var(--bronze)}.rank-4{color:var(--muted)}.rank-badge{border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.85rem;font-weight:700;display:inline-flex}.rank-badge-1{color:var(--gold);background:#e5b25d26}.rank-badge-2{color:var(--silver);background:#a3adb826}.rank-badge-3{color:var(--bronze);background:#c88d5d26}.rank-badge-4{color:var(--muted);background:#5c544f14}.btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), transform .1s;border:none;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--primary-hover);transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn-outline{border:1px solid var(--glass-border);color:var(--foreground);background:#fff}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:#fffbf7}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#dc2626}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{border:1px solid var(--glass-border);border-radius:var(--radius-sm);text-align:center;transition:border-color var(--transition), box-shadow var(--transition);background:#fff;padding:1.5rem;box-shadow:0 2px 12px #5c544f05}.stat-card:hover{border-color:var(--primary-glow);box-shadow:0 4px 16px #5c544f0d}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:.5rem;font-size:.75rem}.stat-value{color:var(--accent);font-size:1.6rem;font-weight:700}.stat-value-sm{font-size:1.2rem;font-weight:600}.input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--foreground);width:100%;transition:border-color var(--transition), box-shadow var(--transition);background:#fff;outline:none;padding:.8rem 1rem;font-size:.95rem}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input-group{align-items:center;gap:.75rem;display:flex}.tabs{border-bottom:1px solid var(--glass-border);gap:0;margin-bottom:1.5rem;display:flex}.tab{color:var(--muted);cursor:pointer;transition:color var(--transition), border-color var(--transition);border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none}.tab:hover{color:var(--foreground)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.loading{color:var(--muted);justify-content:center;align-items:center;padding:3rem;display:flex}.spinner{border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--muted);padding:3rem}.player-link{color:var(--accent);transition:opacity var(--transition);font-weight:500}.player-link:hover{opacity:.8}.rate-up{color:var(--success)}.rate-down{color:var(--danger)}.rate-neutral{color:var(--muted)}.toggle{width:44px;height:24px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;transition:background var(--transition);background:#ffffff1a;border-radius:24px;position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px}.toggle input:checked+.toggle-slider{background:var(--primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}@media (max-width:768px){.navbar{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.75rem}.main-content{padding:1rem}.title{font-size:1.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}th,td{padding:.625rem .75rem;font-size:.85rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out fadeIn}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.5s ease-out slideUp}.vs-bar-container{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.vs-bar{border-radius:6px;flex:1;height:28px;position:relative;overflow:hidden}.vs-bar-fill{border-radius:6px;align-items:center;height:100%;padding:0 .5rem;font-size:.8rem;font-weight:600;transition:width .6s;display:flex}.vs-bar-a .vs-bar-fill{background:linear-gradient(90deg, var(--primary), var(--primary-hover));justify-content:flex-end}.vs-bar-b .vs-bar-fill{background:linear-gradient(90deg, var(--accent), #06b6d4)}.vs-label{color:var(--muted);text-align:center;min-width:80px;font-size:.75rem}
