@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");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{--font-sans:"Be Vietnam Pro", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-snug:1.35;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--sidebar-w:248px;--sidebar-rail-w:76px;--topbar-h:60px;--bottom-nav-h:64px;--content-max:1360px;--reading-max:72ch;--touch-min:44px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--z-base:0;--z-sticky:20;--z-nav:40;--z-overlay:60;--z-drawer:70;--z-dialog:80;--z-toast:90;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--cyan-700:#0e7490;--navy-950:#070d18;--navy-900:#0b1220;--navy-850:#0f1828;--navy-800:#131e31;--navy-750:#18253b;--navy-700:#1e2d46;--slate-50:#f8fafc;--slate-100:#f1f5f9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:var(--navy-900);--bg-sunken:var(--navy-950);--surface-1:var(--navy-850);--surface-2:var(--navy-800);--surface-3:var(--navy-750);--surface-hover:#94a3b814;--surface-active:#3b82f624;--surface-glass:#0f1828c7;--surface-inverse:#e6edf7;--border-subtle:#94a3b81f;--border-default:#94a3b833;--border-strong:#94a3b857;--text-primary:#e6edf7;--text-secondary:#a9b6ca;--text-muted:#8392a8;--text-inverse:#0b1220;--text-on-accent:#fff;--accent:var(--blue-500);--accent-strong:var(--blue-600);--accent-text:var(--blue-300);--accent-soft:#3b82f624;--accent-2:var(--cyan-400);--accent-2-text:var(--cyan-300);--accent-2-soft:#22d3ee1f;--accent-gradient:linear-gradient(135deg, var(--blue-600), var(--cyan-500));--status-success:#34d399;--status-success-soft:#34d39924;--status-warning:#fbbf24;--status-warning-soft:#fbbf2424;--status-danger:#f87171;--status-danger-soft:#f8717124;--status-info:var(--accent-2);--focus-ring:0 0 0 2px var(--bg-app), 0 0 0 4px var(--blue-400);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 6px 20px -6px #00000080, 0 0 0 1px var(--border-subtle);--shadow-lg:0 24px 60px -16px #000000a6, 0 0 0 1px var(--border-subtle);--glow-accent:0 0 0 1px #3b82f659, 0 8px 28px -10px #3b82f68c;--grid-line:#94a3b80f;--scene-bg:#070d18}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f4f6fa;--bg-sunken:#eaeef5;--surface-1:#fff;--surface-2:#fff;--surface-3:#f6f8fb;--surface-hover:#0f172a0b;--surface-active:#2563eb17;--surface-glass:#ffffffd1;--surface-inverse:#0f1828;--border-subtle:#e5e9f0;--border-default:#d6dde8;--border-strong:#b7c2d2;--text-primary:#0b1220;--text-secondary:#3b475a;--text-muted:#5d697d;--text-inverse:#f8fafc;--accent:var(--blue-600);--accent-strong:var(--blue-700);--accent-text:var(--blue-700);--accent-soft:#2563eb17;--accent-2:var(--cyan-600);--accent-2-text:var(--cyan-700);--accent-2-soft:#0891b21a;--status-success:#059669;--status-success-soft:#0596691a;--status-warning:#b45309;--status-warning-soft:#d977061f;--status-danger:#dc2626;--status-danger-soft:#dc262617;--focus-ring:0 0 0 2px #fff, 0 0 0 4px var(--blue-600);--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 16px -6px #0f172a1f, 0 0 0 1px var(--border-subtle);--shadow-lg:0 24px 56px -18px #0f172a38, 0 0 0 1px var(--border-subtle);--glow-accent:0 0 0 1px #2563eb40, 0 8px 24px -10px #2563eb59;--grid-line:#0f172a0d;--scene-bg:#0b1220}html[data-font-size=small]{font-size:93.75%}html[data-font-size=large]{font-size:112.5%}html[data-density=compact]{--topbar-h:52px;--space-6:1.25rem;--space-8:1.5rem}html[data-contrast=high]{--border-subtle:var(--border-strong);--border-default:var(--text-muted);--text-secondary:var(--text-primary);--text-muted:var(--text-secondary)}html[data-reduce-motion=true]{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg-app)}body{background:var(--bg-app);min-height:100dvh;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);font-feature-settings:"ss01" on, "cv11" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}::selection{background:var(--accent-soft);color:var(--text-primary)}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button){cursor:pointer}:where(button:disabled,[aria-disabled=true]){cursor:not-allowed}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{box-shadow:var(--focus-ring);outline:none}:where(img,svg,canvas,video){max-width:100%;display:block}:where(sub,sup){line-height:0}:is(.app-command,.ui-dialog,.ui-scrim,.app-bottom-nav__item,.ui-btn,.ui-icon-btn)[hidden]{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:calc(var(--safe-top) + var(--space-2));left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);font-weight:var(--weight-semibold);transition:transform var(--dur-base) var(--ease-out);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.ui-icon{stroke-width:1.75px;flex:none;width:1.25rem;height:1.25rem}.ui-icon svg{width:100%;height:100%;stroke-width:inherit}.ui-btn{--btn-bg:var(--surface-2);--btn-fg:var(--text-primary);--btn-border:var(--border-default);--btn-bg-hover:var(--surface-3);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--btn-border);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.ui-btn:hover{background:var(--btn-bg-hover)}.ui-btn:active{transform:translateY(1px)scale(.985)}.ui-btn:disabled{opacity:.5;transform:none}.ui-btn .ui-icon{width:1.125rem;height:1.125rem}.ui-btn--primary{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-strong);--btn-fg:var(--text-on-accent);--btn-border:transparent;box-shadow:var(--shadow-sm)}.ui-btn--primary:hover{box-shadow:var(--glow-accent)}.ui-btn--ghost{--btn-bg:transparent;--btn-border:transparent;--btn-bg-hover:var(--surface-hover);--btn-fg:var(--text-secondary)}.ui-btn--ghost:hover{color:var(--text-primary)}.ui-btn--danger{--btn-bg:var(--status-danger-soft);--btn-fg:var(--status-danger);--btn-border:transparent}.ui-btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-btn--lg{min-height:52px;padding:0 var(--space-6);font-size:var(--text-md);border-radius:var(--radius-lg)}.ui-btn--block{width:100%}.ui-icon-btn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-md);color:var(--text-secondary);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.ui-icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.ui-icon-btn:active{transform:scale(.94)}.ui-icon-btn[aria-pressed=true],.ui-icon-btn.is-active{background:var(--accent-soft);color:var(--accent-text)}.ui-icon-btn--outlined{border-color:var(--border-default);background:var(--surface-1)}.ui-icon-btn .ui-dot{position:absolute;top:9px;right:9px}.ui-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm);position:relative}.ui-card--interactive{cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out)}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card--interactive:active{transform:translateY(0)}.ui-eyebrow{align-items:center;gap:var(--space-2);color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;margin:0;display:inline-flex}.ui-section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ui-section-head h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:-.01em;margin:0}.ui-section-head p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.ui-chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--surface-1);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:inline-flex}.ui-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.ui-chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.ui-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;line-height:1.5;display:inline-flex}.ui-badge--accent{background:var(--accent-soft);color:var(--accent-text)}.ui-badge--success{background:var(--status-success-soft);color:var(--status-success)}.ui-badge--warning{background:var(--status-warning-soft);color:var(--status-warning)}.ui-badge--danger{background:var(--status-danger-soft);color:var(--status-danger)}.ui-kbd{border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--surface-1);min-width:1.5rem;height:1.5rem;color:var(--text-muted);font-family:var(--font-sans);font-size:.75rem;font-weight:var(--weight-medium);border-bottom-width:2px;place-items:center;padding:0 .375rem;line-height:1;display:inline-grid}.ui-dot{background:var(--status-success);border-radius:50%;flex:none;width:8px;height:8px}.ui-segmented{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-sunken);gap:2px;padding:3px;display:inline-flex}.ui-segmented button{min-height:38px;padding:0 var(--space-3);border-radius:calc(var(--radius-md) - 3px);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0}.ui-segmented button:hover{color:var(--text-primary)}.ui-segmented button[aria-pressed=true],.ui-segmented button.active{background:var(--surface-2);color:var(--text-primary);box-shadow:var(--shadow-sm), 0 0 0 1px var(--border-subtle)}.ui-input{width:100%;min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-primary);font-size:var(--text-md);transition:border-color var(--dur-fast) var(--ease-out)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:hover{border-color:var(--border-strong)}.ui-input:focus-visible{border-color:var(--accent)}:where(.chem-tools-section,#learning-host) :where(input:not([type=checkbox],[type=radio],[type=range]),textarea,select){min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background-color:var(--surface-2);color:var(--text-primary);font-size:var(--text-md)}:where(.chem-tools-section,#learning-host) :where(textarea){padding-block:var(--space-2)}.ui-progress{border-radius:var(--radius-full);background:var(--surface-3);height:6px;position:relative;overflow:hidden}.ui-progress>span{width:var(--value,0%);border-radius:inherit;background:var(--accent-gradient);transition:width var(--dur-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, transparent, var(--surface-hover), transparent) 0 0 / 200% 100%, var(--surface-2);animation:1.4s linear infinite ui-shimmer}@keyframes ui-shimmer{to{background-position:-200% 0,0 0}}.ui-state{justify-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center;color:var(--text-secondary);display:grid}.ui-state strong{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ui-state--error strong{color:var(--status-danger)}.ui-scrim{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--dur-base) var(--ease-out);background:#03070f8c;position:fixed;inset:0}.ui-scrim.is-open{opacity:1}.ui-dialog{z-index:var(--z-dialog);width:min(520px, calc(100vw - 2 * var(--space-4)));border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-2);max-height:min(84dvh,760px);box-shadow:var(--shadow-lg);opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-48%)scale(.98)}.ui-dialog.is-open{opacity:1;transform:translate(-50%,-50%)}.ui-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.ui-dialog__head h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin:0}.ui-dialog__head p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.ui-dialog__body{padding:var(--space-2) var(--space-5) var(--space-5);overscroll-behavior:contain;overflow-y:auto}.ui-dialog__foot{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);display:flex}@media (width<=767px){.ui-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:88dvh;padding-bottom:var(--safe-bottom);top:auto;bottom:0;left:0;transform:translateY(100%)}.ui-dialog.is-open{transform:none}.ui-dialog:before{content:"";width:40px;height:4px;margin:var(--space-2) auto 0;border-radius:var(--radius-full);background:var(--border-strong);display:block}}.ui-setting{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle);display:flex}.ui-setting:last-child{border-bottom:0}.ui-setting__copy strong{font-size:var(--text-md);font-weight:var(--weight-medium);display:block}.ui-setting__copy span{color:var(--text-muted);font-size:var(--text-sm);display:block}@media (width<=479px){.ui-setting{flex-direction:column;align-items:stretch}}.ui-switch{appearance:none;border-radius:var(--radius-full);background:var(--border-strong);cursor:pointer;width:44px;height:26px;transition:background-color var(--dur-base) var(--ease-out);flex:none;margin:0;position:relative}.ui-switch:after{content:"";width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.ui-switch:checked{background:var(--accent)}.ui-switch:checked:after{transform:translate(18px)}.ui-toast-region{z-index:var(--z-toast);left:50%;bottom:calc(var(--space-6) + var(--safe-bottom));gap:var(--space-2);width:min(420px, calc(100vw - 2 * var(--space-4)));pointer-events:none;display:grid;position:fixed;transform:translate(-50%)}.ui-toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:var(--text-sm);pointer-events:auto;animation:ui-toast-in var(--dur-slow) var(--ease-out);display:flex}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.ui-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.ui-page-head h1{margin:var(--space-1) 0 0;font-size:clamp(var(--text-2xl), 2.4vw + .5rem, var(--text-4xl));font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.025em}.ui-page-head p{max-width:60ch;margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-md)}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;transition:grid-template-columns var(--dur-slow) var(--ease-out);display:grid}.app-shell[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-rail-w) minmax(0, 1fr)}.app-route-progress{z-index:var(--z-toast);pointer-events:none;opacity:0;height:2px;transition:opacity var(--dur-base) var(--ease-out);position:fixed;inset:0 0 auto;overflow:hidden}.app-route-progress span{background:var(--accent-gradient);width:40%;height:100%;display:block;transform:translate(-100%)}.app-route-progress.is-active{opacity:1}.app-route-progress.is-active span{animation:app-progress 1.1s var(--ease-in-out) infinite}@keyframes app-progress{to{transform:translate(260%)}}.app-sidebar{z-index:var(--z-nav);gap:var(--space-2);height:100dvh;padding:var(--space-4) var(--space-3);border-right:1px solid var(--border-subtle);background:var(--bg-sunken);flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden auto}.app-sidebar__head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding-left:var(--space-1);display:flex}.app-brand{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-1);border-radius:var(--radius-md);color:var(--text-primary);text-align:left;background:0 0;border:0;display:flex}.app-brand__mark,.app-brand__svg{flex:none;width:32px;height:32px}.app-brand__text{align-items:baseline;gap:var(--space-2);white-space:nowrap;display:flex}.app-brand__text strong{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.02em}.app-version{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.app-search{align-items:center;gap:var(--space-2);min-height:40px;margin:var(--space-2) 0 var(--space-3);padding:0 var(--space-2) 0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-muted);font-size:var(--text-sm);text-align:left;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);display:flex}.app-search:hover{border-color:var(--border-strong);color:var(--text-secondary)}.app-search .ui-icon{width:1.05rem;height:1.05rem}.app-search__label{white-space:nowrap;flex:1}.app-nav{gap:2px;display:grid}.app-nav__item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;display:flex;position:relative}.app-nav__item:hover{background:var(--surface-hover);color:var(--text-primary)}.app-nav__item.active{background:var(--surface-active);color:var(--text-primary)}.app-nav__item.active:before{content:"";left:calc(-1 * var(--space-3));background:var(--accent-gradient);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px}.app-nav__icon{flex:none;place-items:center;width:1.25rem;height:1.25rem;display:grid}.app-nav__item.active .app-nav__icon{color:var(--accent-text)}.app-nav__item--sub{min-height:40px;color:var(--text-muted)}.app-sidebar__section{margin-top:var(--space-4);gap:2px;display:grid}.app-sidebar__label{padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap}.app-sidebar__foot{gap:var(--space-3);padding-top:var(--space-4);margin-top:auto;display:grid}.app-ai-entry{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 0% 0%, var(--accent-soft), transparent 60%), var(--surface-1);color:var(--text-primary);text-align:left;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);display:flex;position:relative;overflow:hidden}.app-ai-entry:hover{box-shadow:var(--glow-accent);border-color:#0000}.app-ai-entry__orb{border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;flex:none;place-items:center;width:38px;height:38px;display:grid}.app-ai-entry__copy{flex:1;min-width:0;line-height:1.3;display:grid}.app-ai-entry__copy strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.app-ai-entry__copy small{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.app-sidebar__utils{align-items:center;gap:var(--space-1);display:flex}.app-status{align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;flex:1;display:flex}.app-status i{background:var(--status-success);border-radius:50%;flex:none;width:7px;height:7px}.app-status.is-loading i{background:var(--status-warning);animation:app-pulse 1s var(--ease-in-out) infinite alternate}.app-status.is-error i{background:var(--status-danger)}@keyframes app-pulse{to{opacity:.3}}html[data-theme=dark] .app-theme-icon--dark,html[data-theme=light] .app-theme-icon--light{display:none}.app-theme-icon{display:grid}.app-product-slot{flex:none}.app-product-slot:empty{display:none}.clprod-launcher.is-docked{z-index:auto;position:relative;inset:auto}.clprod-launcher.is-docked .clprod-launch-button{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);box-shadow:none;color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);position:relative}.clprod-launcher.is-docked .clprod-menu{left:0;right:auto;bottom:calc(100% + var(--space-2));z-index:var(--z-dialog);position:absolute}.app-shell[data-sidebar=collapsed] .app-sidebar{padding-inline:var(--space-2);align-items:center}.app-shell[data-sidebar=collapsed] :is(.app-brand__text,.app-search__label,.app-search .ui-kbd,.app-nav__label,.app-sidebar__label,.app-ai-entry__copy,.app-ai-entry .ui-kbd,.app-status span){display:none}.app-shell[data-sidebar=collapsed] .app-sidebar__head{flex-direction:column;padding-left:0}.app-shell[data-sidebar=collapsed] :is(.app-search,.app-nav__item,.app-ai-entry){width:var(--touch-min);justify-content:center;padding:0}.app-shell[data-sidebar=collapsed] .app-ai-entry{height:var(--touch-min);background:0 0;border:0;min-height:0;padding:0}.app-shell[data-sidebar=collapsed] .app-nav__item.active:before{left:calc(-1 * var(--space-2))}.app-shell[data-sidebar=collapsed] .app-sidebar__section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.app-shell[data-sidebar=collapsed] .app-sidebar__utils{flex-direction:column}.app-shell[data-sidebar=collapsed] .app-status{padding:var(--space-2) 0;justify-content:center}.app-column{isolation:isolate;flex-direction:column;min-width:0;display:flex;position:relative}.app-column:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:32px 32px;height:520px;position:absolute;inset:0 0 auto;-webkit-mask-image:radial-gradient(80% 100% at 50% 0,#000 20%,#0000 75%);mask-image:radial-gradient(80% 100% at 50% 0,#000 20%,#0000 75%)}.app-topbar{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) var(--space-6) 0;border-bottom:1px solid var(--border-subtle);background:var(--surface-glass);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);display:flex;position:sticky;top:0}.app-topbar__brand{background:0 0;border:0;flex:none;padding:0;display:none}.app-topbar__brand .app-brand__svg{width:32px;height:32px}.app-topbar__title{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-sm);white-space:nowrap;flex:1;display:flex}.app-topbar__crumb{color:var(--text-muted)}.app-topbar__sep{color:var(--text-muted);display:grid}.app-topbar__sep .ui-icon{width:14px;height:14px}.app-topbar__title strong{font-weight:var(--weight-semibold);text-overflow:ellipsis;overflow:hidden}.app-topbar__subtitle{margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--border-default);color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.app-topbar__actions{align-items:center;gap:var(--space-1);display:flex}@media (width>=768px){.app-topbar__actions>*{display:none}}.app-main{width:100%;max-width:var(--content-max);padding:var(--space-8) clamp(var(--space-4), 3vw, var(--space-10)) var(--space-16);outline:none;flex:1;margin:0 auto}.app-view.active{animation:app-view-in var(--dur-slow) var(--ease-out)}@keyframes app-view-in{0%{opacity:0;transform:translateY(6px)}}.app-view-loader{gap:var(--space-3);padding:var(--space-2) 0 var(--space-8);display:grid}.app-view-loader__title{width:min(320px,70%);height:28px}.app-view-loader__line{width:min(520px,90%);height:16px}.app-view-loader__grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.app-view-loader__grid .ui-skeleton{border-radius:var(--radius-lg);height:160px}.app-route-error,.app-module-error{margin-bottom:var(--space-6);border:1px solid var(--status-danger-soft);border-radius:var(--radius-lg);background:var(--surface-1)}.app-bottom-nav{display:none}.app-command{z-index:var(--z-dialog);padding:max(12vh, var(--space-8)) var(--space-4) var(--space-4);place-items:start center;display:grid;position:fixed;inset:0}.app-command__scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#03070f80;position:absolute;inset:0}.app-command__panel{border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-2);width:min(620px,100%);max-height:min(70dvh,560px);box-shadow:var(--shadow-lg);animation:app-command-in var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes app-command-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}}.app-command__search{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-muted);display:flex}.app-command__search input{min-width:0;height:56px;color:var(--text-primary);font-size:var(--text-md);background:0 0;border:0;outline:none;flex:1}.app-command__search input:focus-visible{box-shadow:none}.app-command__search input::-webkit-search-cancel-button{display:none}.app-command__results{padding:var(--space-2);overscroll-behavior:contain;overflow-y:auto}.app-command__group+.app-command__group{margin-top:var(--space-2)}.app-command__group-label{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.app-command__item{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;display:flex}.app-command__item[aria-selected=true]{background:var(--surface-active)}.app-command__item-icon{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1);width:34px;height:34px;color:var(--text-secondary);flex:none;place-items:center;display:grid}.app-command__item[aria-selected=true] .app-command__item-icon{background:var(--accent);color:#fff;border-color:#0000}.app-command__item-icon .ui-icon{width:1.1rem;height:1.1rem}.app-command__item-copy{flex:1;min-width:0;line-height:1.35;display:grid}.app-command__item-copy strong{font-size:var(--text-sm);font-weight:var(--weight-medium)}.app-command__item-copy small{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-command__item-go{width:1rem;height:1rem;color:var(--text-muted);opacity:0}.app-command__item[aria-selected=true] .app-command__item-go{opacity:1}.app-command__empty{padding:var(--space-8) var(--space-4);color:var(--text-muted);font-size:var(--text-sm);text-align:center}.app-command__foot{gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-xs);display:flex}.app-command__foot span{align-items:center;gap:var(--space-1);display:flex}.ui-setting__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-setting__actions .ui-icon{width:1rem;height:1rem}@media (width>=768px) and (width<=1023px){.app-shell,.app-shell[data-sidebar]{grid-template-columns:var(--sidebar-rail-w) minmax(0, 1fr)}.app-sidebar__toggle{display:none}.app-sidebar{padding-inline:var(--space-2);align-items:center}.app-sidebar :is(.app-brand__text,.app-search__label,.app-search .ui-kbd,.app-nav__label,.app-sidebar__label,.app-ai-entry__copy,.app-ai-entry .ui-kbd,.app-status span){display:none}.app-sidebar :is(.app-search,.app-nav__item,.app-ai-entry){width:var(--touch-min);justify-content:center;padding:0}.app-sidebar .app-ai-entry{height:var(--touch-min);background:0 0;border:0;min-height:0}.app-sidebar .app-nav__item.active:before{left:calc(-1 * var(--space-2))}.app-sidebar__section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.app-sidebar__utils{flex-direction:column}.app-topbar{padding-inline:var(--space-5)}}@media (width<=767px){.app-shell,.app-shell[data-sidebar]{display:block}.app-sidebar{display:none}.app-topbar{gap:var(--space-2);height:calc(56px + var(--safe-top));padding:var(--safe-top) max(var(--space-2), var(--safe-right)) 0 max(var(--space-4), var(--safe-left))}.app-topbar__brand{display:grid}.app-topbar__crumb,.app-topbar__sep,.app-topbar__subtitle{display:none}.app-topbar__title{font-size:var(--text-md)}.app-main{padding:var(--space-5) var(--space-4) calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-8))}.app-bottom-nav{z-index:var(--z-nav);height:calc(var(--bottom-nav-h) + var(--safe-bottom));padding:0 max(var(--space-1), var(--safe-left)) var(--safe-bottom) max(var(--space-1), var(--safe-right));border-top:1px solid var(--border-subtle);background:var(--surface-glass);-webkit-backdrop-filter:saturate(1.4)blur(16px);backdrop-filter:saturate(1.4)blur(16px);grid-template-columns:repeat(5,1fr);gap:0;display:grid;position:fixed;inset:auto 0 0}.app-bottom-nav__item{min-width:0;color:var(--text-muted);font-size:.75rem;font-weight:var(--weight-medium);-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:0;line-height:1.2;display:grid}.app-bottom-nav__item .ui-icon{border-radius:var(--radius-full);width:56px;height:30px;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);padding:5px 0}.app-bottom-nav__item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-bottom-nav__item.active{color:var(--text-primary)}.app-bottom-nav__item.active .ui-icon{background:var(--accent-soft);color:var(--accent-text)}.app-command{padding-top:calc(var(--safe-top) + var(--space-3))}.ui-toast-region{bottom:calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-3))}}@media (width<=399px){.app-topbar__theme{display:none}}.clprod-launcher.is-docked .clprod-menu{left:var(--space-3);bottom:calc(var(--space-16) + var(--space-3));width:min(320px, calc(100vw - 2 * var(--space-3)));position:fixed}.dash{gap:var(--space-10);display:grid}.dash-hero{gap:var(--space-8);padding-top:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:center;display:grid}.dash-hero__copy h1{max-width:18ch;margin:var(--space-3) 0 var(--space-4);font-size:clamp(2rem,2.8vw + 1rem,3.25rem);font-weight:var(--weight-bold);letter-spacing:-.035em;text-wrap:balance;line-height:1.08}.dash-hero__copy p{max-width:56ch;color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-body);margin:0}.dash-hero__actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.dash-element{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:radial-gradient(140% 90% at 100% 0%, var(--accent-2-soft), transparent 55%), radial-gradient(120% 80% at 0% 100%, var(--accent-soft), transparent 60%), var(--surface-1);box-shadow:var(--shadow-md);display:grid;position:relative;overflow:hidden}.dash-element__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.dash-element__body{align-items:center;gap:var(--space-5);display:flex}.dash-element__tile{aspect-ratio:1;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);width:128px;box-shadow:inset 0 1px 0 #ffffff0f, var(--glow-accent);animation:dash-tile-in var(--dur-slow) var(--ease-spring) both;flex:none;place-items:center;display:grid;position:relative}.dash-element__tile strong{background:var(--accent-gradient);color:#0000;font-size:3.25rem;font-weight:var(--weight-bold);letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;line-height:1}.dash-element__z{top:var(--space-2);left:var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;position:absolute}.dash-element__mass{bottom:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;position:absolute}@keyframes dash-tile-in{0%{opacity:0;transform:scale(.92)rotate(-2deg)}}.dash-element__facts{gap:var(--space-3);min-width:0;margin:0;display:grid}.dash-element__facts dt{color:var(--text-muted);font-size:var(--text-xs)}.dash-element__facts dd{font-size:var(--text-md);font-weight:var(--weight-semibold);text-overflow:ellipsis;font-variant-numeric:tabular-nums;margin:0;overflow:hidden}.dash-element__cta .ui-icon,.dash .ui-btn .ui-icon{width:1.05rem;height:1.05rem}.dash-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);display:grid}.dash-continue,.dash-progress{padding:var(--space-6)}.dash-continue{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.dash-continue h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);margin:0}.dash-continue p{margin:0 0 var(--space-4);color:var(--text-secondary)}.dash-continue .ui-btn{margin-top:auto}.dash-progress{gap:var(--space-4);display:grid}.dash-progress header{justify-content:space-between;align-items:center;display:flex}.dash-progress h2{font-size:var(--text-md);font-weight:var(--weight-semibold);margin:0}.dash-progress__value{font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.dash-stats{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.dash-stats>div{padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken)}.dash-stats dt{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);display:flex}.dash-stats dt .ui-icon{width:.95rem;height:.95rem}.dash-stats dd{margin:var(--space-1) 0 0;font-size:var(--text-xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.dash-stats dd small{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}.dash-workspaces{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dash-workspace{--tint:var(--accent);--tint-soft:var(--accent-soft);align-items:flex-start;gap:var(--space-2);padding:var(--space-5);color:var(--text-primary);text-align:left;flex-direction:column;display:flex}.dash-workspace[data-accent=tools],.dash-workspace[data-accent=lab]{--tint:var(--accent-2);--tint-soft:var(--accent-2-soft)}.dash-workspace__icon{width:44px;height:44px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--tint-soft);color:var(--tint);place-items:center;display:grid}.dash-workspace strong{font-size:var(--text-md);font-weight:var(--weight-semibold)}.dash-workspace__copy{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.dash-workspace__meta{width:100%;padding-top:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.dash-workspace__meta .ui-icon{width:1rem;height:1rem;transition:transform var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out)}.dash-workspace:hover .dash-workspace__meta .ui-icon{color:var(--tint);transform:translate(3px)}.dash-tools{gap:var(--space-2);flex-wrap:wrap;display:flex}.dash-tool{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-4) 0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-1);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:inline-flex}.dash-tool:hover{border-color:var(--border-strong);background:var(--surface-2)}.dash-tool>span{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.dash-tool .ui-icon{width:1rem;height:1rem}.dash-flow{counter-reset:flow;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.dash-flow li{position:relative}.dash-flow li+li:before{content:"";background:linear-gradient(90deg, var(--border-default), var(--accent-soft));width:100%;height:2px;position:absolute;top:26px;left:-50%}.dash-flow button{justify-items:center;gap:var(--space-1);width:100%;padding:0 var(--space-1) var(--space-2);color:var(--text-primary);text-align:center;background:0 0;border:0;display:grid;position:relative}.dash-flow__index{width:52px;height:52px;margin-bottom:var(--space-2);border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-spring);border-radius:50%;place-items:center;display:grid}.dash-flow button:hover .dash-flow__index{background:var(--accent);color:#fff;border-color:#0000;transform:scale(1.06)}.dash-flow strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.dash-flow small{color:var(--text-muted);font-size:var(--text-xs)}.dash-grades{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dash-grade{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);color:var(--text-primary);text-align:left;display:flex}.dash-grade__ring{flex:none;place-items:center;width:56px;height:56px;display:grid;position:relative}.dash-grade__ring>span{font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;position:absolute}.dash-ring{width:56px;height:56px;transform:rotate(-90deg)}.dash-ring circle{fill:none;stroke-width:5px}.dash-ring__track{stroke:var(--surface-3)}.dash-ring__value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease-out)}.dash-grade__copy{gap:2px;display:grid}.dash-grade__copy strong{font-size:var(--text-md);font-weight:var(--weight-semibold)}.dash-grade__copy small{color:var(--text-muted);font-size:var(--text-sm)}.dash>*{animation:dash-rise var(--dur-slow) var(--ease-out) both}.dash>:nth-child(2){animation-delay:40ms}.dash>:nth-child(3){animation-delay:80ms}.dash>:nth-child(4){animation-delay:.12s}.dash>:nth-child(n+5){animation-delay:.16s}@keyframes dash-rise{0%{opacity:0;transform:translateY(8px)}}@media (width<=1199px){.dash-workspaces,.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1023px){.dash-hero,.dash-row{grid-template-columns:minmax(0,1fr)}.dash-element{max-width:560px}.dash-flow{row-gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}.dash-flow li:nth-child(4):before{display:none}}@media (width<=767px){.dash{gap:var(--space-8)}.dash-hero{gap:var(--space-6);padding-top:0}.dash-hero__copy p{font-size:var(--text-md)}.dash-hero__actions{margin-top:var(--space-6)}.dash-hero__actions .ui-btn{flex:100%}.dash-element__tile{width:104px}.dash-element__tile strong{font-size:2.6rem}.dash-continue,.dash-progress{padding:var(--space-5)}.dash-grades{grid-template-columns:minmax(0,1fr)}.dash-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-flow li:before{display:none}}@media (width<=479px){.dash-workspaces{grid-template-columns:minmax(0,1fr)}.dash-element__body{gap:var(--space-4)}}:root{--chemai-width:430px;--chemai-panel-bg:color-mix(in srgb, var(--surface-2) 94%, transparent);--chemai-border:color-mix(in srgb, var(--border-strong) 82%, transparent);--chemai-accent:#9b7cff;--chemai-accent-2:#55b7ff;--chemai-accent-3:#42dfcf}.chemai-launcher{z-index:2050;border:1px solid color-mix(in oklab, var(--accent) 57%, transparent);min-height:54px;color:var(--text-primary);background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 22%, transparent), color-mix(in oklab, var(--accent) 12%, transparent)), color-mix(in srgb, var(--surface-2) 94%, transparent);box-shadow:var(--glow-accent);-webkit-backdrop-filter:blur(18px)saturate(130%);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 7px;transition:transform .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:24px;right:24px}.chemai-launcher:hover{border-color:var(--accent);box-shadow:var(--glow-accent);transform:translateY(-3px)}.chemai-launcher:active{transform:translateY(-1px)scale(.985)}.chemai-launcher-orb{width:40px;height:40px;color:var(--text-primary);background:linear-gradient(145deg, var(--accent), var(--accent) 54%, var(--accent-2));box-shadow:var(--glow-accent);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.chemai-launcher-orb:before{content:"";background:conic-gradient(from 90deg,#0000,#ffffff9e,#0000 32%);animation:4.2s linear infinite chemaiSpin;position:absolute;inset:-35%}.chemai-launcher-orb svg{z-index:1;width:21px;height:21px;position:relative}.chemai-launcher-copy{text-align:left;line-height:1.08;display:grid}.chemai-launcher-copy strong{letter-spacing:-.01em;font-size:13px;font-weight:850}.chemai-launcher-copy small{color:var(--text-primary);font-size:var(--text-xs);letter-spacing:.04em;margin-top:3px;font-weight:700}.chemai-top-button{color:var(--accent-text);position:relative}.chemai-top-button:after{content:"";background:var(--chemai-accent-3);width:6px;height:6px;box-shadow:var(--glow-accent);border-radius:50%;position:absolute;top:6px;right:6px}.chemai-root{z-index:2600;pointer-events:none;position:fixed;inset:0}.chemai-root[hidden]{display:none}.chemai-backdrop{opacity:0;-webkit-backdrop-filter:blur(2px);background:#02040a42;transition:opacity .22s;position:absolute;inset:0}.chemai-panel{top:max(88px, env(safe-area-inset-top));width:min(var(--chemai-width), calc(100vw - 44px));border:1px solid var(--chemai-border);color:var(--text-primary);background:radial-gradient(circle at 84% -8%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 19rem), radial-gradient(circle at 5% 0%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 22rem), var(--chemai-panel-bg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(28px)saturate(135%);opacity:0;pointer-events:auto;border-radius:28px;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;transition:transform .24s cubic-bezier(.2,.75,.2,1),opacity .2s;display:grid;position:absolute;bottom:22px;right:22px;overflow:hidden;transform:translate(calc(100% + 44px))scale(.985)}.chemai-panel:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:var(--surface-1);position:absolute;inset:0}.chemai-root.is-open .chemai-panel{opacity:1;transform:none}.chemai-root.is-open .chemai-backdrop{opacity:1}.chemai-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:14px;min-height:78px;padding:14px 16px 12px;display:flex}.chemai-brand{flex:1;align-items:center;gap:11px;min-width:0;display:flex}.chemai-brand>div{min-width:0}.chemai-title-row{align-items:center;gap:8px;display:flex}.chemai-title-row h2{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:19px}.chemai-version{border:1px solid color-mix(in oklab, var(--accent) 37%, transparent);color:var(--accent-text);background:color-mix(in oklab, var(--accent) 12%, transparent);font-size:var(--text-xs);border-radius:7px;padding:3px 6px;font-weight:850}.chemai-brand p{color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.chemai-orb,.chemai-mini-orb{color:var(--text-primary);background:linear-gradient(145deg, var(--accent), var(--accent) 52%, var(--accent-2));box-shadow:var(--glow-accent);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.chemai-orb{width:42px;height:42px}.chemai-orb svg{z-index:4;width:20px;height:20px;position:relative}.chemai-orb i,.chemai-orb b,.chemai-orb em{border:1px solid var(--border-strong);border-radius:50%;position:absolute;inset:5px;transform:rotate(25deg)scaleY(.42)}.chemai-orb b{transform:rotate(-35deg)scaleY(.46)}.chemai-orb em{transform:rotate(88deg)scaleY(.44)}.chemai-mini-orb{width:22px;height:22px}.chemai-mini-orb svg{width:12px;height:12px}.chemai-header-actions{flex:none;align-items:center;gap:7px;display:flex}.chemai-icon-button{border:1px solid var(--border-subtle);width:38px;height:38px;color:var(--text-secondary);background:var(--surface-hover);cursor:pointer;border-radius:12px;place-items:center;padding:0;transition:color .18s,background .18s,transform .18s,border-color .18s;display:grid}.chemai-icon-button:hover{color:var(--text-primary);border-color:var(--border-strong);background:color-mix(in srgb,var(--surface-hover) 75%,var(--accent) 25%);transform:translateY(-1px)}.chemai-icon-button svg{width:18px;height:18px}.chemai-contextbar{border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-hover) 68%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 15px;display:grid}.chemai-context-icon{width:31px;height:31px;color:var(--accent-text);background:color-mix(in oklab, var(--accent) 13%, transparent);border-radius:10px;place-items:center;display:grid}.chemai-context-icon svg{width:16px;height:16px}.chemai-context-copy{min-width:0}.chemai-context-copy small{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.01em;font-weight:850;display:block}.chemai-context-copy strong{color:var(--text-primary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:760;display:block;overflow:hidden}.chemai-service-badge{border:1px solid var(--border-subtle);min-height:25px;color:var(--text-secondary);background:var(--surface-hover);font-size:var(--text-xs);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-weight:760;display:inline-flex}.chemai-service-badge i{background:var(--text-muted);border-radius:50%;width:6px;height:6px}.chemai-service-badge.online i{background:var(--status-success);box-shadow:var(--glow-accent)}.chemai-service-badge.setup,.chemai-service-badge.offline{color:var(--status-warning);border-color:color-mix(in oklab, var(--status-warning) 39%, transparent);background:color-mix(in oklab, var(--status-warning) 11%, transparent)}.chemai-service-badge.setup i,.chemai-service-badge.offline i{background:var(--status-warning)}.chemai-service-badge.local{color:var(--accent-text);border-color:color-mix(in oklab, var(--accent) 39%, transparent);background:color-mix(in oklab, var(--accent) 11%, transparent)}.chemai-service-badge.local i{background:var(--accent)}.chemai-messages{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8b5cf652 transparent;min-height:0;padding:18px 16px 14px;overflow-y:auto}.chemai-messages::-webkit-scrollbar{width:7px}.chemai-messages::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--accent) 32%, transparent);border-radius:99px}.chemai-welcome{border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:22px;padding:22px;position:relative;overflow:hidden}.chemai-welcome:after{content:"";border:1px solid color-mix(in oklab, var(--accent) 31%, transparent);width:130px;height:130px;box-shadow:var(--glow-accent);border-radius:50%;position:absolute;top:-40px;right:-34px}.chemai-welcome-mark{width:44px;height:44px;color:var(--text-on-accent);background:var(--accent);box-shadow:var(--glow-accent);border-radius:15px;place-items:center;display:grid}.chemai-welcome-mark svg{width:22px;height:22px}.chemai-eyebrow{color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.01em;margin-top:18px;display:block}.chemai-welcome h3{max-width:290px;color:var(--text-primary);letter-spacing:-.035em;margin:7px 0 8px;font-size:23px;line-height:1.08}.chemai-welcome p{z-index:1;color:var(--text-secondary);font-size:var(--text-xs);margin:0;line-height:1.65;position:relative}.chemai-capabilities{z-index:1;flex-wrap:wrap;gap:6px;margin-top:16px;display:flex;position:relative}.chemai-capabilities span{border:1px solid var(--border-subtle);color:var(--text-secondary);background:color-mix(in srgb,var(--surface-hover) 75%,transparent);font-size:var(--text-xs);border-radius:999px;padding:6px 9px;font-weight:700}.chemai-message{margin:0 0 17px}.chemai-message.user{justify-items:end;display:grid}.chemai-message-meta{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:7px;margin:0 3px 6px;font-weight:760;display:flex}.chemai-message.user .chemai-message-meta{justify-content:flex-end}.chemai-bubble{border:1px solid var(--border-subtle);max-width:92%;color:var(--text-primary);background:var(--surface-hover);border-radius:18px}.chemai-message.user .chemai-bubble{border-color:color-mix(in oklab, var(--accent) 35%, transparent);background:linear-gradient(135deg,color-mix(in oklab, var(--accent) 19%, transparent),color-mix(in oklab, var(--accent) 10%, transparent));border-bottom-right-radius:6px;max-width:86%;padding:11px 14px}.chemai-message.assistant .chemai-bubble{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border-bottom-left-radius:6px;padding:14px 15px}.chemai-bubble p{margin:0;font-size:14px;line-height:1.7}.chemai-answer>*+*{margin-top:10px}.chemai-answer p{color:var(--text-primary)}.chemai-answer ul,.chemai-answer ol{color:var(--text-primary);margin:8px 0 0;padding-left:20px}.chemai-answer li{margin:5px 0;font-size:14px;line-height:1.66}.chemai-answer h3,.chemai-answer h4{color:var(--text-primary);letter-spacing:-.02em;margin:12px 0 5px}.chemai-answer h3{font-size:17px}.chemai-answer h4{font-size:15px}.chemai-answer strong{color:var(--text-primary)}.chemai-answer code{border:1px solid var(--border-subtle);color:var(--accent-text);background:color-mix(in oklab, var(--accent) 12%, transparent);border-radius:6px;padding:2px 5px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.92em}.chemai-answer pre{border:1px solid var(--border-subtle);background:var(--bg-sunken);border-radius:12px;margin:10px 0 0;padding:12px;overflow:auto}.chemai-answer pre code{background:0 0;border:0;padding:0}.chemai-answer blockquote{border-left:3px solid var(--chemai-accent);color:var(--text-secondary);background:color-mix(in oklab, var(--accent) 9%, transparent);margin:10px 0 0;padding:8px 11px}.chemai-equation{border:1px solid color-mix(in oklab, var(--accent) 33%, transparent);color:var(--accent-text);background:var(--surface-1);white-space:nowrap;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:13.5px;line-height:1.6;overflow-x:auto}.chemai-message-tools{margin-top:5px;display:flex}.chemai-message-tools button{color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.chemai-message-tools button:hover{color:var(--text-primary);background:var(--surface-hover)}.chemai-message-tools svg{width:13px;height:13px}.chemai-thinking-dots{align-items:center;gap:5px;min-height:18px;display:flex}.chemai-thinking-dots i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite chemaiBounce}.chemai-thinking-dots i:nth-child(2){animation-delay:.12s}.chemai-thinking-dots i:nth-child(3){animation-delay:.24s}.chemai-response-actions{gap:7px;margin:4px 0 18px 29px;display:grid}.chemai-response-actions button{border:1px solid color-mix(in oklab, var(--accent) 35%, transparent);min-height:44px;color:var(--accent-text);background:color-mix(in oklab, var(--accent) 10%, transparent);text-align:left;font-size:var(--text-xs);cursor:pointer;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:0 12px;font-weight:780;transition:transform .16s,border-color .16s,background .16s;display:grid}.chemai-response-actions button:hover{border-color:color-mix(in oklab, var(--accent) 53%, transparent);background:color-mix(in oklab, var(--accent) 14%, transparent);transform:translate(2px)}.chemai-response-actions svg{width:15px;height:15px}.chemai-system-notice{border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-hover);border-radius:14px;grid-template-columns:auto 1fr;gap:10px;margin:0 0 16px;padding:11px 12px;display:grid}.chemai-system-notice>span{width:29px;height:29px;color:var(--accent-text);background:color-mix(in oklab, var(--accent) 12%, transparent);border-radius:9px;place-items:center;display:grid}.chemai-system-notice.warning>span{color:var(--status-warning);background:color-mix(in oklab, var(--status-warning) 12%, transparent)}.chemai-system-notice svg{width:15px;height:15px}.chemai-system-notice strong{color:var(--text-primary);font-size:var(--text-xs);display:block}.chemai-system-notice p{font-size:var(--text-xs);margin:3px 0 0;line-height:1.5}.chemai-suggestions{scrollbar-width:none;gap:7px;min-height:0;padding:6px 15px 10px;display:flex;overflow-x:auto}.chemai-suggestions::-webkit-scrollbar{display:none}.chemai-suggestions:empty{display:none}.chemai-suggestions button{border:1px solid var(--border-subtle);max-width:260px;min-height:38px;color:var(--text-secondary);background:var(--surface-hover);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:8px 11px;transition:color .16s,border-color .16s,background .16s}.chemai-suggestions button:hover{color:var(--text-primary);border-color:color-mix(in oklab, var(--accent) 45%, transparent);background:color-mix(in oklab, var(--accent) 11%, transparent)}.chemai-composer{padding:0 14px 10px}.chemai-input-shell{border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-2) 76%,transparent);box-shadow:var(--shadow-md);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:7px 7px 7px 13px;transition:border-color .18s,box-shadow .18s;display:grid}.chemai-input-shell:focus-within{border-color:color-mix(in oklab, var(--accent) 63%, transparent);box-shadow:var(--glow-accent)}.chemai-input-shell textarea{resize:none;width:100%;min-height:38px;max-height:132px;color:var(--text-primary);background:0 0;border:0;outline:0;padding:9px 0 6px;font-size:14px;line-height:1.55;overflow-y:auto}.chemai-input-shell textarea::placeholder{color:var(--text-muted)}.chemai-input-shell textarea:disabled{opacity:.72}.chemai-send{width:44px;height:44px;color:var(--text-on-accent);background:var(--accent);box-shadow:var(--glow-accent);cursor:pointer;border:0;border-radius:13px;place-items:center;padding:0;transition:transform .16s,box-shadow .16s,filter .16s;display:grid}.chemai-send:hover{box-shadow:var(--glow-accent);transform:translateY(-1px)}.chemai-send:active{transform:scale(.97)}.chemai-send svg{width:18px;height:18px}.chemai-send-icon.stop{display:none}.chemai-root.is-pending .chemai-send{background:linear-gradient(145deg,var(--status-danger),var(--status-danger))}.chemai-root.is-pending .chemai-send-icon.send{display:none}.chemai-root.is-pending .chemai-send-icon.stop{display:grid}.chemai-composer-meta{color:var(--text-muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:10px;padding:5px 4px 0;display:flex}.chemai-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);background:var(--bg-sunken);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:10px;padding:9px 15px 11px;display:flex}.chemai-footer>span{align-items:center;gap:5px;display:inline-flex}.chemai-footer svg{width:12px;height:12px}.chemai-footer small{color:inherit;font-size:inherit}:root[data-theme=light] .chemai-panel,html.light .chemai-panel,body.light-theme .chemai-panel{--chemai-panel-bg:#fffffff2;box-shadow:var(--shadow-md)}:root[data-theme=light] .chemai-launcher,html.light .chemai-launcher,body.light-theme .chemai-launcher{color:var(--text-primary);background:var(--surface-2);box-shadow:var(--glow-accent)}:root[data-theme=light] .chemai-launcher-copy small,html.light .chemai-launcher-copy small,body.light-theme .chemai-launcher-copy small{color:var(--text-muted)}:root[data-theme=light] .chemai-answer strong,html.light .chemai-answer strong,body.light-theme .chemai-answer strong{color:var(--accent-text)}:root[data-theme=light] .chemai-answer pre,html.light .chemai-answer pre,body.light-theme .chemai-answer pre{background:var(--accent)}html[data-contrast=high] .chemai-panel,html[data-contrast=high] .chemai-input-shell,html[data-contrast=high] .chemai-bubble,html[data-contrast=high] .chemai-welcome{border-width:2px}@keyframes chemaiSpin{to{transform:rotate(360deg)}}@keyframes chemaiBounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (width<=1024px){.chemai-panel{width:min(420px,100vw - 28px);top:78px;bottom:14px;right:14px}.chemai-launcher{bottom:16px;right:16px}}@media (width<=767px){.chemai-launcher{right:14px;bottom:calc(var(--mobile-nav-h,72px) + env(safe-area-inset-bottom) + 18px);justify-content:center;width:54px;min-width:54px;height:54px;min-height:54px;padding:6px}.chemai-launcher-orb{width:41px;height:41px}.chemai-launcher-copy{display:none}.chemai-root{z-index:3100}.chemai-backdrop{pointer-events:auto;-webkit-backdrop-filter:blur(6px);background:#02040a94}.chemai-panel{width:100%;height:min(88dvh,780px);max-height:calc(100dvh - env(safe-area-inset-top) - 18px);box-shadow:var(--shadow-md);border-bottom:0;border-left:0;border-right:0;border-radius:26px 26px 0 0;inset:auto 0 0;transform:translateY(105%)}.chemai-root.is-open .chemai-panel{transform:translateY(0)}.chemai-panel:after{content:"";background:#7f8ba647;border-radius:99px;width:42px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.chemai-header{min-height:70px;padding:15px 12px 9px}.chemai-brand p{font-size:var(--text-xs)}.chemai-orb{width:40px;height:40px}.chemai-icon-button{border-radius:14px;width:44px;height:44px}.chemai-message-tools button{min-height:44px;padding:8px 9px}.chemai-suggestions button{min-height:44px;font-size:var(--text-xs);padding:9px 12px}.chemai-response-actions button{min-height:46px;font-size:var(--text-xs)}.chemai-contextbar{min-height:52px;padding:7px 12px}.chemai-service-badge span{display:none}.chemai-service-badge{justify-content:center;width:24px;min-width:24px;padding:0}.chemai-messages{padding:15px 12px 12px}.chemai-welcome{padding:18px}.chemai-welcome h3{font-size:21px}.chemai-message.user .chemai-bubble{max-width:90%}.chemai-bubble{max-width:96%}.chemai-response-actions{margin-left:25px}.chemai-suggestions{padding-inline:12px}.chemai-composer{padding:0 10px calc(8px + env(safe-area-inset-bottom))}.chemai-input-shell textarea{font-size:16px}.chemai-composer-meta,.chemai-footer{display:none}}@media (width<=420px){.chemai-title-row h2{font-size:17px}.chemai-welcome p{font-size:var(--text-xs)}.chemai-suggestions button{max-width:235px}.chemai-message.assistant .chemai-bubble{padding:12px 13px}}@media (prefers-reduced-motion:reduce){.chemai-launcher,.chemai-panel,.chemai-backdrop,.chemai-icon-button,.chemai-send,.chemai-response-actions button{transition:none}.chemai-launcher-orb:before,.chemai-thinking-dots i{animation:none}}.chemai-launcher:focus-visible,.chemai-icon-button:focus-visible,.chemai-message-tools button:focus-visible,.chemai-response-actions button:focus-visible,.chemai-suggestions button:focus-visible,.chemai-send:focus-visible{outline:3px solid color-mix(in srgb, var(--chemai-accent) 70%, white 30%);outline-offset:3px}@media (width<=767px){html.chemai-open,html.chemai-open body{overscroll-behavior:none;overflow:hidden}}.chemai-backdrop{-webkit-backdrop-filter:blur(1px);background:#02040a30}.chemai-messages.is-empty{align-items:center;display:flex}.chemai-messages.is-empty .chemai-welcome{width:100%}.chemai-welcome{padding:24px}.chemai-welcome-context{border:1px solid color-mix(in oklab, var(--accent) 31%, transparent);background:var(--surface-1);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:16px;padding:11px 12px;display:grid}.chemai-welcome-context>span{width:32px;height:32px;color:var(--accent-text);background:color-mix(in oklab, var(--accent) 14%, transparent);border-radius:10px;place-items:center;display:grid}.chemai-welcome-context svg{width:16px;height:16px}.chemai-welcome-context small{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.01em;font-weight:850;display:block}.chemai-welcome-context strong{color:var(--text-primary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:780;display:block;overflow:hidden}.chemai-grounding-note{max-width:94%;color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:6px;margin:6px 0 0 29px;line-height:1.45;display:inline-flex}.chemai-grounding-note svg{width:12px;height:12px;color:var(--accent-text);flex:none}.chemai-context-copy strong,.chemai-suggestions button,.chemai-composer-meta,.chemai-footer{font-size:var(--text-xs)}.chemai-footer{line-height:1.35}.chemai-service-badge.online{color:var(--status-success);border-color:color-mix(in oklab, var(--accent-2) 39%, transparent);background:var(--surface-1)}@media (width<=767px){.chemai-backdrop{background:var(--bg-sunken);-webkit-backdrop-filter:blur(3px)}.chemai-panel{height:min(88dvh, calc(var(--chemai-viewport-h,100dvh) - 10px), 780px);max-height:calc(var(--chemai-viewport-h,100dvh) - 10px)}.chemai-messages.is-empty{align-items:flex-start}.chemai-welcome{padding:19px}.chemai-grounding-note{font-size:var(--text-xs);margin-left:25px}}html.chemai-open .clprod-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)scale(.96)}.chemai-retry{border:1px solid color-mix(in oklab, var(--accent) 41%, transparent);min-height:36px;color:var(--text-primary);background:color-mix(in oklab, var(--accent) 13%, transparent);font:inherit;font-weight:var(--weight-bold);cursor:pointer;border-radius:10px;margin-top:9px;padding:0 12px}.chemai-retry:hover{border-color:color-mix(in oklab, var(--accent) 61%, transparent);background:color-mix(in oklab, var(--accent) 18%, transparent)}@media (width<=767px){.chemai-panel{isolation:isolate}.chemai-composer{z-index:20;padding:8px 12px calc(14px + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb, var(--border-subtle) 86%, transparent);background:var(--surface-1);position:relative}.chemai-input-shell{border-radius:20px;gap:10px;min-height:60px;padding:6px 6px 6px 14px}.chemai-input-shell textarea{min-height:46px;max-height:118px;padding:11px 0 8px;line-height:1.45}.chemai-send{z-index:3;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:16px;flex:none;width:52px;min-width:52px;height:52px;min-height:52px;position:relative}.chemai-send svg{width:21px;height:21px}.chemai-system-notice{margin-bottom:14px}.chemai-retry{min-height:44px;padding-inline:15px}}.chemai-input-shell textarea:focus-visible{box-shadow:none;outline:none}.chemai-panel{grid-template-columns:minmax(0,1fr)}:root{--cat-alkali:#f87171;--cat-alkaline:#fb923c;--cat-transition:#facc15;--cat-postTransition:#a3e635;--cat-metalloid:#2dd4bf;--cat-nonmetal:#60a5fa;--cat-halogen:#22d3ee;--cat-noble:#a78bfa;--cat-lanthanide:#f472b6;--cat-actinide:#e879f9;--blk-s:#f87171;--blk-p:#60a5fa;--blk-d:#facc15;--blk-f:#e879f9;--st-gas:#22d3ee;--st-liquid:#60a5fa;--st-solid:#94a3b8;--st-unknown:#64748b;--pt-tint:16%}html[data-theme=light]{--cat-alkali:#dc2626;--cat-alkaline:#ea580c;--cat-transition:#ca8a04;--cat-postTransition:#4d7c0f;--cat-metalloid:#0d9488;--cat-nonmetal:#2563eb;--cat-halogen:#0891b2;--cat-noble:#7c3aed;--cat-lanthanide:#db2777;--cat-actinide:#c026d3;--blk-s:#dc2626;--blk-p:#2563eb;--blk-d:#ca8a04;--blk-f:#c026d3;--st-gas:#0891b2;--st-liquid:#2563eb;--st-solid:#64748b;--st-unknown:#94a3b8;--pt-tint:11%}[data-cat=alkali]{--hue:var(--cat-alkali)}[data-cat=alkaline]{--hue:var(--cat-alkaline)}[data-cat=transition]{--hue:var(--cat-transition)}[data-cat=postTransition]{--hue:var(--cat-postTransition)}[data-cat=metalloid]{--hue:var(--cat-metalloid)}[data-cat=nonmetal]{--hue:var(--cat-nonmetal)}[data-cat=halogen]{--hue:var(--cat-halogen)}[data-cat=noble]{--hue:var(--cat-noble)}[data-cat=lanthanide]{--hue:var(--cat-lanthanide)}[data-cat=actinide]{--hue:var(--cat-actinide)}.pt[data-color-mode=block] [data-block=s],.pt-chip[data-block=s]{--hue:var(--blk-s)}.pt[data-color-mode=block] [data-block=p],.pt-chip[data-block=p]{--hue:var(--blk-p)}.pt[data-color-mode=block] [data-block=d],.pt-chip[data-block=d]{--hue:var(--blk-d)}.pt[data-color-mode=block] [data-block=f],.pt-chip[data-block=f]{--hue:var(--blk-f)}.pt[data-color-mode=state] [data-state=gas],.pt-chip[data-state=gas]{--hue:var(--st-gas)}.pt[data-color-mode=state] [data-state=liquid],.pt-chip[data-state=liquid]{--hue:var(--st-liquid)}.pt[data-color-mode=state] [data-state=solid],.pt-chip[data-state=solid]{--hue:var(--st-solid)}.pt[data-color-mode=state] [data-state=unknown],.pt-chip[data-state=unknown]{--hue:var(--st-unknown)}.pt-head{margin-bottom:var(--space-5)}.pt-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.pt-search{align-items:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-muted);transition:border-color var(--dur-fast) var(--ease-out);flex:320px;display:flex;position:relative}.pt-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pt-search input{min-width:0;height:42px;color:var(--text-primary);font-size:var(--text-md);background:0 0;border:0;outline:0;flex:1}.pt-search input:focus-visible{box-shadow:none}.pt-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.pt-chip i{background:var(--hue);border-radius:3px;width:9px;height:9px}.pt-count{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.pt-result{min-height:1.5em;margin:var(--space-3) 0;color:var(--text-secondary);font-size:var(--text-sm)}.pt-table-wrap{padding:var(--space-2) 2px var(--space-3);overscroll-behavior-x:contain;overflow-x:auto}.pt-table{--cell:minmax(48px, 1fr);grid-template-columns:28px repeat(18, var(--cell));grid-template-rows:auto repeat(7, auto) var(--space-4) auto auto;gap:4px;min-width:900px;display:grid}.pt-label{padding-bottom:var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;transition:color var(--dur-fast) var(--ease-out);align-content:end;place-items:center;line-height:1.2;display:grid}.pt-label small{font-size:.6875rem;font-weight:var(--weight-medium);opacity:.75}.pt-label--period{align-content:center;padding:0}.pt-label.is-label-active{color:var(--accent-text)}.pt-cell{aspect-ratio:1/1.12;border:1px solid color-mix(in oklab, var(--hue) 38%, transparent);border-radius:var(--radius-sm);background:color-mix(in oklab, var(--hue) var(--pt-tint), var(--surface-1));min-width:0;color:var(--text-primary);transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-base) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), filter var(--dur-base) var(--ease-out);grid-template-rows:auto 1fr auto auto;justify-items:center;padding:4px 3px 5px;line-height:1.1;display:grid;position:relative;overflow:hidden;container-type:inline-size}.pt-cell:before{content:"";background:var(--hue);opacity:.9;height:3px;position:absolute;inset:0 0 auto}.pt-cell__z{color:var(--text-secondary);font-size:.6875rem;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;justify-self:start}.pt-cell__symbol{font-size:clamp(1rem,1.25vw,1.375rem);font-weight:var(--weight-bold);letter-spacing:-.01em;align-self:center}.pt-cell__name,.pt-cell__mass{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.625rem;overflow:hidden}.pt-cell__name{color:var(--text-secondary)}.pt-cell__mass{color:var(--text-muted);font-variant-numeric:tabular-nums}.pt-cell:hover,.pt-cell:focus-visible{z-index:2;border-color:var(--hue);box-shadow:0 0 0 1px var(--hue), 0 10px 24px -10px color-mix(in oklab, var(--hue) 70%, transparent);transform:translateY(-2px)scale(1.06)}.pt-cell:focus-visible{box-shadow:var(--focus-ring)}.pt-cell.is-related:not(:hover,:focus-visible){border-color:color-mix(in oklab, var(--hue) 75%, transparent)}.pt-cell.is-dim{opacity:.16;filter:saturate(.3)}.pt-cell.is-top{box-shadow:0 0 0 2px var(--accent)}.pt-cell.is-flash{animation:pt-flash 1.2s var(--ease-out)}@keyframes pt-flash{30%{box-shadow:0 0 0 2px var(--hue);transform:translateY(-2px)}}@container (width<=64px){.pt-cell__mass{display:none}}@container (width<=50px){.pt-cell__name{display:none}}.pt[data-layout=compact] .pt-cell{aspect-ratio:1;grid-template-rows:auto 1fr}.pt[data-layout=compact] :is(.pt-cell__name,.pt-cell__mass){display:none}.pt-series{border:1px dashed color-mix(in oklab, var(--cat-lanthanide) 50%, transparent);border-radius:var(--radius-sm);color:var(--text-secondary);text-align:center;background:0 0;place-content:center;gap:2px;font-size:.6875rem;display:grid}.pt-series[data-series=actinide]{border-color:color-mix(in oklab, var(--cat-actinide) 50%, transparent)}.pt-series strong{color:var(--text-primary);font-size:var(--text-xs)}.pt-series:hover{background:var(--surface-hover)}.pt-f-label{padding-right:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);justify-content:flex-end;align-items:center;display:flex}.pt-preview{align-items:center;gap:var(--space-5);margin:0 var(--space-4) var(--space-2);padding:var(--space-3) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:radial-gradient(120% 140% at 0% 0%, color-mix(in oklab, var(--hue) 16%, transparent), transparent 60%), var(--surface-1);pointer-events:none;display:flex}.pt-preview__tile{aspect-ratio:1;border:1px solid var(--hue);border-radius:var(--radius-md);background:color-mix(in oklab, var(--hue) 14%, var(--surface-2));flex:none;place-items:center;width:96px;display:grid;position:relative}.pt-preview__tile span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);position:absolute;top:6px;left:8px}.pt-preview__tile strong{font-size:2.5rem;font-weight:var(--weight-bold);line-height:1}.pt-preview__tile small{color:var(--text-muted);font-size:.6875rem;position:absolute;bottom:5px}.pt-preview__copy{gap:2px;min-width:0;display:grid}.pt-preview__copy strong{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.pt-preview__copy>span:first-of-type{color:var(--hue);font-size:var(--text-sm);font-weight:var(--weight-medium)}.pt-preview__copy code{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pt-preview__meta{color:var(--text-muted);font-size:var(--text-xs)}.pt-scroll-hint{display:none}.pt-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.pt-row{align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-primary);text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.pt-row:hover{border-color:var(--hue)}.pt-row__tile{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--hue) 18%, var(--surface-2));width:48px;height:48px;box-shadow:inset 0 3px 0 var(--hue);font-size:var(--text-lg);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid;position:relative}.pt-row__tile small{color:var(--text-secondary);font-size:.625rem;font-weight:var(--weight-semibold);position:absolute;top:4px;left:5px}.pt-row__copy{flex:1;min-width:0;display:grid}.pt-row__copy strong{font-size:var(--text-md);font-weight:var(--weight-semibold)}.pt-row__copy span{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pt-row__mass{color:var(--text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.pt-scrim{z-index:var(--z-drawer)}.pt-drawer{z-index:calc(var(--z-drawer) + 1);border-left:1px solid var(--border-default);background:var(--surface-1);width:min(480px,100vw);box-shadow:var(--shadow-lg);visibility:hidden;transition:transform var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.pt-drawer.open{visibility:visible;transition:transform var(--dur-slow) var(--ease-out), visibility 0s;transform:none}.ptd{flex-direction:column;height:100%;display:flex}.ptd-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:calc(var(--safe-top) + var(--space-2)) var(--space-3) var(--space-2) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.ptd-pos{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ptd-nav{gap:var(--space-1);display:flex}.ptd-flip{transform:scaleX(-1)}.ptd-scroll{padding:var(--space-5) var(--space-5) calc(var(--space-8) + var(--safe-bottom));overscroll-behavior:contain;flex:1;overflow-y:auto}.ptd-hero{align-items:center;gap:var(--space-4);display:flex}.ptd-tile{aspect-ratio:1;border:1px solid var(--hue);border-radius:var(--radius-lg);background:radial-gradient(100% 100% at 30% 0%, color-mix(in oklab, var(--hue) 30%, transparent), transparent 70%), var(--surface-2);width:104px;box-shadow:0 12px 30px -14px var(--hue);flex:none;place-items:center;display:grid;position:relative}.ptd-tile span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);position:absolute;top:6px;left:9px}.ptd-tile strong{font-size:2.75rem;font-weight:var(--weight-bold);line-height:1}.ptd-tile small{color:var(--text-muted);font-size:var(--text-xs);position:absolute;bottom:6px}.ptd-hero__copy h2{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0;line-height:1.2}.ptd-cat{align-items:center;gap:var(--space-2);margin-top:var(--space-1);color:var(--hue);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:inline-flex}.ptd-cat i{background:var(--hue);border-radius:2px;width:8px;height:8px}.ptd-hero__copy p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.ptd-actions{gap:var(--space-2);margin:var(--space-5) 0;grid-template-columns:1fr 1fr;display:grid}.ptd-actions .ui-btn:first-child{grid-column:1/-1}.ptd-actions .ui-icon{width:1.1rem;height:1.1rem}.ptd-tabs{gap:var(--space-1);margin:0 calc(-1 * var(--space-5));padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;display:flex;overflow-x:auto}.ptd-tabs button{min-height:var(--touch-min);padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);background:0 0;border:0;flex:none;position:relative}.ptd-tabs button:hover,.ptd-tabs button[aria-selected=true]{color:var(--text-primary)}.ptd-tabs button[aria-selected=true]:after{content:"";right:var(--space-3);bottom:-1px;left:var(--space-3);background:var(--accent);border-radius:2px;height:2px;position:absolute}.ptd-panel{padding-top:var(--space-5);animation:ptd-in var(--dur-base) var(--ease-out);outline:none}@keyframes ptd-in{0%{opacity:0;transform:translateY(4px)}}.ptd-facts{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.ptd-facts>div{min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken)}.ptd-facts>.is-wide{grid-column:1/-1}.ptd-facts dt{color:var(--text-muted);font-size:var(--text-xs)}.ptd-facts dd{font-size:var(--text-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;margin:2px 0 0}.ptd code,.ptd-config code{font-family:var(--font-mono);font-size:.95em;font-weight:var(--weight-medium)}.ptd-note{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.ptd-note--accent{background:var(--accent-soft)}.ptd-muted{color:var(--text-muted);font-size:var(--text-sm);margin:0}.ptd-subhead{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ptd-panel>.ptd-subhead:first-child{margin-top:0}.ptd-config{gap:2px var(--space-3);display:grid}.ptd-config span{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-xs)}.ptd-config span:first-child{margin-top:0}.ptd-config code{font-size:var(--text-md);word-spacing:.12em;line-height:1.6}.ptd-config code.is-muted{color:var(--text-secondary);font-size:var(--text-sm)}.ptd-shells{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ptd-shells li{min-width:48px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-2);justify-items:center;display:grid}.ptd-shells b{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.ptd-shells span{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ptd-shells .is-outer{border-color:var(--accent);background:var(--accent-soft)}.ptd-boxes{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.ptd-sub{gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:grid}.ptd-sub div{display:flex}.ptd-sub i{border:1px solid var(--border-strong);width:24px;height:28px;color:var(--accent-text);font-style:normal;font-weight:var(--weight-bold);letter-spacing:-2px;place-items:center;display:grid}.ptd-sub i+i{border-left:0}.ptd-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ptd-ion{min-width:92px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-2);display:grid}.ptd-ion strong{font-size:var(--text-lg)}.ptd-ion small{color:var(--text-muted);font-size:var(--text-xs)}.ptd-ox{min-width:48px;min-height:36px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.ptd-ox.is-pos{background:var(--status-danger-soft);color:var(--status-danger)}.ptd-ox.is-neg{background:var(--accent-soft);color:var(--accent-text)}.ptd-panel .ptd-chips+.ptd-muted{margin-top:var(--space-3)}.ptd-isotopes{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ptd-isotopes li{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-sunken);grid-template-columns:64px minmax(0,1fr) auto;display:grid}.ptd-isotopes strong{font-size:var(--text-lg)}.ptd-isotopes span:not(.ui-badge){color:var(--text-secondary);font-size:var(--text-sm)}.ptd-compare-select{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);display:grid}.ptd-compare{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ptd-compare :is(th,td){padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.ptd-compare thead th{font-size:var(--text-lg)}.ptd-compare tbody th{color:var(--text-muted);font-weight:var(--weight-medium)}.ptd-use{margin-top:var(--space-6)}.ptd-use__grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ptd-use__grid button{column-gap:var(--space-3);min-height:60px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);text-align:left;grid-template-columns:auto 1fr;align-items:center;display:grid}.ptd-use__grid button:hover{border-color:var(--border-strong)}.ptd-use__grid span{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-text);grid-row:span 2;place-items:center;display:grid}.ptd-use__grid .ui-icon{width:1.05rem;height:1.05rem}.ptd-use__grid strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.ptd-use__grid small{color:var(--text-muted);font-size:var(--text-xs)}@media (width<=1279px){.pt-preview{gap:var(--space-3);padding:var(--space-2) var(--space-3)}.pt-preview__tile{width:72px}.pt-preview__tile strong{font-size:1.875rem}}@media (width<=1023px){.pt-preview{display:none}.pt-table{--cell:48px;min-width:max-content}}@media (width<=767px){.pt-toolbar .ui-segmented{flex:1}.pt-toolbar .ui-segmented button{padding:0 var(--space-2);white-space:nowrap;flex:1}.pt-density{display:none}.pt-filters{margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4) var(--space-1);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.pt-filters .ui-chip{flex:none}.pt-table-wrap{margin:0 calc(-1 * var(--space-4));padding-inline:var(--space-4)}.pt-table{--cell:46px}.pt-scroll-hint.is-visible{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);margin:0;display:flex}.pt-scroll-hint .ui-icon{width:.9rem;height:.9rem}.pt-list{grid-template-columns:minmax(0,1fr)}.pt-drawer{border-top:1px solid var(--border-default);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:0;width:100%;height:min(92dvh,100%);top:auto;transform:translateY(100%)}.ptd-head{padding-top:var(--space-2)}.ptd-scroll{padding-inline:var(--space-4)}.ptd-tabs{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4)}.ptd-tile{width:88px}.ptd-tile strong{font-size:2.25rem}}.clprod-launcher{z-index:39000;position:fixed;bottom:18px;right:18px}.clprod-launch-button{border:1px solid color-mix(in oklab, var(--accent) 41%, transparent);background:linear-gradient(145deg, color-mix(in oklab, var(--accent) 16%, transparent), var(--surface-1));width:52px;height:52px;box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:15px;place-items:center;transition:transform .17s,border-color .17s,background .17s;display:grid;position:relative}.clprod-launch-button:hover{border-color:color-mix(in oklab, var(--accent) 59%, transparent);background:linear-gradient(145deg, color-mix(in oklab, var(--accent) 24%, transparent), var(--surface-1));transform:translateY(-2px)}.clprod-launch-button>span{letter-spacing:.03em;font-size:14px;font-weight:850}.clprod-launch-button>i{border:2px solid var(--border-strong);background:var(--status-success);border-radius:50%;width:9px;height:9px;position:absolute;bottom:5px;right:5px}.clprod-launch-button>i.offline{background:var(--status-warning)}.clprod-menu{opacity:0;border:1px solid color-mix(in oklab, var(--accent) 31%, transparent);background:var(--surface-1);width:310px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:16px;transition:opacity .17s,transform .17s;position:absolute;bottom:63px;right:0;overflow:hidden;transform:translateY(8px)scale(.98)}.clprod-menu.open{opacity:1;transform:translateY(0)scale(1)}.clprod-menu>header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:11px;padding:15px;display:flex}.clprod-menu-logo{border:1px solid color-mix(in oklab, var(--accent) 37%, transparent);background:color-mix(in oklab, var(--accent) 11%, transparent);width:45px;height:45px;color:var(--accent-text);border-radius:11px;flex:0 0 45px;place-items:center;font-size:21px;display:grid}.clprod-menu>header>div:last-child>span{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.01em;font-weight:850;display:block}.clprod-menu>header strong{color:var(--text-primary);margin-top:2px;font-size:17px;display:block}.clprod-menu>header small{color:var(--text-muted);font-size:var(--text-xs);margin-top:2px;display:block}.clprod-version{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;gap:8px;padding:11px 14px;display:grid}.clprod-version>div{border:1px solid var(--border-subtle);background:var(--surface-hover);border-radius:9px;flex-direction:column;justify-content:center;min-height:58px;padding:9px 10px;display:flex}.clprod-version span{color:var(--text-muted);font-size:var(--text-xs);font-weight:750}.clprod-version strong{color:var(--text-primary);margin-top:5px;font-size:13px}.clprod-menu-actions{padding:8px}.clprod-menu-actions>button{width:100%;min-height:58px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;display:grid}.clprod-menu-actions>button:hover{border-color:color-mix(in oklab, var(--accent) 30%, transparent);background:color-mix(in oklab, var(--accent) 7.5%, transparent)}.clprod-menu-actions>button>span{border:1px solid color-mix(in oklab, var(--accent) 27%, transparent);background:color-mix(in oklab, var(--accent) 7.5%, transparent);width:39px;height:39px;color:var(--accent-text);border-radius:9px;place-items:center;font-size:18px;display:grid}.clprod-menu-actions>button div{min-width:0}.clprod-menu-actions>button strong{color:var(--text-primary);font-size:13px;display:block}.clprod-menu-actions>button small{color:var(--text-muted);font-size:var(--text-xs);margin-top:3px;display:block}.clprod-menu-actions>button b{color:var(--text-muted);font-size:15px}.clprod-menu>footer{border-top:1px solid var(--border-subtle);align-items:center;gap:8px;min-height:49px;padding:0 14px;display:flex}.clprod-menu>footer p{color:var(--text-muted);font-size:var(--text-xs);margin:0}.clprod-status-dot{background:var(--status-success);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.clprod-status-dot.offline{background:var(--status-warning)}.clprod-about-overlay{z-index:70000;opacity:0;background:var(--surface-1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);place-items:center;padding:18px;transition:opacity .2s;display:grid;position:fixed;inset:0}.clprod-about-overlay.open{opacity:1}.clprod-about{border:1px solid color-mix(in oklab, var(--accent) 34%, transparent);background:var(--surface-1);width:min(780px,100%);max-height:calc(100vh - 36px);box-shadow:var(--shadow-md);border-radius:20px;transition:transform .2s;position:relative;overflow-y:auto;transform:translateY(10px)scale(.985)}.clprod-about-overlay.open .clprod-about{transform:translateY(0)scale(1)}.clprod-about-close{z-index:2;border:1px solid var(--border-subtle);background:var(--surface-hover);width:43px;height:43px;color:var(--text-secondary);cursor:pointer;border-radius:11px;font-size:21px;position:absolute;top:14px;right:14px}.clprod-about-hero{text-align:center;border-bottom:1px solid var(--border-subtle);padding:45px 28px 27px}.clprod-about-logo{border:1px solid color-mix(in oklab, var(--accent) 39%, transparent);background:color-mix(in oklab, var(--accent) 11%, transparent);width:72px;height:72px;color:var(--accent-text);box-shadow:var(--glow-accent);border-radius:20px;place-items:center;margin:0 auto 17px;font-size:32px;display:grid}.clprod-about-hero>span{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.01em;font-weight:850}.clprod-about-hero h2{color:var(--text-primary);margin:9px 0 0;font-size:38px;line-height:1}.clprod-about-hero>strong{color:var(--accent-text);margin-top:8px;font-size:16px;display:block}.clprod-about-hero p{max-width:560px;color:var(--text-muted);margin:17px auto 0;font-size:14px;line-height:1.65}.clprod-about-version{justify-content:center;align-items:center;gap:9px;margin-top:18px;display:flex}.clprod-about-version span{color:var(--text-muted);font-size:var(--text-xs);font-weight:700}.clprod-about-version i{background:var(--accent);border-radius:50%;width:4px;height:4px}.clprod-about-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:18px 22px;display:grid}.clprod-about-features article{border:1px solid var(--border-subtle);background:var(--surface-hover);border-radius:10px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:80px;padding:11px;display:grid}.clprod-about-features article>strong{background:color-mix(in oklab, var(--accent) 9.5%, transparent);width:38px;height:38px;color:var(--accent-text);border-radius:9px;place-items:center;font-size:17px;display:grid}.clprod-about-features article span{color:var(--text-primary);font-size:var(--text-xs);font-weight:700;display:block}.clprod-about-features article small{color:var(--text-muted);font-size:var(--text-xs);margin-top:3px;display:block}.clprod-about-author{border:1px solid color-mix(in oklab, var(--accent) 26%, transparent);background:color-mix(in oklab, var(--accent) 6.5%, transparent);border-radius:12px;margin:0 22px 20px;padding:18px}.clprod-about-author>span{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.01em;font-weight:850}.clprod-about-author>strong{color:var(--text-primary);margin-top:5px;font-size:20px;display:block}.clprod-about-author p{color:var(--text-muted);font-size:var(--text-xs);margin:10px 0 0;line-height:1.65}.clprod-about>footer{border-top:1px solid var(--border-subtle);min-height:60px;color:var(--text-muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;padding:0 22px;display:flex}.clprod-toast{z-index:90000;opacity:0;border:1px solid color-mix(in oklab, var(--accent) 32%, transparent);background:var(--surface-1);max-width:min(440px,100vw - 30px);min-height:57px;box-shadow:var(--shadow-md);pointer-events:none;border-radius:11px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 13px;transition:opacity .2s,transform .2s;display:grid;position:fixed;bottom:86px;right:18px;transform:translateY(8px)}.clprod-toast.show{opacity:1;transform:translateY(0)}.clprod-toast>span{background:color-mix(in oklab, var(--accent) 10%, transparent);width:34px;height:34px;color:var(--accent-text);font-size:14px;font-weight:var(--weight-bold);border-radius:9px;place-items:center;display:grid}.clprod-toast.success>span{background:color-mix(in oklab, var(--status-success) 11%, transparent);color:var(--status-success)}.clprod-toast.warning>span{background:color-mix(in oklab, var(--status-warning) 11%, transparent);color:var(--status-warning)}.clprod-toast p{color:var(--text-secondary);font-size:var(--text-xs);margin:0;line-height:1.5}@media (width<=700px){.clprod-launcher{bottom:11px;right:11px}.clprod-launch-button{width:48px;height:48px}.clprod-menu{width:min(310px,100vw - 22px)}.clprod-about-overlay{padding:8px}.clprod-about{max-height:calc(100vh - 16px)}.clprod-about-hero{padding:44px 17px 23px}.clprod-about-hero h2{font-size:31px}.clprod-about-features{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.clprod-about-author{margin:0 14px 14px}.clprod-about>footer{padding:0 14px}.clprod-toast{max-width:none;bottom:75px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.clprod-launch-button,.clprod-menu,.clprod-about-overlay,.clprod-about,.clprod-toast{transition:none!important}}
