:root{--bg:#0A0A0A;--surface:#161616;--ink:#F5F5F0;--muted:#A3A3A3;--line:#2A2A2A;--lime:#DEFC06;--lime-dim:#B9D205;--bad:#F0736A;--bad-soft:#331513;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,Helvetica,sans-serif;font-size:16px;padding:24px 16px}
.box{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px 24px}
.brand{line-height:1.05;margin-bottom:24px}
.brand img{display:block;width:200px;height:auto}
.brand i{display:block;font-style:normal;color:var(--lime);font-size:.75rem;font-weight:600;letter-spacing:.14em;margin-top:10px}
h1{font-family:"Space Grotesk",Arial,sans-serif;font-weight:700;letter-spacing:-.02em;font-size:1.5rem;margin:0 0 16px}
form{display:flex;flex-direction:column;gap:6px}
label{font-weight:600;font-size:.88rem;margin-top:8px;color:#D4D4D4}
input{font:inherit;font-size:15px;color:inherit;background:#0A0A0A;border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}
input:focus{outline:2px solid var(--lime);outline-offset:1px}
#code{letter-spacing:.3em;font-family:ui-monospace,Menlo,monospace}
button{margin-top:16px;font:inherit;font-size:14px;font-weight:600;background:var(--lime);color:#0A0A0A;border:0;border-radius:999px;padding:13px 20px;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(222,252,6,.35)}
button:active{background:var(--lime-dim)}
@media (prefers-reduced-motion:reduce){button,button:hover{transition:none;transform:none}}
.err{background:var(--bad-soft);color:var(--bad);padding:10px 12px;border-radius:12px;font-size:.9rem}
.note{color:var(--muted);font-size:.84rem;margin:16px 0 0}
[hidden]{display:none!important}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:12px;font-weight:500;color:var(--ink);text-decoration:none;background:transparent;margin-bottom:4px}
.gbtn:hover{border-color:var(--lime);color:var(--lime)}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.82rem;margin:12px 0 0}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.ok{background:#12261A;color:#4CC28A;padding:10px 12px;border-radius:12px;font-size:.9rem}
.qr{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;width:200px;height:200px;margin:8px auto}.qr svg{width:100%;height:100%;display:block}
.key{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;word-break:break-all;background:var(--bg);padding:8px 10px;border-radius:12px}

:root[data-theme="light"]{--bg:#F5F5F0;--surface:#FFFFFF;--ink:#0A0A0A;--muted:#5E5E5E;--line:#E2E2DA;--bad:#B42318;--bad-soft:#FCE8E6;color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#F5F5F0;--surface:#FFFFFF;--ink:#0A0A0A;--muted:#5E5E5E;--line:#E2E2DA;--bad:#B42318;--bad-soft:#FCE8E6;color-scheme:light}}
:root[data-theme="light"] label{color:#2A2A2A}:root[data-theme="light"] input{background:#fff}:root[data-theme="light"] .brand i{color:#0A0A0A}:root[data-theme="light"] .gbtn{border-color:#CFCFC6}:root[data-theme="light"] .gbtn:hover{color:#0A0A0A;border-color:#0A0A0A}
.brand .lk{display:none}:root[data-theme="light"] .brand .lw{display:none}:root[data-theme="light"] .brand .lk{display:block}
@media (prefers-color-scheme:light){:root:not([data-theme]) .brand .lw{display:none}:root:not([data-theme]) .brand .lk{display:block}:root:not([data-theme]) label{color:#2A2A2A}:root:not([data-theme]) input{background:#fff}:root:not([data-theme]) .brand i{color:#0A0A0A}}
