:root{color-scheme:dark;--bg:#070707;--text:#f1eee7;--muted:#8c8982;--line:rgba(255,255,255,.1);--accent:#d8ff72;--paper:#f4f1e9;--ink:#101010;--size:40mm}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.topbar{height:70px;padding:0 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:600 12px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.brand{color:var(--text);text-decoration:none}.topbar>span{color:#777}
main{display:grid;grid-template-columns:minmax(340px,520px) 1fr;min-height:calc(100dvh - 70px)}.editor{padding:56px 42px;border-right:1px solid var(--line)}.back{color:#8f8d87;text-decoration:none;font-size:12px}.kicker{margin:50px 0 18px;color:var(--accent);font:500 9px ui-monospace,monospace;letter-spacing:.16em}.editor h1{margin:0;font-size:clamp(48px,6vw,76px);line-height:.92;letter-spacing:-.065em}.editor h1 span{color:#66645f}.intro{margin:28px 0 34px;max-width:510px;color:#aaa7a0;line-height:1.7;font-size:14px}.intro code{color:#d8d5ce}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.controls label>span,.input>span{display:block;margin-bottom:8px;color:#777;font:500 9px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;background:#0b0b0b;color:var(--text);font:400 12px ui-monospace,monospace}select{height:42px}.input{display:block;margin-top:28px}textarea{min-height:240px;padding:14px;resize:vertical;border:1px solid var(--line);line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.actions button{min-height:44px;padding:0 15px;border:1px solid var(--line);background:#111;color:#aaa;cursor:pointer;font:600 9px ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase}.actions .primary{background:var(--text);color:#090909}.status,.note{color:#777;font:400 10px/1.6 ui-monospace,monospace}.status{margin-top:18px}.note{margin-top:28px}.preview{padding:38px;overflow:auto}.preview-head{display:flex;justify-content:space-between;margin-bottom:28px;color:#777;font:500 9px ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}.sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{break-inside:avoid;text-align:center}.qr{width:100%;aspect-ratio:1;background:var(--paper);padding:10%;display:grid;place-items:center}.qr svg{width:100%;height:100%;display:block}.caption{margin:9px 0 0;color:#a9a69f;font:500 10px/1.4 ui-monospace,monospace;word-break:break-word}.badge{margin-top:4px;color:#687d35;font:500 8px ui-monospace,monospace;text-transform:uppercase}.card.bad .badge{color:#bd6b65}
@media(max-width:900px){main{grid-template-columns:1fr}.editor{border-right:0;border-bottom:1px solid var(--line);padding:38px 22px}.preview{padding:28px 18px}.controls{grid-template-columns:1fr}.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.topbar{height:60px;padding:0 18px}.editor h1{font-size:49px}.sheet{gap:14px}.caption{font-size:9px}}
@media print{body{background:#fff}.topbar,.editor,.preview-head{display:none!important}main,.preview{display:block!important;padding:0!important}.sheet{display:grid!important;grid-template-columns:repeat(var(--print-columns,3),var(--size))!important;justify-content:center;gap:8mm!important}.qr{width:var(--size)!important;height:var(--size)!important;padding:4mm!important}.caption{color:#111!important;font-size:9pt!important}.badge{display:none!important}}


.batch-appearance{display:grid;grid-template-columns:90px 90px 1fr;gap:18px;margin-top:22px}
.batch-appearance label>span{display:block;margin-bottom:8px;color:#777;font:500 9px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.batch-appearance input[type="color"]{width:100%;height:42px;padding:0;border:1px solid var(--line);background:none}
.logo-pick{position:relative}.logo-pick input{position:absolute;opacity:0;pointer-events:none}.logo-pick b{height:42px;padding:0 10px;display:flex;align-items:center;border-bottom:1px solid var(--line);color:#999;font:500 10px ui-monospace,monospace;cursor:pointer}
.import-row{display:flex;align-items:center;gap:14px;margin-top:12px;color:#6f6d68;font:400 9px ui-monospace,monospace}.import-row label{min-height:40px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid var(--line);cursor:pointer;color:#aaa;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.card-actions{display:flex;justify-content:center;gap:8px;margin-top:7px}.card-actions button{border:0;border-bottom:1px solid var(--line);background:none;color:#777;cursor:pointer;font:500 8px ui-monospace,monospace;text-transform:uppercase}.card-actions button:hover{color:#eee;border-color:#eee}.type-tag{margin-top:4px;color:#666;font:500 7px ui-monospace,monospace;text-transform:uppercase}
@media(max-width:900px){.batch-appearance{grid-template-columns:1fr 1fr}.logo-pick{grid-column:1/-1}}@media(max-width:520px){.batch-appearance{grid-template-columns:1fr 1fr}.import-row{align-items:flex-start;flex-direction:column}}
