@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg:#0d1117;--bg-2:#161b22;--bg-3:#1c2333;--surface:#21262d;--surface-2:#30363d;--text:#e6edf3;--text-soft:#8b949e;--text-faint:#6e7681;--line:#ffffff12;--line-strong:#ffffff21;--accent:#4f8ef7;--accent-soft:#4f8ef726;--accent-glow:#4f8ef740;--danger:#f85149;--success:#3fb950;--warning:#d29922;--glass-bg:#161b22d9;--glass-border:#ffffff14;--shadow-sm:0 4px 12px #00000026;--shadow-md:0 12px 40px #00000040;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--toolbar-w:72px;--library-w:290px;--inspector-w:320px;--layers-h:192px;--bar-h:64px;--bottom-h:86px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,sans-serif;font-size:16px;line-height:1.5;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}.app{background:var(--bg);width:100vw;height:100vh;position:relative;overflow:hidden}.hidden{display:none!important}.hl-root{background:#0a0e1a;flex-direction:column;font-family:Inter,sans-serif;display:flex;position:absolute;inset:0;overflow:hidden auto}.hl-bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#4f8ef708 1px,#0000 1px),linear-gradient(90deg,#4f8ef708 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0}.hl-bg-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#4f8ef714 0%,#0000 70%);width:700px;height:700px;position:fixed;top:-200px;left:-200px}.hl-nav{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0e1ad9;border-bottom:1px solid #ffffff0f;position:sticky;top:0}.hl-nav-inner{align-items:center;gap:32px;max-width:1280px;height:60px;margin:0 auto;padding:0 32px;display:flex}.hl-brand{color:#e6edf3;letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:10px;font-size:1rem;font-weight:700;display:flex}.hl-brand svg{color:#4f8ef7}.hl-brand-name{white-space:nowrap}.hl-nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.hl-nav-item{color:#8b949ee6;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:.875rem;font-weight:500;transition:color .14s,background .14s}.hl-nav-item:hover{color:#e6edf3;background:#ffffff0d}.hl-nav-item--active{position:relative;color:#4f8ef7!important}.hl-nav-item--active:after{content:"";background:#4f8ef7;border-radius:1px;height:2px;position:absolute;bottom:-2px;left:14px;right:14px}.hl-nav-icon{color:#8b949e;cursor:pointer;border:1px solid #ffffff1a;border-radius:50%;place-items:center;width:36px;height:36px;transition:color .14s,border-color .14s;display:grid}.hl-nav-icon:hover{color:#e6edf3;border-color:#fff3}.hl-hero{z-index:1;flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:0;width:100%;max-width:1280px;margin:0 auto;padding:48px 32px 32px;display:grid;position:relative}.hl-hero-left{flex-direction:column;gap:0;padding-right:40px;display:flex}.hl-pill{color:#8b949ee6;background:#4f8ef70f;border:1px solid #4f8ef740;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-bottom:20px;padding:5px 14px;font-size:.78rem;display:inline-flex}.hl-dot{background:#4f8ef7;border-radius:50%;flex-shrink:0;width:6px;height:6px}.hl-sep{color:#8b949e66}.hl-headline{letter-spacing:-.05em;color:#e6edf3;margin:0 0 18px;font-size:clamp(2.8rem,4.5vw,4.5rem);font-weight:800;line-height:1}.hl-accent-word{color:#4f8ef7}.hl-lead{color:#8b949ee6;max-width:38ch;margin:0 0 28px;font-size:1rem;line-height:1.65}.hl-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.hl-btn-primary{color:#fff;cursor:pointer;background:#4f8ef7;border:none;border-radius:10px;align-items:center;gap:8px;height:46px;padding:0 22px;font-size:.9rem;font-weight:600;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex;box-shadow:0 4px 20px #4f8ef759}.hl-btn-primary:hover{background:#6ba3f9;transform:translateY(-1px);box-shadow:0 6px 24px #4f8ef773}.hl-btn-primary:active{transform:translateY(0)}.hl-btn-ghost{color:#e6edf3;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:8px;height:46px;padding:0 22px;font-size:.9rem;font-weight:600;transition:transform .14s,background .14s,border-color .14s;display:inline-flex}.hl-btn-ghost:hover{background:#ffffff14;border-color:#ffffff2e;transform:translateY(-1px)}.hl-btn-ghost:active{transform:translateY(0)}.hl-autosave-link{color:#4f8ef7;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.85rem;font-weight:500;transition:opacity .14s;display:inline-flex}.hl-autosave-link:hover{opacity:.75}.hl-hero-right{justify-content:center;align-items:center;display:flex;position:relative}.hl-math-deco{pointer-events:none;z-index:0;width:120px;height:110px;position:absolute;top:-10px;right:-10px}.hl-math-text{color:#8b949e59;font-family:JetBrains Mono,monospace;font-size:.8rem;position:absolute}.hl-math-y{top:0;left:10px}.hl-math-x{bottom:30px;right:0}.hl-math-theta{top:35px;right:18px}.hl-math-eq{color:#8b949e40;font-size:.7rem;bottom:0;right:0}.hl-math-axes{width:100%;height:100%;position:absolute;inset:0}.hl-prism-deco{pointer-events:none;z-index:0;width:90px;height:100px;position:absolute;bottom:-20px;right:-30px}.hl-prism-deco svg{width:100%;height:100%}.hl-mockup{z-index:1;background:#101626f2;border:1px solid #ffffff1a;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 80px #0009,0 0 0 1px #4f8ef714}.hl-mockup-bar{background:#161d30e6;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:10px 14px;display:flex}.hl-mockup-dots{gap:5px;display:flex}.hl-mockup-dots span{background:#ffffff26;border-radius:50%;width:10px;height:10px}.hl-mockup-dots span:first-child{background:#ff5f57}.hl-mockup-dots span:nth-child(2){background:#febc2e}.hl-mockup-dots span:nth-child(3){background:#28c840}.hl-mockup-breadcrumb{color:#8b949eb3;flex:1;align-items:center;gap:5px;font-size:.72rem;display:flex}.hl-bc-sep{color:#8b949e59}.hl-bc-active{color:#e6edf3;font-weight:500}.hl-mockup-ctrl{color:#8b949e66;gap:10px;margin-left:auto;display:flex}.hl-mockup-body{grid-template-columns:1fr auto;gap:0;min-height:220px;padding:12px;display:grid}.hl-pendulum-wrap{background:#0a0e1acc;border-radius:10px;justify-content:center;align-items:center;min-height:180px;display:flex;overflow:hidden}.hl-data-panels{flex-direction:column;gap:6px;width:170px;padding-left:10px;display:flex}.hl-data-card{background:#161d30cc;border:1px solid #ffffff14;border-radius:8px;padding:8px 10px}.hl-data-label{color:#8b949e99;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:.65rem}.hl-data-value{color:#4f8ef7;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700}.hl-data-wave{opacity:.8;margin-top:4px}.hl-slider-track{background:#ffffff1a;border-radius:2px;height:4px;margin-top:6px;position:relative}.hl-slider-fill{background:#4f8ef7;border-radius:2px;height:100%;position:absolute;top:0;left:0}.hl-slider-thumb{background:#fff;border:2px solid #4f8ef7;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #4f8ef780}.hl-data-card--graph .hl-data-value{display:none}.hl-graph-wrap{height:70px;margin-top:4px}.hl-graph-wrap canvas{border-radius:4px}.hl-mockup-tabs{background:#161d30e6;border-top:1px solid #ffffff12;justify-content:space-around;align-items:center;padding:8px 10px;display:flex}.hl-tab{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:4px 8px;transition:background .14s;display:flex}.hl-tab:hover{background:#ffffff0d}.hl-tab-icon{color:#8b949e80;font-size:.85rem}.hl-tab-label{color:#8b949e80;white-space:nowrap;font-size:.6rem;font-weight:500}.hl-tab--active .hl-tab-icon,.hl-tab--active .hl-tab-label{color:#4f8ef7}.hl-features{z-index:1;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;max-width:1280px;margin:0 auto;padding:0 32px 24px;display:grid;position:relative}.hl-feature-card{background:#10162699;border:1px solid #ffffff12;border-radius:12px;align-items:flex-start;gap:14px;padding:18px;transition:background .2s,border-color .2s,transform .2s;display:flex}.hl-feature-card:hover{background:#161e34e6;border-color:#4f8ef733;transform:translateY(-2px)}.hl-feature-icon{color:#4f8ef7;background:#4f8ef71a;border:1px solid #4f8ef733;border-radius:9px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.hl-feature-title{color:#e6edf3;letter-spacing:-.02em;margin-bottom:5px;font-size:.9rem;font-weight:700}.hl-feature-desc{color:#8b949ecc;margin:0 0 8px;font-size:.78rem;line-height:1.55}.hl-learn-more{color:#4f8ef7;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.78rem;font-weight:500;transition:gap .14s,opacity .14s;display:inline-flex}.hl-learn-more:hover{gap:7px}.hl-footer{color:#8b949e80;z-index:1;border-top:1px solid #ffffff0d;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:.8rem;display:flex;position:relative}.btn{min-height:48px;transition:transform .14s var(--ease-out), background .14s var(--ease-out), box-shadow .14s var(--ease-out);will-change:transform;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-weight:700;display:inline-flex}.btn:focus-visible,.icon-btn:focus-visible,.tool-btn:focus-visible,.library-item:focus-visible,.layer-row:focus-visible,.field input:focus-visible,.field select:focus-visible,.toggle:focus-visible,.timeline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:hover,.icon-btn:hover,.tool-btn:hover,.library-item:hover,.layer-row:hover,.toggle:hover{transform:translateY(-1px)}.btn:active,.icon-btn:active,.tool-btn:active,.library-item:active{transform:translateY(0)}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow);border:1px solid #ffffff1a}.btn--ghost{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.btn[disabled],.icon-btn[disabled],.tool-btn[disabled]{cursor:not-allowed;opacity:.44;transform:none!important}.lm-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lm-modal{background:#0f1628;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:620px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 32px 80px #000000b3}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.lm-modal-header{border-bottom:1px solid #ffffff12;align-items:flex-start;gap:16px;padding:24px 24px 20px;display:flex;position:relative}.lm-modal-icon{border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.lm-modal-header-text{flex:1;min-width:0}.lm-modal-tag{text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.72rem;font-weight:600}.lm-modal-title{color:#e6edf3;letter-spacing:-.04em;margin:0 0 6px;font-size:1.4rem;font-weight:800}.lm-modal-lead{color:#8b949ee6;margin:0;font-size:.875rem;line-height:1.6}.lm-close-btn{color:#8b949e;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;transition:background .14s,color .14s;display:grid}.lm-close-btn:hover{color:#e6edf3;background:#ffffff1a}.lm-highlights{background:#ffffff0f;border-bottom:1px solid #ffffff12;grid-template-columns:1fr 1fr;gap:1px;display:grid}.lm-highlight-card{background:#0f1628;align-items:flex-start;gap:12px;padding:18px;transition:background .16s;display:flex}.lm-highlight-card:hover{background:#ffffff08}.lm-highlight-emoji{flex-shrink:0;margin-top:2px;font-size:1.4rem;line-height:1}.lm-highlight-label{letter-spacing:-.01em;margin-bottom:4px;font-size:.78rem;font-weight:700}.lm-highlight-text{color:#8b949ed9;margin:0;font-size:.78rem;line-height:1.55}.lm-modal-footer{align-items:center;gap:12px;padding:20px 24px;display:flex}.lm-cta-btn{color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 20px;font-size:.875rem;font-weight:700;transition:filter .14s,transform .14s;display:inline-flex}.lm-cta-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.lm-cancel-btn{color:#8b949eb3;cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;transition:color .14s}.lm-cancel-btn:hover{color:#e6edf3}.about-page{z-index:1;flex-direction:column;flex:1;width:100%;max-width:900px;margin:0 auto;padding:40px 32px 0;display:flex;position:relative}.about-back-btn{color:#8b949eb3;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0 0 24px;font-size:.85rem;transition:color .14s;display:inline-flex}.about-back-btn:hover{color:#e6edf3}.about-hero-top{justify-content:flex-start;width:100%;margin-bottom:24px;display:flex}.about-hero{text-align:center;border-bottom:1px solid #ffffff12;padding-bottom:48px}.about-hero-badge{color:#4f8ef7;background:#4f8ef712;border:1px solid #4f8ef74d;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.about-hero-title{letter-spacing:-.05em;color:#e6edf3;margin:0 0 16px;font-size:clamp(2rem,4vw,3.2rem);font-weight:800}.about-hero-lead{color:#8b949ed9;max-width:56ch;margin:0 auto 28px;font-size:1.05rem;line-height:1.7}.about-hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.about-section{border-bottom:1px solid #ffffff12;padding:48px 0}.about-section-inner{max-width:760px}.about-section-label{text-transform:uppercase;letter-spacing:.1em;color:#4f8ef7;margin-bottom:10px;font-size:.72rem;font-weight:700}.about-section-title{letter-spacing:-.04em;color:#e6edf3;margin:0 0 16px;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800}.about-section-body{color:#8b949ed9;margin:0 0 12px;font-size:.95rem;line-height:1.75}.about-section-body strong{color:#e6edf3}.about-stats-row{border-bottom:1px solid #ffffff12;grid-template-columns:repeat(4,1fr);gap:12px;padding:32px 0;display:grid}.about-stat-card{text-align:center;background:#101626cc;border:1px solid #ffffff12;border-radius:12px;padding:20px}.about-stat-value{letter-spacing:-.05em;color:#4f8ef7;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800}.about-stat-label{color:#8b949eb3;font-size:.8rem;font-weight:500}.about-values-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.about-value-card{background:#10162699;border:1px solid #ffffff12;border-radius:12px;padding:20px;transition:background .2s,border-color .2s,transform .2s}.about-value-card:hover{background:#161e34e6;border-color:#4f8ef733;transform:translateY(-2px)}.about-value-icon{color:#4f8ef7;background:#4f8ef71a;border:1px solid #4f8ef733;border-radius:9px;place-items:center;width:36px;height:36px;margin-bottom:12px;display:grid}.about-value-title{color:#e6edf3;margin-bottom:6px;font-size:.9rem;font-weight:700}.about-value-desc{color:#8b949ecc;margin:0;font-size:.78rem;line-height:1.6}.about-timeline{flex-direction:column;gap:0;margin-top:24px;display:flex}.about-timeline-item{grid-template-columns:60px 28px 1fr;gap:0 16px;display:grid}.about-timeline-year{color:#4f8ef7;text-align:right;padding-top:2px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:700}.about-timeline-connector{flex-direction:column;align-items:center;display:flex}.about-timeline-dot{background:#4f8ef7;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px;box-shadow:0 0 10px #4f8ef780}.about-timeline-line{background:#4f8ef733;flex:1;width:1px;min-height:40px}.about-timeline-content{padding-bottom:28px}.about-timeline-title{color:#e6edf3;margin-bottom:4px;font-size:.95rem;font-weight:700}.about-timeline-text{color:#8b949ecc;margin:0;font-size:.82rem;line-height:1.6}.about-cta-section{text-align:center;padding:56px 0 40px}.about-cta-title{letter-spacing:-.04em;color:#e6edf3;margin:0 0 10px;font-size:1.8rem;font-weight:800}.about-cta-sub{color:#8b949ecc;margin:0 0 24px;font-size:.95rem}.about-mission{max-width:660px}.workspace{grid-template-rows:var(--bar-h) 1fr var(--bottom-h);background:var(--bg);display:grid;position:absolute;inset:0}.topbar{align-items:center;gap:var(--space-4);padding:0 var(--space-5);background:var(--glass-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:5;grid-template-columns:auto 1fr auto;display:grid}.topbar__left,.topbar__right,.topbar__center{align-items:center;gap:var(--space-3);min-width:0;display:flex}.topbar__center{justify-content:center}.filename{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:280px;color:var(--text);font-weight:600;overflow:hidden}.subtle{color:var(--text-faint);font-size:.875rem}.icon-btn,.toggle{min-width:40px;min-height:40px;color:var(--text-soft);transition:all .14s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.icon-btn:hover,.toggle:hover{background:var(--surface);border-color:var(--line);color:var(--text)}.toggle.active,.icon-btn.active,.tool-btn.active{background:var(--accent-soft);color:var(--accent);border-color:#0000}.main{grid-template-columns:calc(var(--toolbar-w) + var(--library-w)) 1fr var(--inspector-w);min-height:0;display:grid;position:relative}.left-rail{grid-template-columns:var(--toolbar-w) var(--library-w);border-right:1px solid var(--line);background:var(--bg-2);z-index:3;min-height:0;display:grid}.toolbar{padding:var(--space-4) var(--space-2);border-right:1px solid var(--line);background:var(--bg);flex-direction:column;gap:10px;display:flex}.tool-btn{width:56px;height:56px;color:var(--text-soft);transition:all .14s var(--ease-out);text-align:center;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;gap:4px;padding:4px;font-size:.7rem;line-height:1.1;display:grid}.tool-btn:hover{background:var(--surface);color:var(--text)}.tool-btn span{font-weight:500}.tool-icon{width:22px;height:22px;position:relative}.tool-icon.select:before{content:"";border-bottom:18px solid;border-left:0 solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;top:0;left:3px;transform:rotate(-24deg)}.tool-icon.pan:before,.tool-icon.pan:after{content:"";background:currentColor;border-radius:999px;position:absolute}.tool-icon.pan:before{width:18px;height:2px;top:10px;left:2px}.tool-icon.pan:after{width:2px;height:18px;top:2px;left:10px}.tool-icon.shape:before,.tool-icon.shape:after,.tool-icon.measure:before,.tool-icon.measure:after,.tool-icon.force:before,.tool-icon.force:after,.tool-icon.delete:before,.tool-icon.delete:after,.tool-icon.protractor:before{content:"";position:absolute}.tool-icon.shape:before{border:2px solid;border-radius:5px;inset:3px}.tool-icon.shape:after{background:currentColor;border-radius:50%;width:8px;height:8px;bottom:1px;right:1px}.tool-icon.measure:before{background:currentColor;height:2px;top:10px;left:2px;right:2px}.tool-icon.measure:after{border-top:2px solid;border-bottom:2px solid;width:14px;height:10px;top:6px;left:4px}.tool-icon.protractor:before{border:2px solid;border-bottom:0;border-radius:50% 50% 0 0;inset:3px}.tool-icon.force:before{transform-origin:0;background:currentColor;width:14px;height:2px;top:10px;left:3px;transform:rotate(-35deg)}.tool-icon.force:after{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid;width:0;height:0;top:3px;right:3px;transform:rotate(-35deg)}.tool-icon.delete:before,.tool-icon.delete:after{background:currentColor;width:2px;height:18px;top:2px;left:10px}.tool-icon.delete:before{transform:rotate(45deg)}.tool-icon.delete:after{transform:rotate(-45deg)}.library{min-height:0;padding:var(--space-4);gap:var(--space-4);grid-template-rows:auto auto 1fr;display:grid}.section-head{justify-content:space-between;align-items:end;gap:var(--space-3);display:flex}.section-head h2{letter-spacing:-.02em;color:var(--text);font-size:1.1rem;line-height:1.05}.search{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-height:40px;padding:0 14px;transition:border .2s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:14px}.library-groups{gap:var(--space-5);flex-direction:column;padding-right:6px;display:flex;overflow:auto}.library-group{gap:var(--space-3);flex-direction:column;display:flex}.group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-size:.75rem;font-weight:600}.library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.library-item{border:1px solid var(--line);background:var(--bg-3);text-align:left;min-height:96px;transition:all .14s var(--ease-out);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;display:flex}.library-item:hover{background:var(--surface);border-color:var(--accent-glow);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.library-item__icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:8px;place-items:center;font-size:16px;font-weight:800;display:grid}.library-item strong{letter-spacing:-.01em;color:var(--text);font-size:.85rem;line-height:1.2}.library-item small{color:var(--text-soft);font-size:.75rem;line-height:1.3}.library-item--coming-soon{cursor:not-allowed;opacity:.62;border-style:dashed}.library-item--coming-soon:hover{box-shadow:none;border-color:var(--line-strong);transform:none}.coming-soon-badge{color:#e6b94d;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;background:#d2992229;border:1px solid #d2992261;border-radius:999px;margin-left:6px;padding:2px 5px;font-size:.58rem;line-height:1.2;display:inline-flex}.canvas-wrap{background:var(--bg);position:relative;overflow:hidden}.canvas-tools{top:var(--space-4);right:var(--space-4);gap:var(--space-2);z-index:2;display:flex;position:absolute}.canvas-overlay{left:var(--space-4);top:var(--space-4);z-index:2;gap:var(--space-2);flex-wrap:wrap;max-width:min(560px,100% - 220px);display:flex;position:absolute}.canvas-badge{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);color:var(--text-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.75rem}canvas{cursor:grab;width:100%;height:100%;display:block}canvas.dragging{cursor:grabbing}canvas.crosshair{cursor:crosshair}canvas.pointer{cursor:pointer}.right-rail{grid-template-rows:minmax(0, 1fr) var(--layers-h);border-left:1px solid var(--line);background:var(--bg-2);min-height:0;display:grid}.inspector,.layers{grid-template-rows:auto 1fr;min-height:0;display:grid}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) 0;display:flex}.panel-body{padding:var(--space-4);gap:var(--space-5);flex-direction:column;display:flex;overflow:auto}.property-group{gap:var(--space-3);flex-direction:column;display:flex}.property-group__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);border-bottom:1px solid var(--line);padding-bottom:4px;font-size:.75rem;font-weight:600}.field-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field--full{grid-column:1/-1}.field label{color:var(--text-soft);justify-content:space-between;gap:var(--space-2);font-size:.8rem;display:flex}.field input,.field select{border:1px solid var(--line-strong);background:var(--surface);min-height:36px;color:var(--text);transition:all .14s var(--ease-out);border-radius:8px;outline:0;padding:0 10px;font-family:JetBrains Mono,monospace;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.field input[type=color]{cursor:pointer;width:100%;height:36px;padding:2px}.hint{color:var(--text-faint);font-size:.75rem;line-height:1.35}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.state-chip{background:var(--surface);border:1px solid var(--line);color:var(--text-soft);border-radius:6px;padding:4px 8px;font-size:.75rem}.empty-panel{background:var(--surface);border:1px dashed var(--line-strong);color:var(--text-faint);text-align:center;border-radius:12px;padding:18px;font-size:.9rem}.experiment-guide h3{letter-spacing:-.025em;font-size:1rem}.experiment-guide__label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-size:.67rem;font-weight:700}.experiment-guide ol,.experiment-guide ul{color:var(--text-soft);margin:0;padding-left:18px;font-size:.72rem;line-height:1.5}.experiment-guide li+li{margin-top:4px}.multi-selection-summary{background:var(--accent-soft);border:1px solid #58a6ff47;border-radius:11px;flex-direction:column;gap:10px;padding:12px;display:flex}.multi-selection-summary div{flex-direction:column;gap:3px;display:flex}.multi-selection-summary strong{color:var(--text);font-size:.82rem}.multi-selection-summary span{color:var(--text-soft);font-size:.7rem;line-height:1.4}.multi-selection-summary .btn{border-radius:8px;min-height:36px;font-size:.72rem}.layers{border-top:1px solid var(--line)}.layer-list{padding:var(--space-3) var(--space-4) var(--space-4);flex-direction:column;gap:6px;display:flex;overflow:auto}.layer-row{align-items:center;gap:var(--space-2);text-align:left;min-height:40px;transition:all .14s var(--ease-out);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:1fr auto auto;padding:0 10px;display:grid}.layer-row:hover{background:var(--surface);border-color:var(--line)}.layer-row.selected{background:var(--accent-soft);border-color:var(--accent)}.layer-meta{flex-direction:column;min-width:0;display:flex}.layer-meta strong{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.85rem;overflow:hidden}.mini-btn{width:28px;height:28px;color:var(--text-soft);background:0 0;border-radius:6px;place-items:center;display:grid}.mini-btn:hover{background:var(--surface-2);color:var(--text)}.bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-5);border-top:1px solid var(--line);background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:5;display:flex}.sim-controls,.sim-stats,.timeline-wrap{align-items:center;gap:var(--space-3);min-width:0;display:flex}.sim-controls{flex:1}.timeline-wrap{flex:2;justify-content:center}.time-metric{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;width:13ch;color:var(--text);flex:0 0 13ch;font-family:JetBrains Mono,monospace;line-height:1}.resize-disabled{border:1px dashed var(--line-strong);color:var(--text-muted);text-align:center;background:#8b949e12;border-radius:6px;grid-column:1/-1;padding:8px 10px;font-size:.7rem}.perf-metrics{text-align:right;white-space:nowrap;color:var(--text-soft);flex:1;font-family:JetBrains Mono,monospace;font-size:.8rem}.timeline-shell{align-items:center;gap:var(--space-3);flex:1;min-width:min(100%,620px);display:flex}.timeline{appearance:none;background:linear-gradient(90deg, var(--accent), var(--accent)) 0/var(--timeline-fill,0%) 100% no-repeat, var(--surface-2);cursor:pointer;border-radius:999px;outline:0;width:100%;height:6px}.timeline::-webkit-slider-thumb{appearance:none;background:var(--accent);width:16px;height:16px;box-shadow:0 0 0 4px var(--accent-glow);cursor:grab;border-radius:50%;transition:transform .1s}.timeline::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2)}.graph-launcher{right:var(--space-5);bottom:calc(var(--bottom-h) + var(--space-4));z-index:6;position:absolute}.graph-launcher .btn{background:var(--glass-bg);border:1px solid var(--glass-border);min-height:48px;box-shadow:var(--shadow-md);color:var(--text-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:0 16px}.graph-launcher .btn strong{color:var(--accent)}.modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:var(--bg-2);border:1px solid var(--line);width:min(760px,100%);max-height:min(88vh,760px);box-shadow:var(--shadow-md);padding:var(--space-6);border-radius:20px;overflow:auto}.save-grid,.settings-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.save-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:10px;transition:border .2s;display:flex}.save-card:hover{border-color:var(--accent)}.save-card h3{color:var(--text);font-size:1.1rem}.save-card p{color:var(--text-soft);margin:0;font-size:.85rem}.save-card.disabled{opacity:.4;cursor:not-allowed}.save-project-modal{width:min(820px,100%);padding:0;overflow:hidden}.save-project-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:18px;padding:22px 24px 18px;display:flex}.save-project-header .eyebrow{margin-bottom:4px;font-size:.68rem}.save-project-header h2{font-size:1.35rem}.save-project-header p{max-width:62ch;color:var(--text-faint);margin:6px 0 0;font-size:.78rem}.save-project-modal .save-grid{margin:0;padding:18px 24px}.save-project-modal .save-card{text-align:left;cursor:pointer;min-height:168px;position:relative}.save-project-modal .save-card:hover{background:var(--surface-2);transform:translateY(-2px)}.save-project-modal .save-card:disabled{opacity:.55;cursor:wait;transform:none}.save-card__icon{color:#9fd0ff;background:#2f81f721;border:1px solid #58a6ff3d;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.save-project-modal .save-card strong{color:var(--accent);margin-top:auto;font:.68rem JetBrains Mono,monospace}.save-card--status{border-style:dashed;cursor:default!important}.save-card--status .save-card__icon{color:#78d889;background:#3fb9501a;border-color:#3fb95042}.save-project-footer{border-top:1px solid var(--line);min-height:66px;color:var(--text-faint);justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;font-size:.7rem;display:flex}.save-project-footer .btn{border-radius:10px;min-height:40px}.graph-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:graphFadeIn .16s var(--ease-out);background:#020814b8;place-items:center;padding:clamp(12px,2vw,28px);display:grid;position:fixed;inset:0}.graph-modal{background:color-mix(in srgb, var(--bg-2) 94%, #071b37);border:1px solid var(--line-strong);border-radius:24px;grid-template-rows:auto auto minmax(0,1fr);width:min(1180px,100%);height:min(820px,100vh - 32px);min-height:520px;display:grid;overflow:hidden;box-shadow:0 28px 80px #0000008c,inset 0 1px #ffffff0a}.graph-modal__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px 18px 12px 22px;display:flex}.graph-title-group{align-items:center;gap:12px;min-width:0;display:flex}.graph-title-group h2{letter-spacing:-.035em;font-size:1.25rem}.graph-title-group p{color:var(--text-faint);margin:2px 0 0;font-size:.78rem}.graph-title-icon{color:#8bc7ff;background:linear-gradient(145deg,#2f81f73b,#58a6ff14);border:1px solid #58a6ff47;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.graph-header-actions{align-items:center;gap:8px;display:flex}.graph-live-pill{color:#78d889;letter-spacing:.02em;background:#3fb95017;border:1px solid #3fb9504d;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:0 10px;font-size:.73rem;font-weight:700;display:inline-flex}.graph-live-pill span{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite graphPulse;box-shadow:0 0 0 4px #3fb9501f}.graph-live-pill.is-paused{color:var(--text-faint);border-color:var(--line);background:var(--surface)}.graph-live-pill.is-paused span{box-shadow:none;animation:none}.graph-toolbar{border-bottom:1px solid var(--line);background:#ffffff04;flex-wrap:wrap;align-items:center;gap:9px;min-height:62px;padding:10px 18px;display:flex}.graph-action-button{white-space:nowrap;background:var(--surface);border:1px solid var(--line);min-height:36px;color:var(--text-soft);transition:all .14s var(--ease-out);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.78rem;font-weight:650;display:inline-flex}.graph-action-button:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-2);transform:translateY(-1px)}.graph-action-button--primary{color:#d9ecff;background:#2f81f72b;border-color:#58a6ff52}.graph-compact-field{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text-faint);border-radius:9px;align-items:center;gap:6px;padding:0 9px;font-size:.7rem;display:inline-flex}.graph-compact-field select{color:var(--text);background:0 0;border:0;outline:0;font-size:.75rem}.graph-check{min-height:36px;color:var(--text-soft);cursor:pointer;align-items:center;gap:6px;padding:0 8px;font-size:.75rem;display:inline-flex}.graph-check input{accent-color:var(--accent)}.graph-modal__body{grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.graph-plot-column{grid-template-rows:minmax(0,1fr) auto;gap:10px;min-width:0;min-height:0;padding:16px;display:grid}.graph-plot{background:#07111f;border:1px solid #78a2d226;border-radius:16px;min-width:0;min-height:300px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.graph-plot canvas{cursor:crosshair;width:100%;height:100%}.graph-empty-state{text-align:center;color:var(--text-faint);pointer-events:none;place-content:center;justify-items:center;gap:8px;padding:24px;display:grid;position:absolute;inset:0}.graph-empty-state strong{color:var(--text);font-size:1rem}.graph-empty-state p{max-width:36ch;margin:0;font-size:.8rem}.graph-empty-state button{pointer-events:auto;margin-top:8px}.graph-empty-state--compact{border:1px dashed var(--line-strong);border-radius:12px;min-height:130px;position:static}.graph-tooltip{z-index:4;pointer-events:none;min-width:150px;max-width:230px;color:var(--text-soft);background:#091424f5;border:1px solid #8bbcf23d;border-radius:9px;padding:9px 10px;font:.7rem/1.45 JetBrains Mono,monospace;position:absolute;box-shadow:0 10px 28px #00000061}.graph-legend{flex-wrap:wrap;align-content:start;gap:7px;min-height:46px;display:flex}.graph-legend-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:2px 7px;min-width:136px;padding:7px 9px;font-size:.69rem;display:grid}.graph-legend-card i{border-radius:50%;grid-row:1/3;width:8px;height:8px}.graph-legend-card span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-soft);overflow:hidden}.graph-legend-card strong{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.7rem}.graph-series-panel{border-left:1px solid var(--line);background:#ffffff03;grid-template-rows:auto minmax(0,1fr) auto;gap:11px;min-width:0;min-height:0;padding:16px;display:grid}.graph-series-panel__head{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.graph-series-panel__head h3{letter-spacing:-.02em;font-size:.94rem}.graph-series-panel__head span{color:var(--text-faint);font-size:.7rem}.graph-series-list{flex-direction:column;gap:8px;padding-right:3px;display:flex;overflow:auto}.graph-series-empty{border:1px dashed var(--line-strong);text-align:center;min-height:150px;color:var(--text-faint);border-radius:12px;place-content:center;padding:18px;font-size:.78rem;display:grid}.graph-series-row{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:24px minmax(0,1fr) 30px;gap:7px;padding:9px;display:grid}.graph-series-row.is-hidden{opacity:.55}.graph-series-color{cursor:pointer;background:0 0;border:0;border-radius:7px;width:24px;height:24px;padding:0;overflow:hidden}.graph-series-color::-webkit-color-swatch-wrapper{padding:0}.graph-series-color::-webkit-color-swatch{border:0;border-radius:6px}.graph-series-fields{gap:6px;min-width:0;display:grid}.graph-series-fields select{border:1px solid var(--line);background:var(--bg-3);width:100%;min-width:0;height:30px;color:var(--text);border-radius:7px;outline:0;padding:0 7px;font-size:.7rem}.graph-series-fields select:focus{border-color:var(--accent)}.graph-series-actions{flex-direction:column;gap:5px;display:flex}.graph-icon-button{width:28px;height:28px;color:var(--text-faint);border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.graph-icon-button:hover{color:var(--text);background:var(--surface-2);border-color:var(--line)}.graph-export-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.coming-soon-control{border:1px dashed var(--line-strong);min-width:104px}.coming-soon-control small{text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}.experiments-button{border-radius:11px;min-height:40px;padding:0 14px}.experiment-overlay{z-index:115;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:graphFadeIn .16s var(--ease-out);background:#020814b8;place-items:center;padding:clamp(12px,2vw,28px);display:grid;position:fixed;inset:0}.experiment-modal{background:color-mix(in srgb, var(--bg-2) 95%, #071b37);border:1px solid var(--line-strong);border-radius:24px;grid-template-rows:auto auto minmax(0,1fr);width:min(1160px,100%);height:min(820px,100vh - 32px);min-height:540px;display:grid;overflow:hidden;box-shadow:0 28px 80px #0000008c}.experiment-modal__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:20px;padding:20px 22px 16px;display:flex}.experiment-modal__header .eyebrow{margin:0 0 4px;font-size:.68rem}.experiment-modal__header h2{font-size:1.45rem}.experiment-modal__header p{color:var(--text-faint);margin:5px 0 0;font-size:.8rem}.experiment-filters{border-bottom:1px solid var(--line);background:#ffffff03;grid-template-columns:minmax(220px,1fr) 230px 170px;gap:9px;padding:11px 18px;display:grid}.experiment-filters select,.experiment-search{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text);border-radius:10px;outline:0;font-size:.77rem}.experiment-filters select{padding:0 10px}.experiment-filters select:focus,.experiment-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.experiment-search{color:var(--text-faint);align-items:center;gap:8px;padding:0 11px;display:flex}.experiment-search input{background:0 0;border:0;outline:0;width:100%;font-size:.78rem}.experiment-modal__body{grid-template-columns:minmax(0,1fr) 350px;min-height:0;display:grid}.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;min-height:0;padding:16px;display:grid;overflow:auto}.experiment-card{text-align:left;border:1px solid var(--line);background:var(--surface);min-height:138px;color:var(--text);transition:all .14s var(--ease-out);border-radius:14px;grid-template-rows:1fr auto;grid-template-columns:44px minmax(0,1fr);gap:9px 11px;padding:13px;display:grid}.experiment-card:hover{background:var(--surface-2);border-color:#58a6ff6b;transform:translateY(-2px)}.experiment-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.experiment-card__icon{color:#a9d5ff;background:linear-gradient(145deg,#2f81f733,#58a6ff12);border:1px solid #58a6ff38;border-radius:12px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.experiment-card__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.experiment-card__copy strong{letter-spacing:-.02em;font-size:.86rem}.experiment-card__copy small{-webkit-line-clamp:3;color:var(--text-faint);-webkit-box-orient:vertical;font-size:.7rem;line-height:1.4;display:-webkit-box;overflow:hidden}.experiment-card__meta{flex-wrap:wrap;grid-column:1/-1;gap:5px;display:flex}.experiment-card__meta i{border:1px solid var(--line);color:var(--text-soft);border-radius:999px;padding:3px 6px;font-size:.59rem;font-style:normal}.experiment-detail{border-left:1px solid var(--line);background:#ffffff03;flex-direction:column;gap:13px;min-height:0;padding:18px;display:flex;overflow:auto}.experiment-detail__hero{align-items:center;gap:11px;display:flex}.experiment-detail__hero>span{color:#a9d5ff;background:#2f81f724;border:1px solid #58a6ff40;border-radius:13px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.experiment-detail__hero small{color:var(--accent);font-size:.63rem}.experiment-detail__hero h3{letter-spacing:-.025em;margin-top:2px;font-size:1.08rem}.experiment-detail>p{color:var(--text-soft);margin:0;font-size:.77rem;line-height:1.5}.experiment-detail__facts{flex-wrap:wrap;gap:6px;display:flex}.experiment-detail__facts span{border:1px solid var(--line);color:var(--text-soft);background:var(--surface);border-radius:7px;padding:4px 7px;font-size:.62rem}.experiment-detail section{border-top:1px solid var(--line);padding-top:10px}.experiment-detail h4{color:var(--text);text-transform:uppercase;letter-spacing:.055em;margin:0 0 7px;font-size:.73rem}.experiment-detail ol,.experiment-detail ul{color:var(--text-soft);margin:0;padding-left:19px;font-size:.72rem;line-height:1.52}.experiment-detail li+li{margin-top:5px}.experiment-open{border-radius:10px;width:100%;min-height:42px;margin-top:auto}.experiment-empty{text-align:center;min-height:180px;color:var(--text-faint);border:1px dashed var(--line-strong);border-radius:14px;grid-column:1/-1;place-content:center;gap:5px;font-size:.78rem;display:grid}.experiment-empty strong{color:var(--text)}@keyframes graphFadeIn{0%{opacity:0}to{opacity:1}}@keyframes graphPulse{0%,to{opacity:.62}50%{opacity:1}}.toast-wrap{left:50%;bottom:calc(var(--bottom-h) + var(--space-4));z-index:25;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.toast{background:var(--glass-bg);border:1px solid var(--line);min-width:240px;max-width:min(88vw,420px);box-shadow:var(--shadow-md);color:var(--text);animation:toastIn .24s var(--ease-out);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:12px 16px;font-size:.9rem}.toast.error{border-color:var(--danger);border-left:4px solid var(--danger)}.toast.success{border-color:var(--success);border-left:4px solid var(--success)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes driftBall{0%{transform:translate(0)}to{transform:translate(48px,86px)}}@keyframes driftBlock{0%{transform:translate(0)rotate(0)}to{transform:translate(-22px,14px)rotate(4deg)}}.kbd{color:var(--text-soft);background-color:var(--surface-2);border:1px solid var(--line-strong);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1;display:inline-block}.lab-badge{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-sm);z-index:10;opacity:0;border-radius:6px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:12px;transition:opacity .2s;position:absolute;transform:translate(-50%,-150%)}.lab-badge.visible{opacity:1}.drop-zone-highlight{animation:1.5s infinite dropPulse}.drop-zone-invalid{animation:1.5s infinite errorPulse}@keyframes dropPulse{0%{filter:drop-shadow(0 0 2px var(--accent))}50%{filter:drop-shadow(0 0 12px var(--accent))}to{filter:drop-shadow(0 0 2px var(--accent))}}@keyframes errorPulse{0%{filter:drop-shadow(0 0 2px var(--danger))}50%{filter:drop-shadow(0 0 12px var(--danger))}to{filter:drop-shadow(0 0 2px var(--danger))}}.context-menu{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;transform-origin:0 0;min-width:180px;animation:menuIn .15s var(--ease-out);border-radius:12px;padding:8px 0;position:fixed}.context-menu-item{color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:14px;transition:background .1s;display:flex}.context-menu-item:hover{background:var(--accent);color:#fff}.context-menu-item .shortcut{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:11px}.context-menu-item:hover .shortcut{color:#ffffffb3}@keyframes menuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.drawer-backdrop{z-index:49;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;position:fixed;inset:0}.topbar__mobile-btn{display:none}.topbar__more-wrap{display:none;position:relative}.topbar__more-menu{z-index:200;background:var(--bg-2);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow-md);animation:menuIn .14s var(--ease-out);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.topbar__more-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:.875rem;transition:background .14s}.topbar__more-item:hover{background:var(--surface)}@media (width<=1280px){:root{--library-w:256px;--inspector-w:296px}.main{grid-template-columns:calc(var(--toolbar-w) + var(--library-w)) 1fr var(--inspector-w)}}@media (width<=1024px){:root{--library-w:240px;--inspector-w:280px}.main{grid-template-columns:calc(var(--toolbar-w) + var(--library-w)) 1fr var(--inspector-w)}.topbar{padding:0 var(--space-3);gap:var(--space-2)}.topbar__center{gap:var(--space-2)}.graph-modal__body{grid-template-columns:minmax(0,1fr) 260px}.experiment-modal__body{grid-template-columns:minmax(0,1fr) 300px}.experiment-filters{grid-template-columns:minmax(180px,1fr) 180px 140px}.hl-hero{gap:24px;padding:36px 24px 24px}.hl-data-panels{width:150px}.hl-data-value{font-size:1.1rem}.about-values-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){body{overflow:hidden}.app{position:fixed;inset:0}.workspace{grid-template-rows:auto 1fr auto;height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.topbar__mobile-btn{display:inline-flex}.topbar__more-wrap{display:block}.topbar__right--hide-sm,.topbar__center--hide-sm{display:none!important}.topbar{grid-template-columns:44px minmax(0,auto) 1fr auto 44px;align-items:center;gap:8px;height:52px;min-height:52px;padding:0 8px;display:grid}.topbar__left{min-width:0;overflow:hidden}.topbar__left .filename{max-width:140px;font-size:.85rem}.topbar__left .subtle{display:none}.topbar__center{justify-content:center;gap:4px;overflow:hidden}.topbar__center .toggle{min-width:36px;min-height:36px;padding:0 8px;font-size:.75rem}.topbar__right{gap:4px}.topbar__right .experiments-button{min-height:36px;padding:0 10px;font-size:.78rem}.main{grid-template-rows:1fr;grid-template-columns:1fr;min-height:0;display:grid;position:relative}.canvas-wrap{grid-area:1/1;position:relative;overflow:hidden}.left-rail{top:52px;left:0;bottom:var(--bottom-h);z-index:50;grid-template-columns:var(--toolbar-w) 1fr;background:var(--bg-2);border-right:1px solid var(--line);width:min(320px,85vw);transition:transform .28s var(--ease-out);display:grid;position:fixed;overflow:hidden;transform:translate(-100%)}.left-rail--open{transform:translate(0)}.right-rail{top:52px;right:0;bottom:var(--bottom-h);z-index:50;grid-template-rows:minmax(0,1fr) var(--layers-h);background:var(--bg-2);border-left:1px solid var(--line);width:min(320px,85vw);transition:transform .28s var(--ease-out);display:grid;position:fixed;overflow:hidden;transform:translate(100%)}.right-rail--open{transform:translate(0)}.bottom{flex-shrink:0;align-items:center;gap:8px;height:52px;min-height:52px;padding:0 10px;display:flex;overflow:hidden}:root{--bottom-h:52px;--bar-h:52px}.sim-controls{flex-shrink:0;gap:4px}.sim-controls .btn{border-radius:8px;min-height:36px;padding:0 12px;font-size:.8rem}.sim-controls .icon-btn{min-width:36px;min-height:36px;padding:0 6px}.sim-controls select{min-height:36px;font-size:.75rem}.timeline-wrap{flex:1;gap:6px;min-width:0}.timeline-shell{flex:1;min-width:0}.time-metric{flex:none;width:auto;font-size:.72rem}.perf-metrics{display:none}.graph-launcher{bottom:60px;right:10px}.graph-overlay{padding:0}.graph-modal{border:0;border-radius:0;flex-direction:column;width:100%;height:100dvh;min-height:0;display:flex}.graph-modal__header{min-height:56px;padding:10px 14px}.graph-title-group p{display:none}.graph-modal__body{flex-direction:column;flex:1;display:flex;overflow:auto}.graph-plot-column{min-height:380px}.graph-series-panel{border-left:0;border-top:1px solid var(--line)}.graph-toolbar{max-height:100px;overflow:auto}.experiment-overlay{padding:0}.experiment-modal{border:0;border-radius:0;width:100%;height:100dvh;min-height:0}.experiment-modal__header{padding:12px 14px}.experiment-modal__header p{display:none}.experiment-filters{grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px}.experiment-search{grid-column:1/-1}.experiment-modal__body{display:block;overflow:auto}.experiment-grid{padding:12px;display:block;overflow:visible}.experiment-card{width:100%;margin-bottom:8px}.experiment-detail{border-left:0;border-top:1px solid var(--line);min-height:380px}.modal{align-items:flex-end;padding:12px}.modal-card{border-radius:16px 16px 0 0;width:100%;max-height:80dvh}.save-grid,.settings-grid{grid-template-columns:1fr;gap:10px}.lm-overlay{align-items:flex-end;padding:0}.lm-modal{border-radius:20px 20px 0 0;max-width:100%;max-height:85dvh}.lm-highlights{grid-template-columns:1fr}.hl-root{min-height:100dvh;overflow-y:auto}.hl-nav-inner{gap:12px;padding:0 16px}.hl-nav-links{gap:0}.hl-nav-item{padding:6px 10px;font-size:.82rem}.hl-hero{grid-template-columns:1fr;gap:32px;padding:28px 20px 20px}.hl-hero-left{padding-right:0}.hl-headline{font-size:clamp(2.2rem,8vw,3.5rem)}.hl-hero-right{order:-1}.hl-mockup-body{grid-template-columns:1fr;min-height:auto}.hl-data-panels{flex-flow:wrap;width:100%;padding-top:10px;padding-left:0}.hl-data-card{flex:1;min-width:130px}.hl-features{grid-template-columns:repeat(2,1fr);gap:10px;padding:0 20px 20px}.about-page{padding:24px 20px 0}.about-stats-row,.about-values-grid{grid-template-columns:repeat(2,1fr)}.about-timeline-item{grid-template-columns:50px 20px 1fr;gap:0 10px}}@media (width<=640px){.topbar{grid-template-columns:40px minmax(0,1fr) auto auto 40px;gap:6px;padding:0 6px}.topbar__left .filename{max-width:100px;font-size:.8rem}.topbar__center{display:none}.topbar__right .experiments-button{padding:0 8px;font-size:.75rem}.hl-nav-links{gap:0}.hl-nav-item{padding:5px 7px;font-size:.78rem}.hl-features{grid-template-columns:1fr}.hl-mockup-tabs{justify-content:flex-start;gap:4px;overflow-x:auto}.hl-tab{flex-shrink:0}.hl-lead{font-size:.92rem}.about-values-grid{grid-template-columns:1fr}.about-stats-row{grid-template-columns:repeat(2,1fr);gap:8px}.about-hero-title{font-size:clamp(1.6rem,6vw,2.4rem)}.lm-highlights{grid-template-columns:1fr}.lm-modal-header{flex-direction:column;gap:12px}.lm-close-btn{position:absolute;top:16px;right:16px}.lm-modal-header{position:relative}.save-project-modal .save-grid,.experiment-filters{grid-template-columns:1fr}.experiment-search{grid-column:auto}.graph-live-pill,.sim-controls select,.time-metric{display:none}}@media (width<=480px){.topbar{grid-template-columns:40px 1fr auto 40px;gap:4px}.topbar__left,.topbar__center{display:none}.hl-nav-inner{gap:8px;padding:0 12px}.hl-nav-links{gap:0}.hl-nav-item{padding:4px 6px;font-size:.72rem}.hl-headline{font-size:clamp(2rem,9vw,2.8rem)}.hl-pill{padding:4px 10px;font-size:.7rem}.hl-actions{flex-direction:column;gap:10px}.hl-btn-primary,.hl-btn-ghost{justify-content:center;width:100%}.hl-hero{padding:20px 16px 16px}.hl-features{gap:8px;padding:0 16px 16px}.hl-feature-card{gap:10px;padding:14px}.about-page{padding:16px 16px 0}.about-stats-row{grid-template-columns:repeat(2,1fr);gap:8px}.about-stat-value{font-size:1.5rem}.about-hero-actions{flex-direction:column;gap:10px}.about-hero-actions .hl-btn-primary,.about-hero-actions .hl-btn-ghost{justify-content:center;width:100%}.about-timeline-item{grid-template-columns:44px 16px 1fr;gap:0 8px}.about-cta-section .about-hero-actions{flex-direction:column}.about-cta-section .hl-btn-primary,.about-cta-section .hl-btn-ghost{justify-content:center;width:100%}.sim-controls .btn{padding:0 8px;font-size:.75rem}.sim-controls .icon-btn{min-width:32px;padding:0 4px}.modal-card{max-height:90dvh;padding:var(--space-4)}.lm-modal{border-radius:16px 16px 0 0}.lm-modal-footer{flex-direction:column;gap:8px}.lm-cta-btn{justify-content:center;width:100%}}@media (hover:none) and (pointer:coarse){.btn,.icon-btn,.toggle,.tool-btn,.hl-btn-primary,.hl-btn-ghost,.hl-nav-item,.hl-learn-more,.about-back-btn,.lm-cta-btn,.experiment-card,.library-item{min-height:44px}.tool-btn{min-width:52px;min-height:52px}.hl-nav-item{min-height:40px}.hl-feature-card:hover,.about-value-card:hover,.library-item:hover,.experiment-card:hover{transform:none}.timeline{height:8px}.timeline::-webkit-slider-thumb{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.left-rail,.right-rail{transition:none}}
