:root{--bg: #0e0e10;--surface: #18181b;--text: #f4f4f5;--text-muted: #a1a1aa;--border: #27272a;--accent: #fbbf24;--accent-hover: #f59e0b;--max-width: 760px}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.page{min-height:100vh;display:flex;flex-direction:column}.page-header{border-bottom:1px solid var(--border);padding:16px 24px}.page-header-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.page-header-logo{font-weight:700;font-size:18px;color:var(--text)}.page-header-logo:hover{text-decoration:none;color:var(--accent)}.page-main{flex:1;padding:48px 24px}.page-main-inner{max-width:var(--max-width);margin:0 auto}.legal-title{font-size:28px;margin:0 0 8px}.legal-meta{color:var(--text-muted);font-size:14px;margin:0 0 32px}.legal-section{margin:24px 0}.legal-section h2{font-size:18px;margin:32px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.legal-section h2:first-of-type{border-top:none;padding-top:0}.legal-section p,.legal-section li{font-size:15px;color:var(--text)}.legal-section ol,.legal-section ul{padding-left:24px}.legal-section li{margin:6px 0}.legal-table{border-collapse:collapse;width:100%;font-size:15px;margin:12px 0}.legal-table th,.legal-table td{border:1px solid var(--border);padding:10px 14px;text-align:left;vertical-align:top}.legal-table th{width:30%;background:var(--surface);font-weight:600}.placeholder{color:var(--text-muted);background:var(--surface);padding:1px 6px;border-radius:4px;font-size:13px}.page-footer{border-top:1px solid var(--border);padding:24px;font-size:13px;color:var(--text-muted)}.page-footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.page-footer-links{display:flex;gap:16px;flex-wrap:wrap}.floating-pieces{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}@keyframes floatPieceUp{0%{transform:translate3d(0,100vh,0) rotate(var(--initial-rotate, 0deg));opacity:0}10%{opacity:.55}90%{opacity:.55}to{transform:translate3d(0,-120vh,0) rotate(calc(var(--initial-rotate, 0deg) + 360deg));opacity:0}}.floating-piece{position:absolute;bottom:-20vh;animation-name:floatPieceUp;animation-timing-function:linear;animation-iteration-count:infinite;filter:drop-shadow(0 4px 12px rgba(0,0,0,.45));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(prefers-reduced-motion:reduce){.floating-piece{animation:none;display:none}}.hero{padding:128px 24px 96px;text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero>*{position:relative;z-index:1}.hero h1{font-size:clamp(40px,8vw,64px);margin:0 0 16px;letter-spacing:.02em}.hero-tagline{font-size:18px;color:var(--text-muted);margin:0 0 32px}.hero-cta{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}.hero-cta-button{background:var(--accent);color:#18181b;padding:12px 24px;border-radius:8px;font-weight:700;font-size:15px}.hero-cta-button:hover{background:var(--accent-hover);text-decoration:none}.features{padding:64px 24px}.features-inner{max-width:var(--max-width);margin:0 auto;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.feature-card h3{font-size:18px;margin:0 0 8px}.feature-card p{font-size:14px;color:var(--text-muted);margin:0}.about{padding:64px 24px;border-top:1px solid var(--border)}.about-inner{max-width:var(--max-width);margin:0 auto}.about h2{font-size:22px;margin:0 0 16px}.about p{font-size:15px;color:var(--text);margin:0 0 16px}.about-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.about-link{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px}.about-link:hover{background:var(--surface);text-decoration:none}
