:root{--bg: #0f0f12;--bg-elevated: #1a1a1f;--bg-card: #15151a;--border: #2a2a32;--text: #e8e8ea;--text-muted: #9a9aa3;--text-faint: #6b6b75;--accent: #e63946;--accent-soft: rgba(230, 57, 70, .12);--max-width: 720px;--max-width-wide: 960px;--radius: 8px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Pretendard", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans CJK KR", "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Menlo", "Monaco", monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:flex;flex-direction:column;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-weight:700;line-height:1.25;margin:0 0 var(--space-4);letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:1.5rem;margin-top:var(--space-7)}h3{font-size:1.15rem;margin-top:var(--space-5)}p{margin:0 0 var(--space-4)}ul,ol{margin:0 0 var(--space-4);padding-left:var(--space-5)}li{margin-bottom:var(--space-2)}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-elevated);padding:2px 6px;border-radius:4px}hr{border:0;border-top:1px solid var(--border);margin:var(--space-6) 0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-5)}.container-wide{max-width:var(--max-width-wide)}.main{flex:1;padding:var(--space-7) 0 var(--space-8)}.site-header{border-bottom:1px solid var(--border);padding:var(--space-4) 0;background:var(--bg);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.site-header .logo{font-weight:800;font-size:1.1rem;color:var(--text);letter-spacing:.02em}.site-header .logo:hover{text-decoration:none;color:var(--accent)}.site-header nav{display:flex;gap:var(--space-5);flex-wrap:wrap}.site-header nav a{color:var(--text-muted);font-size:.9rem}.site-header nav a:hover{color:var(--text);text-decoration:none}.site-footer{border-top:1px solid var(--border);padding:var(--space-6) 0 var(--space-7);font-size:.85rem;color:var(--text-muted)}.site-footer .container{display:flex;flex-direction:column;gap:var(--space-3)}.site-footer .lang-switcher{display:flex;gap:var(--space-3)}.site-footer .lang-switcher a{color:var(--text-muted)}.site-footer .lang-switcher a.active{color:var(--text);font-weight:600}.site-footer .disclaimer{font-size:.78rem;color:var(--text-faint);line-height:1.5}.hero{padding:var(--space-7) 0 var(--space-6);text-align:left}.hero h1{margin-bottom:var(--space-4)}.hero .lede{font-size:1.15rem;color:var(--text-muted);max-width:560px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin:var(--space-5) 0 var(--space-6)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5)}.card h3{margin-top:0;font-size:1rem;color:var(--accent)}.card p{margin-bottom:0;color:var(--text-muted);font-size:.92rem}.legal{max-width:var(--max-width)}.legal h2{font-size:1.25rem}.legal ol>li{margin-bottom:var(--space-4)}.legal .last-updated{color:var(--text-faint);font-size:.85rem;margin-bottom:var(--space-6)}details.faq{border-bottom:1px solid var(--border);padding:var(--space-4) 0}details.faq summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none}details.faq summary::-webkit-details-marker{display:none}details.faq summary:before{content:"+";display:inline-block;width:1em;color:var(--accent);font-weight:700}details.faq[open] summary:before{content:"−"}details.faq .answer{padding-top:var(--space-3);color:var(--text-muted)}.contact-card{background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-6)}.contact-card .email{font-size:1.15rem;font-weight:700}.contact-card p{margin-bottom:var(--space-2)}.contact-card p:last-child{margin-bottom:0;color:var(--text-muted);font-size:.9rem}@media (max-width: 540px){.site-header nav{gap:var(--space-3);font-size:.85rem}.main{padding:var(--space-5) 0 var(--space-7)}}
