:root{--color-fg: #1a1a1a;--color-bg: #ffffff;--color-accent: #0066ff;--color-border: #e5e5e5;--color-error: #d32f2f;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, Consolas, monospace;--max-width: 1200px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);color:var(--color-fg);background:var(--color-bg);line-height:1.6}h1{font-size:2rem;margin:0 0 var(--space-md)}h2{font-size:1.5rem;margin:var(--space-lg) 0 var(--space-sm)}h3{font-size:1.25rem;margin:var(--space-md) 0 var(--space-sm)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:1rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:4px}button:hover{border-color:var(--color-fg)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:4px;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-md) 0}.site-header .container{display:flex;justify-content:space-between;align-items:center}.site-header a.brand{font-weight:700;font-size:1.25rem;color:var(--color-fg)}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-lg) 0;margin-top:var(--space-xl);font-size:.875rem;text-align:center}.tool-page{padding:var(--space-lg) 0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}@media (max-width: 768px){.tool-grid{grid-template-columns:1fr}}.tool-section{border:1px solid var(--color-border);border-radius:8px;padding:var(--space-md)}.preview-canvas-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--space-md);background:#fafafa;border-radius:4px;min-height:320px}.preview-canvas-wrapper canvas,.preview-canvas-wrapper svg{max-width:100%;height:auto}.type-picker{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.type-picker button{flex:1 1 auto;min-width:80px}.type-picker button.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.input-form .field{margin-bottom:var(--space-md)}.input-form .field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--space-xs)}.input-form .field .error{color:var(--color-error);font-size:.75rem;margin-top:var(--space-xs)}.customization-panel{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.customization-panel .row{display:grid;grid-template-columns:100px 1fr;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-sm)}.download-buttons{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.download-buttons button{flex:1}.landing-hero{padding:var(--space-xl) 0;text-align:center}.landing-hero h1{font-size:2.5rem;margin-bottom:var(--space-md)}.landing-hero p{font-size:1.125rem;color:#555;max-width:640px;margin:0 auto var(--space-lg)}.landing-hero .cta{display:inline-block;background:var(--color-accent);color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:4px;font-weight:500}.landing-howto{padding:var(--space-lg) 0}.landing-howto ol{max-width:640px;margin:0 auto;padding-left:var(--space-lg)}.landing-faq{padding:var(--space-lg) 0;background:#fafafa}.landing-faq details{max-width:640px;margin:0 auto var(--space-sm);padding:var(--space-md);background:#fff;border:1px solid var(--color-border);border-radius:4px}.landing-faq summary{cursor:pointer;font-weight:500}.landing-faq details[open] summary{margin-bottom:var(--space-sm)}.landing-related{padding:var(--space-lg) 0}.landing-related ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-sm);list-style:none;padding:0}.landing-related li a{display:block;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:4px}
