:root{--bg-primary: #0a0a1e;--bg-secondary: #12122a;--bg-card: #1e1e3a;--bg-card-hover: #282850;--text-primary: #f0f0f0;--text-secondary: #a0a0b8;--text-muted: #6a6a8a;--accent: #4a90e2;--accent-hover: #5ba0f2;--accent-dim: rgba(74, 144, 226, .15);--border: #2a2a4a;--success: #4caf50;--warning: #ff9800;--danger: #f44336;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--transition: .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.page-enter{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #4a90e233}50%{box-shadow:0 0 40px #4a90e266}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge-shugiin{background:#4a90e233;color:#4a90e2}.badge-sangiin{background:#9c27b033;color:#ce93d8}.badge-incumbent{background:#4caf5033;color:#4caf50}.badge-new{background:#4a90e233;color:#4a90e2}.badge-former{background:#ff980033;color:#ff9800}.member-card{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#ffffff08;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}.member-card:hover{background:#ffffff0f;border-color:#4a90e240}.member-photo-container{width:44px;height:44px;flex-shrink:0;border-radius:12px;overflow:hidden;background:var(--bg-secondary)}.member-photo{width:100%;height:100%;object-fit:cover}.member-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--accent);background:#4a90e214}.member-info{flex:1;min-width:0}.member-name-row{display:flex;align-items:center;gap:8px}.member-name{font-size:.92rem;font-weight:550;color:var(--text-primary)}.member-house-tag{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:.02em}.member-house-tag.shugiin{background:#4a90e21f;color:#4a90e2}.member-house-tag.sangiin{background:#9c27b01f;color:#ce93d8}.member-party{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.member-district{font-size:.75rem;color:var(--text-muted);margin-top:1px}
