@font-face{font-family:GT7LivMan JP;src:url(/fonts-bundled/Noto%20Sans%20JP%20Bold.ttf)format("truetype");font-weight:100 900;unicode-range:U+30??,U+4E00-9FFF}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1e1e;--surface:#2a2a2a;--tab:#343434;--tab-active:#2878b8;--tab-hover:#3b8fcc;--border:#555;--text:#e8e8e8;--muted:#b0b0b0;--accent:#2e9e4f;--accent-hover:#37b85d;--ok:#6fcf6f;--over:#e05252;--warning:#e0b050;--field:#3a3a3a;--radius:6px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif,GT7LivMan JP;font-size:15px}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;margin:0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 8px;display:flex}.brand{flex-wrap:wrap;align-items:center;gap:4px 16px;min-width:0;display:flex}.logo-link{line-height:0}.logo{width:auto;max-width:100%;height:44px}.tagline{color:var(--muted);margin:0;font-size:15px;font-weight:500}.language{color:#d0d0d0;align-items:center;gap:10px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:6px;padding:0 16px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--border);background:var(--tab);color:#d8d8d8;min-width:min(245px,45vw);font:inherit;cursor:pointer;border-bottom:none;border-radius:7px 7px 0 0;flex:none;padding:12px 28px;font-size:17px;font-weight:600}.tabs button[aria-selected=true]{background:var(--tab-active);color:#fff}.tabs button:hover{background:var(--tab-hover);color:#fff}main{flex:1;display:flex}.tab-panel{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.support{flex-direction:column;gap:10px;margin-top:28px;display:flex}.tab-panel.dragging .preview{outline:2px dashed var(--tab-hover);outline-offset:-8px}.panel{flex-direction:column;padding:16px;display:flex;overflow-y:auto}.preview{background:var(--surface);border-radius:4px;min-height:320px;margin:16px 16px 16px 0;padding:24px;display:flex}#panel-vinyl .preview{background:repeating-conic-gradient(#333 0% 25%,#3c3c3c 0% 50%) 0 0/24px 24px}.preview-canvas{color:var(--muted);text-align:center;flex:1;justify-content:center;align-items:center;display:flex}.preview-canvas svg{width:min(75%,640px);height:auto;max-height:55vh}.caption{color:var(--muted);margin:0 0 4px;display:block}.fields{flex-direction:column;display:flex}.field{margin-bottom:10px}.field select+.caption{margin-top:8px}select,input[type=text]{border:1px solid var(--border);background:var(--field);width:100%;color:var(--text);font-family:inherit;font:inherit;border-radius:4px;padding:6px 8px}.language select{width:130px}#template-select{margin-bottom:12px;font-size:16px}.value{font-size:20px}input.value{text-transform:uppercase;letter-spacing:.04em}button{font:inherit;cursor:pointer}button.secondary{border:1px solid var(--border);color:var(--text);background:#444;border-radius:4px;padding:8px 10px}button.secondary:hover{background:#505050}button.export{background:var(--accent);color:#fff;border:0;border-radius:4px;margin-top:16px;padding:10px;font-size:15px;font-weight:700}button.export:hover:not(:disabled){background:var(--accent-hover)}button.export:disabled{opacity:.4;cursor:default}:focus-visible{outline:2px solid var(--tab-hover);outline-offset:2px}hr{border:0;border-top:1px solid var(--border);width:100%;margin:16px 0}.size{min-height:1.4em;color:var(--ok);font-size:18px;font-weight:700}.size.over{color:var(--over)}.status,.hint{color:var(--muted);margin:10px 0 0}.hint{font-size:13px}.status.error{color:var(--over)}.note{color:var(--muted);margin:10px 0 0;font-size:13px}.note.success{color:var(--ok)}.raster-controls{flex-direction:column;margin-top:16px;display:flex}.raster-controls input[type=range]{width:100%;accent-color:var(--tab-active);margin-bottom:12px}.warnings{color:var(--warning);margin:12px 0 0;padding:0;font-size:12px;list-style:none}.warnings li{margin-bottom:6px}.plate-note{font-size:12px}.about{color:#cfcfcf;max-width:960px;margin:8px auto 0;padding:24px 16px 8px;line-height:1.6}.about h2{color:var(--text);margin:28px 0 8px;font-size:20px}.about h3{color:var(--text);margin:16px 0 4px;font-size:16px}.about p,.about ol,.about ul{margin:0 0 8px}.plate-list{columns:2 260px}.about a{color:#9ab8d6}.breadcrumb{color:#8a8a8a;margin:0 0 8px;font-size:13px}.plate-disclaimer{border-left:3px solid var(--warning);background:#2a2618;border-radius:4px;padding:12px 14px;margin-top:12px!important}.disclaimer{color:#8a8a8a;font-size:13px;margin-top:24px!important}.footer{color:#8a8a8a;border-top:1px solid #333;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px;padding:20px 16px 18px;font-size:12px;display:flex}.kofi{color:#fff;white-space:nowrap;background:#e53935;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 4px 14px #e5393559}.kofi:hover{background:#f44336;transform:translateY(-1px)}.legal-links{text-align:center;flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.legal-links button{color:#9ab8d6;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.legal-dialog{border:1px solid var(--border);background:var(--surface);width:min(640px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--text);border-radius:8px;padding:24px;line-height:1.5}.legal-dialog::backdrop{background:#0009}.legal-dialog h2{margin-top:0}.legal-dialog h3{margin:18px 0 4px;font-size:15px}.legal-dialog p{color:#cfcfcf;margin:0}.legal-dialog button{margin-top:20px}.export-counter{border:1px solid var(--border);background:var(--surface);color:var(--muted);text-align:center;border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;font-size:12px;display:flex}.export-counter strong{color:var(--ok);font-size:14px}@media (width<=720px){.tab-panel{grid-template-columns:minmax(0,1fr)}.preview{order:-1;min-height:180px;margin:16px 16px 0;padding:12px}.tabs{padding:0 8px}.logo{height:28px}.tagline{font-size:13px}.tabs button{flex:1 1 0;min-width:0;padding:10px 6px;font-size:14px}}
