
@font-face{font-family:"Sora";font-style:normal;font-weight:100 800;font-display:swap;
src:url(/static/fonts/sora.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;
src:url(/static/fonts/dm-sans.woff2) format("woff2")}

:root{--ink:#10142A;--signal:#4A4AC4;--signal-ink:#2B2B8F;--ripple:#C9CCF5;--mist:#EEF0F5;
--card:#FFFFFF;--text:#10142A;--sub:#3A3F57;--muted:#4B5068;--line:#C4C7D4;--soft-line:#DCDEE8;
--tint:#E2E3FB;--on-signal:#FFFFFF;--danger:#B4232A;--ok:#1F7A55;--panel:#10142A;--panel-text:#EEF0F7;
--panel-sub:#A9AEC8;--panel-line:#2A3052;--panel-signal:#9EA0F2;
--display:"Sora","DM Sans",ui-sans-serif,system-ui,sans-serif;--body:"DM Sans",ui-sans-serif,system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--mist:#0C0F1F;--card:#151A33;--text:#EEF0F7;--sub:#B9BDD3;
--muted:#9DA2BD;--line:#2E3558;--soft-line:#242A47;--tint:#22265A;--signal:#8B8DF0;--signal-ink:#C9CCF5;
--on-signal:#0C0F1F;--danger:#F08A8A;--ok:#6FD3A6;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;font-family:var(--body);background:var(--mist);color:var(--text);line-height:1.55;font-size:15px}
a{color:var(--signal)}a:hover{color:var(--text)}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
h1,h2,h3{font-family:var(--display);color:var(--text);text-wrap:balance}
h1{font-weight:500;font-size:28px;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}
h2{font-weight:500;font-size:18px;letter-spacing:-.01em;margin:0}
p{color:var(--sub);margin:6px 0 0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
max-width:1120px;margin:0 auto;padding-block:20px;padding-inline:20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand span{font-family:var(--display);font-weight:300;font-size:26px;letter-spacing:-.03em}
.topbar nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topbar nav a{color:var(--sub);text-decoration:none;font-weight:500}
.topbar nav a:hover{color:var(--text)}
main.app{max-width:680px;margin:0 auto;padding-inline:20px;padding-block:12px 48px}
.card{background:var(--card);border:1px solid var(--soft-line);border-radius:18px;padding:24px;margin:0 0 14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;
border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font:600 15px var(--body);
text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--signal);color:var(--text)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
@media (prefers-color-scheme:dark){.btn.primary{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}}
.btn.danger{color:var(--danger)}.btn.small{min-height:36px;padding:0 14px;font-size:13.5px;border-radius:10px}
.btn svg{width:18px;height:18px;flex:none}
.stack{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
label{display:block;font-size:12.5px;color:var(--muted);margin:14px 0 5px;font-weight:500}
input,textarea,select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);
background:var(--mist);color:var(--text);font:inherit;font-size:14.5px}
textarea{min-height:72px;resize:vertical}
.chip{display:inline-block;font:500 12px var(--body);padding:3px 10px;border-radius:99px;background:var(--tint);
color:var(--signal-ink);margin-left:8px;vertical-align:middle}
.chip.quiet{background:transparent;border:1px solid var(--line);color:var(--muted)}
.learned{font-size:13.5px;color:var(--sub);margin-top:12px}
.learned b{color:var(--text);font-weight:600}
.err{color:var(--danger);font-size:14px;margin-top:10px}
ul.inboxes{list-style:none;padding:0;margin:14px 0 0}
ul.inboxes li{padding:10px 0;border-top:1px solid var(--soft-line)}
footer.site{border-top:1px solid var(--soft-line);margin-top:40px}
footer.site div{max-width:1120px;margin:0 auto;padding-inline:20px;padding-block:24px;display:flex;
gap:18px;flex-wrap:wrap;justify-content:space-between;font-size:13.5px;color:var(--muted)}
footer.site a{color:var(--muted)}
.center{text-align:center}.muted{color:var(--muted)}.small{font-size:13.5px}.flush{margin:0}
.note{margin-top:14px;font-size:13.5px}.pre{white-space:pre-wrap}
ol.howto{color:var(--muted);padding-left:20px;margin:14px 0 0}details.more{margin-top:14px}
details.more summary{cursor:pointer;color:var(--muted);font-size:14px}
