:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:#1a1a1a;background:#f4f5f7;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}:root{--ui-bg:#f1eee7;--ui-chrome:#fff;--ui-panel:#fff;--ui-input:#fff;--ui-ink:#1c1b22;--ui-muted:#5d5b6b;--ui-faint:#8a879a;--ui-fill:#f3f1ec;--ui-fill-strong:#e8e4da;--ui-line:#d9d4c8;--ui-line-soft:#e8e4da;--ui-accent:#6c4cf5;--ui-accent-hover:#5a3ad8;--ui-accent-ink:#fff;--ui-accent-soft:#6c4cf51f;--ui-ok:#0f8f6c;--ui-bad:#c0392b;--ui-font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif}:root[data-theme=dark]{--ui-bg:#0e0d14;--ui-chrome:#1b1a25;--ui-panel:#1f1e2b;--ui-input:#15141d;--ui-ink:#f3f1f8;--ui-muted:#b4b1c4;--ui-faint:#8683a0;--ui-fill:#262534;--ui-fill-strong:#302f42;--ui-line:#3a3850;--ui-line-soft:#2c2a3a;--ui-accent:#8d73ff;--ui-accent-hover:#a08aff;--ui-accent-ink:#14111f;--ui-accent-soft:#8d73ff38;--ui-ok:#2fd6ab;--ui-bad:#ff7d6a}.app{color:var(--ui-ink);font-family:var(--ui-font);background:var(--ui-bg)}:root[data-theme=dark] .app{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.feedback-panel{color:var(--ui-ink);font-family:var(--ui-font)}.feedback-panel input,.feedback-panel textarea{color:var(--ui-ink);background:var(--ui-input)}.app input,.app select,.app textarea,.app button{font-family:inherit}.app input,.app select,.app textarea{color:var(--ui-ink);background-color:var(--ui-input)}.app select{border:1px solid var(--ui-line);border-radius:6px;padding:3px 4px}.app{flex-direction:column;height:100vh;display:flex}.app-header{background:var(--ui-chrome);color:var(--ui-ink);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px 24px;padding:12px 20px;display:flex}.app-header h1{white-space:nowrap;margin:0;font-size:18px;font-weight:600}.home-link{color:var(--ui-faint);white-space:nowrap;font-size:13px;text-decoration:none}.home-link:hover{color:var(--ui-accent-ink)}.generator-tabs{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.tab-group{align-items:center;gap:8px;display:flex}.tab-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ui-faint);white-space:nowrap;font-size:11px}.tab-divider{background:var(--ui-line);width:1px;height:20px;margin-right:2px}.tab{border:1px solid var(--ui-line);color:var(--ui-ink);cursor:pointer;white-space:nowrap;background:0 0;border-radius:9px;padding:6px 14px;font-size:14px}.tab.active{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-ink)}.app-body{flex:1;min-height:0;display:flex}.sidebar{background:var(--ui-panel);border-right:1px solid var(--ui-line-soft);flex-shrink:0;width:280px;padding:16px;overflow-y:auto}.sidebar .description{color:var(--ui-faint);margin-bottom:16px;font-size:13px}.field-group{border:1px solid var(--ui-line-soft);border-radius:8px;margin:0 0 14px;padding:10px 12px 14px}.field-group legend{text-transform:uppercase;letter-spacing:.04em;color:var(--ui-muted);padding:0 4px;font-size:12px;font-weight:600}.field{color:var(--ui-ink);justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:13px;display:flex}.field input[type=number],.field input[type=text]{border:1px solid var(--ui-line);border-radius:4px;width:110px;padding:4px 6px;font-size:13px}.field-textarea{flex-direction:column;align-items:stretch}.field-textarea textarea{border:1px solid var(--ui-line);resize:vertical;border-radius:4px;padding:6px;font-family:inherit;font-size:13px}.field-hint{color:var(--ui-faint);margin:4px 0 0;font-size:11px}.field-hint.field-error{color:var(--ui-bad)}.field-checkbox{justify-content:flex-start}.field-checkbox input{order:-1;margin-right:8px}.field-color input{border:1px solid var(--ui-line);border-radius:4px;width:40px;height:26px;padding:0}.label-row{align-items:center;gap:6px;margin:6px 0;display:flex}.label-row input[type=text]{border:1px solid var(--ui-line);border-radius:4px;flex:1;padding:4px 6px;font-size:13px}.remove-label-button{border:1px solid var(--ui-line);background:var(--ui-panel);cursor:pointer;width:24px;height:24px;color:var(--ui-bad);border-radius:4px;flex-shrink:0;font-size:14px;line-height:1}.remove-label-button:hover{background:var(--ui-fill)}.add-label-button{background:var(--ui-fill);border:1px dashed var(--ui-line);cursor:pointer;border-radius:6px;width:100%;margin-top:4px;padding:6px;font-size:13px}.add-label-button:hover{background:var(--ui-fill-strong)}.field-group .hint{color:var(--ui-faint);margin:8px 0 0;font-size:11px}.plot-row{align-items:center;gap:5px;margin:6px 0;display:flex}.plot-num{border:1px solid var(--ui-line);border-radius:4px;width:42px;min-width:0;padding:4px 5px;font-size:12px}.plot-arrow{color:var(--ui-faint);font-size:12px}.plot-y-equals{color:var(--ui-ink);flex-shrink:0;font-family:Times New Roman,Times,serif;font-size:13px;font-style:italic}.plot-row input[type=color]{border:1px solid var(--ui-line);border-radius:4px;flex-shrink:0;width:26px;height:24px;padding:0}.plot-label{border:1px solid var(--ui-line);border-radius:4px;flex:1;min-width:0;padding:4px 6px;font-size:12px}.plot-extend-toggle{color:var(--ui-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}.line-item{border:1px solid var(--ui-line-soft);background:var(--ui-fill);border-radius:6px;margin:8px 0;padding:6px 8px}.plot-cap-label{color:var(--ui-muted);align-items:center;gap:4px;font-size:12px;display:flex}.plot-select{border:1px solid var(--ui-line);background:var(--ui-panel);border-radius:4px;padding:3px 4px;font-size:12px}.reset-button{background:var(--ui-fill);border:1px solid var(--ui-line);cursor:pointer;border-radius:6px;width:100%;padding:8px;font-size:13px}.reset-button:hover{background:var(--ui-fill-strong)}.preview-area{flex-direction:column;flex:1;min-width:0;display:flex}.preview-toolbar{background:var(--ui-panel);border-bottom:1px solid var(--ui-line-soft);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 16px;padding:10px 20px;display:flex}.dimensions{color:var(--ui-faint);font-size:13px}.transparent-toggle{color:var(--ui-muted);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.export-buttons{gap:8px;margin-left:auto;display:flex}.export-buttons button{border:1px solid var(--ui-accent);background:var(--ui-accent);color:var(--ui-accent-ink);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px}.export-buttons button:hover{background:var(--ui-accent-hover)}.preview-canvas-wrap{background:var(--ui-bg);flex:1;justify-content:center;align-items:flex-start;padding:24px;display:flex;overflow:auto}.preview-svg{max-width:100%;height:auto;box-shadow:0 2px 12px #0000001f}.preview-svg.transparent-preview{background-image:linear-gradient(45deg,#ccc 25%,#0000 25%),linear-gradient(-45deg,#ccc 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ccc 75%),linear-gradient(-45deg,#0000 75%,#ccc 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.feedback-widget{z-index:1000;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.feedback-button{background:var(--ui-accent);color:var(--ui-accent-ink);cursor:pointer;border:none;border-radius:24px;padding:10px 18px;font-size:14px;font-weight:600;box-shadow:0 4px 14px #00000040}.feedback-button:hover{background:var(--ui-accent-hover)}.feedback-panel{background:var(--ui-panel);border:1px solid var(--ui-line-soft);border-radius:10px;width:300px;padding:14px;font-size:13px;box-shadow:0 10px 30px #0003}.feedback-panel-header{color:var(--ui-ink);justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;display:flex}.feedback-close{cursor:pointer;color:var(--ui-faint);background:0 0;border:none;padding:0 0 0 8px;font-size:18px;line-height:1}.feedback-close:hover{color:var(--ui-ink)}.feedback-textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--ui-line);border-radius:6px;width:100%;margin-bottom:8px;padding:8px;font-family:inherit;font-size:13px}.feedback-email-input{box-sizing:border-box;border:1px solid var(--ui-line);border-radius:6px;width:100%;margin-bottom:10px;padding:7px 8px;font-family:inherit;font-size:13px}.feedback-error{color:var(--ui-bad);margin:0 0 8px}.feedback-submit{background:var(--ui-accent);width:100%;color:var(--ui-accent-ink);cursor:pointer;border:none;border-radius:6px;padding:8px;font-size:13px;font-weight:600}.feedback-submit:disabled{opacity:.5;cursor:default}.feedback-thanks{color:var(--ui-ok);margin:0}.size-panel{background:var(--ui-panel);border-bottom:1px solid var(--ui-line-soft);color:var(--ui-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 20px;font-size:13px;display:flex}.size-panel input[type=number]{width:64px}.size-panel button{border:1px solid var(--ui-accent);background:var(--ui-panel);color:var(--ui-accent);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:13px}.size-panel button:hover{background:var(--ui-accent-soft)}.size-warning{color:var(--ui-bad)}.page-sheet{box-sizing:border-box;background:#fff;flex:none;position:relative;box-shadow:0 2px 12px #0000002e}.page-sheet:before{content:"";pointer-events:none;border:1px dashed #b8bfd0;position:absolute;inset:72px}.page-sheet .preview-svg{box-shadow:none;outline:1px solid #dde1e7;display:block}.preview-svg{color:#000}.app-header{border-bottom:1px solid var(--ui-line-soft)}.app-header h1{letter-spacing:-.02em;font-weight:800}.home-wordmark{color:var(--ui-ink);letter-spacing:-.03em;font-size:1.25rem;font-weight:800;text-decoration:none}.home-wordmark span{background:linear-gradient(var(--ui-chrome), var(--ui-chrome)) padding-box, linear-gradient(135deg, #ff6b57, #6c4cf5) border-box;color:#0000;vertical-align:-.02em;border:.17em solid #0000;border-radius:50%;width:.62em;height:.62em;margin-right:.04em;display:inline-block;overflow:hidden}.tab:hover,.theme-button:hover{border-color:var(--ui-accent)}.theme-button{border:1px solid var(--ui-line);width:34px;height:32px;color:var(--ui-ink);cursor:pointer;background:0 0;border-radius:9px;place-items:center;margin-left:auto;padding:0;display:grid}:root[data-theme=dark] .theme-button .icon-sun,:root:not([data-theme=dark]) .theme-button .icon-moon{display:none}.home{flex-direction:column;min-height:100vh;display:flex}.home-header{color:#fff;text-align:center;background:#1f2430;padding:40px 20px 32px}.home-header h1{margin:0;font-size:28px;font-weight:600}.home-header p{color:#a9afc0;margin:8px 0 0;font-size:15px}.home-main{flex:1;padding:40px 20px}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:900px;margin:0 auto;display:grid}.tool-card{color:inherit;background:#fff;border:1px solid #dde1e7;border-radius:10px;padding:20px 22px;text-decoration:none;transition:box-shadow .12s,border-color .12s;display:block;box-shadow:0 1px 3px #0000000a}.tool-card:hover{border-color:#4f6df5;box-shadow:0 4px 16px #4f6df526}.tool-card-header{align-items:center;gap:8px;display:flex}.tool-card-header h2{color:#1f2430;margin:0;font-size:17px;font-weight:600}.tool-badge{text-transform:uppercase;letter-spacing:.04em;color:#a15c00;background:#fff3dc;border:1px solid #f0d4a0;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:700}.tool-description{color:#556;margin:8px 0 0;font-size:13px;line-height:1.5}.tool-warning{color:#a15c00;background:#fff8ec;border:1px solid #f0d4a0;border-radius:6px;margin:10px 0 0;padding:6px 9px;font-size:12px;line-height:1.4}
