:root{--background:#0d0d0d;--surface:#161616;--surface-hover:#222;--primary:#d4af37;--primary-hover:#b49329;--text-main:#f5f5f5;--text-muted:#888;--border:#2a2a2a;--error:#ff4c4c}body,html{margin:0;padding:0;background-color:var(--background);color:var(--text-main);font-family:var(--font-noto),"Noto Sans JP","Inter",sans-serif;scroll-behavior:smooth;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-cinzel),"Cinzel",serif;letter-spacing:.15em;text-transform:uppercase}*{box-sizing:border-box}a{color:inherit;text-decoration:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blurFadeIn{0%{opacity:0;filter:blur(10px);transform:scale(1.05)}to{opacity:1;filter:blur(0);transform:scale(1)}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-blur-fade-in{animation:blurFadeIn 1.2s ease-out forwards}.visible{opacity:1!important}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,select,textarea{font-family:inherit;background-color:var(--surface);color:var(--text-main);border:1px solid var(--border);padding:.75rem 1rem;border-radius:4px;width:100%;transition:all .2s ease}input[type=checkbox],input[type=radio]{width:auto}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(212,175,55,.1)}button{cursor:pointer;font-family:inherit}