:root{color-scheme:dark;--bg:#10151d;--surface:#19212d;--border:#344153;--text:#edf2f8;--muted:#aeb9c9;--accent:#ff9a50;--good:#80cbbb;--red:#ff9b9b;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--border);background:#263344;color:var(--text);padding:.65rem .8rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;line-height:1.3}button:hover{background:#34445a;border-color:#76869a}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#23170c;border-color:var(--accent)}button.primary:hover{background:#ffb477}button.danger{color:var(--red);background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffd7b6;outline-offset:3px}a{color:#ffa45f;text-decoration:none}a:hover{text-decoration:underline}p{line-height:1.55}h1{font-size:1.65rem;letter-spacing:-.04em;margin:0}h2{font-size:1.15rem}h3{font-size:1rem;margin:.9rem 0 .6rem}.top{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--border);padding:1rem 2rem;background:#151c26}.brand{display:flex;align-items:center;gap:.8rem;color:var(--text)}.brand:hover{text-decoration:none}.brand strong{font-size:1.25rem;font-weight:700;letter-spacing:-.04em}.brand small{display:block;font-size:.75rem;letter-spacing:.14em;color:var(--muted);margin-top:.2rem}.mark{font-size:2rem;line-height:1;background:var(--accent);color:#19212d;padding:.42rem .6rem;border-radius:3px}.top nav{display:flex;gap:.4rem}.nav{border-color:transparent;background:transparent;color:var(--muted);padding:.8rem 1.1rem}.nav.active{color:var(--accent);background:#2c2928;border-color:#765039}.version{color:var(--muted);font-size:.75rem;letter-spacing:.12em}main{padding:0 1.5rem 1.5rem;max-width:1900px;margin:auto}.workbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.65rem 0}.workbar p{color:var(--muted);margin:.5rem 0 0;font-size:.875rem}.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.workspace{display:grid;grid-template-columns:280px minmax(300px,1fr) 255px;gap:1rem;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:1.1rem}.section-label{font-size:.75rem;color:var(--accent);letter-spacing:.12em;font-weight:700;margin-bottom:1rem}.generator-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.2rem}.generator-tabs button{padding:.5rem .65rem;background:transparent}.generator-tabs button.active{background:#3a342e;border-color:var(--accent);color:var(--accent)}label{display:block;font-size:.875rem;line-height:1.4;color:var(--muted);margin-bottom:.85rem}input:not([type=range]),select{width:100%;color:var(--text);background:#0f1722;border:1px solid var(--border);border-radius:5px;min-height:41px;padding:.55rem .6rem;margin-top:.35rem;font-size:1rem}input[type=checkbox]{min-height:0;width:auto;margin-right:.5rem}select{font-size:.875rem}.row{display:grid;gap:.65rem}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr 1fr 1fr}.row button{align-self:end}.separator{height:1px;background:var(--border);margin:1.3rem 0}.wide{width:100%;margin:.25rem 0}.note{font-size:.875rem;line-height:1.55;color:var(--muted)}.inline{display:flex;gap:.4rem;align-items:center;margin:0}.inline select{width:auto;margin:0;font-size:.875rem;min-height:36px}.board-tools{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.875rem;flex-wrap:wrap}.board-tools strong{font-weight:600}.board-tools span{margin-left:1rem;color:var(--muted)}.board-tools button{padding:.5rem .65rem}.board-wrap{border:1px solid #45566d;position:relative;background:#e8edf1;aspect-ratio:7/5;min-height:300px;overflow:hidden;border-radius:7px;box-shadow:0 8px 32px #0002}.board-wrap svg{width:100%;height:100%;display:block;touch-action:none}.board-hint{position:absolute;bottom:0;left:0;right:0;padding:.55rem .8rem;background:#d6dfe8db;color:#4c5d6f;font-size:.75rem;letter-spacing:.06em;pointer-events:none}.part{cursor:grab}.part:active{cursor:grabbing}.part path{fill:#9bacc224;stroke:#315579;vector-effect:non-scaling-stroke;stroke-width:1.2}.part.selected path{fill:#ff9a503b;stroke:#c06222;stroke-width:1.5}.part text{pointer-events:none;font-family:Segoe UI,Arial,sans-serif;fill:#45586d;font-size:4px}.part.selected text{fill:#854516}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:7px;overflow:hidden;margin:1rem 0}.metrics>div{padding:.85rem 1rem;background:#18212d;border-right:1px solid var(--border)}.metrics>div:last-child{border:0}.metrics small{font-size:.75rem;color:var(--muted);display:block;margin-bottom:.4rem}.metrics b{font-size:1.1rem;font-weight:600}.checks{margin-bottom:.8rem}.checks strong{font-size:.875rem;color:var(--good)}.checks.error strong{color:var(--red)}.checks p{font-size:.875rem;margin:.5rem 0 0;color:var(--muted)}.checks.error p{color:var(--red)}.generator-info p{font-size:.875rem;margin:.35rem 0;color:var(--muted)}#selected-name{margin:.7rem 0 .4rem}.mesh-workspace{display:grid;grid-template-columns:300px minmax(300px,1fr);gap:1rem;max-width:1450px;margin:auto}.mesh-canvas-wrap{height:520px;background:radial-gradient(ellipse at center,#29394b,#101821);border:1px solid var(--border);border-radius:9px;position:relative;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}.mesh-hint{position:absolute;bottom:1rem;left:1.2rem;font-size:.75rem;color:var(--muted);letter-spacing:.09em;pointer-events:none}#slice-range{width:100%;accent-color:var(--accent);margin:0 0 1rem}.slice-preview{margin-top:1rem}.slice-preview svg{width:100%;height:160px;background:#e8edf1;border-radius:5px}.research{max-width:1050px;margin:2.5rem auto;line-height:1.7}.research h1{font-size:2.4rem;line-height:1.2}.research h2{font-size:1.4rem;margin-top:2.5rem}.research .lead{font-size:1.15rem;color:#c4cfdd;border-left:3px solid var(--accent);padding-left:1.25rem}.research table{border-collapse:collapse;width:100%;font-size:.875rem}.research th{text-align:left;color:var(--accent);background:#233041}.research td,.research th{padding:.9rem;border:1px solid var(--border);vertical-align:top}.research code{color:#ffb178;background:#253041;padding:.15rem .4rem;border-radius:3px}.research .table-scroll{overflow:auto}.research li{margin:.6rem 0}footer{display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap;margin:1rem 1.5rem 1.5rem;border-top:1px solid var(--border);padding-top:1.2rem;color:var(--muted);font-size:.75rem}#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:10;background:#f4ede5;color:#251c15;padding:1rem 1.4rem;border-radius:7px;box-shadow:0 8px 40px #0006;max-width:90vw;line-height:1.5;border-left:4px solid var(--accent)}[hidden]{display:none!important}
@media(min-width:1650px){.workspace{grid-template-columns:310px minmax(500px,1fr) 280px}.board-wrap{min-height:540px}}@media(max-width:1250px){.workspace{grid-template-columns:255px minmax(300px,1fr)}.right{grid-column:1/-1}.right #selection-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1rem}.right .separator{display:none}.right #selection-editor h2,.right #selection-editor h3,.right #selection-editor p{grid-column:1/-1}.workbar{align-items:flex-start;flex-direction:column}.version{display:none}.board-tools .inline{display:none}}@media(max-width:760px){.top{padding:1rem;flex-wrap:wrap;gap:1rem}.top nav{width:100%;justify-content:space-between}.nav{padding:.6rem}.workspace,.mesh-workspace{display:flex;flex-direction:column}.workspace>.panel,.workspace>.board-column,.mesh-workspace>*{width:100%}main{padding:0 .8rem 1rem}.workbar{padding:1.2rem 0}.workbar h1{font-size:1.45rem}.left{order:0}.board-column{order:1}.right{order:2}.left #fields{display:grid;grid-template-columns:1fr 1fr;gap:0 .75rem}.board-wrap{min-height:270px}.right #selection-editor{display:block}.metrics>div{padding:.8rem}.metrics b{font-size:1rem}.research h1{font-size:1.9rem}.mesh-canvas-wrap{height:360px}.top .brand{flex:1}.research{margin:1rem auto}.research td,.research th{min-width:150px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
