.ctl{max-width:1100px;margin:0 auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.ctl h2{font-size:20px;margin-bottom:12px}
.btns{display:flex;gap:8px;flex-wrap:wrap}
label.f{display:grid;gap:4px;margin:10px 0;color:var(--mut);font-size:14px}
label.f span b{color:var(--text)}
input[type=number],input[type=text],input[type=password]{background:#14181b;border:1px solid var(--line);color:var(--text);border-radius:4px;padding:8px;font:inherit;width:100%}
input[type=range]{width:100%;accent-color:var(--grn)}
.chk{display:flex;gap:8px;align-items:center;margin:6px 0}
.seg{display:flex}.seg .btn{border-radius:0}.seg .btn:first-child{border-radius:5px 0 0 5px}.seg .btn:last-child{border-radius:0 5px 5px 0}
.seg .btn[aria-pressed=true]{background:var(--text);color:#111}
.login{max-width:380px;margin:60px auto;padding:0 16px}
.msg{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--line);padding:10px 16px;border-radius:6px}
.msg.err{border-color:var(--red)}.msg.ok{border-color:var(--grn)}.msg[hidden]{display:none}
dialog{background:var(--panel);color:var(--text);border:1px solid var(--red);border-radius:8px;max-width:380px}
dialog::backdrop{background:#000a}
.hint{color:var(--mut);font-size:13px}
.st{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}

.seg{flex-wrap:wrap}
