:root{--bg:#f4f5fb;--fg:#1c1b29;--card:#fff;--mut:#6b6a80;--pri:#6d28d9;--prf:#fff;--bd:#e3e2ef;--ok:#15803d;--bad:#b91c1c}
@media(prefers-color-scheme:dark){:root{--bg:#13121c;--fg:#ecebf7;--card:#1d1c2a;--mut:#9d9bb5;--bd:#2e2c42;--ok:#4ade80;--bad:#f87171}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#root{max-width:900px;margin:0 auto;padding:16px}.load{text-align:center;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:18px;margin-bottom:14px}
h1{margin:0 0 12px;font-size:22px}h2{margin:0 0 8px;font-size:17px}
input,select,textarea{width:100%;padding:10px 12px;margin:4px 0 12px;border:1px solid var(--bd);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit}
input[type=color]{height:44px;padding:4px}input[type=checkbox]{width:auto;margin-right:6px}label{font-size:13px;color:var(--mut)}
fieldset{border:0;margin:0;padding:0;min-width:0}
button{padding:10px 14px;border:1px solid var(--bd);border-radius:10px;background:var(--card);color:var(--fg);font:inherit;cursor:pointer}
button.p,.tabs button.on{background:var(--pri);color:var(--prf);border-color:var(--pri)}button:disabled{opacity:.6;cursor:wait}button.d{color:var(--bad)}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.bar b{flex:1;font-size:18px}
.ok{color:var(--ok)}.err{color:var(--bad)}.bd{display:inline-block;padding:2px 10px;border-radius:99px;background:var(--bg);font-size:12px;color:var(--mut)}
ul{padding-left:18px;margin:6px 0}.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:620px){.g2{grid-template-columns:1fr}}
.prow{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer}
.th{width:52px;height:52px;border-radius:8px;background:var(--bg);overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;position:relative}
.th img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.thumbs .th{width:88px;height:88px}
.x{position:absolute;top:2px;right:2px;padding:0 6px;border-radius:99px;line-height:20px}
.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:12px}
.zm{position:fixed;inset:0;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;z-index:9;cursor:zoom-out}.zm img{max-width:95%;max-height:95%;object-fit:contain}
.lg img{height:40px;width:40px;object-fit:contain;border-radius:8px;display:block}.lg:empty{display:none}.logobox{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 0 4px}
#rcp{background:#fff;color:#000;font:12px/1.35 ui-monospace,Menlo,Consolas,monospace;padding:12px;max-width:320px;margin:0 auto}
#rcp table{width:100%;border-collapse:collapse}#rcp td{padding:1px 0;vertical-align:top}#rcp hr{border:0;border-top:1px dashed #000;margin:6px 0}
.rmodal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9;overflow:auto;padding:16px}.rbox{background:var(--card);max-width:380px;margin:0 auto;border-radius:14px;padding:12px}
@media print{body>*:not(.rmodal),.rmodal .np{display:none!important}.rmodal{position:static;background:none;padding:0;overflow:visible}.rbox{background:none;padding:0;max-width:none}#rcp{max-width:none;padding:0}@page{margin:5mm}}
.mini{padding:4px 10px;font-size:12px}
.notice{background:var(--card);border:1px solid var(--bd);border-left:4px solid var(--pri);border-radius:10px;padding:10px 12px;margin-bottom:14px}
.code{font:700 32px ui-monospace,Menlo,Consolas,monospace;letter-spacing:6px;text-align:center;margin:8px 0}
.arow{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--bd);flex-wrap:wrap}.arow small{color:var(--mut)}
.acts{display:flex;gap:6px;flex-wrap:wrap}.acts button{padding:6px 10px;font-size:13px}
.wm{position:fixed;right:10px;bottom:6px;font:600 12px system-ui,sans-serif;letter-spacing:.5px;opacity:.35;pointer-events:none;color:var(--fg);z-index:1}
@media print{.wm{display:none}}
.fab{position:fixed;right:14px;bottom:30px;display:flex;gap:8px;align-items:center;z-index:5}
.fab button{box-shadow:0 2px 8px rgba(0,0,0,.25)}
.fh{width:44px;height:44px;border-radius:50%;padding:0;font-size:20px;font-weight:700;background:var(--pri);color:#fff;border:0}
.fb{border-radius:22px;padding:10px 16px;background:var(--pri);color:#fff;border:0}
.fb[hidden]{display:none}
.rbox.hlp{max-width:640px;width:calc(100% - 24px);max-height:85vh;overflow:auto;text-align:left}
.hbody h3{margin:14px 0 4px}.hbody ul,.hbody ol{margin:4px 0 8px;padding-left:20px}.hbody li{margin:3px 0}
.hbody .warn{border-left:4px solid var(--pri);padding:6px 10px;margin:8px 0;background:var(--card);border-radius:6px}
@media print{.fab{display:none}}
