:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#18263f;background:#f2f5fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #83b3ff;outline-offset:2px}a{color:#315caa}.topbar{height:58px;background:#fff;border-bottom:1px solid #e0e6f1;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,40px);gap:12px}.brand{color:#19304f;text-decoration:none;font-size:16px}.brand strong{font-weight:800}.brand-divider{color:#a5afc1;padding:0 7px}.top-tag{color:#6c7b94;font-size:12px}.studio{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);min-height:calc(100vh - 116px);gap:16px;padding:16px;max-width:1700px;margin:auto}.settings,.workspace{background:#fff;border:1px solid #e0e6f1;border-radius:17px;box-shadow:0 8px 28px #132a5420}.settings{padding:22px;overflow:auto}.intro h1{margin:0;font-size:24px;letter-spacing:-.8px}.intro p{margin:8px 0 18px;color:#64748b;font-size:13px;line-height:1.55}.tabs{display:flex;padding:4px;border-radius:12px;background:#edf2f9;gap:2px;margin-bottom:18px}.tab{background:transparent;border:0;border-radius:9px;padding:10px 6px;flex:1;color:#607087;font-weight:650;font-size:12px}.tab.active{background:white;color:#1859b7;box-shadow:0 1px 5px #15335a1c}.panel label,.parameter label{display:block;font-size:13px;font-weight:700;color:#32425c;margin:0 0 9px}textarea,select,.field-grid input{width:100%;background:#fcfdff;border:1px solid #d5deec;border-radius:10px;color:#173049;padding:12px}textarea{resize:vertical;min-height:170px;line-height:1.65;font-family:"SFMono-Regular",Consolas,monospace;font-size:13px}select{font-size:13px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}.field-grid label{font-size:12px;color:#64748b;margin-bottom:6px}.field-grid input{font-family:Consolas,monospace;font-size:13px}small,.help p{font-size:12px;line-height:1.7;color:#61718a;display:block;margin:10px 0}code{background:#eef3f9;border-radius:3px;padding:1px 3px;font-size:11px}.hidden{display:none}.subtle-btn{background:#edf3fb;border:1px solid #d6e3f5;color:#24508a;border-radius:9px;padding:9px 11px;font-size:12px;font-weight:650}.parameter{margin-top:20px;padding:15px 0;border-top:1px solid #e4eaf3}.parameter-title{display:flex;justify-content:space-between;align-items:center}.parameter-title output{font-size:13px;font-variant-numeric:tabular-nums;color:#265ca1;font-weight:800}.parameter input{width:100%;accent-color:#2069c6}.actions{display:flex;gap:9px}.primary{background:#2563c6;border:1px solid #2563c6;color:white;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:700;flex:1}#status{font-size:12px;line-height:1.55;color:#45617f;background:#f3f7fc;border-radius:8px;padding:10px 12px;min-height:36px}.help{font-size:12px;color:#526b88}.help summary{cursor:pointer;font-weight:600}.workspace{display:flex;flex-direction:column;overflow:hidden;min-width:0}.graph-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;border-bottom:1px solid #e4eaf3}.graph-toolbar>span{font-size:13px;font-weight:750;white-space:nowrap}.graph-buttons{display:flex;gap:5px;flex-wrap:wrap}.graph-buttons button{border:1px solid #d9e3f0;background:#f8fafd;color:#345574;min-width:34px;padding:7px 8px;border-radius:8px;font-size:12px;font-weight:700}.canvas-wrap{position:relative;flex:1;min-height:480px;background:#fff;touch-action:none;cursor:grab}.canvas-wrap:active{cursor:grabbing}#graph-canvas{display:block;width:100%;height:100%}.workspace-foot{display:flex;justify-content:space-between;gap:10px;padding:11px 16px;border-top:1px solid #e4eaf3;color:#64748b;font-size:11px}.export-note{margin:0 16px 14px;color:#75839a;font-size:11px;line-height:1.55}footer{height:40px;font-size:11px;color:#728199;padding:11px 20px;text-align:center}@media(max-width:900px){.studio{grid-template-columns:1fr}.settings{order:1}.workspace{order:2}.canvas-wrap{height:min(70vh,650px);min-height:430px}.top-tag{display:none}}@media(max-width:480px){.studio{padding:8px;gap:10px}.settings{padding:15px}.intro h1{font-size:22px}.graph-toolbar{height:auto;min-height:60px;padding:10px;flex-wrap:wrap}.canvas-wrap{min-height:380px}.tab{font-size:11px}.workspace-foot{flex-direction:column;gap:2px}footer{height:auto}}
/* Object editor */
.tabs{flex-wrap:wrap}
.tab{min-width:calc(25% - 4px);padding:9px 4px}
.drawing-extras{border-top:1px solid #e4eaf3;margin-top:18px;padding-top:17px}
#points-input{min-height:72px;font-size:12px}
.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px;margin:16px 0}
.options-grid label{font-size:12px;font-weight:550;display:flex;gap:6px;align-items:center;margin:0}
.options-grid input{accent-color:#2563c6}
.objects-head{border-top:1px solid #e6ebf3;padding-top:13px;margin:16px 0 9px}
.objects-head strong{font-size:13px}
.objects-head small{margin:2px 0}
.objects-list{display:grid;gap:6px}
.object-row{display:grid;grid-template-columns:18px minmax(0,1fr) 32px;gap:7px;align-items:center;background:#f7f9fd;padding:7px 9px;border:1px solid #e9eef5;border-radius:9px}
.object-row label{margin:0;display:block;font-weight:500;font-size:12px;overflow-wrap:anywhere}
.object-row input[type=checkbox]{accent-color:#2563c6}
.object-row input[type=color]{height:25px;width:29px;padding:0;border:0;background:transparent;cursor:pointer}
.canvas-wrap.is-label-drag{cursor:move}
@media(max-width:480px){.options-grid{grid-template-columns:1fr 1fr}.tab{font-size:11px}}
