:root{--background:#f0e4cc;--surface:#e8d9b8;--surface-hover:#ddd0a8;--text-primary:#2a1f14;--text-secondary:#6b5b4a;--accent:#c23028;--accent-hover:#a12420;--border:#2a1f141f;--error:#b91c1c;--success:#166534;--font-serif:"Noto Serif JP",serif;--paper-texture: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.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--text-primary);background-color:var(--background);background-image:var(--paper-texture);font-family:var(--font-inter),sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:.02em;font-weight:700}.glass{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);background:#e8d9b8d9}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:transform .3s,box-shadow .3s;overflow:hidden}.glass-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #2a1f141f}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:12px 24px;font-weight:600;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;background:0 0;border-radius:4px;padding:12px 24px;font-weight:500;transition:background .2s,border-color .2s}.btn-secondary:hover{border-color:var(--text-secondary);background:#2a1f140f}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s forwards fadeIn}
