:root { --ink:#0b1220; --paper:#fff; --paper-2:#f6f7fb; --line:#e6e8ef; --text:#0f172a; --muted:#5b6474; --brand:#ff6a00; --brand-2:#ffb020; }
@media (prefers-color-scheme: dark) { :root { --paper:#0e1626; --paper-2:#0b1220; --line:#1f2a40; --text:#e9edf5; --muted:#9aa5b8; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper-2); color:var(--text); font:16px/1.7 "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--brand); }
.wrap { max-width:860px; margin:0 auto; padding:0 20px; }
.bar { background:var(--ink); position:sticky; top:0; z-index:5; }
.bar .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; text-decoration:none; font-size:1.08rem; }
.logo img { width:34px; height:34px; border-radius:9px; }
.btn { padding:9px 16px; border-radius:11px; font-weight:700; font-size:.9rem; text-decoration:none; color:#1a0d00; background:linear-gradient(100deg,var(--brand),var(--brand-2)); }
.head { background:var(--ink); padding:4px 0 70px; }
.back { color:#9aa5b8; text-decoration:none; font-size:.92rem; }
.back:hover { color:#fff; }
.doc { max-width:860px; margin:-56px auto 0; background:var(--paper); border:1px solid var(--line); border-radius:22px; padding:44px 48px 52px; box-shadow:0 20px 50px -24px rgba(15,23,42,.25); }
.doc h1 { font-size:clamp(1.7rem,4vw,2.3rem); line-height:1.2; letter-spacing:-.02em; margin:0 0 6px; }
.doc h2 { font-size:1.2rem; margin:2em 0 .5em; padding-top:1.2em; border-top:1px solid var(--line); }
.doc .meta { color:var(--muted); font-size:.92rem; margin-top:0; }
.doc ul, .doc ol { padding-inline-start:1.3em; } .doc li { margin:.4em 0; }
.doc code { background:var(--paper-2); padding:2px 6px; border-radius:6px; font-size:.88em; }
.mail { display:flex; align-items:center; gap:16px; padding:20px 22px; margin:24px 0 8px; border-radius:16px; text-decoration:none; color:inherit; background:linear-gradient(100deg,rgba(255,106,0,.1),rgba(255,176,32,.08)); border:1px solid rgba(255,106,0,.3); }
.mail .ic { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-weight:800; font-size:1.3rem; color:#1a0d00; background:linear-gradient(100deg,var(--brand),var(--brand-2)); flex:none; }
.mail small { display:block; color:var(--muted); font-size:.8rem; } .mail b { font-size:1.08rem; word-break:break-all; }
.topics { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.topics > a { display:block; padding:18px; border:1px solid var(--line); border-radius:14px; text-decoration:none; color:inherit; transition:border-color .2s, transform .15s; }
.topics > a:hover { border-color:var(--brand); transform:translateY(-2px); }
.topics b { display:block; margin-bottom:4px; } .topics span { color:var(--muted); font-size:.92rem; line-height:1.5; }
footer { padding:40px 0 56px; color:var(--muted); font-size:.9rem; }
footer .wrap { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; }
footer nav { display:flex; flex-wrap:wrap; gap:20px; } footer a { color:inherit; text-decoration:none; } footer a:hover { color:var(--text); }
@media (max-width:640px) { .doc { padding:28px 20px 36px; border-radius:18px; margin-left:12px; margin-right:12px; } .topics { grid-template-columns:1fr; } .bar .btn { padding:8px 12px; } }
.form { margin-top:28px; display:grid; gap:18px; }
.topics-pick { border:0; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.topics-pick legend { font-weight:700; margin-bottom:10px; padding:0; }
.topics-pick label { position:relative; cursor:pointer; }
.topics-pick input { position:absolute; opacity:0; }
.topics-pick label > span { display:block; padding:14px 16px; border:1.5px solid var(--line); border-radius:14px; transition:border-color .15s, background .15s; height:100%; }
.topics-pick b { display:block; font-size:.98rem; } .topics-pick small { color:var(--muted); font-size:.85rem; line-height:1.4; display:block; }
.topics-pick input:checked + span { border-color:var(--brand); background:rgba(255,106,0,.07); }
.topics-pick input:focus-visible + span { outline:2px solid var(--brand); outline-offset:2px; }
.field label { display:block; font-weight:600; font-size:.92rem; margin-bottom:6px; }
.field input, .field textarea { width:100%; font:inherit; color:var(--text); background:var(--paper); border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; transition:border-color .15s, box-shadow .15s; }
.field textarea { resize:vertical; min-height:130px; }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 4px rgba(255,106,0,.15); }
.field [aria-invalid] { border-color:#dc2626; }
.err { color:#dc2626; font-size:.85rem; margin:6px 0 0; min-height:0; } .err:empty { display:none; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hint { margin:-8px 0 0; color:var(--muted); font-size:.85rem; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.submit { justify-self:start; font:inherit; font-weight:800; font-size:1rem; padding:14px 28px; border:0; border-radius:13px; cursor:pointer; color:#1a0d00; background:linear-gradient(100deg,var(--brand),var(--brand-2)); box-shadow:0 10px 26px -10px rgba(255,106,0,.7); }
.submit:disabled { opacity:.6; cursor:wait; }
.status { margin:0; color:#dc2626; font-weight:600; } .status:empty { display:none; }
.done { text-align:center; padding:40px 0 10px; }
.done .tick { width:64px; height:64px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center; font-size:2rem; font-weight:800; color:#fff; background:#22c55e; }
.done h2 { border:0; margin:0 0 6px; padding:0; } .done p { color:var(--muted); margin:0 0 20px; }
@media (max-width:640px) { .topics-pick, .two { grid-template-columns:1fr; } .submit { justify-self:stretch; } }
