:root{--bg:#0b0b14;--card:#151524;--card2:#1c1c30;--line:#2a2a42;--text:#ececf5;--muted:#9a9ab5;--accent:#a855f7;--accent2:#d946ef;--ok:#22c55e;--err:#f43f5e;--warn:#f59e0b}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}main{max-width:960px;margin:0 auto;padding:16px}h1{font-size:1.5rem;margin:8px 0 16px}h2{font-size:1.1rem;margin:0 0 12px}.muted{color:var(--muted);font-size:.9rem}.header{justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);max-width:960px;margin:0 auto;flex-wrap:wrap}.brand,.header{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-size:1.25rem}.brand b{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.nav{display:flex;gap:16px;align-items:center;font-size:.95rem}.nav a{text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--text)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.row>*{flex:1 1 180px}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-size:1rem}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.field{margin-bottom:12px}.btn{padding:10px 16px;border-radius:10px;border:0;cursor:pointer;font-weight:600;font-size:.95rem;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff}.btn:disabled{opacity:.6;cursor:wait}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.danger{background:transparent;border:1px solid var(--err);color:var(--err)}.link{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.95rem;padding:0}.link:hover{color:var(--text)}.msg{margin:10px 0 0;font-size:.95rem}.msg.ok{color:var(--ok)}.msg.err{color:var(--err)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;border:1px solid var(--line);color:var(--muted)}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.badge.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 50%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500}.table-wrap{overflow-x:auto}.center{min-height:80vh;display:grid;place-items:center}.narrow{width:100%;max-width:400px}.trigger-form{gap:8px}.trigger,.trigger-form{display:flex;flex-direction:column;align-items:center}.trigger{width:200px;height:200px;border-radius:50%;border:0;cursor:pointer;color:#fff;justify-content:center;gap:10px;font-size:1.2rem;font-weight:700;background:radial-gradient(circle at 30% 30%,var(--accent2),var(--accent) 70%);box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 18%,transparent),0 20px 50px -10px color-mix(in srgb,var(--accent2) 60%,transparent);transition:transform .1s}.trigger:active{transform:scale(.96)}.trigger.pending{opacity:.7}.trigger-form.compact .trigger{width:100%;height:auto;border-radius:12px;flex-direction:row;padding:12px;font-size:1rem;box-shadow:none}.trigger-form.compact .trigger svg{width:22px;height:22px}.qr{background:#fff;border-radius:12px;padding:12px;width:220px}.qr img{width:100%;display:block}code{background:var(--card2);padding:2px 6px;font-size:.85rem;word-break:break-all}.notice,code{border-radius:6px}.notice{border-left:3px solid var(--warn);padding:8px 12px;background:color-mix(in srgb,var(--warn) 8%,transparent);font-size:.9rem}@media print{body{background:#fff;color:#000}.header,.noprint{display:none!important}.card{border:0}.printable{display:block!important}}body:has(.widget),html:has(.widget){background:transparent}.widget{--w-bg:#151524;--w-text:#ececf5;--w-muted:#9a9ab5;--w-line:#2a2a42;min-height:100vh;padding:14px;display:flex;flex-direction:column;gap:12px;justify-content:center;background:var(--w-bg);color:var(--w-text);border-radius:14px}.widget.light{--w-bg:#ffffff;--w-text:#16162a;--w-muted:#5b5b78;--w-line:#e3e3ef}.w-head{text-align:center}.w-title{font-weight:700;font-size:1.05rem}.w-sub{color:var(--w-muted);font-size:.85rem;margin-top:2px}.w-form{display:flex;flex-direction:column;gap:6px}.w-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;border:0;border-radius:12px;cursor:pointer;color:#fff;font-weight:700;font-size:1.05rem;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:transform .1s}.w-btn:active{transform:scale(.98)}.w-btn.pending{opacity:.7;cursor:wait}.w-status{margin:0;min-height:1.2em;font-size:.85rem;text-align:center;color:var(--w-muted)}.w-status.ok{color:var(--ok)}.w-status.err{color:var(--err)}.w-msg{margin:0}.w-foot,.w-msg{text-align:center;color:var(--w-muted)}.w-foot{font-size:.7rem;opacity:.8}.w-foot b{color:var(--accent)}.embed-preview{border:1px solid var(--line);border-radius:14px;width:300px;height:210px;background:transparent}pre.snippet{background:var(--card2);padding:10px 12px;border-radius:10px;overflow-x:auto;font-size:.8rem;white-space:pre-wrap;word-break:break-all}