:root{--bg:#0b0b0d;--surface:#121215;--surface-2:#18181c;--surface-3:#202026;--border:#26262d;--border-strong:#34343c;--text:#ece9e2;--text-2:#bcb8ae;--muted:#8c897f;--accent:#c8102e;--accent-hi:#e3223f;--accent-soft:#c8102e24;--ok:#5fa37a;--warn:#c99a3b;--radius:3px;--max:1180px;--gutter:clamp(16px, 4vw, 32px);--header-h:60px;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-jp:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Source Han Serif", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;font-weight:650;line-height:1.15}h1{font-size:clamp(1.9rem,4.5vw,3rem)}h2{font-size:clamp(1.35rem,2.6vw,1.75rem)}h3{font-size:1.08rem}p{margin:0 0 1em}.container{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.jp{font-family:var(--font-jp);letter-spacing:.04em;font-weight:500}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.6em;font-size:.75rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:22px;height:2px}.lead{color:var(--text-2);max-width:62ch;font-size:clamp(1.02rem,1.6vw,1.18rem)}.muted{color:var(--muted)}.page-head{border-bottom:1px solid var(--border);margin-bottom:clamp(24px,4vw,40px);padding:clamp(28px,6vw,56px) 0 clamp(20px,4vw,32px)}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .18s,background .18s,transform .18s;display:block;position:relative}a.card:hover{border-color:var(--border-strong);background:var(--surface-2)}a.card:after{content:"";background:var(--accent);transform-origin:top;width:2px;transition:transform .22s;position:absolute;top:-1px;bottom:-1px;left:-1px;transform:scaleY(0)}a.card:hover:after{transform:scaleY(1)}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);height:38px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.5em;padding:0 14px;font-size:.88rem;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hi)}.btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.tag{border:1px solid var(--border-strong);letter-spacing:.04em;height:22px;color:var(--text-2);white-space:nowrap;border-radius:2px;align-items:center;gap:.4em;padding:0 8px;font-size:.72rem;font-weight:600;display:inline-flex}.tag.accent{color:#ff8a9b;background:var(--accent-soft);border-color:#c8102e8c}.tag.ok{color:#8fd0a8;border-color:#5fa37a80}.tag.warn{color:#e2bf72;border-color:#c99a3b80}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
