/* Starlit — Contact / Privacy pages. Same tokens as sl.css; markup and form behaviour unchanged. */
:root{--paper:#f3f5f9;--surface:#fff;--sunk:#e8ebf2;--ink:#121833;--ink-2:#2c3459;--muted:#5d6686;--hair:#dde2ec;--hair-2:#c8cfdf;--gold:#9c7726;
 --display:"Didot","Bodoni 72","Bodoni MT","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP",serif;
 --mincho:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP",serif;
 --sans:system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo","Noto Sans JP",sans-serif}
:root[data-theme=dark]{--paper:#0b1022;--surface:#121a33;--sunk:#0f1530;--ink:#eceff8;--ink-2:#c7cde4;--muted:#8d96b8;--hair:#222a49;--hair-2:#323b5f;--gold:#e2c27a}
:root[data-theme]{background:var(--paper);color:var(--ink)}
*,*::before,*::after{box-sizing:border-box}
body.sl{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
.sl a{color:inherit}
.sl [hidden]{display:none!important}
.sl :focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.sl header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:28px;height:64px;min-height:0;padding:0 clamp(16px,4vw,56px);flex-wrap:nowrap;background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom:1px solid var(--hair)}
:root body.sl .brand{font:400 19px/1 var(--display);letter-spacing:.08em;text-decoration:none;color:var(--ink)}
.sl .brand span{color:var(--gold);font-size:.62em;vertical-align:.25em;margin-right:4px}
.sl header nav{display:flex;gap:24px;margin-right:auto;order:0;flex-basis:auto;min-height:0}
:root body.sl header nav a{font-size:14px;text-decoration:none;color:var(--muted)}
:root body.sl header nav a:hover{color:var(--ink)}
.sl .sl-theme-btn{margin-left:auto;display:inline-grid;place-items:center;width:42px;height:42px;border:0;border-radius:999px;background:none;color:var(--ink);cursor:pointer;font-size:18px}
.sl .sl-theme-btn:hover{background:var(--sunk)}
.sl .contact-page{max-width:720px;margin:0 auto;padding:clamp(48px,8vw,110px) clamp(16px,4vw,32px) 80px}
.sl .contact-page .eyebrow{display:block;margin:0 0 10px;font-size:13px;letter-spacing:.04em;color:var(--muted)}
.sl .contact-page h1{margin:0 0 10px;font:400 clamp(52px,8vw,96px)/.98 var(--display);letter-spacing:-.025em}
:root body.sl .contact-intro{margin:0 0 30px;font:400 17px/1.8 var(--mincho);letter-spacing:.06em;color:var(--ink-2)}
.sl .contact-page h2{margin:0 0 10px;font:400 18px/1.6 var(--mincho);letter-spacing:.06em}
.sl .rights-note{margin:28px 0;padding:22px 0;border-block:1px solid var(--hair)}
:root body.sl .contact-page p,:root body.sl .rights-note p{color:var(--ink-2);line-height:1.95;overflow-wrap:anywhere}
.sl .contact-page section{margin:0 0 30px}
.sl .contact-page form{display:grid;gap:16px}
:root body.sl .contact-page label{display:block;font-size:14px;line-height:1.7;color:var(--ink)}
.sl .contact-page label>span{margin-left:8px;font-size:12px;color:var(--muted)}
:root body.sl .contact-page :is(input,textarea,select){display:block;width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--hair-2);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;transition:border-color .2s}
.sl .contact-page :is(input,textarea,select):focus{outline:none;border-color:var(--ink)}
.sl .contact-page textarea{resize:vertical;min-height:180px}
:root body.sl .contact-help{margin:0;font-size:13px;color:var(--muted)}
:root body.sl .contact-page #contact-state{margin:0;font-size:14px;color:var(--ink)}
.sl .contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sl .subtle-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper)!important;font:inherit;font-size:14px;letter-spacing:.04em;text-decoration:none;cursor:pointer}
.sl .subtle-button:hover{opacity:.9}
.sl .subtle-button:disabled{opacity:.55;cursor:progress}
.sl .contact-submit{justify-self:start;margin-top:6px}
.sl #contact-x{margin-top:36px;padding-top:24px;border-top:1px solid var(--hair)}
.sl #contact-x p{margin-top:10px}
.sl footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;max-width:1640px;margin:40px auto 0;padding:32px clamp(16px,4vw,56px) 40px;border-top:1px solid var(--hair);font-size:13px}
:root body.sl footer,:root body.sl footer a{color:var(--muted)}
.sl footer a{text-decoration:none}.sl footer a:hover{color:var(--ink)}
.sl footer [data-copy-footer]{flex-basis:100%;order:2;font-family:var(--display);font-style:italic;font-size:15px}
@media (max-width:600px){.sl header nav{gap:16px}.sl .contact-submit{width:100%}}
