@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/open-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/open-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/noto-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#f4f6fb;--surface:#fff;--surface-2:#f0f2f8;--border:#e2e6ef;--text:#1c2330;--muted:#666f83;--accent:#2563eb;--accent-soft:#e7efff;--accent-press:#1d4ed8;--danger:#dc2626;--mol-color:#111827;--grid-dot:#dfe3ee;--radius:12px;--shadow:0 1px 2px #1018280f, 0 4px 16px #1018280f;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow-island:0 1px 2px #1018280d, 0 10px 28px -10px #10182833;--shadow-float:0 2px 6px #10182817, 0 14px 30px -12px #10182847;--glow:color-mix(in srgb, var(--accent) 26%, transparent);--island-bg:color-mix(in srgb, var(--surface) 80%, transparent);--island-blur:blur(13px) saturate(150%);--island-hi:inset 0 1px 0 #ffffffa8;--brand-bg:var(--surface);--brand-border:var(--border);--brand-text:var(--text);--brand-mark:var(--accent);--brand-hi:var(--island-hi);--brand-shadow:var(--shadow-float);--brand-shadow-hover:var(--shadow-float);--pill-bg:#1c2330;--pill-fg:#fff;--ease-out:cubic-bezier(.22, .78, .27, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-snap:cubic-bezier(.4, 0, .2, 1)}[data-theme-mode=dark]{--pill-bg:#e7edf7;--pill-fg:#161d2b;--shadow-island:0 1px 2px #0000004d, 0 12px 30px -10px #00000080;--shadow-float:0 2px 8px #00000059, 0 16px 34px -12px #0009;--island-bg:color-mix(in srgb, var(--surface) 68%, transparent);--island-hi:inset 0 1px 0 #ffffff14}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#app{height:100vh;height:100dvh;position:relative;overflow:hidden}.topbar{display:contents}.topbar-actions{background:var(--island-bg);width:max-content;-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);z-index:20;max-width:calc(100vw - 24px);animation:isl-in-cx .6s var(--ease-out) 50ms both;border-radius:16px;padding:7px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}@keyframes isl-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.topbar .btn{box-shadow:none;background:0 0;border-color:#0000}.topbar .btn:hover{background:var(--surface-2)}.topbar .tb-divider{margin:2px}.lp-style-wrap{align-items:center;display:inline-flex;position:relative}.lp-style-pop{background:var(--island-bg);border:1px solid var(--border);box-shadow:var(--shadow-float), var(--island-hi);-webkit-backdrop-filter:var(--island-blur);opacity:0;pointer-events:none;transition:opacity .14s var(--ease-out), transform .14s var(--ease-out);z-index:35;border-radius:10px;gap:4px;padding:5px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)scale(.98)}.lp-style-wrap:hover .lp-style-pop,.lp-style-wrap:focus-within .lp-style-pop{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}.lp-style-pop:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.lp-style-pop button{width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.lp-style-pop button:hover{background:var(--surface-2)}.lp-style-pop button.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 36%, var(--border));color:var(--accent-press)}.lp-style-pop svg{width:18px;height:18px;display:block}.brand{background:var(--brand-bg);height:52px;-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--brand-border);box-shadow:var(--brand-shadow), var(--brand-hi);color:var(--brand-text);z-index:21;cursor:pointer;-webkit-user-select:none;user-select:none;animation:isl-in .6s var(--ease-out) backwards;transition:transform .28s var(--ease-spring), box-shadow .2s var(--ease-out), background .18s var(--ease-out), border-color .18s var(--ease-out);border-radius:999px;align-items:center;gap:7px;padding:0 19px 0 21px;display:flex;position:absolute;top:14px;left:14px;overflow:hidden}.brand:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 18%,#ffffff9e 46%,#0000 70%);position:absolute;inset:-1px;transform:translate(-140%)skew(-18deg)}.brand:hover{box-shadow:var(--brand-shadow-hover), var(--brand-hi);transform:translateY(-2px)scale(1.012)}.brand:hover:after{opacity:0}.brand:active{transform:translateY(0)}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tb-divider{background:var(--border);align-self:stretch;width:1px;margin:2px 4px}.icon-btn{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:16px;height:16px}.brand .wordmark{letter-spacing:.035em;z-index:1;align-items:center;margin:0;font-size:23px;font-weight:780;line-height:1;display:inline-flex;position:relative;transform:translateY(-.5px)}.brand .o-hex{--brand-o-shift:.12em;width:1.05em;height:1.05em;transform:translateY(var(--brand-o-shift));color:var(--brand-text);transition:transform .46s var(--ease-spring), color .18s var(--ease-out);align-self:center;margin-left:-.02em;display:inline-flex}.brand:hover .o-hex{transform:translateY(var(--brand-o-shift)) rotate(30deg) scale(1.08)}.brand .o-hex svg{width:100%;height:100%}.stat-pill{background:var(--island-bg);height:52px;-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);z-index:21;animation:isl-in-cx .6s var(--ease-out) 50ms both;border-radius:999px;align-items:center;gap:12px;padding:0 21px;display:flex;position:absolute;top:14px;right:14px}.stat-pill .sp-formula{color:var(--text);white-space:nowrap;font-size:15px;font-weight:700;line-height:1}.stat-pill .sp-formula sub{font-size:.75em;line-height:0}.stat-pill .sp-div{background:var(--border);width:1px;height:22px}.stat-pill .sp-mass{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1}.stat-pill .sp-unit{color:var(--muted);margin-left:3px;font-size:.72em;font-weight:600}.stat-pill.muted .sp-formula{color:var(--muted);font-size:12.5px;font-weight:600}.stat-pill.muted .sp-div,.stat-pill.muted .sp-mass{display:none}.brand.squeezed,.stat-pill.squeezed{opacity:0;visibility:hidden;pointer-events:none}.info-stack{z-index:19;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:76px;left:50%;transform:translate(-50%)}.info-stack>*{pointer-events:auto}@keyframes isl-in-cx{0%{opacity:0}to{opacity:1}}.ib-k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:9.5px;font-weight:700}.ib-v{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.ib-v sub{font-size:.75em}.name-readout{background:var(--island-bg);max-width:min(760px,100vw - 24px);-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);animation:isl-in-cx .28s var(--ease-out) both;border-radius:12px;align-items:center;gap:10px;padding:8px 10px 8px 14px;display:flex}.nr-kicker{flex:none}.name-readout .name-value{white-space:normal;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0;color:var(--text);flex:auto;font-size:14px;font-weight:650;line-height:1.3}.name-value.loading{color:var(--muted);font-style:italic;font-weight:500}.nr-copy{flex:none}.nr-close{border-left:1px solid var(--border);border-radius:0 7px 7px 0;flex:none;margin-left:4px;padding-left:4px}.langseg{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;flex:none;padding:2px;display:inline-flex}.langseg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:700}.langseg button.on{background:var(--surface);color:var(--accent-press)}.topbar-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.btn .bi{vertical-align:middle;margin-left:-2px;margin-right:6px;display:inline-flex}.btn .bi svg{width:16px;height:16px}.btn.icon-only{padding:8px}.btn.icon-only svg{width:18px;height:18px;display:block}.btn.icon-only .bi{margin:0}.modal-backdrop{z-index:200;background:#11182773;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:520px;max-height:85vh;padding:24px 26px;position:relative;overflow:auto;box-shadow:0 12px 48px #10182840}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1;position:absolute;top:12px;right:14px}.modal-close:hover{color:var(--text)}#aboutModal{max-width:640px;padding:0;overflow:hidden}.about-cols{display:flex}.about-left{background:var(--surface-2);border-right:1px solid var(--border);text-align:center;flex-direction:column;flex:0 0 176px;justify-content:center;align-items:center;gap:16px;padding:32px 18px;display:flex}.about-bighex{width:66px;height:66px;color:var(--text)}.about-bighex svg{width:100%;height:100%;display:block}.about-mark{letter-spacing:-.02em;color:var(--text);align-items:center;font-size:22px;font-weight:800;display:inline-flex}.about-mark .o-hex{width:1.02em;height:1.02em;display:inline-flex;transform:translateY(.1em)}.about-mark .o-hex svg{width:100%;height:100%}.about-version{color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.6}.about-right{flex:1;min-width:0;padding:30px 32px}.modal-body .about-desc{color:var(--muted);margin:0 0 15px;font-size:14px;line-height:1.7}.about-rows{border-top:1px solid var(--border);flex-direction:column;gap:11px;margin-bottom:17px;padding-top:16px;display:flex}.about-row{align-items:baseline;gap:12px;display:flex}.about-row span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex:0 0 78px;font-size:11px;font-weight:600}.about-row b,.about-row a{color:var(--text);font-size:14px;font-weight:600}.about-row a{color:var(--accent);text-decoration:none}.about-row a:hover{text-decoration:underline}.about-norms{flex-direction:column;gap:5px;min-width:0;display:flex}.modal-body .about-license{color:var(--muted);border-top:1px solid var(--border);margin:0 0 15px;padding-top:14px;font-size:12px;line-height:1.7}.modal-body .about-page>:last-child{margin-bottom:0}.about-pages{align-items:start;transition:height .24s;display:grid;overflow:hidden}@media (prefers-reduced-motion:reduce){.about-pages{transition:none}}.about-page{opacity:1;visibility:visible;grid-area:1/1;transition:opacity .24s,visibility}.about-page[aria-hidden=true]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s,visibility 0s .24s}@media (prefers-reduced-motion:reduce){.about-page{transition:none}}.about-flip{cursor:pointer;font:inherit;color:var(--accent);background:0 0;border:0;align-items:center;gap:6px;margin-top:15px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex}.about-flip:hover{text-decoration:underline}.about-flip:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.about-flip-arrow{transition:transform .18s}.about-flip:hover .about-flip-arrow{transform:translate(2px)}.about-flip[data-goto=app]:hover .about-flip-arrow{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.about-flip-arrow{transition:none}}.tp-list{border-top:1px solid var(--border);flex-direction:column;gap:13px;margin:0 0 15px;padding:16px 0 0;list-style:none;display:flex}.tp{grid-template-columns:auto auto 1fr;align-items:baseline;gap:2px 8px;display:grid}.tp-name{color:var(--text);font-size:13.5px;font-weight:650;text-decoration:none}.tp-name:hover{color:var(--accent);text-decoration:underline}.tp-version{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.tp-license{letter-spacing:.02em;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-self:end;padding:2px 8px;font-size:10.5px;font-weight:600}.tp-holder{color:var(--muted);grid-column:1/-1;font-size:11.5px}.modal-body .about-license a{color:var(--accent);font-weight:600;text-decoration:none}.modal-body .about-license a:hover{text-decoration:underline}@media (max-width:520px){.about-cols{flex-direction:column}.about-left{border-right:none;border-bottom:1px solid var(--border);text-align:left;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:14px 18px}.about-bighex{width:38px;height:38px}}.modal-body h2{margin:0 0 4px;font-size:19px}.modal-body p{color:var(--muted);margin:8px 0;font-size:14px;line-height:1.5}.modal-body .data-row{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;display:flex}.modal-body .data-row code{word-break:break-all;color:var(--text);flex:1;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:13px}.modal-body .data-row .lbl{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.structure-build-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px;display:grid}.structure-build-input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:9px 11px}.structure-build-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.structure-build-status{min-height:22px}.btn{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:9px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,transform 50ms}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.small{padding:4px 9px;font-size:12px}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-press)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger:hover{filter:brightness(.92)}.modal-confirm .modal-actions{justify-content:flex-end}.workspace{min-height:0;display:flex;position:absolute;inset:0}.canvas-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.toolbar{z-index:14;background:0 0;border:none;flex-direction:column;align-items:center;gap:11px;width:auto;padding:8px;display:flex;position:absolute;top:50%;left:14px;overflow:visible;transform:translateY(-50%)}.toolbar.toolbar-right{left:auto;right:14px}.toolbar>*{animation:orb-in .5s var(--ease-spring) backwards}@keyframes orb-in{0%{opacity:0;transform:translateY(10px)scale(.86)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toolbar>*,.brand,.topbar-actions,.stat-pill,.name-readout{animation:none!important}*,:before,:after{transition-duration:.001ms!important}}.tool-btn{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 33%, transparent);width:52px;height:52px;-webkit-backdrop-filter:var(--island-blur);box-shadow:var(--shadow-float);cursor:pointer;color:var(--text);transition:transform .28s var(--ease-spring), background .18s var(--ease-out), color .18s var(--ease-out), box-shadow .26s var(--ease-out), border-color .18s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.tool-btn .ti{display:inline-flex}.tool-btn .ti svg{width:23px;height:23px}.tool-btn.has-kbd .ti{transform:translateY(-5px)}.tool-group-wrap[data-group=arrow] .tool-btn.has-kbd .ti{transform:none}.tool-btn .kbd,.opt-orb .kbd{letter-spacing:0;color:var(--accent);opacity:.5;pointer-events:none;text-transform:lowercase;font-size:11px;font-weight:800;line-height:1;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.tool-btn.active .kbd,.opt-orb.active .kbd{color:var(--text);opacity:.7}.tool-btn:before{content:"";background:radial-gradient(circle, var(--glow), transparent 68%);opacity:0;z-index:-1;pointer-events:none;transition:opacity .3s var(--ease-out), transform .42s var(--ease-spring);border-radius:50%;position:absolute;inset:-7px;transform:scale(.6)}.tool-btn:after{content:"";border:2px solid var(--accent);opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out), transform .42s var(--ease-spring);border-radius:50%;position:absolute;inset:-4px;transform:scale(.86)}.tool-btn:hover,.toolbar-right .tool-btn:hover{transform:scale(1.09)}.tool-btn:focus-visible,.toolbar-right .tool-btn:focus-visible,.opt-orb:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tool-btn.active{background:color-mix(in srgb, var(--accent) 33%, transparent);color:var(--text);box-shadow:var(--shadow-float);border-color:#0000}.tool-btn.active:after{opacity:1;transform:scale(1)}.toolbar>:first-child{animation-delay:40ms}.toolbar>:nth-child(2){animation-delay:80ms}.toolbar>:nth-child(3){animation-delay:.12s}.toolbar>:nth-child(4){animation-delay:.16s}.toolbar>:nth-child(5){animation-delay:.2s}.toolbar>:nth-child(6){animation-delay:.24s}.toolbar>:nth-child(7){animation-delay:.28s}.toolbar>:nth-child(8){animation-delay:.32s}.toolbar>:nth-child(9){animation-delay:.36s}.tool-btn.active:hover,.toolbar-right .tool-btn.active:hover{transform:scale(1.09)}.tool-sep{pointer-events:none;background:0 0;width:22px;height:3px;margin:0 auto}.tool-pair{flex-direction:column;align-items:center;display:flex;position:relative}.tool-pair .pair-row{gap:5px;display:flex}.tool-btn.pair-btn{width:34px;height:34px;box-shadow:var(--shadow)}.tool-btn.pair-btn .ti svg{width:18px;height:18px}.tool-btn.pair-btn:hover{transform:translateY(-3px)scale(1.08)}.pair-label{white-space:nowrap;background:var(--pill-bg);color:var(--pill-fg);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out), transform .3s var(--ease-spring);border-radius:9px;margin-left:12px;padding:6px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;left:100%;transform:translate(-6px,-50%)}.tool-pair:hover .pair-label{opacity:1;transform:translateY(-50%)}.tool-group-wrap{--dir:1;place-items:center;display:inline-grid;position:relative}.tool-group-wrap[data-side=right]{--dir:-1}.tool-group-wrap>.tool-btn{z-index:2;position:relative}.tool-group-wrap>.tool-btn:hover{transform:scale(1.09)}.tool-group-wrap.open{z-index:70}.opt-orb{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 33%, transparent);width:52px;height:52px;box-shadow:none;-webkit-backdrop-filter:var(--island-blur);color:var(--text);cursor:pointer;z-index:1;pointer-events:none;will-change:transform;transform:translate(var(--cx,0px), var(--cy,0px));transition:transform .34s var(--ease-out) calc(var(--i,0) * 22ms), background .16s var(--ease-out), border-color .16s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.tool-group-wrap:hover:not(.open) .opt-orb,.tool-group-wrap:focus-within:not(.open) .opt-orb{transform:translate(var(--hx,calc(var(--cx,0px) + var(--dir) * 14px)), var(--cy,0px))}.tool-group-wrap.open .opt-orb{transform:translate(var(--ox,0px), var(--oy,0px));z-index:calc(50 - var(--i,0));pointer-events:auto;box-shadow:var(--shadow-float)}.opt-orb .ti{display:inline-flex}.opt-orb .ti svg{width:23px;height:23px}.opt-orb.has-kbd .ti{transform:translateY(-5px)}.opt-orb.ring-orb .ti{width:30px;height:30px}.opt-orb.ring-orb .ti svg{width:100%;height:100%}.opt-orb:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.opt-orb.active{background:color-mix(in srgb, var(--accent) 33%, transparent);color:var(--text);border-color:#0000}.opt-orb.is-default{display:none}.peek-hit{cursor:pointer;z-index:1;background:0 0;border:0;width:26px;height:100%;padding:0;position:absolute;top:0}.tool-group-wrap[data-side=left] .peek-hit{left:100%}.tool-group-wrap[data-side=right] .peek-hit{right:100%}.tool-group-wrap.open .peek-hit{pointer-events:none}.hover-orbs .tool-group-wrap>.tool-btn{z-index:60}.hover-orbs .opt-orb{opacity:0;box-shadow:none;transition:transform .42s var(--ease-spring) calc(var(--i,0) * 40ms), opacity .24s var(--ease-out) calc(var(--i,0) * 40ms), background .16s var(--ease-out), border-color .16s var(--ease-out);transform:translate(0)scale(.6)}.hover-orbs .tool-group-wrap.open .opt-orb{transform:translate(var(--ox,0px), var(--oy,0px)) scale(1);opacity:1;z-index:calc(50 - var(--i,0));pointer-events:auto;box-shadow:var(--shadow-float)}.canvas-wrap{background:var(--bg);flex:1;min-width:0;position:relative}#canvas{position:absolute;inset:0}.canvas-text-edit{z-index:30;border:1px dashed var(--accent);background:color-mix(in srgb, var(--bg) 80%, transparent);color:var(--text);text-align:center;resize:none;white-space:pre;box-sizing:content-box;border-radius:3px;outline:none;margin:0;padding:0 1px;line-height:1.2;position:absolute;overflow:hidden}.editor-svg{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;display:block}.editor-svg .grid-layer line{stroke:var(--mol-color);stroke-width:1px;vector-effect:non-scaling-stroke}.editor-svg .grid-layer circle{fill:var(--mol-color)}.editor-svg text{-webkit-user-select:none;user-select:none}.editor-svg .atom.selected .atom-hit{fill:#2563eb1f;stroke:var(--accent);stroke-width:1.2px;vector-effect:non-scaling-stroke}.editor-svg .bond.selected line:not(.bond-hit),.editor-svg .annot.selected [stroke]:not([stroke=none]){stroke:var(--accent)}.editor-svg .annot.selected [fill]:not([fill=none]){fill:var(--accent)}.editor-svg .sel-box{fill:#2563eb0d;stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:6 4;opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .sel-handle{fill:var(--accent);stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.editor-svg .sel-handle.scale{cursor:nwse-resize}.editor-svg .sel-handle.rotate{cursor:grab}.editor-svg .sel-handle.len{cursor:ns-resize}.editor-svg .sel-handle.len.active{fill:#fff;stroke:var(--accent);stroke-width:2.5px}.editor-svg .sel-handle-stalk{stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:3 2;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .bond.hover line:not(.bond-hit){stroke:#f59e0b}.editor-svg .atom.hover .atom-hit{fill:#f59e0b2e}.editor-svg .marquee{fill:#2563eb14;stroke:var(--accent);stroke-width:1.2px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.editor-svg .axis-guide{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 5;opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none}.sel-toolbar{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute}.sel-toolbar button{cursor:pointer;width:30px;height:30px;color:var(--text);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.sel-toolbar button:hover{background:var(--surface-2)}.bar-grip{cursor:grab;touch-action:none;color:var(--muted);align-self:center;place-items:center;padding:0 4px;display:grid}.bar-grip i{opacity:.5;background:currentColor;border-radius:999px;width:4px;height:18px}.bar-grip:hover i{opacity:.95}.bar-grip:active{cursor:grabbing}.sel-toolbar .sel-color{cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;width:30px;height:30px;padding:7px}.sel-toolbar .sel-color:hover{background:var(--surface-2)}.sel-toolbar .sel-color::-webkit-color-swatch-wrapper{padding:0}.sel-toolbar .sel-color::-webkit-color-swatch{border:1px solid var(--border);border-radius:50%}.sel-toolbar .sel-color::-moz-color-swatch{border:1px solid var(--border);border-radius:50%}.sel-toolbar button[data-act=del]:hover{color:var(--danger);background:#fde2e1}.sel-toolbar svg{width:17px;height:17px}.sel-toolbar .sep{background:var(--border);align-self:stretch;width:1px;margin:3px 1px}.sel-toolbar button[disabled]{opacity:.32;cursor:default;pointer-events:none}.sel-toolbar button:focus-visible,.sel-toolbar .sel-color:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:7px;outline:none}.editor-svg .annot-layer text{-webkit-user-select:none;user-select:none}.editor-svg .ann-sel-box{fill:none;stroke:var(--accent);stroke-width:1.3px;stroke-dasharray:5 4;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .ann-sel-line{stroke:var(--accent);stroke-width:1.3px;stroke-dasharray:5 4;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .ann-handle{fill:var(--accent);stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.editor-svg .ann-handle.ann-pt{cursor:move}.editor-svg .ann-hbar{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 2;opacity:.7;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .ann-hend{fill:#fff;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;cursor:crosshair}.editor-svg .ann-insert-pt{fill:#f5c518;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .ann-snap-pt{fill:none;stroke:var(--accent);stroke-width:1.6px;opacity:.9;vector-effect:non-scaling-stroke;pointer-events:none}.editor-svg .ann-pt-del{cursor:pointer}.editor-svg .ann-pt-del circle{fill:#fff;stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.editor-svg .ann-pt-del path{fill:none;stroke:var(--danger,#d33);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.editor-svg .ann-pt-del:hover circle{stroke:var(--danger,#d33)}.editor-svg .ann-sym-lock{cursor:pointer}.editor-svg .ann-sym-lock circle{fill:#fff;stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.editor-svg .ann-sym-lock rect{fill:var(--accent);stroke:none}.editor-svg .ann-sym-lock path{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.editor-svg .ann-sym-lock.open rect{fill:var(--muted)}.editor-svg .ann-sym-lock.open path{stroke:var(--muted)}.editor-svg .ann-sym-lock:hover circle{stroke:var(--accent)}.ann-props{z-index:22;background:var(--surface);border:1px solid var(--border);max-width:92%;box-shadow:var(--shadow);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex;position:absolute}.ann-props .ann-grp{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ann-props.ann-stacked{flex-direction:column;align-items:stretch;gap:6px}.ann-props.ann-stacked .ann-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ann-props .ann-grp.wide{flex:150px}.ann-props .ann-grp.wide input[type=text]{flex:1;min-width:90px}.ann-props .ann-grp.check{cursor:pointer;gap:3px}.ann-props input[type=text],.ann-props input[type=number],.ann-props select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:3px 5px;font-size:12px}.ann-props input[type=number]{width:52px}.ann-props input[type=range]{width:78px;accent-color:var(--accent)}.ann-props input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;width:26px;height:22px;padding:0}.ann-props .pt-step{border:1px solid var(--border);background:var(--bg);border-radius:6px;gap:0;height:24px;padding:0 2px}.ann-props .pt-step input{text-align:center;width:34px;color:var(--text);background:0 0;border:none;padding:3px 0;font-size:12px}.ann-props .pt-step .pt-unit{color:var(--muted);padding-right:2px;font-size:11px}.ann-props .pt-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:18px;height:20px;font-size:13px;font-weight:700;display:inline-flex}.ann-props .pt-btn:hover{background:var(--surface-2)}.color-chip{cursor:pointer;border:1px solid var(--border);background:var(--bg);border-radius:6px;width:30px;height:22px;padding:2px;display:inline-flex}.color-chip:hover{border-color:var(--accent)}.color-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip-swatch{background:repeating-conic-gradient(#cfd6e3 0% 25%,#fff 0% 50%) 0 0/8px 8px;border-radius:3px;flex:1;position:relative;overflow:hidden}.chip-swatch:after{content:"";background:var(--chip-c,#000);opacity:var(--chip-o,1);position:absolute;inset:0}.chip-swatch svg{display:none}.color-chip.none .chip-swatch{background:var(--surface)}.color-chip.none .chip-swatch:after{display:none}.color-chip.none .chip-swatch svg{fill:none;stroke:#c96a6a;stroke-width:2.4px;stroke-linecap:round;width:calc(100% - 6px);height:calc(100% - 4px);display:block;position:absolute;inset:2px 3px}.chip-pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;min-width:180px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 8px 28px #1018282e}.ann-props .font-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;min-width:122px;padding:3px 8px;font-size:12px;line-height:1.2;display:inline-flex}.ann-props .font-btn:after{content:"▾";font-family:var(--font);color:var(--muted);font-size:9px}.ann-props .font-btn:hover{border-color:var(--accent)}.font-pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:168px;padding:6px;display:flex;position:fixed;box-shadow:0 8px 28px #1018282e}.font-pop .font-row{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;padding:6px 10px;font-size:14px;line-height:1.25}.font-pop .font-row:hover{background:var(--surface-2)}.font-pop .font-row.on{background:var(--accent-soft);color:var(--accent);padding-right:26px;position:relative}.font-pop .font-row.on:after{content:"✓";font-family:var(--font);font-size:11px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.chip-pop .chip-row{color:var(--text);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.chip-pop input[type=color]{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;width:56px;height:24px;padding:1px}.chip-pop .pt-step{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:0;height:24px;padding:0 2px;display:inline-flex}.chip-pop .pt-step input{text-align:center;width:34px;color:var(--text);background:0 0;border:none;padding:3px 0;font-size:12px}.chip-pop .pt-unit{color:var(--muted);padding-right:2px;font-size:11px}.chip-pop .pt-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:18px;height:20px;font-size:13px;font-weight:700;display:inline-flex}.chip-pop .pt-btn:hover{background:var(--surface-2)}.chip-pop .chip-seg{border:1px solid var(--border);background:var(--bg);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.chip-pop .chip-seg button{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:none;border-radius:5px;padding:3px 9px;font-size:11.5px;font-weight:600}.chip-pop .chip-seg button:hover{color:var(--text)}.chip-pop .chip-seg button.on{background:var(--accent);color:#fff}.chip-pop .chip-row.disabled{opacity:.4;pointer-events:none}.ann-props .ann-seg{gap:1px;display:inline-flex}.ann-props .ann-seg button{border:1px solid var(--border);background:var(--bg);min-width:26px;height:24px;color:var(--text);cursor:pointer;padding:0 5px;font-size:11px}.ann-props .ann-seg button:first-child{border-radius:6px 0 0 6px}.ann-props .ann-seg button:last-child{border-radius:0 6px 6px 0}.ann-props .ann-seg button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ann-props .ann-seg button svg,.ann-props .ann-grp.check svg{display:block}.ann-props .btns{gap:2px}.ann-props .btns button{cursor:pointer;width:28px;height:28px;color:var(--text);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.ann-props .btns button:hover{background:var(--surface-2)}.ann-props .btns button[data-act=del]:hover{color:var(--danger);background:#fde2e1}.ann-props .btns svg{width:16px;height:16px}.ann-props .rxn-fieldsel{gap:1px}.ann-props .rxn-fieldsel button{border:1px solid var(--border);background:var(--bg);height:26px;color:var(--text);cursor:pointer;padding:0 9px;font-size:11px;font-weight:600}.ann-props .rxn-fieldsel button:first-child{border-radius:6px 0 0 6px}.ann-props .rxn-fieldsel button:last-child{border-radius:0 6px 6px 0}.ann-props .rxn-fieldsel button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ann-props .rxn-seg{gap:1px;display:inline-flex}.ann-props .rxn-seg button{border:1px solid var(--border);background:var(--bg);min-width:26px;height:24px;color:var(--text);cursor:pointer;font-size:11px}.ann-props .rxn-seg button:first-child{border-radius:6px 0 0 6px}.ann-props .rxn-seg button:last-child{border-radius:0 6px 6px 0}.ann-props .rxn-seg button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.ann-props .rxn-btn{border:1px solid var(--border);background:var(--bg);min-width:28px;height:26px;color:var(--text);cursor:pointer;border-radius:6px;font-size:12px;font-weight:700}.ann-props .rxn-btn:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.glyph-pop{z-index:90;background:var(--surface);border:1px solid var(--border);width:250px;box-shadow:var(--shadow-float);border-radius:12px;padding:8px;position:fixed}.glyph-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.glyph-grid+.glyph-grid{margin-top:4px}.greek-serif{font-family:var(--greek-font,inherit);font-size:var(--greek-size,1em)}.glyph-grid button{cursor:pointer;height:26px;color:var(--text);background:0 0;border:0;border-radius:6px;font-size:15px}.glyph-grid button:hover{background:var(--surface-2)}.glyph-abbr{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;display:flex}.glyph-abbr button{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text);border-radius:6px;padding:3px 8px;font-size:11px}.glyph-abbr button:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.drop-hint{border:2.5px dashed var(--accent);z-index:30;pointer-events:none;background:#2563eb0f;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:12px}.drop-hint-inner{background:var(--surface);border:1px solid var(--border);color:var(--accent-press);box-shadow:var(--shadow);border-radius:12px;padding:14px 22px;font-weight:600}.canvas-hud{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:4px;padding:5px 8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hud-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex;position:relative}.color-swatch{background:#111;border:1px solid #0003;border-radius:4px;width:14px;height:14px;display:inline-block}.hud-btn svg{width:17px;height:17px}.hud-btn:hover{background:var(--surface-2)}.hud-btn.active{background:var(--accent-soft);color:var(--accent-press)}.hud-zoom{font-variant-numeric:tabular-nums;min-width:52px;color:var(--muted);justify-content:center;padding:6px;font-weight:700}.hud-zoom:hover{color:var(--text)}.hud-sep{background:var(--border);width:1px;height:20px;margin:0 4px}.zoom-pill{background:var(--island-bg);-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);z-index:12;border-radius:999px;align-items:center;gap:1px;padding:4px 6px;display:flex;position:absolute;bottom:14px;right:14px}.zoom-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.zoom-btn svg{width:16px;height:16px}.zoom-btn:hover{background:var(--surface-2)}.zoom-field{border-radius:999px;align-items:baseline;gap:1px;padding:4px 3px;display:inline-flex}.zoom-field:hover{background:var(--surface-2)}.zoom-input,.zoom-unit,.scale-input,.scale-unit{font-variant-numeric:tabular-nums;font-family:inherit;font-size:12px;font-weight:700;line-height:1}.zoom-input,.scale-input{width:2ch;color:var(--muted);text-align:right;appearance:textfield;background:0 0;border:none;padding:0}.zoom-input:focus,.scale-input:focus{color:var(--accent);outline:none}.zoom-input:focus-visible,.scale-input:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:5px}.zoom-btn:focus-visible,.scale-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.zoom-input:hover{color:var(--text)}.zoom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.zoom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scale-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scale-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.zoom-unit,.scale-unit{color:var(--muted)}.zoom-sep{background:var(--border);width:1px;height:18px;margin:0 3px}.sel-toolbar,.scale-field,.mm-pill,.ann-props{transition:opacity .15s}.sel-toolbar.hud-faded,.scale-field.hud-faded,.mm-pill.hud-faded,.ann-props.hud-faded{opacity:.12;pointer-events:none}.hud-faded,.hud-faded .tool-btn,.hud-faded .opt-orb{-webkit-backdrop-filter:none}.scale-field{z-index:13;background:var(--island-bg);-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);border-radius:999px;align-items:center;gap:2px;padding:3px 5px;display:inline-flex;position:absolute}.scale-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.scale-btn:hover{background:var(--surface-2)}.scale-input{color:var(--text)}.mm-pill{z-index:13;background:var(--island-bg);-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);border-radius:999px;align-items:center;gap:2px;padding:3px 5px;display:inline-flex;position:absolute}.mm-grp{align-items:center;gap:1px;display:inline-flex}.mm-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.mm-btn:hover{background:var(--surface-2)}.mm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mm-field{border-radius:999px;align-items:baseline;gap:1px;padding:4px 3px;display:inline-flex}.mm-field:hover{background:var(--surface-2)}.mm-input,.mm-unit{font-variant-numeric:tabular-nums;font-family:inherit;font-size:12px;font-weight:700;line-height:1}.mm-input{width:3ch;color:var(--text);text-align:right;background:0 0;border:none;padding:0}.mm-input:focus{color:var(--accent);outline:none}.mm-input:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:5px}.mm-unit{color:var(--muted)}.mm-x{color:var(--muted);padding:0 2px;font-size:12px;font-weight:700}.btn.icon-only .color-swatch{width:16px;height:16px;display:block}.grid-tools{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:6;border-radius:10px;flex-direction:column;gap:3px;padding:4px;display:flex;position:absolute;top:14px;right:28px}.grid-tool{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.grid-tool:hover{background:var(--surface-2);color:var(--text)}.grid-tool svg{width:19px;height:19px}.grid-tool-sep{background:var(--border);height:1px;margin:1px 3px}.grid-tool.active{background:var(--accent-soft);color:var(--accent-press);border-color:var(--accent)}.grid-opacity-pop{background:var(--island-bg);-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-island), var(--island-hi);transform-origin:100%;animation:grid-pop-in .24s var(--ease-out);border-radius:10px;align-items:center;gap:8px;padding:7px 11px;display:flex;position:absolute;bottom:2px;right:calc(100% + 8px)}.grid-opacity-pop[hidden]{display:none}@keyframes grid-pop-in{0%{opacity:0;transform:scaleX(.55)translate(10px)}to{opacity:1;transform:none}}#gridOpacityRange{width:118px;accent-color:var(--accent);cursor:pointer}.grid-opacity-val{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:30px;font-size:11px;font-weight:700}.toast{color:#fff;opacity:0;pointer-events:none;box-shadow:var(--shadow);z-index:50;background:#111827;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;top:74px;left:50%;transform:translate(-50%)translateY(-12px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.label-pop{z-index:100;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:6px;padding:6px;display:flex;position:fixed}.label-pop input{border:1px solid var(--border);border-radius:7px;outline:none;width:120px;padding:6px 8px;font-family:inherit;font-size:14px}.label-pop input:focus{border-color:var(--accent)}.align-row{gap:4px;display:flex}.align-row button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex:1;padding:4px;font-family:inherit;font-size:12px;font-weight:700}.align-row button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-press)}.menu{z-index:100;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;min-width:160px;padding:6px;display:flex;position:fixed}.menu button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:7px;padding:8px 10px;font-family:inherit;font-size:13px}.menu button:hover{background:var(--surface-2)}.menu button:disabled{opacity:.4;cursor:not-allowed}.menu button:disabled:hover{background:0 0}#externMenu{min-width:280px}#externMenu button{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.ext-name{font-size:13px;font-weight:600}.ext-kind{color:var(--muted);font-size:11px}#themeMenu{min-width:220px}#generateMenu{min-width:250px}#generateMenu button{align-items:center;gap:10px;display:flex}#generateMenu .gen-ic{color:var(--muted);flex:none;display:inline-flex}#generateMenu .gen-ic svg{width:16px;height:16px;display:block}#themeMenu button{align-items:center;gap:10px;display:flex}#themeMenu button.active{background:var(--accent-soft);color:var(--accent-press)}#themeMenu .theme-mode{color:var(--muted);margin-left:auto;font-size:11px}.theme-sw{border:1px solid var(--border);border-radius:6px;flex:none;justify-content:flex-end;align-items:flex-end;width:22px;height:22px;padding:2px;display:inline-flex}.theme-sw span{border-radius:50%;width:9px;height:9px;display:block}.element-menu{z-index:15;transform-origin:top;width:max-content;min-width:0;transition:transform .22s var(--ease-snap), opacity .16s var(--ease-out);flex-flow:row;gap:2px;padding:6px}.element-menu:not(.open){opacity:0;pointer-events:none;transform:translateY(-16px)}.element-menu.open{opacity:1;pointer-events:auto;transform:translateY(0)}.element-menu button{text-align:center;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.element-menu button.active{background:var(--accent);color:#fff}.orbr-host{z-index:300;position:fixed;inset:0}.orbr-stage{position:absolute}.orbr-orb,.orbr-hub{--tone:var(--accent);--hs:1;text-align:center;background:var(--island-bg,var(--surface));-webkit-backdrop-filter:var(--island-blur);border:1px solid var(--border);box-shadow:var(--shadow-float), var(--island-hi);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;will-change:transform, opacity;transform:translate(-50%, -50%) translate(var(--ox,0px), var(--oy,0px)) scale(calc(var(--sc,1) * var(--hs,1)));border-radius:50%;place-items:center;line-height:1.04;display:grid;position:absolute;top:0;left:0}.orbr-orb{width:54px;height:54px;transition:background .16s var(--ease-out), color .16s var(--ease-out), box-shadow .22s var(--ease-out), border-color .16s var(--ease-out)}.orbr-lab{letter-spacing:-.02em;font-weight:600}.orbr-prev{width:46px;height:46px;color:var(--text);display:inline-flex}.orbr-prev svg{width:100%;height:100%}.orbr-orb.tone-bond .orbr-prev svg,.orbr-orb.tone-bond .orbr-prev svg [stroke-width="1.7"],.orbr-orb.tone-bond .orbr-prev svg [stroke-width="1.8"]{stroke-width:1.3px}.orbr-orb.tone-bond .orbr-prev svg [stroke-width="4"]{stroke-width:2.6px}.orbr-more{background:var(--tone);width:6px;height:6px;box-shadow:0 0 0 2px var(--surface);transition:transform .2s var(--ease-spring);border-radius:50%;position:absolute;bottom:7px;right:7px}.orbr-orb:hover{--hs:1.16;z-index:10;border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-float), 0 12px 26px -8px #10182866}.orbr-orb:hover .orbr-more{transform:scale(1.25)}.orbr-orb.is-active{border-color:var(--accent);box-shadow:var(--shadow-float), 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.orbr-orb.picked{--hs:.9;border-color:var(--accent);box-shadow:var(--shadow-float), 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.orbr-hub{z-index:4;width:58px;height:58px;transition:background .18s var(--ease-out), box-shadow .22s var(--ease-out);font-weight:700}.orbr-hub.is-close{color:var(--muted)}.orbr-hub.is-close:hover{background:var(--danger);color:#fff;border-color:#0000}.orbr-hub.is-back:hover{background:var(--surface-2)}.orbr-hub.is-back:hover .orbr-hub-chev{opacity:1;transform:translate(-1px)}.orbr-hub-x{margin-top:-2px;font-size:28px;line-height:1}.orbr-hub-lab{letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1}.orbr-hub-prev{width:40px;height:40px;color:var(--text);display:inline-flex}.orbr-hub-prev svg{width:100%;height:100%}.orbr-hub-chev{color:var(--accent);opacity:.55;transition:opacity .16s var(--ease-out), transform .2s var(--ease-spring);font-size:15px;font-weight:800;line-height:1;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.orbr-hub.pulse{animation:orbr-pulse .34s var(--ease-spring)}@keyframes orbr-pulse{0%{transform:translate(-50%,-50%)scale(1)}45%{transform:translate(-50%,-50%)scale(1.14)}to{transform:translate(-50%,-50%)scale(1)}}.orbr-ring{opacity:0;z-index:0;pointer-events:none;transition:opacity .26s var(--ease-out), transform .4s var(--ease-spring);position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.62)}.orbr-ring.in{opacity:1;transform:translate(-50%,-50%)scale(1)}.orbr-ring line,.orbr-ring circle{fill:none;stroke-linecap:round;stroke:color-mix(in srgb, #8b5cf6 62%, var(--border));stroke-width:3px}.orbr-orb.tone-element{--tone:#2563eb}.orbr-orb.tone-group{--tone:#0ea5e9}.orbr-orb.tone-ring{--tone:#8b5cf6}.orbr-orb.tone-bond{--tone:#2563eb}.orbr-orb.tone-halogen{--tone:#10b981}.orbr-orb.tone-text{--tone:#6366f1}@media (prefers-reduced-motion:reduce){.orbr-orb,.orbr-hub{transition-duration:.001ms!important}}button,.tool-btn,.opt-orb,.orbr-orb,.orbr-hub,.ring-btn{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.bar-grip{-webkit-touch-callout:none;touch-action:none}@media (pointer:coarse){.peek-hit{width:42px}.sel-toolbar{flex-wrap:wrap;gap:2px 1px;max-width:96vw}.sel-toolbar button,.sel-toolbar .sel-color{width:44px;height:44px}.sel-toolbar .sel-color{padding:10px}.sel-toolbar svg{width:19px;height:19px}.sel-toolbar .sep{align-self:center;height:30px}.bar-grip{min-height:44px;padding:0 9px}.bar-grip i{width:5px;height:26px}.modal .btn,.modal-actions .btn{min-height:44px;padding:10px 14px}.modal .btn.small,.modal-actions .btn.small{min-height:44px;padding:8px 12px}}.pep-host{z-index:340;position:fixed;inset:0}.pep-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-float);border-radius:14px;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:14px;display:grid;position:absolute}.pep-search{border:1px solid var(--border);width:100%;height:38px;font:inherit;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:0 12px}.pep-search:focus{border-color:color-mix(in srgb, var(--accent) 65%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.pep-hint{color:var(--muted);font-size:12px}.pep-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));align-content:start;gap:8px;padding-right:2px;display:grid;overflow:auto}.pep-aa{border:1px solid var(--border);background:var(--surface);min-height:142px;color:var(--text);text-align:center;cursor:pointer;border-radius:9px;grid-template-rows:minmax(72px,1fr) auto;align-content:center;gap:8px;padding:8px;display:grid}.pep-aa:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.pep-thumb{place-items:center;min-height:74px;display:grid;overflow:hidden}.pep-thumb svg{max-width:100%;max-height:86px;display:block}.pep-meta{gap:3px;display:grid}.pep-name{font-size:13px;font-weight:700;line-height:1.15}.pep-code{color:var(--muted);font-size:12px}.pep-empty{color:var(--muted);text-align:center;grid-column:1/-1;padding:14px 4px}.modal.modal-wide{flex-direction:column;width:92vw;max-width:92vw;height:88vh;max-height:88vh;display:flex;overflow:hidden}.modal.modal-wide .modal-body{flex-direction:column;flex:1;min-height:0;padding-right:42px;display:flex}.modal.modal-wide .modal-close{top:20px;right:22px}.lib-head{grid-template-columns:auto auto minmax(220px,1fr);align-items:center;gap:16px;display:grid}.lib-head h2{margin:0}.lib-mode{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lib-mode button{font:inherit;letter-spacing:.03em;cursor:pointer;min-width:46px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;transition:background .12s,color .12s}.lib-mode button:hover:not([aria-pressed=true]){color:var(--text)}.lib-mode button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #00000024}.lib-mode button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lib-search{border:1px solid var(--border);border-radius:10px;outline:none;width:100%;min-width:0;padding:9px 12px;font-family:inherit;font-size:14px}.lib-search:focus{border-color:var(--accent)}@media (max-width:720px){.modal.modal-wide .modal-body{padding-right:34px}.lib-head{grid-template-columns:auto 1fr;gap:10px}.lib-head .lib-search{grid-column:1/-1}}.lib-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin:14px 0 10px;padding-bottom:10px;display:flex}.lib-tab{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600}.lib-tab:hover{background:var(--surface-2)}.lib-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.lib-body{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.lib-cat-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 8px;font-size:12px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.lib-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px 8px;transition:border-color .1s,background .1s;display:flex}.lib-card:hover{border-color:var(--accent);background:var(--accent-soft)}.lib-detail{flex-direction:column;align-items:stretch;gap:8px;display:flex}.lib-back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:13px;font-weight:600}.lib-back:hover{text-decoration:underline}.lib-detail-name{margin:0;font-size:18px}.lib-detail-hint{color:var(--muted);margin:0;font-size:13px}.lib-detail-view{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;height:320px;display:flex}.lib-detail-svg{width:100%;height:100%}.lib-detail-svg.pickable .atom-hit{cursor:pointer}.lib-detail-svg.pickable .atom-hit:hover{fill:#2563eb2e}.lib-detail-actions{justify-content:center;display:flex}.lib-thumb{justify-content:center;align-items:center;width:100%;height:120px;display:flex;overflow:hidden}.lib-thumb svg{width:auto;max-width:100%;height:auto;max-height:100%}.lib-card span{color:var(--text);text-align:center;font-size:12px;font-weight:600;line-height:1.15}.lib-grid3d{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.lib-card3d{padding:10px}.lib-card3d .lib-thumb{height:118px}.lib-thumb-img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.lib-thumb-wait{background:linear-gradient(100deg, var(--surface-2) 30%, var(--border) 50%, var(--surface-2) 70%);opacity:.55;background-size:300% 100%;border-radius:12px;width:78%;height:78%;animation:1.6s ease-in-out infinite lib-thumb-shimmer}@keyframes lib-thumb-shimmer{0%{background-position:130% 0}to{background-position:-30% 0}}@media (prefers-reduced-motion:reduce){.lib-thumb-wait{animation:none}}.lib-card span.lib-card-hint{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:11px;font-weight:400;line-height:1.3;display:-webkit-box;overflow:hidden}.lib-status{color:var(--muted);padding:16px 0;font-size:14px}.lib-card span .lib-aa-code{color:var(--muted);font-weight:400}.lib-peptide{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;display:flex}.lib-peptide-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.lib-pdb-mark{color:var(--accent);opacity:.85;display:inline-flex}.lib-pdb-mark svg{width:18px;height:18px}.lib-peptide-row{gap:8px;display:flex}.lib-peptide-row .lib-search{flex:1}.lib-peptide-mode{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib-peptide-mode-label{color:var(--muted);margin-right:2px;font-size:12px}.lib-peptide-mode button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;font-size:12px}.lib-peptide-mode button:hover{border-color:var(--muted)}.lib-peptide-mode button.active{background:var(--text);color:var(--surface);border-color:var(--text)}.lib-peptide-status{color:var(--text);min-height:1.1em;font-size:13px;font-weight:600}.lib-peptide-status.error{color:var(--muted);font-weight:400}.lib-peptide-preview{border:1px dashed var(--border);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:90px;padding:8px;display:none}.lib-peptide-preview.show{display:flex}.lib-peptide-preview svg{width:auto;max-width:100%;height:auto;max-height:240px}.modal.lib-dunkel{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#2b2e4a;--surface-2:#22243a;--border:#ffffff2e;--text:#fffffff0;--muted:#ffffffa3;--accent:#82c8ff;--accent-press:#a6d9ff;--accent-soft:#82c8ff29;color:var(--text);background:#23253e;box-shadow:0 12px 48px #0000008c}.modal.lib-dunkel .lib-tab.active,.modal.lib-dunkel .btn.primary{color:#1a1c30}.modal.lib-dunkel .btn.primary:disabled{opacity:.45}.modal.lib-dunkel .lib-mode button[aria-pressed=true]{box-shadow:0 1px 3px #00000073}.modal.lib-dunkel .lib-search{background:var(--surface-2);color:var(--text)}.modal.lib-dunkel .lib-search::placeholder{color:#ffffff7a}.modal.lib-dunkel .lib-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px #82c8ff38}.modal.lib-dunkel .lib-card:not(.lib-card3d) .lib-thumb,.modal.lib-dunkel .lib-detail-view,.modal.lib-dunkel .lib-peptide-preview{background:#fff;border-radius:10px}.modal.lib-dunkel .lib-body{scrollbar-color:#ffffff42 transparent}.modal.lib-dunkel .lib-body::-webkit-scrollbar{width:10px}.modal.lib-dunkel .lib-body::-webkit-scrollbar-track{background:0 0}.modal.lib-dunkel .lib-body::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:6px}.modal.lib-dunkel .lib-body::-webkit-scrollbar-thumb:hover{background:#ffffff57}[hidden]{display:none!important}.modal-lead{color:var(--muted);margin:2px 0 14px;font-size:13.5px;line-height:1.5}.exp-group{background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:10px}.exp-group+.exp-group{margin-top:14px}.exp-grouplab{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin:2px 4px 9px;font-size:11px;font-weight:700;display:flex}.exp-grouplab svg{flex:none;width:14px;height:14px}.exp-actions{gap:8px;display:grid}.exp-action{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);border-radius:11px;align-items:center;gap:12px;padding:11px 12px;transition:background .12s,border-color .12s;display:flex}.exp-action:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.exp-ic{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-press);border-radius:9px;flex:none;place-items:center;display:grid}.exp-ic svg{width:19px;height:19px;display:block}.exp-tx{flex:1;min-width:0}.exp-tx b{font-size:13.5px;font-weight:650;display:block}.exp-tx span{color:var(--muted);font-size:11.5px}.exp-chev{color:var(--muted);font-size:15px}.open-drop{text-align:center;border:2px dashed color-mix(in srgb, var(--accent) 42%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--surface));cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:26px 20px;transition:background .14s,border-color .14s;display:flex}.open-drop.over{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:var(--accent)}.open-drop:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.open-drop-ic{color:var(--accent)}.open-drop-ic svg{width:38px;height:38px;display:block}.open-drop b{font-size:15px;font-weight:700}.open-drop-sub{color:var(--muted);font-size:12.5px}.open-fmts{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.fmt-chip{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.fmt-chip.fmt-exp{background:0 0;border-style:dashed}.open-or{color:var(--muted);align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.open-or:before,.open-or:after{content:"";background:var(--border);flex:1;height:1px}.open-pickrow{justify-content:center;display:flex}.open-pickrow .btn{align-items:center;gap:8px;display:inline-flex}.open-pickrow .btn svg{width:17px;height:17px}.svc-list{gap:8px;display:grid}.svc-row{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);border-radius:11px;align-items:center;gap:12px;padding:11px 12px;transition:background .12s,border-color .12s;display:flex}.svc-row:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.svc-row:disabled{opacity:.42;cursor:not-allowed}.svc-row:disabled:hover{background:var(--surface);border-color:var(--border)}.svc-badge{color:#fff;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid;overflow:hidden}.svc-badge-img{border:1px solid var(--border);background:#fff;padding:3px}.svc-badge-img img{object-fit:contain;width:100%;height:100%;display:block}.svc-tx{flex:1;min-width:0}.svc-tx b{font-size:13.5px;font-weight:650;display:block}.svc-tx span{color:var(--muted);font-size:11.5px}.svc-mode{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:3px 8px;font-size:10px;font-weight:700}.svc-mode.open{color:var(--accent-press);background:var(--accent-soft)}.svc-mode.paste{color:#0a7d4b;background:#12b76a29}.modal.modal-settings{max-width:760px}.modal.modal-generate{max-width:620px}.set-tabs{border-bottom:1px solid var(--border);gap:4px;margin:2px 0 6px;display:flex}.set-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:8px 12px 9px;font-size:13px;font-weight:600}.set-tabs button:hover{color:var(--text);background:var(--surface-2)}.set-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.set-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.set-pane>.set-row:last-child{border-bottom:0}.set-panes{align-items:start;display:grid}.set-panes .set-pane{grid-area:1/1}.set-panes .set-pane.off{visibility:hidden;pointer-events:none}.modal.modal-extern{max-width:760px}.set-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 2px;display:flex}.set-row:last-child{border-bottom:0}.set-info{flex:1;min-width:0}.set-info b{font-size:14px;font-weight:650;display:block}.set-info span{color:var(--muted);font-size:12px}.modal.modal-help{flex-direction:column;width:100%;max-width:1760px;height:calc(100vh - 40px);max-height:none;padding:18px 22px 16px;display:flex;overflow:hidden}.modal.modal-help .modal-body{flex-direction:column;flex:1;min-height:0;display:flex}.modal.modal-help .modal-close{z-index:3;top:12px;right:16px}.help-head{grid-template-columns:auto minmax(220px,520px) auto;align-items:center;gap:14px;margin-bottom:12px;padding-right:30px;display:grid}.modal-body .help-head h2{margin:0;font-size:19px}.help-filter{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:10px;margin:0;padding:8px 12px;font-size:13px}.help-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.help-hits{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.help-body{flex:1;gap:20px;min-height:0;display:flex}.help-nav{border-right:1px solid var(--border);flex-direction:column;flex:0 0 214px;gap:2px;padding:0 8px 8px 0;display:flex;overflow:hidden auto}.help-nav button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.help-nav button:hover{background:var(--surface-2)}.help-nav button.active{background:var(--surface-2);color:var(--accent-press,var(--accent))}.help-nav button.dim{opacity:.34}.help-nav-n{text-align:right;width:17px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:700}.help-nav button.active .help-nav-n{color:inherit}.help-nav-t{flex:1;min-width:0}.help-nav-c{background:var(--accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:17px;padding:0 6px;font-size:10.5px;font-weight:800;display:inline-flex}.help-nav-c[hidden]{display:none}.help-pane{scrollbar-gutter:stable;flex:1;min-width:0;padding:0 6px 28px 0;overflow:hidden auto}.help-grp[hidden]{display:none}.help-grp-head{margin:0 0 16px}.help-grp h3{letter-spacing:-.015em;color:var(--text);margin:0 0 5px;font-size:21px;font-weight:750}.modal-body .help-hint{color:var(--muted);text-wrap:pretty;max-width:54ch;margin:0;font-size:13.5px;line-height:1.55}.help-col{align-items:flex-start;gap:0 34px;display:flex}.help-track{flex:1 1 0;min-width:0;max-width:600px;container-type:inline-size}.help-block{min-width:0;margin:0 0 20px;display:flow-root}.help-block[hidden]{display:none}.help-block h4{color:var(--text);margin:2px 0 8px;font-size:14px;font-weight:700}.help-fig{margin:0 0 12px}.help-fig.float{float:left;width:max-content;margin:0 16px 10px 0}@container (width<=380px){.help-fig.float{float:none;width:auto}}.help-fig>.help-rep{margin-top:2px}.modal-body .help-note{color:var(--muted);text-wrap:pretty;max-width:54ch;margin:0 0 9px;font-size:12.5px;line-height:1.5}.help-cap,figcaption.help-cap{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px;font-size:11px;font-weight:700}.modal-body .help-empty{color:var(--muted);margin:24px 2px;font-size:13.5px}.help-rep{flex-wrap:wrap;align-items:center;gap:3px;max-width:100%;display:inline-flex}.help-rep-btn{color:var(--text);flex:none;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex;position:relative}.help-rep-btn svg{display:block}.help-rep-btn.hl{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.help-rep-key{color:var(--accent);opacity:.55;font-size:9.5px;font-weight:800;line-height:1;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.help-rep-stack{background:var(--muted);opacity:.5;border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:4px}.help-rep-top{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:4px;padding:5px 7px;box-shadow:0 1px 4px #00000012}.help-rep-top .help-rep-btn{border:1px solid var(--border);background:var(--surface);border-radius:9px;width:32px;height:32px}.help-rep-top .help-rep-btn svg{width:18px;height:18px}.help-rep-top .help-rep-sep{background:var(--border);width:1px;height:20px;margin:0 5px}.help-rep-float{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;gap:2px;padding:3px}.help-rep-float .help-rep-btn{border-radius:7px;width:30px;height:30px}.help-rep-float .help-rep-btn svg{width:17px;height:17px}.help-rep-float .help-rep-sep{background:var(--border);align-self:stretch;width:1px;margin:3px 2px}@container (width<=560px){.help-rep-top{gap:2px;padding:4px 6px}.help-rep-top .help-rep-btn{border-radius:8px;width:27px;height:27px}.help-rep-top .help-rep-btn svg{width:16px;height:16px}.help-rep-top .help-rep-sep{margin:0 3px}.help-rep-float .help-rep-btn{width:26px;height:26px}.help-rep-float .help-rep-btn svg{width:15px;height:15px}}.help-rep-rail{background:var(--surface-2);border-radius:20px;flex-flow:column;align-items:center;gap:7px;padding:10px 9px}.help-rep-rail .help-rep-btn{border:1px solid var(--border);background:var(--surface);border-radius:50%;width:38px;height:38px;box-shadow:0 1px 3px #00000014}.help-rep-rail .help-rep-btn svg{width:20px;height:20px}.help-rep-rail .help-rep-btn:has(.help-rep-key) svg{transform:translateY(-3px)}.help-rep-rail .help-rep-sep{height:9px}.help-rep-glass{background:#161922d1;border-radius:10px;flex-flow:column;align-items:center;gap:2px;padding:4px;box-shadow:0 1px 6px #00000038}.help-rep-glass .help-rep-btn{color:#fff;opacity:.85;border-radius:7px;width:28px;height:28px}.help-rep-glass .help-rep-btn svg{width:16px;height:16px}.help-rep-glass .help-rep-btn.hl{color:#fff;opacity:1;background:#ffffff42}.help-swatch{border:1px solid var(--border);background:#23253e;border-radius:4px;width:16px;height:16px}.help-pct{color:var(--text);white-space:nowrap;padding:0 6px;font-size:11px;font-weight:700}.help-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;gap:1px;padding:1px;display:inline-flex}.help-seg.wrap{flex-wrap:wrap}.help-seg span{letter-spacing:-.01em;height:18px;color:var(--muted);white-space:nowrap;border-radius:4px;align-items:center;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-flex}.help-seg span.is-on{background:var(--surface);color:var(--text)}.help-demo{background:var(--surface-2);border-radius:14px;justify-content:center;align-items:center;margin:0 0 4px;padding:14px;display:flex}.hd-svg{max-width:100%;height:auto}.hd-radial{width:150px;height:150px;position:relative}.hd-center{background:var(--text);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.hd-orb{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;margin:-17px 0 0 -17px;font-size:13px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;box-shadow:0 2px 6px #00000014}.hd-orb-text{color:var(--accent);font-size:11px}.hd-text{flex-direction:column;align-items:center;gap:6px;display:flex}.hd-text-bar{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:2px;padding:3px 5px;display:inline-flex}.hd-text-bar button{color:var(--text);cursor:default;background:0 0;border:0;border-radius:6px;width:26px;height:22px;font-size:12px;font-weight:700}.hd-text-box{border:1.5px solid var(--accent);background:var(--bg);color:var(--text);border-radius:8px;padding:6px 14px;font-size:15px}.hd-panel{color:#fff;background:#161922e0;border-radius:12px;flex-direction:column;gap:7px;width:100%;padding:11px 13px;display:flex}.hd-prow{align-items:center;gap:10px;display:flex}.hd-plab{opacity:.85;flex:0 0 84px;font-size:11px;font-weight:600}.hd-range{background:#fff3;border-radius:999px;flex:1;height:4px}.hd-range i{opacity:.75;background:#fff;border-radius:999px;height:100%;display:block}.hd-panel .help-seg{background:#ffffff14;border-color:#ffffff29}.hd-panel .help-seg span{color:#ffffff9e}.hd-panel .help-seg span.is-on{color:#fff;background:#ffffff3d}.hd-libhead{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.hd-libtitle{color:var(--text);font-size:17px;font-weight:750}.hd-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.hd-pill span{text-align:center;letter-spacing:.03em;min-width:40px;color:var(--muted);border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:700}.hd-pill span.is-on{background:var(--surface-2);color:var(--accent);box-shadow:0 1px 3px #00000024}.hd-input{border:1px solid var(--border);background:var(--surface);min-width:170px;color:var(--muted);border-radius:10px;flex:1;padding:7px 11px;font-size:12.5px}.help-grid{flex-direction:column;gap:1px;display:flex}.help-grid.cols2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px 18px;display:grid}.help-grid.cols2 .help-row{grid-template-columns:30px 1fr}.help-grid.narrowk .help-row{grid-template-columns:32px 1fr;padding:3px 8px}.help-grid.narrowk .help-ic{width:24px;height:24px}.help-grid.narrowk .help-ic svg{width:15px;height:15px}.help-row{border-radius:8px;grid-template-columns:118px 1fr;align-items:start;gap:0 12px;padding:5px 8px;font-size:13px;line-height:1.45;display:grid}.help-row:hover,.help-row.hl{background:var(--surface-2)}.help-row.hl .help-ic{border-color:var(--accent);color:var(--accent)}.help-row[hidden]{display:none}.help-k{text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px;min-height:22px;display:flex}.help-d{color:var(--text);text-wrap:pretty;align-self:center;max-width:54ch}.help-ic{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text);border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.help-ic svg{width:16px;height:16px}.help-gest{color:var(--text);font-size:12.5px;font-weight:600}.help-plus{color:var(--muted);margin:0 2px;font-size:11px}.help-dot{color:var(--muted);margin:0 5px}.help-row kbd{border:1px solid var(--border);background:var(--surface-2);min-width:22px;height:20px;color:var(--text);white-space:nowrap;border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:11px;display:inline-flex}@media (max-width:1080px){.help-body{flex-direction:column;gap:10px}.help-nav{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;flex:none;gap:4px;padding:0 0 8px;overflow:auto hidden}.help-nav button{white-space:nowrap;width:auto;padding:6px 10px}.help-nav-n{display:none}.help-pane{padding-right:2px}.help-track{max-width:none}}@media (max-width:760px){.modal.modal-help{height:calc(100vh - 24px);padding:16px 14px 12px}.help-head{grid-template-columns:1fr auto;gap:8px 12px;padding-right:28px}.help-head .help-filter{grid-column:1/-1}.help-row{grid-template-columns:1fr;gap:2px}.help-grid.cols2{grid-template-columns:1fr}}.set-select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;flex:none;min-width:216px;padding:6px 10px;font-size:12.5px;font-weight:600}.set-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:none;gap:3px;min-width:216px;padding:3px;display:inline-flex}.set-seg button{text-align:center;flex:1 1 0}.set-grid-ctl{flex:none;align-items:center;gap:12px;display:flex}.set-grid-ctl .set-seg{min-width:0}.set-seg button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600}.set-seg button.on{background:var(--surface);color:var(--accent-press);box-shadow:0 1px 3px #0000001a}.set-toggle{background:var(--accent);cursor:pointer;border:0;border-radius:999px;flex:none;width:44px;height:26px;transition:background .16s;position:relative}.set-toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .16s;position:absolute;top:3px;left:21px}.set-toggle.off{background:color-mix(in srgb, var(--muted) 40%, var(--surface-2))}.set-toggle.off:after{left:3px}.set-slider{flex:none;align-items:center;gap:10px;display:flex}.set-slider input[type=range]{width:130px;accent-color:var(--accent)}.set-slider span{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;min-width:34px;font-size:12px;font-weight:700}.set-mm{flex:none;align-items:center;gap:10px;display:flex}.set-mm input[type=range]{width:110px;accent-color:var(--accent)}.set-step{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex:none;justify-content:space-between;align-items:center;gap:2px;width:106px;padding:3px;display:inline-flex}.set-step button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;width:24px;height:24px;font-size:15px;font-weight:700;line-height:1}.set-step button:hover{background:var(--surface);color:var(--accent-press);box-shadow:0 1px 3px #0000001a}.set-step input{width:40px;font:inherit;color:inherit;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;font-size:12.5px;font-weight:700}.set-step input:focus{outline:none}.set-step input:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:6px}.set-step button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.set-unit{color:var(--muted);text-align:left;flex:none;width:26px;font-size:12px;font-weight:700}.empty-hint{pointer-events:none;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.empty-hint-inner{text-align:center;flex-direction:column;align-items:center;display:flex;transform:translateY(-4%)}.empty-scrib{letter-spacing:-.01em;color:color-mix(in srgb, var(--mol-color) 72%, var(--muted));font-family:Avenir Next,Helvetica Neue,Segoe UI,sans-serif;font-size:clamp(17px,2.6vw,23px);font-weight:600;line-height:1.35}.empty-scrib .em{color:var(--accent)}.empty-scrib-sub{color:var(--muted);margin-top:4px;font-family:Avenir Next,Helvetica Neue,Segoe UI,sans-serif;font-size:clamp(12px,1.8vw,15px)}.empty-arrow{color:color-mix(in srgb, var(--accent) 68%, var(--muted));margin-top:8px}.empty-arrow svg{width:84px;height:92px;display:block}.empty-drop-demo{margin-top:32px}.edd-target{border:2px dashed color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent-soft) 36%, transparent);border-radius:18px;place-items:center;width:400px;height:196px;display:grid;position:relative}.edd-target:before{content:"";border:2px dashed color-mix(in srgb, var(--accent) 58%, var(--border));background:color-mix(in srgb, var(--accent-soft) 47%, transparent);opacity:0;pointer-events:none;z-index:0;border-radius:18px;animation:5s ease-in-out infinite edd-target;position:absolute;inset:-2px}.edd-target:after{content:"";border:2px solid var(--accent);opacity:0;border-radius:24px;animation:5s ease-out infinite edd-ring;position:absolute;inset:-7px}.edd-drop{z-index:1;flex-direction:column;align-items:center;gap:9px;animation:5s ease-in-out infinite edd-drop;display:flex;position:relative}.edd-mol{width:138px;height:auto;color:color-mix(in srgb, var(--mol-color) 78%, var(--muted))}.edd-name{background:var(--surface);border:1px solid var(--border);color:var(--muted);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:6px;padding:4px 11px;font-family:Avenir Next,Helvetica Neue,Segoe UI,sans-serif;font-size:12px;font-weight:600;display:inline-flex}.edd-ic{color:var(--accent);display:inline-flex}.edd-ic svg{width:14px;height:14px;display:block}@keyframes edd-drop{0%{opacity:0;transform:translateY(-26px)scale(.97)}10%{opacity:1}14%{transform:translateY(3px)scale(1)}19%{transform:translateY(0)}80%{opacity:1;transform:translateY(0)}90%,to{opacity:0;transform:translateY(6px)}}@keyframes edd-target{0%,8%{opacity:0}14%,78%{opacity:1}92%,to{opacity:0}}@keyframes edd-ring{0%,10%{opacity:0;transform:scale(.98)}16%{opacity:.4;transform:scale(1)}32%,to{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.edd-drop,.edd-target,.edd-target:before,.edd-target:after{animation:none}}.empty-word-note{text-align:center;max-width:620px;color:var(--muted);text-wrap:pretty;margin-top:36px;font-family:Avenir Next,Helvetica Neue,Segoe UI,sans-serif;font-size:15px;line-height:1.65}.empty-word-note .ewn-body{display:block}.empty-word-note .ewn-body+.ewn-body{margin-top:10px}.empty-word-note .ewn-ic svg{vertical-align:-3px;width:16px;height:16px;display:inline-block}.empty-word-note .ewn-em{color:var(--accent);font-weight:700}.empty-word-note .ewn-strong{color:color-mix(in srgb, var(--text) 78%, var(--muted));font-weight:600}
