@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Inter:wght@300;400;500&family=Noto+Serif+JP:wght@400;600&family=Noto+Sans+JP:wght@300;400&display=swap";:root{--bg: #07070f;--surface: #0e0e1c;--card: #141428;--card-hover: #1a1a34;--border: #2a2a50;--border-glow: rgba(139, 92, 246, .5);--purple: #8b5cf6;--purple-light:#a78bfa;--purple-dim: rgba(139, 92, 246, .15);--cyan: #22d3ee;--cyan-dim: rgba(34, 211, 238, .12);--amber: #f59e0b;--green: #34d399;--red: #f87171;--text: #ede9fe;--text-muted: #8888aa;--text-dim: #44445a;--font-display: "Cinzel", "Noto Serif JP", serif;--font-body: "Inter", "Noto Sans JP", sans-serif;--glow-purple: 0 0 24px rgba(139, 92, 246, .35);--glow-cyan: 0 0 20px rgba(34, 211, 238, .25);--glow-card: 0 0 40px rgba(139, 92, 246, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.8;min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.container{max-width:760px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.container--wide{max-width:1100px;margin:0 auto;padding:0 24px;position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);line-height:1.25}.label{font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--purple-light)}.site-header{padding:20px 0;border-bottom:1px solid var(--border);position:sticky;top:0;background:#07070feb;backdrop-filter:blur(12px);z-index:100}.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 24px}.site-logo{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--purple-light);text-decoration:none;letter-spacing:.15em;text-transform:uppercase}.site-nav a{font-size:12px;color:var(--text-muted);text-decoration:none;margin-left:24px;letter-spacing:.05em;transition:color .2s}.site-nav a:hover{color:var(--text)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-glow);box-shadow:var(--glow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:8px;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:all .2s;border:none;text-decoration:none}.btn--primary{background:var(--purple);color:#fff;box-shadow:var(--glow-purple)}.btn--primary:hover{background:var(--purple-light);box-shadow:0 0 32px #8b5cf680;transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn--ghost:hover{border-color:var(--purple);color:var(--purple-light)}.btn--sm{padding:8px 20px;font-size:12px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted)}.divider{width:40px;height:1px;background:var(--purple);box-shadow:var(--glow-purple);margin:16px 0 24px}.glow-text{text-shadow:0 0 20px rgba(139,92,246,.6)}.site-footer{padding:40px 0;border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--text-dim);margin-top:80px}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--purple-light)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #8b5cf633}50%{box-shadow:0 0 40px #8b5cf680}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.anim-fade-up{animation:fadeInUp .6s ease both}@media (max-width: 640px){.site-nav{display:none}.card{padding:20px}.btn{padding:12px 24px}}
