*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f0e8;--bg-card:#faf7f2;--border:#e0d9cc;--text-primary:#1a1814;--text-secondary:#6b6456;--accent:#c96a2e;--accent-light:#f0e6d9;--accent-hover:#a85520;--code-bg:#1e1c18;--code-text:#f0e6d9;--font-display:"Playfair Display", serif;--font-body:"DM Sans", sans-serif}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.hero{border-bottom:1px solid var(--border);padding:5rem 0 3rem}.hero-tag{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:2px;margin-bottom:1.5rem;padding:.3rem .8rem;font-size:.7rem;font-weight:500;display:inline-block}.hero h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.2rem;font-size:clamp(2.8rem,6vw,4.5rem);font-weight:700;line-height:1.1}.hero h1 span{color:var(--accent)}.hero-desc{color:var(--text-secondary);max-width:560px;margin-bottom:2.5rem;font-size:1.05rem;font-weight:300}.hero-points{flex-wrap:wrap;gap:2rem;display:flex}.hero-point{color:var(--text-secondary);align-items:flex-start;gap:.6rem;max-width:200px;font-size:.88rem;display:flex}.hero-point-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:.45rem}.tool-section{padding:3.5rem 0}.tool-grid{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=768px){.tool-grid{grid-template-columns:1fr}}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:2rem}.panel-title{font-family:var(--font-display);color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.1rem;font-weight:600}.form-group{margin-bottom:1.3rem}.form-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem;font-size:.78rem;font-weight:500;display:block}.form-input,.form-textarea,.form-select{background:var(--bg);border:1px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text-primary);border-radius:3px;outline:none;padding:.7rem .9rem;font-size:.92rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:100px}.form-select option{background:var(--bg-card)}.generate-btn{background:var(--accent);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;letter-spacing:.03em;border:none;border-radius:3px;margin-top:.5rem;padding:.85rem;font-size:.92rem;font-weight:500;transition:background .2s,transform .1s}.generate-btn:hover{background:var(--accent-hover)}.generate-btn:active{transform:scale(.99)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.output-panel{min-height:400px}.empty-state{height:300px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex}.empty-icon{opacity:.3;font-size:2.5rem}.empty-state p{max-width:200px;font-size:.88rem;line-height:1.5}.loading-state{height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.diagram-section{margin-bottom:1.5rem}.diagram-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem;font-size:.78rem;font-weight:500}.diagram-flow{flex-direction:column;gap:0;display:flex}.diagram-step{align-items:flex-start;gap:1rem;display:flex;position:relative}.step-connector{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.step-circle{background:var(--accent-light);border:1.5px solid var(--accent);width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.step-line{background:var(--border);flex:1;width:1.5px;min-height:24px;margin:2px 0}.step-content{flex:1;padding-bottom:1.2rem}.step-name{color:var(--text-primary);margin-bottom:.2rem;font-size:.88rem;font-weight:500}.step-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.step-safety{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-light);color:var(--accent);border-radius:2px;margin-top:.3rem;padding:.15rem .5rem;font-size:.65rem;font-weight:500;display:inline-block}.code-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.code-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.code-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:.78rem;font-weight:500}.code-actions{gap:.5rem;display:flex}.code-btn{background:var(--bg);border:1px solid var(--border);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;border-radius:2px;padding:.3rem .7rem;font-size:.75rem;transition:all .2s}.code-btn:hover{border-color:var(--accent);color:var(--accent)}.code-block{background:var(--code-bg);border-radius:3px;max-height:280px;padding:1.2rem;overflow:auto}.code-block pre{color:var(--code-text);white-space:pre;font-family:Courier New,monospace;font-size:.78rem;line-height:1.6}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-secondary);padding:2rem 0;font-size:.8rem}
