:root{--purple:#5E17EB;--paper:#F7F7F5;--surface:#FFFFFF;--ink:#0F0F0F;--muted:#6B6B6B;--line:#E4E4E0;--tint:#F1EBFE;--red:#C62828;--redbg:#FDECEC;--amber:#8A5A00;--amberbg:#FFF5E0;--green:#1B7A3A;--greenbg:#E8F5EC}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}
.bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.word{font-weight:700;letter-spacing:.04em;color:var(--purple);text-decoration:none}
.word small{color:var(--muted);font-weight:500;letter-spacing:0;margin-left:6px}
#who{font-size:13px;color:var(--muted)}
#who button{margin-left:10px;background:none;border:0;color:var(--purple);font:inherit;cursor:pointer;padding:0}
.pad{max-width:640px;margin:24px auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px 22px 28px}
@media (max-width:680px){.pad{margin:16px;padding:20px 16px 24px}}
h1{font-size:21px;margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 16px;font-size:14px}
label.f{display:block;font-size:13px;font-weight:500;margin:14px 0 4px}
.in{width:100%;border:1px solid #CFCFCA;border-radius:8px;padding:10px 12px;font:inherit;background:#fff;color:var(--ink)}
textarea.in{min-height:90px;resize:vertical}
.btn{display:inline-block;background:var(--purple);color:#fff;border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:600;margin-top:16px;cursor:pointer;text-decoration:none}
.btn.ghost{background:#fff;color:var(--purple);border:1px solid var(--purple)}
.btn:disabled{background:#BDB4D6;cursor:not-allowed}
.actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.actions .btn{margin-top:0}
.fine{font-size:12.5px;color:var(--muted);margin-top:12px}
.box{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:12px;margin:10px 0;font-size:14px;cursor:pointer}
.box input,.opt input{margin-top:3px;accent-color:var(--purple);flex:none}
a{color:var(--purple)}
.q{border-top:1px solid var(--line);padding:16px 0}
.q:first-of-type{border-top:0}
.ql{font-weight:600}
.qp{margin:2px 0 8px}
.pick{font-size:12px;color:var(--muted);margin:8px 0 6px}
.opt{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:14px;cursor:pointer}
.indent{margin-left:24px}
.msg{border-radius:8px;padding:12px 14px;font-size:14px;margin:12px 0}
.msg.bad{background:var(--redbg);color:var(--red)}
.msg.warn{background:var(--amberbg);color:var(--amber)}
.msg.ok{background:var(--greenbg);color:var(--green)}
.msg.info{background:var(--tint);color:#3B0F9E}
.key{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--paper);border:1px dashed #B9B9B3;border-radius:8px;padding:12px;word-break:break-all;margin:10px 0}
.stat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 16px}
.stat div{background:var(--paper);border-radius:8px;padding:12px}
.stat b{display:block;font-size:22px}
.stat span{font-size:12.5px;color:var(--muted)}
.amts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.amt{border:1px solid #CFCFCA;border-radius:8px;padding:12px 0;text-align:center;font:inherit;font-weight:600;background:#fff;color:var(--ink);cursor:pointer}
.amt.sel{border:2px solid var(--purple);color:var(--purple);background:var(--tint)}
@media (max-width:420px){.amts{grid-template-columns:repeat(2,1fr)}}
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:18px}
td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top}
td:last-child{text-align:right}
td button{background:none;border:0;color:var(--purple);font:inherit;cursor:pointer;padding:0}
.tag{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;margin-bottom:8px}
.foot{text-align:center;font-size:12.5px;color:var(--muted);padding:8px 16px 32px}
@media print{.bar,.foot,.actions{display:none}.pad{border:0;margin:0}}
