:root{--bg:#0b1722;--panel:#102233;--line:#23415a;--text:#eaf2f8;--muted:#8fa6b8;--accent:#8bf0cf;--danger:#ff8a8a}
@media (prefers-color-scheme:light){:root{--bg:#f4f7fa;--panel:#fff;--line:#cfdbe5;--text:#10202e;--muted:#566b7c;--accent:#0b7a5c;--danger:#c0392b}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,sans-serif}
main{max-width:680px;margin:0 auto;padding:32px 16px}
h1{margin:0;font-size:28px}.sub{margin:0;color:var(--muted);letter-spacing:.12em;font-size:13px}
section{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:20px}
ul{padding-left:20px}.empty{color:var(--muted);list-style:none;margin-left:-20px}
label{display:grid;gap:8px;font-size:14px;color:var(--muted);margin-top:12px}
input{min-height:52px;padding:14px 16px;font-size:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text)}
button{min-height:48px;padding:0 20px;margin-top:14px;font-size:16px;border:0;border-radius:12px;background:var(--accent);color:#06241c;cursor:pointer}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}
.req{color:var(--danger)}

select{min-height:48px;padding:12px;font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px}a{color:var(--accent)}button:disabled{opacity:.5;cursor:wait}output{display:block;overflow-wrap:anywhere;padding:12px;margin-top:12px;border:1px solid var(--line)}[hidden]{display:none!important}

textarea{width:100%;font:inherit;padding:12px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px}.check{display:flex;align-items:center;gap:12px}.check input{min-height:auto;width:22px;height:22px;flex-shrink:0}.pre-line{white-space:pre-wrap}

@media (prefers-color-scheme:light){button:not(.ghost){color:#fff}}
