@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");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}:root{--bg:#03040b;--panel:#0c0f229e;--panel-strong:#0d1126db;--line:#96a5ff21;--line-strong:#96a5ff47;--text:#eaeeff;--muted:#a1a9cf;--dim:#6f78a0;--accent:#5ee7ff;--accent-2:#a78bfa;--accent-3:#ff7ab6;--warn:#ffb547;--ok:#4ade80;--danger:#ff6b7a;--radius:18px;--font-ui:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Space Grotesk Variable", "Inter Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SFMono-Regular", monospace;--drawer-h:360px;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;line-height:1.45;overflow:hidden}button{font:inherit;color:inherit}#app{position:fixed;inset:0;overflow:hidden}.stage{z-index:0;isolation:isolate;position:absolute;inset:0}.stage-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.label-layer{pointer-events:none;inset:0;position:absolute!important}#app.dragging .stage-canvas{cursor:grabbing!important}.ico{flex:none;width:18px;height:18px}.glass{-webkit-backdrop-filter:blur(22px)saturate(160%);border:1px solid var(--line);background:linear-gradient(160deg,#141936db,#080a1ad1);box-shadow:0 20px 60px -20px #000000bf,inset 0 1px #ffffff0f}.muted{color:var(--dim)}.center{text-align:center}.brand{z-index:20;pointer-events:none;animation:fadeDown .9s var(--ease) both;align-items:center;gap:12px;display:flex;position:fixed;top:14px;left:18px}.logo{filter:drop-shadow(0 0 12px #5ee7ff8c);width:42px;height:42px}.logo svg{width:100%;height:100%;animation:18s linear infinite spin}.logo .lg-e{transform-origin:24px 24px;filter:drop-shadow(0 0 4px #fff);animation:2.4s linear infinite spin}.brand-text{flex-direction:column;display:flex}.brand-text b{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#9ee9ff 40%,#c4b5fd 80%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:19px}.brand-text span{color:var(--muted);letter-spacing:.02em;font-size:11.5px}.toolbar{z-index:20;animation:fadeDown .9s .1s var(--ease) both;border-radius:18px;align-items:center;gap:6px;max-width:calc(100vw - 32px);padding:6px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toolbar .sep{background:var(--line);width:1px;height:24px;margin:0 2px}.seg{background:#ffffff09;border:1px solid #ffffff0a;border-radius:13px;gap:2px;padding:3px;display:inline-flex}.seg button{height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .25s, color .25s, box-shadow .25s, transform .2s var(--spring);background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:550;display:inline-flex}.seg button:hover:not(:disabled){color:var(--text);background:#ffffff0f}.seg button:active:not(:disabled){transform:scale(.95)}.seg button.on{color:#04121a;background:linear-gradient(135deg,#7ff0ff,#b69cff);box-shadow:inset 0 0 0 1px #ffffff40,0 6px 22px -6px #5ee7ffcc}.seg button:disabled{opacity:.35;cursor:not-allowed}.seg-sm button{height:26px;padding:0 9px;font-size:12px}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;transition:background .2s, color .2s, transform .2s var(--spring);background:#ffffff09;border:1px solid #0000;border-radius:11px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--text);background:#ffffff17}.icon-btn:active{transform:scale(.9)}.icon-btn.danger:hover{color:var(--danger);background:#ff6b7a1f}.icon-btn.ghost{background:0 0}.temp{height:36px;color:var(--muted);align-items:center;gap:8px;padding:0 8px 0 6px;display:inline-flex}.temp-val{font-family:var(--font-mono);width:50px;color:var(--text);font-size:12px}.temp input[type=range]{appearance:none;background:linear-gradient(90deg, #4cc9ff, #a78bfa, #ff7ab6 var(--p,20%), #ffffff1a var(--p,20%));cursor:pointer;border-radius:4px;outline:none;width:110px;height:4px}.temp input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #ff7ab659,0 0 14px #ff7ab6e6}.temp input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:16px;height:16px;box-shadow:0 0 14px #ff7ab6e6}.top-right{z-index:21;animation:fadeDown .9s .2s var(--ease) both;gap:8px;display:flex;position:fixed;top:14px;right:16px}.pill{cursor:pointer;height:42px;color:var(--text);transition:transform .2s var(--spring), border-color .2s;border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.pill:hover{border-color:var(--line-strong);transform:translateY(-1px)}.pill.icon-only{justify-content:center;width:42px;padding:0}.badge-count{font-family:var(--font-mono);color:#cfe9ff;background:linear-gradient(135deg,#5ee7ff33,#a78bfa40);border-radius:20px;padding:2px 7px;font-size:11px}.panel-toggle{display:none}.settings{z-index:30;opacity:0;pointer-events:none;width:270px;transition:opacity .25s var(--ease), transform .3s var(--ease);border-radius:18px;padding:10px 14px 14px;position:fixed;top:64px;right:16px;transform:translateY(-8px)scale(.98);background:linear-gradient(160deg,#141936f5,#080a1af2)!important}.settings.open{opacity:1;pointer-events:auto;transform:none}.settings h4{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:8px 0 6px;font-size:10.5px}.switch{cursor:pointer;color:var(--muted);align-items:center;gap:10px;padding:6px 0;font-size:13px;display:flex}.switch:hover{color:var(--text)}.switch input{opacity:0;pointer-events:none;position:absolute}.switch i{background:#ffffff1a;border-radius:20px;flex:none;width:34px;height:20px;transition:background .25s;position:relative}.switch i:after{content:"";width:14px;height:14px;transition:transform .3s var(--spring);background:#cdd3f3;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+i{background:linear-gradient(135deg,#36c9e8,#8b6cf6)}.switch input:checked+i:after{background:#fff;transform:translate(14px)}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.hint{left:16px;bottom:calc(var(--drawer-h) + 14px);z-index:15;max-width:560px;color:var(--muted);transition:bottom .45s var(--ease);pointer-events:none;border-radius:12px;padding:8px 14px;font-size:12px;position:fixed}body:has(.library.open) .hint{opacity:0}.hint{transition:bottom .45s var(--ease), opacity .3s}.hint b{color:var(--text);font-weight:600}.drawer{z-index:18;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(24px)saturate(150%);transition:transform .55s var(--ease);animation:slideUp 1s .15s var(--ease) both;background:linear-gradient(#0a0d20c7,#050712f0);position:fixed;bottom:0;left:0;right:0;transform:translateY(0)}.drawer:before{content:"";background:linear-gradient(90deg,#0000,#5ee7ff99,#a78bfa99,#0000);height:1px;position:absolute;inset:-1px 0 auto}.drawer:not(.open){transform:translateY(100%)}.drawer-handle{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:32px;color:var(--muted);white-space:nowrap;cursor:pointer;background:#0a0d20d9;border-bottom:0;border-radius:12px 12px 0 0;align-items:center;gap:8px;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.drawer-handle:hover{color:var(--text)}.drawer.open .drawer-handle{cursor:ns-resize}.drawer.resizing{transition:none}.drawer-handle:before{content:"";background:#96a5ff40;border-radius:3px;width:28px;height:3px;margin-left:-14px;position:absolute;top:4px;left:50%}.drawer-handle .chev{transition:transform .4s var(--ease)}.drawer:not(.open) .drawer-handle .chev{transform:rotate(180deg)}.drawer-body{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:8px;height:min(46vh,560px);padding:10px 16px 8px;display:grid}.drawer-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pt-title{align-items:baseline;gap:12px;display:flex}.pt-title h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:15px}.pt-title span{color:var(--dim);font-size:12px}.search{border:1px solid var(--line);height:32px;color:var(--dim);background:#ffffff0a;border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:0 10px;transition:border-color .2s;display:flex}.search:focus-within{border-color:#5ee7ff80;box-shadow:0 0 0 3px #5ee7ff1f}.search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}.pt-wrap{scrollbar-width:thin;min-height:0;display:flex;overflow:auto}.pt-grid{--tile:48px;--gap:4px;grid-template-columns:repeat(18, var(--tile));grid-template-rows:repeat(7, var(--tile)) calc(var(--tile) * .22) repeat(2, var(--tile));gap:var(--gap);margin:auto;padding:2px;display:grid;position:relative}.tile{--c:#4cc9ff;border-radius:calc(var(--tile) * .17);background:radial-gradient(120% 90% at 30% 0%, color-mix(in oklab, var(--c) 34%, transparent), transparent 70%), linear-gradient(165deg, color-mix(in oklab, var(--c) 20%, #0c0f22e6), color-mix(in oklab, var(--c) 6%, #080a18f2));border:1px solid color-mix(in oklab, var(--c) 42%, transparent);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x;transition:transform .22s var(--spring), box-shadow .25s, opacity .3s, filter .3s, border-color .25s;animation:tileIn .7s var(--ease) both;outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tile:after{content:"";border-radius:inherit;transition:transform .6s var(--ease);pointer-events:none;background:linear-gradient(120deg,#0000 30%,#ffffff2e 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.tile:hover:after,.tile:focus-visible:after{transform:translate(120%)}.tile .z{top:calc(var(--tile) * .05);left:calc(var(--tile) * .09);font-family:var(--font-mono);font-size:max(8px, calc(var(--tile) * .17));color:color-mix(in oklab, var(--c) 55%, #fff);opacity:.85;position:absolute}.tile .sym{font-family:var(--font-display);font-weight:650;font-size:calc(var(--tile) * .4);margin-top:calc(var(--tile) * .06);color:#fff;text-shadow:0 0 14px color-mix(in oklab, var(--c) 70%, transparent);line-height:1}.tile .nm{font-size:max(7px, calc(var(--tile) * .14));color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:94%;margin-top:2px;overflow:hidden}.tile .ms{display:none}.tile:hover,.tile:focus-visible{z-index:5;border-color:var(--c);box-shadow:0 0 0 1px color-mix(in oklab, var(--c) 60%, transparent), 0 10px 30px -6px color-mix(in oklab, var(--c) 80%, transparent);transform:translateY(-3px)scale(1.16)}.tile:active{cursor:grabbing;transform:scale(1.05)}.tile.sel{box-shadow:0 0 0 2px var(--c), 0 0 26px color-mix(in oklab, var(--c) 70%, transparent);border-color:#fff}.pt-grid.compact .tile .nm{display:none}.pt-grid.compact .tile .sym{margin-top:calc(var(--tile) * .12)}.pt-grid.tiny .tile .z{display:none}.pt-grid.tiny .tile .sym{margin-top:0}.pt-grid.dimming .tile:not(.hl),.pt-grid.searching .tile:not(.match){opacity:.18;filter:saturate(.3)}.pt-grid .tile.match,.pt-grid.dimming .tile.hl{box-shadow:0 0 18px color-mix(in oklab, var(--c) 70%, transparent)}.pt-fref{border-radius:calc(var(--tile) * .17);font-family:var(--font-mono);font-size:max(8px, calc(var(--tile) * .16));color:#c4b5fd;background:#e879f90d;border:1px dashed #a78bfa59;place-items:center;display:grid}.pt-fref.act{color:#ffb3d4;border-color:#ff7ab659}.pt-featured{--c:#4cc9ff;margin:calc(var(--tile) * .08) calc(var(--tile) * .2);align-items:center;gap:calc(var(--tile) * .3);padding:calc(var(--tile) * .14) calc(var(--tile) * .3);border-radius:calc(var(--tile) * .3);background:radial-gradient(80% 120% at 0% 50%, color-mix(in oklab, var(--c) 18%, transparent), transparent 70%), #ffffff05;border:1px solid color-mix(in oklab, var(--c) 25%, transparent);grid-area:1/3/span 3/span 10;transition:border-color .3s,background .3s;display:flex;overflow:hidden}.pf-model{aspect-ratio:1;flex:none;height:100%}.pf-model .bohr{width:100%;height:100%}.pf-main{flex:1;min-width:0}.pf-top{align-items:center;gap:calc(var(--tile) * .2);display:flex}.pf-z{font-family:var(--font-mono);font-size:calc(var(--tile) * .22);color:var(--c)}.pf-sym{font-family:var(--font-display);font-weight:700;font-size:calc(var(--tile) * .95);color:#fff;text-shadow:0 0 24px color-mix(in oklab, var(--c) 70%, transparent);line-height:.9}.pf-names{flex-direction:column;min-width:0;display:flex}.pf-names b{font-family:var(--font-display);font-size:calc(var(--tile) * .34);line-height:1.1}.pf-names span{font-size:calc(var(--tile) * .2)}.pf-config{font-family:var(--font-mono);font-size:calc(var(--tile) * .22);color:#cfe9ff;margin:calc(var(--tile) * .08) 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pf-props{font-size:calc(var(--tile) * .2);color:var(--text);flex-wrap:wrap;gap:4px 14px;display:flex}.pf-props i{color:var(--dim);margin-right:5px;font-style:normal}.pt-grid.compact .pf-props span:nth-child(n+3){display:none}.pt-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:26px;display:flex}.chip{--c:#fff;height:24px;color:var(--muted);border:1px solid var(--line);cursor:default;background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:11.5px;transition:color .2s,border-color .2s,background .2s;display:inline-flex}button.chip{cursor:pointer}.chip:hover{color:var(--text);border-color:color-mix(in oklab, var(--c) 60%, transparent);background:color-mix(in oklab, var(--c) 12%, transparent)}.chip i{background:var(--c);width:8px;height:8px;box-shadow:0 0 8px var(--c);border-radius:50%}.grad{border-radius:8px;width:240px;height:8px}.grad-label{color:var(--muted);margin-right:6px;font-size:12px}.grad-end{font-family:var(--font-mono);color:var(--dim);font-size:11px}.drag-ghost{--c:#4cc9ff;z-index:100;pointer-events:none;background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c) 60%, #fff), var(--c) 45%, color-mix(in oklab, var(--c) 40%, #000));width:66px;height:66px;box-shadow:0 0 0 2px #fff6, 0 0 40px var(--c), 0 0 90px color-mix(in oklab, var(--c) 50%, transparent);transition:opacity .25s, scale .3s var(--spring);animation:popIn .35s var(--spring) both;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:-33px 0 0 -33px;display:flex;position:fixed;top:0;left:0}.drag-ghost .sym{font-family:var(--font-display);color:#fff;text-shadow:0 1px 6px #0009;font-size:24px;font-weight:700;line-height:1}.drag-ghost .nm{color:#fff;opacity:.85;text-shadow:0 1px 4px #000c;font-size:9.5px}.drag-ghost.over{opacity:.18;scale:.6}.drag-ghost.cancel{opacity:0;scale:.2}#app.table-dragging .stage-canvas{cursor:copy}.panel{top:70px;right:16px;bottom:calc(var(--drawer-h) + 14px);z-index:16;width:372px;transition:transform .55s var(--ease), opacity .4s, bottom .5s var(--ease);animation:fadeLeft .9s .25s var(--ease) both;border-radius:22px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.panel.collapsed{opacity:0;pointer-events:none;transform:translate(calc(100% + 30px))}.panel-head{justify-content:space-between;align-items:center;padding:12px 10px 6px 18px;display:flex}.panel-title{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:10.5px;font-weight:700;display:flex}.panel-title:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:2s ease-in-out infinite pulse}.panel-body{scrollbar-width:thin;scrollbar-color:#96a5ff40 transparent;flex:1;padding:4px 18px 20px;overflow-y:auto}.panel-body.enter>*{animation:rise .55s var(--ease) both}.panel-body.enter>:nth-child(2){animation-delay:40ms}.panel-body.enter>:nth-child(3){animation-delay:80ms}.panel-body.enter>:nth-child(4){animation-delay:.12s}.panel-body.enter>:nth-child(n+5){animation-delay:.16s}.section{margin-top:16px}.section h4{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 8px;font-size:10.5px;font-weight:700}.stats{grid-template-columns:1fr 1fr;gap:6px;display:grid}.stats.three{grid-template-columns:repeat(3,1fr)}.stat{background:#ffffff08;border:1px solid #ffffff0a;border-radius:12px;min-width:0;padding:8px 10px}.stat span{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.stat b{font-size:13.5px;font-weight:600;font-family:var(--font-display);overflow-wrap:anywhere;display:block}.stats.three .stat b{font-size:20px}.el-head{--c:#4cc9ff;align-items:center;gap:14px;margin-top:4px;display:flex}.el-tile{background:radial-gradient(120% 90% at 30% 0%, color-mix(in oklab, var(--c) 45%, transparent), transparent 70%), linear-gradient(165deg, color-mix(in oklab, var(--c) 26%, #0b0e22), #080a18);border:1px solid color-mix(in oklab, var(--c) 55%, transparent);width:78px;height:78px;box-shadow:0 10px 30px -10px color-mix(in oklab, var(--c) 80%, transparent);animation:popIn .5s var(--spring) both;border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.el-tile .z{font-family:var(--font-mono);color:color-mix(in oklab, var(--c) 60%, #fff);font-size:11px;position:absolute;top:6px;left:9px}.el-tile .sym{font-family:var(--font-display);text-shadow:0 0 18px color-mix(in oklab, var(--c) 70%, transparent);font-size:32px;font-weight:700;line-height:1}.el-tile .sym sup{color:var(--accent-3);font-size:14px}.el-tile .ms{color:var(--muted);font-size:10px;font-family:var(--font-mono);margin-top:4px}.el-names h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:22px}.el-names h3 small{color:var(--muted);font-size:12px;font-weight:500}.el-names .cat{color:var(--c);font-size:12px;font-weight:600}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:12px;display:block}.link:hover{text-decoration:underline}.bohr-wrap{background:radial-gradient(circle at 50% 45%,#5ee7ff14,#0000 65%);border-radius:18px;flex-direction:column;align-items:center;margin-top:16px;padding:10px;display:flex}.bohr .shell{fill:none;stroke:#96a5ff38;stroke-width:1px;stroke-dasharray:2 3}.bohr .shell.valence{stroke:#5ee7ff73;stroke-dasharray:none}.bohr .orbit{animation:linear infinite spin}.bohr .el{fill:#8c96ff}.bohr .el.valence{fill:#7ff0ff;filter:drop-shadow(0 0 3px #5ee7ff)}.bohr .nucleus{filter:drop-shadow(0 0 6px #ff7a78e6);transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite pulse}.shells{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.shell-chip{font-family:var(--font-mono);border:1px solid var(--line);background:#ffffff0a;border-radius:8px;padding:2px 8px;font-size:11.5px}.shell-chip b{color:var(--accent);margin-right:5px;font-weight:600}.config{font-family:var(--font-mono);color:#d7f5ff;background:#5ee7ff0f;border:1px solid #5ee7ff29;border-radius:12px;padding:8px 12px;font-size:13.5px}.orbitals{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.ob-group{flex-direction:column;align-items:center;gap:4px;display:flex}.ob-boxes{display:flex}.ob-box{background:#ffffff05;border:1px solid #96a5ff59;justify-content:center;align-items:center;gap:1px;width:24px;height:28px;margin-left:-1px;font-style:normal;display:flex}.ob-box:first-child{border-radius:6px 0 0 6px}.ob-box:last-child{border-radius:0 6px 6px 0}.ob-box:only-child{border-radius:6px}.ob-box i{font-size:13px;font-style:normal;font-weight:700;line-height:1}.ob-box .up{color:#7ff0ff}.ob-box .down{color:#c4b5fd}.ob-label{font-family:var(--font-mono);color:var(--muted);font-size:11px}.ox{color:var(--muted);margin-top:8px;font-size:12px}.ox b{color:var(--text);font-family:var(--font-mono);font-weight:500}.fact{background:linear-gradient(135deg,#a78bfa1f,#5ee7ff0f);border:1px solid #a78bfa38;border-radius:14px;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.fact .ico{color:#d6c9ff;margin-top:1px}.fact p{color:#dcdcf6;margin:0;font-size:12.5px}.status{border-radius:12px;align-items:flex-start;gap:10px;margin-top:14px;padding:10px 12px;font-size:12.5px;display:flex}.status.ok{color:#c9f7da;background:#4ade8014;border:1px solid #4ade8040}.status.ok .ico{color:var(--ok)}.status.warn{color:#ffe5bd;background:#ffb54714;border:1px solid #ffb54747}.status.warn .ico{color:var(--warn)}.actions{gap:8px;margin-top:14px;display:flex}.actions.wrap{flex-wrap:wrap}.btn{border:1px solid var(--line-strong);height:36px;color:var(--text);cursor:pointer;transition:transform .2s var(--spring), background .2s, border-color .2s, box-shadow .2s;background:#ffffff0a;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex}.btn .ico{width:16px;height:16px}.btn:hover{background:#ffffff14;border-color:#96a5ff73}.btn:active{transform:scale(.96)}.btn.primary{color:#031018;background:linear-gradient(135deg,#7ff0ff,#b69cff);border:0;box-shadow:0 8px 26px -8px #5ee7ffcc}.btn.primary:hover{box-shadow:0 10px 34px -6px #5ee7fff2}.btn.danger:hover{color:#ffd1d7;background:#ff6b7a1f;border-color:#ff6b7a99}.btn.wide{width:100%;margin-top:14px}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.lg{border-radius:14px;height:46px;padding:0 22px;font-size:14px}.bond-list,.center-list,.mol-list{flex-direction:column;gap:4px;display:flex}.bond-row,.center-row,.mol-row{text-align:left;cursor:pointer;width:100%;transition:background .2s, border-color .2s, transform .2s var(--ease);background:#ffffff06;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:grid}.bond-row{grid-template-columns:70px 1fr auto}.center-row{grid-template-columns:30px 56px 1fr}.center-row .muted{grid-column:2/-1;font-size:11.5px}.bond-row:hover,.center-row:hover,.mol-row:hover{background:#5ee7ff12;border-color:#5ee7ff33;transform:translate(2px)}.bsym{font-family:var(--font-display);color:#fff;font-weight:700}.mol-row{grid-template-columns:auto 1fr auto}.mol-row .f{font-family:var(--font-display);min-width:64px;font-weight:700}.mol-row .n{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mol-row.known .n{color:#d9f7ff}.dot{border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.dot.warn{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:1.6s infinite pulse}.mol-head{border:1px solid var(--line);background:radial-gradient(90% 120% at 0 0,#5ee7ff1f,#0000 60%),#ffffff05;border-radius:18px;margin-top:6px;padding:16px;position:relative;overflow:hidden}.mol-head.known{border-color:#5ee7ff59}.mol-head.known:after{content:"";background:linear-gradient(115deg,#0000 35%,#ffffff14 50%,#0000 65%);animation:3.5s ease-in-out infinite sheen;position:absolute;inset:0}.mol-formula{font-family:var(--font-display);letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#a5f0ff 60%,#c4b5fd);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.mol-head h3{font-family:var(--font-display);margin:2px 0 8px;font-size:17px;font-weight:600}.badge{color:#b8ffd4;background:#4ade801f;border:1px solid #4ade804d;border-radius:20px;align-items:center;gap:5px;height:22px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.badge .ico{width:13px;height:13px}.badge.dim{color:var(--muted);border-color:var(--line);background:#ffffff0a}.badge.named{color:#e2d9ff;background:#a78bfa24;border-color:#a78bfa66}.badge.online{color:#bfe9ff;background:#5ec8ff1f;border-color:#5ec8ff59}.badge.cls{color:#ffe2b0;background:#ffbe5a14;border-color:#ffbe5a47;font-weight:600}.mol-badges{flex-wrap:wrap;gap:6px;display:flex}.mol-alt{color:var(--muted);margin:-4px 0 8px;font-size:12px}.mol-alt b{color:#d9d2ff;font-weight:600}.mol-head.named{background:radial-gradient(90% 120% at 0 0,#a78bfa29,#0000 60%),#ffffff05;border-color:#a78bfa66}.fact.cls{background:linear-gradient(135deg,#ffbe5a14,#a78bfa0f);border-color:#ffbe5a33}.fact.cls .ico{color:#ffd18a}.fact.cls b{color:#ffe6bf}.suggest{color:#e7e0ff;background:#a78bfa1a;border:1px solid #a78bfa59;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;padding:10px 12px;font-size:12.5px;display:flex}.suggest>.ico{color:#d6c9ff;flex:none}.suggest>span{flex:160px}.suggest .btn{flex:none;height:30px;padding:0 11px;font-size:12px}.mol-label .n{text-overflow:ellipsis;max-width:280px;overflow:hidden}.fg-list{flex-wrap:wrap;gap:6px;display:flex}.fg{color:#d8e6ff;background:#5ee7ff0f;border:1px solid #5ee7ff2e;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;display:inline-flex}.fg i{font-style:normal;font-family:var(--font-mono);color:var(--accent);font-size:10.5px}.id-row{width:100%;font:inherit;text-align:left;color:var(--text);border:1px solid var(--line);background:#ffffff08;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;text-decoration:none;display:flex}.id-row .ico{flex:none;width:16px;height:16px}.id-row>span{flex:1;min-width:0}.id-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px;display:block}.id-row em{font-style:normal;font-family:var(--font-mono);color:var(--accent);flex:none;font-size:11px}.id-row.loading{color:var(--muted)}.id-row.found{background:#5ec8ff12;border-color:#5ec8ff59;transition:background .2s}.id-row.found:hover{background:#5ec8ff24}.id-row.found .ico{color:#8fd8ff}.id-row.none{background:#a78bfa14;border-color:#a78bfa59}.id-row.none .ico{color:#d6c9ff}.id-row.error{cursor:pointer;color:#ffe5bd;border-color:#ffb54747}.id-row .spin{border:2px solid #5ee7ff40;border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite spin}.id-sub{color:var(--muted);margin:12px 0 6px;font-size:11.5px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{height:28px;font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--line);background:#ffffff0a;border-radius:20px;align-items:center;gap:6px;padding:0 11px;font-size:12px;transition:border-color .2s,background .2s;display:inline-flex}.chip-btn:hover{background:#5ee7ff1a;border-color:#5ee7ff80}.chip-btn i{font-style:normal;font-family:var(--font-mono);color:var(--muted);font-size:10.5px}.bond-head{text-align:center;margin-top:6px}.bond-atoms{justify-content:center;align-items:center;gap:4px;margin:6px 0 10px;display:flex}.bond-atoms .ball{--c:#fff;width:54px;height:54px;font-family:var(--font-display);color:#fff;text-shadow:0 1px 6px #000000b3;background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c) 55%, #fff), var(--c) 50%, color-mix(in oklab, var(--c) 45%, #000));box-shadow:0 0 24px color-mix(in oklab, var(--c) 60%, transparent);animation:popIn .5s var(--spring) both;border-radius:50%;place-items:center;font-size:20px;font-weight:700;display:grid}.bond-atoms .ball:last-child{animation-delay:80ms}.bline{color:var(--accent);text-shadow:0 0 12px var(--accent);padding:0 6px;font-size:30px;font-weight:700}.bond-head h3{font-family:var(--font-display);margin:0;font-size:16px;font-weight:600}.explain{color:#cfd5f5;border-left:2px solid var(--accent);background:#ffffff08;border-radius:12px;margin:12px 0 0;padding:10px 12px;font-size:12.5px}.order-seg{width:100%}.order-seg button{flex:1;justify-content:center}.hero{text-align:center;margin-top:6px}.hero-atom{filter:drop-shadow(0 0 24px #5ee7ff40);justify-content:center;display:flex}.hero h3{font-family:var(--font-display);margin:8px 0 6px;font-size:22px}.hero p{color:var(--muted);margin:0;font-size:12.5px}.steps{counter-reset:s;flex-direction:column;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;color:var(--muted);background:#ffffff08;border-radius:12px;padding:9px 12px 9px 42px;font-size:12.5px;position:relative}.steps li b{color:var(--text)}.steps li:before{content:counter(s);color:#031018;background:linear-gradient(135deg,#7ff0ff,#b69cff);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.quick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.qbtn{border:1px solid var(--line);cursor:pointer;transition:transform .25s var(--spring), border-color .2s, background .2s;background:#ffffff08;border-radius:12px;flex-direction:column;align-items:center;padding:10px 4px;display:flex}.qbtn b{font-family:var(--font-display);font-size:16px}.qbtn span{color:var(--muted);font-size:11px}.qbtn:hover{background:#5ee7ff12;border-color:#5ee7ff66;transform:translateY(-2px)}.legend-e{color:var(--muted);grid-template-columns:1fr;gap:6px;font-size:12px;display:grid}.legend-e span{align-items:center;gap:10px;display:flex}.legend-e .e{border-radius:8px;flex:none;width:16px;height:8px}.e.lone{filter:drop-shadow(0 0 4px #5ee7ff);background:radial-gradient(circle at 25%,#7ff0ff 30%,#0000 32%),radial-gradient(circle at 75%,#7ff0ff 30%,#0000 32%)}.e.bond{filter:drop-shadow(0 0 4px #a5c8ff);background:radial-gradient(circle at 25%,#d4e4ff 30%,#0000 32%),radial-gradient(circle at 75%,#d4e4ff 30%,#0000 32%)}.e.rad{filter:drop-shadow(0 0 5px #ffb547);background:radial-gradient(circle,#ffc14d 34%,#0000 38%)}.e.pi{filter:drop-shadow(0 0 5px #c77dff);background:radial-gradient(circle,#e2a8ff 34%,#0000 38%)}.e.ion{background:repeating-linear-gradient(90deg,#ffa94d 0 4px,#0000 4px 7px,#4cc9ff 7px 11px,#0000 11px 14px);height:3px}.e.hb{background:repeating-linear-gradient(90deg,#7df9ff 0 3px,#0000 3px 6px);height:2px}.library{top:70px;left:16px;bottom:calc(var(--drawer-h) + 14px);z-index:24;opacity:0;pointer-events:none;width:400px;transition:transform .55s var(--ease), opacity .4s, bottom .5s var(--ease);border-radius:22px;flex-direction:column;gap:10px;padding:16px;display:flex;position:fixed;transform:translate(calc(-100% - 30px))}.library.open{opacity:1;pointer-events:auto;transform:none}.lib-head{justify-content:space-between;gap:10px;display:flex}.lib-head h2{font-family:var(--font-display);margin:0;font-size:20px}.lib-head p{color:var(--muted);margin:2px 0 0;font-size:12px}.lib-progress .lp-row{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.lib-progress .lp-row span{align-items:center;gap:6px;display:flex}.lib-progress .ico{color:#ffd35c;width:14px;height:14px}.lp-bar{background:#ffffff0f;border-radius:6px;height:6px;margin-top:6px;overflow:hidden}.lp-bar i{height:100%;transition:width .8s var(--ease);background:linear-gradient(90deg,#5ee7ff,#a78bfa,#ff7ab6);border-radius:6px;display:block;box-shadow:0 0 12px #a78bfacc}.lib-tabs{flex-wrap:wrap;gap:4px;display:flex}.lib-tabs button{border:1px solid var(--line);height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:20px;padding:0 10px;font-size:11.5px}.lib-tabs button.on{color:#031018;background:linear-gradient(135deg,#7ff0ff,#b69cff);border-color:#0000}.lib-list{scrollbar-width:thin;scrollbar-color:#96a5ff40 transparent;flex-direction:column;flex:1;gap:6px;padding-right:4px;display:flex;overflow-y:auto}.lib-card{background:#ffffff06;border:1px solid #ffffff0a;border-radius:14px;grid-template-columns:74px 1fr auto;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,background .2s;display:grid}.lib-card:hover{background:#5ee7ff0d;border-color:#5ee7ff40}.lib-card.found{background:linear-gradient(135deg,#ffd35c0f,#a78bfa0a);border-color:#ffd35c38}.lc-f{font-family:var(--font-display);overflow-wrap:anywhere;font-size:15px;font-weight:700}.lc-n{min-width:0}.lc-n b{font-size:13px;display:block}.lc-n span{-webkit-line-clamp:2;color:var(--dim);-webkit-box-orient:vertical;font-size:11.5px;display:-webkit-box;overflow:hidden}.lc-side{align-items:center;gap:6px;display:flex}.lc-badge{color:#1a1400;background:linear-gradient(135deg,#ffe08a,#ffb547);border-radius:50%;place-items:center;width:24px;height:24px;display:grid;box-shadow:0 0 12px #ffc450b3}.lc-badge .ico{width:14px;height:14px}.toasts{left:50%;bottom:calc(var(--drawer-h) + 22px);z-index:40;pointer-events:none;width:min(560px,100vw - 32px);transition:bottom .5s var(--ease);flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line-strong);animation:toastIn .5s var(--spring) both;background:#0d1126e6;border-radius:14px;align-items:center;gap:12px;max-width:100%;padding:10px 14px;font-size:13px;display:flex;box-shadow:0 16px 40px -12px #000c}.toast.out{animation:toastOut .35s var(--ease) both}.toast>.ico{color:var(--accent)}.toast.ok>.ico{color:var(--ok)}.toast.warn{border-color:#ffb54766}.toast.warn>.ico{color:var(--warn)}.toast-body{flex-direction:column;display:flex}.toast-body b:first-child{font-family:var(--font-display)}.toast-body small{color:var(--muted)}.toast .tf{font-family:var(--font-display);color:var(--accent);font-weight:700}.toast-act{color:var(--accent);cursor:pointer;background:#5ee7ff26;border:0;border-radius:8px;margin-left:auto;padding:6px 10px;font-size:12px;font-weight:700}.toast.discovery{background:linear-gradient(#0e1024f2,#0e1024f2) padding-box padding-box,linear-gradient(120deg,#5ee7ff,#a78bfa,#ff7ab6,#ffd35c) border-box;border:1px solid #0000;padding:14px 18px;box-shadow:0 0 50px -10px #a78bfacc,0 20px 50px -12px #000c}.toast.discovery>.ico{color:#ffd35c;filter:drop-shadow(0 0 8px #ffd35c);width:26px;height:26px;animation:4s linear infinite spin}.toast.discovery .toast-body>b{letter-spacing:.16em;text-transform:uppercase;color:#ffd35c;font-size:11px}.atom-label{font-family:var(--font-display);color:#fff;text-shadow:0 0 4px #000000f2,0 0 10px #000c;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:1px;padding-bottom:2px;font-size:12.5px;font-weight:700;display:flex}.atom-label .chg{text-shadow:none;color:#fff;border-radius:8px;margin-top:-4px;margin-left:1px;padding:2px 4px;font-size:10px;line-height:1}.atom-label .chg.pos{background:linear-gradient(135deg,#ff7a59,#ff3d71);box-shadow:0 0 10px #ff5a64cc}.atom-label .chg.neg{background:linear-gradient(135deg,#36c9e8,#5b6cff);box-shadow:0 0 10px #5096ffcc}.atom-label .delta{margin-top:-3px;margin-left:2px;font-size:10px;font-style:italic}.atom-label .delta.pos{color:#ffb3a1}.atom-label .delta.neg{color:#9fdcff}.mol-label{white-space:nowrap;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);animation:popIn .5s var(--spring) both;-webkit-user-select:none;user-select:none;background:#0a0d1eb3;border-radius:20px;align-items:center;gap:8px;padding:4px 10px;font-size:11.5px;display:flex}.mol-label.occluded{visibility:hidden}.mol-label .n{display:none}.mol-label .f{font-family:var(--font-display);color:var(--text);font-weight:700}.mol-label.known{border-color:#5ee7ff73;box-shadow:0 0 18px -4px #5ee7ff99}.mol-label.known .n{color:#dff9ff;font-weight:600;display:inline}.mol-label.known .f{color:var(--accent)}.mol-label.named{border-color:#a78bfa80;box-shadow:0 0 18px -4px #a78bfa8c}.mol-label.named .n{color:#ece6ff;font-weight:600;display:inline}.mol-label.named .f{color:#c4b5fd}.angle-label,.measure-label{font-family:var(--font-mono);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#0a0c1abf;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}.angle-label{color:#ffd35c;border:1px solid #ffd35c59}.measure-label{color:var(--accent);border:1px solid #5ee7ff59}.atom-tip{z-index:60;pointer-events:none;border:1px solid var(--line-strong);opacity:0;white-space:nowrap;background:#0c0f22eb;border-radius:10px;padding:7px 11px;font-size:12.5px;line-height:1.35;transition:opacity .18s;position:fixed;top:0;left:0;box-shadow:0 10px 30px -10px #000c}.atom-tip.on{opacity:1}.atom-tip b{font-family:var(--font-display)}.atom-tip .s{color:var(--accent);font-family:var(--font-display);font-weight:700}.atom-tip small{color:var(--muted)}.pill.accent{background:linear-gradient(135deg,#5ee7ff2e,#a78bfa33),#0c0f22d9;border-color:#5ee7ff59}.bd{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease);background:#03040b73;justify-content:center;align-items:flex-start;padding:11vh 16px 16px;display:flex;position:fixed;inset:0}.bd.open{opacity:1;pointer-events:auto}.bd-card{width:min(640px,100%);max-height:72vh;transition:transform .35s var(--spring);border-radius:22px;flex-direction:column;display:flex;overflow:hidden;transform:translateY(-12px)scale(.98)}.bd.open .bd-card{transform:none}.bd-head{border-bottom:1px solid var(--line);color:var(--accent);align-items:center;gap:12px;padding:14px 14px 14px 18px;display:flex}.bd-head input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:17px}.bd-head input::placeholder{color:var(--dim)}.bd-status{max-height:0;padding:0 18px;font-size:13px;transition:max-height .3s,padding .3s;overflow:hidden}.bd-status.loading,.bd-status.error{align-items:center;gap:10px;max-height:80px;padding:10px 18px;display:flex}.bd-status.loading{color:var(--accent);background:#5ee7ff0f}.bd-status.error{color:#ffd1d7;background:#ff6b7a1a}.spinner{border:2px solid #5ee7ff40;border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.bd-list{scrollbar-width:thin;flex-direction:column;gap:2px;padding:8px;display:flex;overflow-y:auto}.bd-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:96px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .15s,border-color .15s;display:grid}.bd-item.on,.bd-item:hover{background:#5ee7ff14;border-color:#5ee7ff40}.bd-f{font-family:var(--font-display);overflow-wrap:anywhere;font-size:16px;font-weight:700}.bd-t{flex-direction:column;min-width:0;display:flex}.bd-t b{font-size:14px}.bd-t small{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bd-k{text-transform:uppercase;letter-spacing:.1em;color:var(--dim);border:1px solid var(--line);border-radius:20px;padding:2px 8px;font-size:10.5px}.bd-item.web .bd-k{color:var(--accent);border-color:#5ee7ff59}.bd-item.el .bd-k{color:#ffd35c}.bd-empty{color:var(--muted);padding:18px 12px 14px;font-size:13px}.bd-empty p{margin:0 0 10px}.bd-examples{flex-wrap:wrap;gap:6px;display:flex}.bd-examples button{border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:20px;height:30px;padding:0 12px;font-size:12.5px}.bd-examples button:hover{color:var(--accent);border-color:#5ee7ff66}.bd-foot{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;gap:6px 18px;padding:10px 18px;font-size:11.5px;display:flex}.bd-foot span{align-items:center;gap:6px;display:inline-flex}.bd-foot .ico{width:14px;height:14px}.bd.busy .bd-list{opacity:.4;pointer-events:none}.rx-intro{color:var(--muted);margin:4px 0 0;font-size:12.5px}.rx-species{flex-wrap:wrap;gap:6px;display:flex}.rx-sp{border:1px solid var(--line);cursor:pointer;color:var(--muted);transition:all .2s var(--ease);background:#ffffff08;border-radius:12px;align-items:center;gap:7px;padding:6px 10px 6px 7px;font-size:12px;display:inline-flex}.rx-sp b{font-family:var(--font-display);color:var(--text);font-size:14px}.rx-sp em{font-style:normal;font-family:var(--font-mono);color:var(--dim);font-size:11px}.rx-sp:not(.on){opacity:.55}.rx-sp.on{background:#5ee7ff14;border-color:#5ee7ff73}.rx-check{border:1px solid var(--line-strong);border-radius:6px;place-items:center;width:18px;height:18px;display:grid}.rx-sp.on .rx-check{color:#031018;background:linear-gradient(135deg,#7ff0ff,#b69cff);border:0}.rx-check .ico{width:13px;height:13px}.rx-empty{border:1px dashed var(--line-strong);color:var(--muted);border-radius:12px;align-items:flex-start;gap:12px;padding:12px;font-size:12.5px;display:flex}.rx-empty p{margin:0}.rx-cands{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.rx-cand{cursor:pointer;text-align:left;font-family:var(--font-display);background:#ffffff06;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.rx-cand.on{background:#a78bfa1a;border-color:#a78bfa80}.rx-card{border:1px solid var(--line);background:radial-gradient(100% 80% at 0 0,#a78bfa1f,#0000 60%),#ffffff05;border-radius:18px;padding:16px;position:relative;overflow:hidden}.rx-card.ready{border-color:#a78bfa66}.rx-card.running:before{content:"";border-radius:inherit;background:conic-gradient(from var(--rx-a,0deg), transparent 0 60%, #ffb347, #c77dff, #5ee7ff, transparent);opacity:.35;pointer-events:none;animation:1.2s linear infinite rxspin;position:absolute;inset:-2px}@property --rx-a{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes rxspin{to{--rx-a:360deg}}.rx-eq{font-family:var(--font-display);background:linear-gradient(90deg,#fff,#c4b5fd 60%,#ffc98b);color:#0000;overflow-wrap:anywhere;-webkit-background-clip:text;background-clip:text;font-size:21px;font-weight:700;line-height:1.3}.rx-meta{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.rx-type{color:#e3d9ff;background:#a78bfa29;border:1px solid #a78bfa59;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.rx-type.gen{color:#ffe0b0;background:#ffb5471f;border-color:#ffb54759}.rx-card h3{font-family:var(--font-display);margin:6px 0 0;font-size:15px;font-weight:600}.rx-cond{color:var(--muted);align-items:flex-start;gap:8px;margin-top:10px;font-size:12px;display:flex}.rx-cond .ico{width:16px;height:16px;color:var(--accent-3)}.rx-cond b{color:var(--text)}.energy-wrap{background:#03051080;border:1px solid #ffffff0a;border-radius:14px;margin:12px 0;padding:8px}.energy{width:100%;height:auto;display:block}.energy .axis{stroke:#96a5ff4d;stroke-width:1px}.energy .ax{fill:var(--dim);font-size:9.5px;font-family:var(--font-ui)}.energy .curve{fill:none;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 6px #c77dff99);stroke-dasharray:700;stroke-dashoffset:700px;animation:draw 1.2s var(--ease) forwards}.energy .ref{stroke:#ffffff26;stroke-dasharray:3 4}.energy .dim{stroke:currentColor;stroke-width:1.5px;stroke-dasharray:3 3}.energy .lvl{fill:var(--muted);font-size:10px;font-family:var(--font-ui)}.energy .val{fill:currentColor;font-size:11px;font-weight:700;font-family:var(--font-mono)}.energy .sub{font-size:8px}.energy .dot{fill:#fff;filter:drop-shadow(0 0 6px #fff)drop-shadow(0 0 12px #ffb347)}@keyframes draw{to{stroke-dashoffset:0}}.rx-run{background:linear-gradient(135deg,#ffc46b,#ff7ab6 55%,#b69cff);width:100%;box-shadow:0 10px 34px -8px #ff7ab6cc}.rx-run:disabled{opacity:.6;cursor:progress}.rx-lib summary{cursor:pointer;list-style:none}.rx-lib summary::-webkit-details-marker{display:none}.rx-lib summary h4{align-items:center;gap:6px;display:inline-flex}.rx-lib summary h4:after{content:"▾";transition:transform .25s}.rx-lib[open] summary h4:after{transform:rotate(180deg)}.rx-lib-list{flex-direction:column;gap:4px;display:flex}.rx-lib-row{background:#ffffff06;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.rx-lib-row div{flex-direction:column;min-width:0;display:flex}.rx-lib-row b{font-family:var(--font-display);overflow-wrap:anywhere;font-size:13px}.rx-lib-row span{color:var(--dim);font-size:11px}@media (max-width:1900px){.top-right .pill:not(.accent) span:not(.badge-count){display:none}}.cinema{top:0;left:0;right:0;bottom:var(--drawer-h);z-index:14;pointer-events:none;transition:bottom .5s var(--ease);position:fixed;overflow:hidden}.cin-bar{height:11%;transition:transform .8s var(--ease);background:linear-gradient(#000,#000000eb);position:absolute;left:0;right:0}.cin-bar.top{top:0;transform:translateY(-101%)}.cin-bar.bottom{background:linear-gradient(#000000eb,#000);bottom:0;transform:translateY(101%)}.cinema.on .cin-bar{transform:none}.cin-step{margin-left:calc(var(--inset-r,0px) / -2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;filter:blur(6px);transition:opacity .45s var(--ease), transform .55s var(--ease), filter .45s;white-space:nowrap;background:#060814b8;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:14px;padding:10px 20px 10px 12px;display:flex;position:absolute;bottom:calc(11% + 18px);left:50%;transform:translate(-50%,16px)}.cin-step.show{opacity:1;filter:none;transform:translate(-50%)}.cin-step .n{width:34px;height:34px;font-family:var(--font-display);color:#04121a;background:linear-gradient(135deg,#7ff0ff,#b69cff);border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid;box-shadow:0 0 22px #a78bfacc}.cin-step.b .n{background:linear-gradient(135deg,#fff,#9fd8ff)}.cin-step.c .n{background:linear-gradient(135deg,#c4b5fd,#ff9fcb)}.cin-step.exo .n{background:linear-gradient(135deg,#ffd35c,#ff6b3d);box-shadow:0 0 26px #ff8c3ce6}.cin-step.endo .n{background:linear-gradient(135deg,#e6fbff,#4cc9ff);box-shadow:0 0 26px #4cc9ffe6}.cin-step b{font-family:var(--font-display);letter-spacing:.01em;font-size:19px;display:block}.cin-step small{color:var(--muted);font-size:12.5px}.cin-final{margin-left:calc(var(--inset-r,0px) / -2);text-align:center;opacity:0;filter:blur(8px);transition:opacity .6s var(--ease), transform .8s var(--spring), filter .6s;max-width:calc(100vw - var(--inset-r,0px) - 32px);position:absolute;top:16%;left:50%;transform:translate(-50%,-12px)scale(.94)}.cin-final.show{opacity:1;filter:none;transform:translate(-50%)scale(1)}.cin-type{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:11.5px;font-weight:700;display:inline-flex}.cin-type i{color:#1a0d00;background:linear-gradient(135deg,#ffd35c,#ff7a3d);border-radius:20px;padding:4px 10px;font-style:normal;box-shadow:0 0 24px #ff8c3cb3}.cin-final.endo .cin-type i{color:#031018;background:linear-gradient(135deg,#e6fbff,#4cc9ff);box-shadow:0 0 24px #4cc9ffb3}.cin-eq{font-family:var(--font-display);background:linear-gradient(90deg,#fff,#c4b5fd 55%,#ffc98b);color:#0000;filter:drop-shadow(0 4px 24px #000c);-webkit-background-clip:text;background-clip:text;margin-top:10px;font-size:clamp(22px,3.4vw,44px);font-weight:700;line-height:1.15}.cin-final.endo .cin-eq{background:linear-gradient(90deg,#fff,#a5f0ff 60%,#c4b5fd);-webkit-background-clip:text;background-clip:text}.cin-name{color:var(--muted);text-shadow:0 2px 10px #000;margin-top:4px;font-size:14px}.cin-dh{font-family:var(--font-mono);color:var(--muted);text-shadow:0 2px 10px #000;margin-top:8px;font-size:18px}.cin-dh b{color:#ffb347;text-shadow:0 0 24px #ff963ce6;font-size:30px}.cin-final.endo .cin-dh b{color:#7fdcff;text-shadow:0 0 24px #4cc9ffe6}.cin-skip{right:calc(var(--inset-r,0px) + 20px);pointer-events:auto;height:32px;color:var(--muted);cursor:pointer;opacity:0;background:#06081499;border:1px solid #ffffff2e;border-radius:20px;padding:0 14px;font-size:12px;font-weight:600;transition:opacity .4s;position:absolute;bottom:calc(11% + 18px)}.cinema.on .cin-skip{opacity:1}.cinema:not(.on) .cin-skip{pointer-events:none}.cin-skip:hover{color:var(--text);border-color:#fff6}body:has(.cinema.on) .hint{opacity:0}.icon-btn.off{color:var(--dim)}@media (max-width:899px){.cin-step{white-space:normal;width:calc(100vw - 32px);margin-left:0}.cin-step b{font-size:16px}.cin-final{margin-left:0;top:20%}.cin-skip{top:calc(11% + 10px);bottom:auto;right:12px}}.onb{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .6s var(--ease) both;background:radial-gradient(60% 60% at 50% 40%,#5e46c847,#0000 70%),#03040b8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.onb.out{animation:fadeOut .5s var(--ease) both}.onb-card{width:min(760px,100%);max-height:calc(100vh - 40px);text-align:center;max-height:calc(100dvh - 40px);animation:popIn .8s .1s var(--spring) both;border-radius:28px;padding:32px 36px 30px;overflow:auto}.onb-atom{filter:drop-shadow(0 0 30px #5ee7ff66);justify-content:center;display:flex}.onb h1{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(90deg,#fff 10%,#8eeeff 45%,#c4b5fd 75%,#ff9fcb);color:#0000;-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;font-size:clamp(34px,6vw,52px)}.onb-sub{max-width:520px;color:var(--muted);margin:0 auto;font-size:15px}.onb-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 24px;display:grid}.onb-grid>div{border:1px solid var(--line);animation:rise .7s var(--ease) both;background:#ffffff09;border-radius:18px;padding:16px}.onb-grid>div:nth-child(2){animation-delay:.1s}.onb-grid>div:nth-child(3){animation-delay:.2s}.onb-grid .n{color:#031018;background:linear-gradient(135deg,#7ff0ff,#b69cff);border-radius:50%;place-items:center;width:26px;height:26px;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-grid}.onb-grid b{font-family:var(--font-display);font-size:15px;display:block}.onb-grid p{color:var(--muted);margin:4px 0 0;font-size:12.5px}.onb-keys{color:var(--dim);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:-8px 0 22px;font-size:12px;display:flex}kbd{border:1px solid var(--line-strong);min-width:20px;font-family:var(--font-mono);color:var(--text);text-align:center;background:#ffffff0d;border-bottom-width:2px;border-radius:6px;margin-right:3px;padding:1px 6px;font-size:11px;display:inline-block}@media (max-height:560px){.onb-atom{display:none}.onb-card{padding:18px 22px}.onb h1{margin-top:0;font-size:32px}.onb .onb-grid{grid-template-columns:repeat(3,1fr);margin:14px 0 12px}.onb .onb-grid>div{padding:10px 12px}}@media (hover:none) and (pointer:coarse){.onb-keys,.bd-head kbd{display:none}}.onb-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.fatal{text-align:center;place-items:center;height:100%;padding:24px;display:grid}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}@keyframes fadeDown{0%{opacity:0;translate:0 -14px}}@keyframes fadeLeft{0%{opacity:0;translate:30px}}@keyframes slideUp{0%{translate:0 100%}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}}@keyframes tileIn{0%{opacity:0;transform:translateY(14px)scale(.85)}}@keyframes toastIn{0%{opacity:0;filter:blur(6px);transform:translateY(16px)scale(.92)}}@keyframes toastOut{to{opacity:0;filter:blur(4px);transform:translateY(-8px)scale(.96)}}@keyframes sheen{0%,60%{transform:translate(-100%)}to{transform:translate(100%)}}.toolbar.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.toolbar.fade-l{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px);mask-image:linear-gradient(90deg,#0000,#000 40px)}.toolbar.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}@media (max-width:1760px){.tools button span{display:none}.tools button{padding:0 9px}}@media (max-width:1180px){.brand-text span,.pt-title span{display:none}.temp input[type=range]{width:80px}.hint{display:none}}@media (max-width:1040px){.brand-text,.top-right .pill span:not(.badge-count){display:none}.top-right .pill:first-child{width:auto;padding:0 10px}}@media (min-width:900px){.drawer-head{flex-wrap:nowrap}.pt-title{white-space:nowrap;min-width:0;overflow:hidden}.drawer-head .search{min-width:160px}}@media (min-width:900px) and (max-height:820px){.drawer-body{gap:6px;padding:8px 16px 6px}.pt-legend{gap:4px;min-height:22px}.pt-legend .chip{gap:5px;height:22px;padding:0 8px 0 7px;font-size:11px}}@media (min-width:900px){.top-tight .brand-text,.top-tight .top-right .pill span:not(.badge-count){display:none}.top-tight .top-right .pill:not(:has(.badge-count)){justify-content:center;width:42px;padding:0}.top-tight .temp input[type=range]{width:80px}.toolbar.scroll{scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.toolbar.scroll::-webkit-scrollbar{display:none}.toolbar.scroll>*{flex-shrink:0}}@media (max-width:899px){.brand{display:none}.toolbar{scrollbar-width:none;justify-content:flex-start;max-width:none;top:8px;left:8px;right:8px;overflow-x:auto;transform:none}.toolbar::-webkit-scrollbar{display:none}.top-right{gap:6px;top:58px;right:8px}.top-right .pill span:not(.badge-count){display:none}.top-right .pill{justify-content:center;width:40px;padding:0}.top-right .pill:has(.badge-count){width:auto;padding:0 8px}.bd{padding-top:12px}.bd-item{grid-template-columns:88px minmax(0,1fr);gap:10px}.bd-k{display:none}.bd-f{font-size:14px}.pill{height:40px}.pill.icon-only{width:40px}.panel-toggle{display:inline-flex}.settings{top:106px;right:8px}.panel{--panel-gap:8px;width:auto;top:auto;left:8px;right:8px;bottom:calc(var(--drawer-h) + var(--panel-gap));max-height:min(56vh, calc(100vh - var(--drawer-h) - var(--panel-gap) - 110px));height:min(56vh, calc(100vh - var(--drawer-h) - var(--panel-gap) - 110px))}.panel.collapsed{transform:translateY(calc(100% + 40px))}.library{width:auto;top:64px;left:8px;right:8px;bottom:calc(var(--drawer-h) + 8px)}.table-open .panel{--panel-gap:46px}.table-open .library{bottom:calc(var(--drawer-h) + 46px)}.drawer-body{gap:6px;height:min(47vh,440px);padding:8px 8px 6px}.drawer-head{flex-wrap:nowrap;gap:6px}.pt-title{display:none}.pt-legend{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;min-height:24px;overflow-x:auto}.pt-legend::-webkit-scrollbar{display:none}.chip{flex:none}.grad{width:140px}.search{flex:1;min-width:0}.pt-modes{scrollbar-width:none;flex:none;max-width:58%;overflow-x:auto}.drawer .search input::placeholder{color:#0000}.pt-grid.compact .pf-props,.pt-grid.compact .pf-config{display:none}.onb-grid{grid-template-columns:1fr;margin:18px 0 16px}.onb-grid>div{padding:12px 14px}.onb-card{padding:22px 18px}.onb-atom svg{width:120px;height:120px}.stats.three .stat b{font-size:17px}}@media (max-width:419px){.top-right{justify-content:space-between;gap:4px;left:8px}:is(.top-right .pill,.top-right .pill:has(.badge-count)){width:40px;padding:0}.top-right .badge-count{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pill.accent.eq{background:linear-gradient(135deg,#ff7ab638,#ffb34729),#0c0f22d9;border-color:#ff7ab666}.pill.accent.eq .ico{color:#ffb3d1}.eqd-card{width:min(760px,100%);max-height:80vh}.eqd .bd-head{color:#ff9fcb}.eqd-keys{gap:6px;padding:8px 14px 0 18px;display:flex}.eqd-keys button{border:1px solid var(--line);min-width:36px;height:30px;font-family:var(--font-display);cursor:pointer;background:#ffffff0a;border-radius:9px;padding:0 10px;font-size:15px;font-weight:700;transition:border-color .15s,color .15s}.eqd-keys button:hover{color:#ffb3d1;border-color:#ff7ab680}.eqd-body{scrollbar-width:thin;min-height:120px;padding:14px 18px 16px;overflow-y:auto}.eqd.busy .eqd-body{opacity:.5;pointer-events:none}.eqd-empty{color:var(--muted);font-size:13px}.eqd-empty p{margin:0 0 12px}.eqd-empty h5{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:14px 0 8px;font-size:10.5px}.eqd-examples{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.eqd-examples button{border:1px solid var(--line);text-align:left;cursor:pointer;transition:border-color .15s, background .15s, transform .2s var(--spring);background:#ffffff06;border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 12px;display:flex}.eqd-examples button:hover{background:#ff7ab60f;border-color:#ff7ab673;transform:translateY(-1px)}.eqd-examples b{font-family:var(--font-display);font-size:13.5px}.eqd-examples small{color:var(--dim);font-size:11.5px}.eqd-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eqd-chip{border:1px solid var(--line);animation:eqpop .35s var(--spring) both;background:#ffffff08;border-radius:12px;flex-direction:column;align-items:flex-start;padding:6px 12px 6px 10px;display:inline-flex;position:relative}.eqd-chip b{font-family:var(--font-display);font-size:17px;line-height:1.2}.eqd-chip small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:11px;overflow:hidden}.eqd-chip i{font-style:normal;font-family:var(--font-mono);color:#04121a;background:linear-gradient(135deg,#7ff0ff,#b69cff);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:-7px;left:-6px}.eqd-chip.ok{border-color:#5ee7ff47}.eqd-chip.web{border-style:dashed;border-color:#5ee7ff80}.eqd-chip.web small{color:var(--accent)}.eqd-chip.bad{background:#ff6b7a14;border-color:#ff6b7a80}.eqd-chip.bad small{color:#ffb3bd}.eqd-chip.ghost{color:var(--dim);border-style:dashed}.eqd-op,.eqd-arrow{font-family:var(--font-display);color:var(--dim);font-size:18px;font-weight:700}.eqd-arrow{color:#ff9fcb;margin:0 4px;font-size:24px}@keyframes eqpop{0%{opacity:0;transform:scale(.85)}}.eqd-msg{border-radius:12px;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;font-size:12.5px;display:flex}.eqd-msg .ico{flex:none;width:16px;height:16px}.eqd-msg.error{color:#ffd1d7;background:#ff6b7a1a;border:1px solid #ff6b7a4d}.eqd-msg.web{color:#cff7ff;background:#5ee7ff12;border:1px solid #5ee7ff47}.eqd-msg.warn{color:#ffe5bd;background:#ffb54714;border:1px solid #ffb5474d}.eqd-sug{color:var(--dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.eqd-sug button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:16px;height:28px;padding:0 10px;font-size:12px}.eqd-sug button:hover{color:var(--accent);border-color:#5ee7ff66}.eqd-result{animation:eqpop .4s var(--ease) both;background:radial-gradient(90% 90% at 0 0,#ff7ab61a,#0000 60%),radial-gradient(90% 90% at 100% 100%,#5ee7ff14,#0000 60%),#ffffff05;border:1px solid #ff7ab647;border-radius:16px;margin-top:14px;padding:14px 16px}.eqd-eq{font-family:var(--font-display);background:linear-gradient(90deg,#fff,#ffb3d1 45%,#ffc98b 70%,#a5f0ff);color:#0000;overflow-wrap:anywhere;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1.25}.eqd-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:12.5px;display:flex}.eqd-meta b{color:var(--text);font-size:13.5px}.eqd-heat{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:700}.eqd-heat.exo{color:#ffd9a8;background:#ff8c3c24;border:1px solid #ff8c3c66}.eqd-heat.endo{color:#c9f2ff;background:#4cc9ff1f;border:1px solid #4cc9ff66}.eqd-need{color:#dcdcf6;flex-direction:column;gap:4px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.eqd-need li{align-items:flex-start;gap:8px;display:flex}.eqd-need .ico{width:15px;height:15px;color:var(--accent-3);flex:none;margin-top:1px}.eqd-note{color:var(--dim);margin-top:8px;font-size:11.5px}.eqd-foot{border-top:1px solid var(--line);color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 18px;font-size:11.5px;display:flex}.eqd-go{flex:none}.eqd-go:disabled{opacity:.45;cursor:default;box-shadow:none}.ghost-label{text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;text-shadow:0 0 6px #000000f2,0 0 14px #000c;transition:transform .6s var(--ease), filter .6s;flex-direction:column;align-items:center;display:flex}.ghost-label b{font-family:var(--font-display);color:#fff;font-size:17px}.ghost-label b i{color:#ffb3d1;margin-right:4px;font-style:normal}.ghost-label small{color:var(--muted);font-size:11px}.ghost-label.plus{font-family:var(--font-display);color:var(--dim);font-size:26px;font-weight:700}.ghost-label.cond{color:#ffd9a8;text-shadow:none;background:#06081499;border:1px solid #ffb34759;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:600}.ghost-label.side{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:10.5px;font-weight:700}.ghost-label.side.p{color:#8fe3ff}.ghost-label.out{filter:blur(4px);transform:translateY(-10px)}.cin-eqbar{margin-left:calc(var(--inset-r,0px) / -2);max-width:calc(100vw - var(--inset-r,0px) - 32px);font-family:var(--font-display);white-space:nowrap;opacity:0;filter:blur(6px);transition:opacity .6s var(--ease), transform .8s var(--spring), filter .6s;align-items:center;gap:16px;font-size:clamp(16px,2.3vw,30px);font-weight:700;display:flex;position:absolute;top:calc(11% + 34px);left:50%;transform:translate(-50%,-50%)scale(.96)}.cin-eqbar.show{opacity:1;filter:none;transform:translate(-50%,-50%)scale(1)}.cin-eqbar span{color:#eaeeff59;text-overflow:ellipsis;transition:color .5s,text-shadow .5s,opacity .5s;overflow:hidden}.cin-eqbar .arrow{color:#ff9fcb80;flex:none}.cin-eqbar.ph-1 .l,.cin-eqbar.ph-2 .l{color:#fff;text-shadow:0 0 22px #a78bfae6}.cin-eqbar.ph-2 .l{animation:.18s steps(2,end) infinite eqflicker}.cin-eqbar.ph-3 .arrow{color:#ff9fcb;text-shadow:0 0 26px #ff7ab6;animation:eqarrow .7s var(--ease) infinite alternate}.cin-eqbar.ph-4 .r{color:#fff;text-shadow:0 0 26px #ffb347f2}@keyframes eqflicker{50%{opacity:.6}}@keyframes eqarrow{to{transform:translate(6px)}}.cin-eqbar .arrow{display:inline-block}.eq-cta{text-align:left;cursor:pointer;width:100%;transition:transform .2s var(--spring), border-color .2s;background:radial-gradient(120% 120% at 0 0,#ff7ab629,#0000 60%),#ffffff08;border:1px solid #ff7ab659;border-radius:16px;align-items:center;gap:12px;margin:2px 0 12px;padding:12px 14px;display:flex}.eq-cta:hover{border-color:#ff7ab699;transform:translateY(-1px)}.eq-cta>.ico{color:#ff9fcb;flex:none;width:22px;height:22px}.eq-cta span{flex-direction:column;flex:1;display:flex}.eq-cta b{font-size:14px}.eq-cta small{color:var(--dim);font-size:11.5px}.eq-card{background:radial-gradient(100% 70% at 0 0,#ff7ab61f,#0000 60%),radial-gradient(100% 70% at 100% 100%,#5ee7ff12,#0000 60%),#ffffff05;border-color:#ff7ab659!important}.eq-top{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.eq-badge{color:#ffd6e8;background:#ff7ab624;border-color:#ff7ab666;align-items:center;gap:5px;display:inline-flex}.eq-badge .ico{width:12px;height:12px}.eq-big{background:linear-gradient(90deg,#fff,#ffb3d1 45%,#ffc98b 70%,#a5f0ff);-webkit-background-clip:text;background-clip:text;font-size:24px}.eq-need,.eq-prod{margin-top:16px}.eq-need h4,.eq-prod h4{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 8px;font-size:10.5px}.eq-need ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.eq-need li{color:#dcdcf6;background:#ffffff06;border:1px solid #ffffff0d;border-radius:12px;align-items:flex-start;gap:10px;padding:9px 11px;font-size:12.5px;display:flex}.eq-need li>.ico{flex:none;width:17px;height:17px;margin-top:1px}.eq-need li>div{flex:1;min-width:0}.eq-need .n-r>.ico{color:var(--accent)}.eq-need .n-c>.ico{color:var(--accent-3)}.eq-need .n-e>.ico{color:#ffd35c}.eq-need .n-h.exo>.ico{color:#ff9a4d}.eq-need .n-h.endo>.ico{color:#4cc9ff}.eq-need small{color:var(--dim)}.eq-terms{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.eq-term{border:1px solid var(--line);background:#ffffff0a;border-radius:10px;align-items:baseline;gap:5px;padding:4px 9px;display:inline-flex}.eq-term i{font-style:normal;font-family:var(--font-mono);color:#ffb3d1;font-size:11px}.eq-term b{font-family:var(--font-display);font-size:14px}.eq-term small{color:var(--muted);font-size:11px}.eq-plus{color:var(--dim);font-weight:700}.status.info{color:#cfe9f3;background:#5ee7ff0d;border:1px solid #5ee7ff2e}.status.info .ico{color:var(--accent)}.status .ico{flex:none;width:16px;height:16px}.eq-more{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}@media (max-width:899px){.eqd-card{max-height:calc(100vh - 24px)}.eqd-foot{flex-direction:column;align-items:stretch}.eqd-foot>span{display:none}.eqd-examples{grid-template-columns:repeat(2,minmax(0,1fr))}.cin-eqbar{gap:8px;font-size:15px;top:calc(11% + 78px)}.ghost-label b{font-size:14px}}
