:root{--accent:#2563eb;--accent-hover:#1d4ed8;--accent-bg:#eef6ff;--accent-border:#bae0fd;--accent2:#6366f1;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--text-h:#0b1220;--text:#1e293b;--text-dim:#475569;--bg:#f2f7ff;--surface:#fff;--surface-muted:#f4f8ff;--code-bg:#edf4ff;--border:#d7e1ef;--border-h:#b7c6db;--header-bg:#fff;--header-fg:#0b1220;--header-muted:#64748b;--header-border:#d7e1ef;--header-hover:#f0f4fa;--header-hover-border:#b7c6db;--info-bg:#edf6ff;--info-border:#b7ddff;--info-text:#184b7a;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:10px;--radius-xl:16px;--radius-2xl:21px;--radius-full:999px;--space-1:3px;--space-2:5px;--space-3:8px;--space-4:10px;--space-5:13px;--space-6:16px;--space-7:18px;--space-8:21px;--space-9:23px;--space-10:26px;--space-11:31px;--space-12:42px;--space-13:62px;--widget-pad:var(--space-6);--widget-pad-lg:var(--space-8);--widget-gap:var(--space-6);--widget-gap-sm:var(--space-3);--widget-header-pad:var(--space-4) var(--space-6);--tab-gap:var(--space-2);--tab-pad-y:var(--space-3);--tab-pad-x:var(--space-6);--z-base:1;--sidebar-width:240px;--sidebar-collapsed-width:52px;--workspace-header-height:56px;--block-gap:32px;--block-radius:8px;--z-sticky:20;--z-fab:100;--z-dropdown:200;--z-modal-backdrop:900;--z-modal:1000;--z-toast:9000;--z-consent:9990;--z-disclaimer:9999;--text-2xs:12px;--text-xs:13px;--text-sm:14px;--text-base:16px;--text-md:17px;--text-lg:18px;--text-xl:21px;--text-2xl:23px;--text-3xl:26px;--text-4xl:31px;--text-5xl:36px;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.06em;--tracking-widest:.08em;--confirm:#15803d;--confirm-hover:#166534;--shadow-sm:0 1px 3px #0b122014, 0 1px 2px #0b12200d;--shadow:0 8px 20px -10px #111b3438, 0 4px 10px -6px #111b3429;--social-bg:#eef3fb;--sans:"Outfit", system-ui, -apple-system, sans-serif;--heading:"Outfit", system-ui, -apple-system, sans-serif;--mono:"Outfit", system-ui, -apple-system, sans-serif;font-family:var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16.8px;line-height:1.5}button,input,select,textarea{font-family:inherit}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%236b7a90' d='M1 1l4 4 4-4' stroke='none'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:10px 6px;padding-right:28px}[data-theme=dark] select,[data-theme=dracula] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%239ca8ba' d='M1 1l4 4 4-4' stroke='none'/%3E%3C/svg%3E")}[data-theme=dark]{--accent:#3b82f6;--accent-hover:#2563eb;--accent-bg:#0a1628;--accent-border:#1d4ed8;--accent2:#7c3aed;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--text-h:#fff;--text:#f1f5f9;--text-dim:#cbd5e1;--bg:#000;--surface:#0a0a0a;--surface-muted:#111;--code-bg:#0d0d0d;--border:#3b3b3b;--border-h:#555;--header-bg:#000;--header-fg:#fff;--header-muted:#d4d4d4;--header-border:#3b3b3b;--header-hover:#1a1a1a;--header-hover-border:#555;--info-bg:#0a1628;--info-border:#1d4ed8;--info-text:#bfdbfe;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dracula]{--accent:#60a5fa;--accent-hover:#3b82f6;--accent-bg:#1e2a3f;--accent-border:#2f4a6e;--accent2:#a78bfa;--success:#50fa7b;--danger:#f55;--warning:#f1fa8c;--text-h:#f8f8f2;--text:#cdd6e4;--text-dim:#8b9ab8;--bg:#1a1e2e;--surface:#21253a;--surface-muted:#282d42;--code-bg:#252a3e;--border:#353b52;--border-h:#454d68;--header-bg:#181b28;--header-fg:#f8f8f2;--header-muted:#9ba8c4;--header-border:#353b52;--header-hover:#282d42;--header-hover-border:#454d68;--info-bg:#1e2a3f;--info-border:#2f4a6e;--info-text:#b4cfe8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--border-h) var(--surface)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border-h);border:2px solid var(--surface);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background:var(--surface)}html{zoom:1.05}#root{flex-direction:column;width:100%;min-height:100svh;display:flex}body{background:radial-gradient(1100px 700px at -5% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 58%), radial-gradient(900px 560px at 105% -15%, color-mix(in srgb, var(--accent2) 9%, transparent), transparent 60%), var(--bg);margin:0}[data-theme=dark] body,[data-theme=dracula] body{background:radial-gradient(1000px 620px at -5% -12%, color-mix(in srgb, var(--accent) 15%, transparent), transparent 60%), radial-gradient(840px 520px at 108% -12%, color-mix(in srgb, var(--accent2) 12%, transparent), transparent 60%), var(--bg)}p{margin:0}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);margin:0;font-weight:600}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}code{font-family:var(--mono);font-size:var(--text-md);padding:var(--space-1) var(--space-3);background:var(--code-bg);border-radius:var(--radius-sm);color:var(--text-h)}@media (width<=760px){:root{--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:17px;--text-2xl:19px;--text-3xl:22px;--text-4xl:26px;--text-5xl:30px;--widget-pad:var(--space-4);--widget-pad-lg:var(--space-5);--widget-gap:var(--space-4);--widget-gap-sm:var(--space-2);--widget-header-pad:var(--space-3) var(--space-4);--tab-gap:var(--space-1);--tab-pad-y:var(--space-2);--tab-pad-x:var(--space-4);font-size:14px}html,body,#root{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}}@media (width<=480px){:root{--text-2xs:9px;--text-xs:10px;--text-sm:11px;--text-base:12px;--text-md:13px;--text-lg:14px;--text-xl:16px;--text-2xl:17px;--text-3xl:20px;--text-4xl:24px;--text-5xl:27px;font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.legal-page{background:var(--bg);width:min(1280px,100%);min-height:100vh;margin:0 auto;padding:28px 20px 56px}.legal-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:20px}.legal-title{letter-spacing:-.5px;color:var(--text-h);margin:0 0 8px;font-size:32px;font-weight:500;line-height:1.2}.legal-meta{color:var(--text-dim);margin:0;font-size:13px}.legal-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:28px;display:grid}.legal-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:12px;height:fit-content;position:sticky;top:20px;overflow:hidden}.legal-sidebar-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);padding:12px 16px 8px;font-size:11px;font-weight:500}.legal-sidebar-nav{flex-direction:column;display:flex}.legal-nav-item{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;padding:10px 16px;font-size:13px;line-height:1.4;transition:all .15s}.legal-nav-item:hover{background:var(--surface-muted);color:var(--text-h)}.legal-nav-item.active{background:var(--surface-muted);border-left-color:var(--accent);color:var(--accent);font-weight:500}.legal-content{min-width:0}.legal-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 36px}.legal-section-title{letter-spacing:-.3px;color:var(--text-h);border-bottom:1px solid var(--border);margin:0 0 24px;padding-bottom:16px;font-size:26px;font-weight:500}.legal-subsection-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-h);margin:24px 0 12px;font-size:13px;font-weight:500}.legal-paragraph{font-size:var(--text-base);color:var(--text);margin:0 0 14px;line-height:1.7}.legal-paragraph strong{color:var(--text-h);font-weight:500}.legal-list{font-size:var(--text-base);color:var(--text);margin:12px 0 16px;padding:0;line-height:1.8;list-style:none}.legal-list-item{border-bottom:1px solid var(--border-subtle);padding:6px 0 6px 20px;position:relative}.legal-list-item:before{content:"–";color:var(--accent);font-weight:500;position:absolute;left:4px}.legal-list-item strong{color:var(--text-h);font-weight:500}@media (width<=768px){.legal-page{padding:20px 16px 40px}.legal-layout{grid-template-columns:1fr;gap:20px}.legal-sidebar{border-radius:8px;flex-direction:column;display:flex;position:static}.legal-sidebar-label{grid-column:1/-1;padding:8px 12px 4px}.legal-sidebar-nav{scrollbar-width:none;gap:8px;padding:8px 12px 12px;display:flex;overflow-x:auto}.legal-sidebar-nav::-webkit-scrollbar{display:none}.legal-nav-item{border-bottom:none;border-left:none;border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex:none;padding:8px 12px;font-size:12px}.legal-nav-item.active{border-bottom:none;border-left:none;border-color:var(--accent);background:var(--accent-bg)}.legal-section{padding:24px 20px}.legal-section-title{margin-bottom:18px;font-size:20px}.legal-title{font-size:24px}}@media (width<=480px){.legal-page{padding:16px 12px 32px}.legal-section{border-radius:8px;padding:16px 14px}.legal-subsection-title{margin-top:18px;margin-bottom:8px;font-size:12px}.legal-paragraph,.legal-list{font-size:14px}.legal-title{font-size:20px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.dict-seo-page{width:min(980px,100%);margin:0 auto;padding:28px 20px 56px;line-height:1.65}.dict-search-wrap{margin-bottom:20px}.dict-search-input{width:100%;max-width:400px;font-size:var(--text-base);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-h);padding:9px 14px;transition:border-color .15s,box-shadow .15s}.dict-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.dict-seo-page--term{width:min(1320px,100%)}.dict-seo-term-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:14px;display:grid}.dict-seo-term-index{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--code-bg) 82%, var(--surface) 18%);max-height:calc(100vh - 36px);padding:10px;position:sticky;top:16px;overflow-y:auto}.dict-seo-term-index-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-dim);margin-bottom:8px;font-weight:800}.dict-seo-term-index-group{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.dict-seo-term-index-group-title{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);margin:0 0 6px;font-weight:700}.dict-seo-term-index-subgroup{margin-bottom:7px}.dict-seo-term-index-category{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-h);font-size:var(--text-sm);margin:0 0 5px;padding:6px 8px;font-weight:900}.dict-seo-term-index-category.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.dict-seo-term-index-links{border-left:1px dashed var(--border-h);gap:4px;margin:0 0 8px;padding:0 0 0 8px;display:grid}.dict-seo-term-index-link{color:var(--text);font-size:var(--text-sm);border-radius:var(--radius-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:3px 6px;line-height:1.4;text-decoration:none;display:-webkit-box;overflow:hidden}.dict-seo-term-index-link:hover{background:var(--accent-bg);color:var(--accent)}.dict-seo-term-index-link.active{background:color-mix(in srgb, var(--accent-bg) 74%, var(--surface) 26%);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}.dict-seo-breadcrumb{font-size:var(--text-sm);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-full);background:color-mix(in srgb, var(--code-bg) 78%, var(--surface) 22%);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;display:inline-flex}.dict-seo-topbar{align-items:center;margin-bottom:10px;display:flex}.dict-seo-breadcrumb a{color:var(--accent);font-weight:600;text-decoration:none}.dict-seo-breadcrumb a:hover{text-decoration:underline}.dict-seo-breadcrumb-current{color:var(--text);font-weight:500}.dict-seo-page h1{letter-spacing:var(--tracking-tight);color:var(--text-h);margin:0;font-size:clamp(1.75rem,4.2vw,2.4rem);font-weight:900;line-height:1.15}.dict-seo-intro{max-width:72ch;font-size:var(--text-md);color:var(--text);margin:10px 0 0}.dict-seo-hint{border-radius:var(--radius-full);border:1px solid var(--accent-border);background:color-mix(in srgb, var(--accent-bg) 70%, var(--surface) 30%);color:var(--accent);font-size:var(--text-sm);align-items:center;margin:8px 0 0;padding:6px 10px;font-weight:700;display:inline-flex}.dict-seo-term-head{align-items:flex-start;margin-bottom:8px}.dict-seo-term-head .dict-entry-kicker{font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-h);margin:0;font-weight:900}.dict-seo-term-title{letter-spacing:var(--tracking-tight);color:var(--text-h);margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.12}.dict-seo-category{border-radius:var(--radius-full);border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font-size:var(--text-sm);margin:12px 0 6px;padding:4px 10px;font-weight:700;display:inline-flex}.dict-seo-article{border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow-sm);margin-top:14px;padding:16px}.dict-seo-page--term .dict-seo-article{margin-top:0}.dict-seo-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-bg) 42%, var(--surface) 58%);margin-top:10px;padding:12px}.dict-seo-section h2{margin:0 0 4px}.dict-seo-section p{color:var(--text);margin:0}.dict-seo-section ul,.dict-seo-section ol{margin:0;padding-left:18px}.dict-seo-section li{margin-bottom:3px;line-height:1.45}.dict-seo-section li:last-child{margin-bottom:0}.dict-seo-formula code{background:color-mix(in srgb, var(--code-bg) 72%, var(--surface) 28%);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-h);padding:3px 8px;font-size:.95rem}.dict-seo-katex{border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb, var(--code-bg) 72%, var(--surface) 28%);color:var(--text-h);padding:2px 8px;display:inline-block}.dict-seo-katex .katex{font-size:1.02em}.dict-seo-eq-where{margin-top:8px}.dict-seo-eq-where-label{font-size:var(--text-sm);margin:0 0 4px}.dict-seo-eq-parts{gap:4px;margin:0;padding:0;display:grid}.dict-seo-eq-part{align-items:baseline;gap:8px;display:flex}.dict-seo-eq-part dt{flex-shrink:0;font-weight:600}.dict-seo-eq-part dt .dict-seo-katex{padding:1px 5px;font-size:.85rem}.dict-seo-eq-part dd{font-size:var(--text-sm);color:var(--text);margin:0}.dict-seo-visual-card{background:linear-gradient(145deg, color-mix(in srgb, var(--accent-bg) 55%, var(--surface) 45%) 0%, color-mix(in srgb, var(--surface) 75%, var(--code-bg) 25%) 100%)}.dict-seo-visual-compact{padding:8px 10px 10px}.dict-seo-chart-caption{font-style:italic;font-size:var(--text-sm);color:var(--text-dim);text-align:center;margin:6px 0 0}.dict-seo-indepth{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent-bg) 28%, var(--surface) 72%)}.dict-seo-notes{border-left:3px solid color-mix(in srgb, var(--accent) 55%, var(--border) 45%);background:color-mix(in srgb, var(--code-bg) 35%, var(--surface) 65%)}.dict-seo-notes-body{gap:6px;display:grid}.dict-seo-notes-body p{font-size:var(--text-sm);color:var(--text);margin:0;line-height:1.55}.dict-seo-notes-bullet{padding-left:14px;position:relative}.dict-seo-notes-bullet:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}.dict-seo-usage{background:color-mix(in srgb, var(--surface) 85%, var(--code-bg) 15%)}.dict-seo-usage-tags{flex-wrap:wrap;gap:6px;display:flex}.dict-seo-usage-tag{border-radius:var(--radius-full);border:1px solid var(--border);background:color-mix(in srgb, var(--code-bg) 50%, var(--surface) 50%);font-size:var(--text-xs);color:var(--text-h);align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.dict-seo-visual-type{border-radius:var(--radius-full);border:1px solid var(--accent-border);color:var(--accent);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;padding:4px 10px;font-weight:800;display:inline-flex}.dict-seo-widget-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.dict-seo-widget{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 90%, var(--code-bg) 10%);gap:2px;padding:10px;display:grid}.dict-seo-widget-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.dict-seo-widget-value{color:var(--text-h);font-size:var(--text-md);line-height:1.25}.dict-seo-widget--good{border-color:color-mix(in srgb, #16a34a 40%, var(--border) 60%)}.dict-seo-widget--warn{border-color:color-mix(in srgb, #d97706 45%, var(--border) 55%)}.dict-seo-mini-bars{gap:8px;display:grid}.dict-seo-mini-row{grid-template-columns:minmax(120px,.8fr) 1fr auto;align-items:center;gap:8px;display:grid}.dict-seo-mini-label{color:var(--text-dim);font-size:var(--text-sm);font-weight:700}.dict-seo-mini-track{border-radius:var(--radius-full);background:color-mix(in srgb, var(--code-bg) 70%, var(--surface) 30%);width:100%;height:10px;position:relative;overflow:hidden}.dict-seo-mini-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 85%, #fff 15%) 0%, color-mix(in srgb, var(--accent) 55%, #0f172a 45%) 100%);border-radius:var(--radius-full);position:absolute;inset:0 auto 0 0}.dict-seo-mini-value{color:var(--text-h);font-size:var(--text-sm);font-weight:700}.dict-seo-table-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.dict-seo-table-title{font-size:var(--text-sm);color:var(--text-h);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-weight:800}.dict-seo-table{border-collapse:collapse;border:1px solid var(--border);border-radius:var(--radius-md);width:100%;overflow:hidden}.dict-seo-table th,.dict-seo-table td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:8px 14px;font-size:.88rem;line-height:1.4}@media (width>=1024px){.dict-seo-table{table-layout:fixed}.dict-seo-table th,.dict-seo-table td{padding:8px 14px;font-size:.88rem}}.dict-seo-table th{background:color-mix(in srgb, var(--code-bg) 72%, var(--surface) 28%);color:var(--text-h);font-weight:900}.dict-seo-markdown{white-space:pre-wrap;color:var(--text);margin:0;font-size:.87rem;line-height:1.6}.dict-seo-related{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.dict-seo-related li{border-radius:var(--radius-full);border:1px solid var(--border);background:color-mix(in srgb, var(--accent-bg) 56%, var(--surface) 44%);color:var(--accent);font-size:var(--text-sm);align-items:center;margin:0;padding:5px 10px;font-weight:700;display:inline-flex}.dict-seo-related li a{color:inherit;background:0 0;border:none;padding:0;text-decoration:none}.dict-seo-citations{color:var(--text);font-size:var(--text-sm)}.dict-seo-list-card{flex-direction:column;gap:4px;padding:12px;display:flex}.dict-seo-list-link{color:var(--text-h);font-size:var(--text-lg);line-height:1.25;text-decoration:none}.dict-seo-list-link:hover{color:var(--accent)}.dict-seo-cta-row,.dict-seo-nav-bottom{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.dict-seo-cta,.dict-seo-nav-bottom a{border-radius:var(--radius-full);border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);align-items:center;padding:8px 14px;font-weight:700;text-decoration:none;transition:transform .14s,box-shadow .14s;display:inline-flex}.dict-seo-cta:hover,.dict-seo-nav-bottom a:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dict-seo-cta--secondary{border-color:var(--border);background:var(--surface);color:var(--text-h)}.dict-seo-category-section{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);margin-top:16px;overflow:hidden}.dict-seo-category-section h2{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--code-bg) 70%, var(--surface) 30%);font-size:var(--text-lg);margin:0;padding:10px 14px}.dict-seo-category-section h2 a{color:var(--text-h);text-decoration:none}.dict-seo-category-section h2 a:hover{color:var(--accent)}.dict-seo-term-list{gap:8px;margin:0;padding:10px;list-style:none;display:grid}.dict-seo-term-list li{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.dict-seo-term-def{color:var(--text);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=760px){.dict-seo-page{padding:12px 10px 32px}.dict-search-input{max-width:none}.dict-seo-breadcrumb{width:100%;font-size:var(--text-xs);padding:6px 10px}.dict-seo-term-layout{grid-template-columns:1fr;gap:8px}.dict-seo-term-index{display:none}.dict-seo-term-head{flex-direction:column;gap:6px}.dict-seo-term-head h1{font-size:var(--text-xl)}.dict-entry-chips{justify-content:flex-start}.dict-seo-article{padding:10px}.dict-seo-section{padding:8px}.dict-seo-section h2{font-size:var(--text-base)}.dict-seo-section p,.dict-seo-section li{font-size:12px}.dict-seo-mini-row{grid-template-columns:1fr;gap:4px}.dict-seo-katex{font-size:14px}}@media (width<=600px){.dict-seo-breadcrumb{display:none}.dict-seo-page{padding-inline:8px}.dict-seo-page h1,.dict-seo-term-title{font-size:1.45rem}.dict-seo-intro,.dict-seo-hint,.dict-seo-category{font-size:var(--text-sm)}}.enh-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:260px;height:100%;display:flex;overflow:hidden}.enh-sidebar-search{flex-shrink:0;padding:12px;position:relative}.enh-sidebar-search-icon{width:14px;height:14px;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.enh-sidebar-search-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;outline:none;padding:8px 12px 8px 32px;font-size:.8125rem;transition:border-color .15s}.enh-sidebar-search-input:focus{border-color:var(--accent)}.enh-sidebar-search-input::placeholder{color:var(--text-tertiary)}.enh-sidebar-nav{flex:1;padding:0 8px 8px;overflow-y:auto}.enh-sidebar-section{margin-bottom:12px}.enh-sidebar-section-header{cursor:default;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:6px 8px 4px;display:flex}.enh-sidebar-section-toggle{cursor:pointer;border-radius:6px;transition:background .1s}.enh-sidebar-section-toggle:hover{background:var(--bg-hover)}.enh-sidebar-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);text-align:left;flex:1;font-size:.6875rem;font-weight:700}.enh-sidebar-section-count{color:var(--text-tertiary);background:var(--bg-hover);border-radius:10px;padding:1px 6px;font-size:.6875rem}.enh-sidebar-chevron{color:var(--text-tertiary);font-size:.625rem;transition:transform .15s}.enh-sidebar-chevron--open{transform:rotate(90deg)}.enh-sidebar-list{margin:0;padding:0;list-style:none}.enh-sidebar-list--archived{opacity:.6}.enh-sidebar-item{border-radius:6px;align-items:center;transition:background .1s;display:flex}.enh-sidebar-item:hover{background:var(--bg-hover)}.enh-sidebar-item--active{background:var(--accent-bg)}.enh-sidebar-item--drag-over{border-top:2px solid var(--accent)}.enh-sidebar-item-btn{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:6px;min-width:0;padding:6px 8px;font-size:.8125rem;display:flex}.enh-sidebar-drag-handle{color:var(--text-tertiary);cursor:grab;letter-spacing:1px;flex-shrink:0;font-size:.6875rem}.enh-sidebar-item-icon{flex-shrink:0;font-size:1rem}.enh-sidebar-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.enh-sidebar-status-dot{flex-shrink:0;font-size:.5rem}.enh-sidebar-item-badge{background:var(--accent-bg);color:var(--accent);border-radius:8px;flex-shrink:0;padding:1px 5px;font-size:.625rem;font-weight:600}.enh-sidebar-star{cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;font-size:.75rem;transition:opacity .1s}.enh-sidebar-item:hover .enh-sidebar-star,.enh-sidebar-star--active{opacity:1}.enh-sidebar-star:hover{background:var(--bg-hover)}.enh-sidebar-empty-text{color:var(--text-tertiary);margin:0;padding:8px 12px;font-size:.75rem}.enh-sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:8px}.enh-sidebar-new-btn{border:1px dashed var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;transition:border-color .15s,color .15s;display:flex}.enh-sidebar-new-btn:hover{border-color:var(--accent);color:var(--accent)}.enh-sidebar-search-skeleton{background:var(--bg-hover);border-radius:8px;height:36px;animation:1.5s ease-in-out infinite shimmer}.enh-sidebar-skeleton-list{padding:8px}.enh-sidebar-skeleton-item{background:var(--bg-hover);border-radius:6px;height:32px;margin-bottom:4px;animation:1.5s ease-in-out infinite shimmer}.enh-sidebar-context-menu{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:8px;min-width:180px;padding:4px;position:fixed;box-shadow:0 8px 32px #0000002e}.enh-context-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;transition:background .1s;display:flex}.enh-context-item:hover{background:var(--bg-hover)}.enh-context-item--danger{color:var(--danger,#ef4444)}.enh-context-item--danger:hover{background:#ef444414}.enh-context-divider{background:var(--border);height:1px;margin:4px 8px}@keyframes shimmer{0%{opacity:.4}50%{opacity:.7}to{opacity:.4}}.template-gallery-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.template-gallery{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #0003}.template-gallery-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.template-gallery-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.template-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:20px 24px;display:grid}.template-card{border:2px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.template-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014}.template-card--selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.template-card-cover{flex-shrink:0;justify-content:center;align-items:center;height:80px;display:flex}.template-card-icon{font-size:2rem}.template-card-body{flex:1;padding:12px}.template-card-name{color:var(--text);margin:0 0 4px;font-size:.9375rem;font-weight:600}.template-card-desc{color:var(--text-secondary);margin:0 0 8px;font-size:.75rem;line-height:1.4}.template-card-category{background:var(--accent-bg);color:var(--accent);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;margin-right:6px;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.template-card-meta{color:var(--text-tertiary);font-size:.6875rem;display:inline-block}.template-card-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.template-gallery-name-row{padding:0 24px 8px}.template-gallery-name-row .workspace-rename-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 14px;font-size:.9375rem}.template-gallery-name-row .workspace-create-hint{color:var(--text-tertiary);margin:4px 0 0;font-size:.75rem}.template-gallery-actions{justify-content:flex-end;gap:8px;padding:0 24px 20px;display:flex}@media (width<=767px){.workspace-sidebar-toggle{display:flex}.workspace-sidebar-wrapper{z-index:105;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.workspace-sidebar-wrapper--open{transform:translate(0)}}.workspace-page-shell{flex:1;min-width:0;max-width:900px;min-height:100svh;margin:0 auto;padding:24px 22px 80px}.workspace-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.workspace-page-head h2{margin:0;font-size:1.5rem;font-weight:700}.workspace-skeleton-list{flex-direction:column;gap:12px;display:flex}.workspace-skeleton-card{border-radius:var(--radius-md);background:color-mix(in srgb, var(--border) 30%, transparent);height:100px;animation:1.5s ease-in-out infinite ws-shimmer}@keyframes ws-shimmer{0%,to{opacity:.4}50%{opacity:.8}}.workspace-empty{text-align:center;color:var(--text-dim);padding:48px 20px}.workspace-empty p{margin:0 0 16px}.workspace-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.workspace-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;transition:border-color .15s;display:flex}.workspace-card:hover{border-color:var(--accent)}.workspace-card-body{flex:1;min-width:0}.workspace-card-name{font-size:var(--text-base);color:var(--text);margin:0 0 6px;font-weight:600}.workspace-card-meta{font-size:var(--text-xs);color:var(--text-dim);flex-wrap:wrap;gap:4px 12px;margin-bottom:4px;display:flex}.workspace-card-date{font-size:var(--text-xs);color:var(--text-dim)}.workspace-card-actions{flex-shrink:0;gap:6px;display:flex}.workspace-meta-step{font-weight:500}.workspace-meta-tests{color:var(--accent);font-weight:500}.workspace-meta-stat{font-weight:500}.workspace-create-dialog{z-index:200;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.workspace-create-dialog-content{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);width:380px;max-width:90vw;padding:24px;box-shadow:0 8px 32px #0000001f}.workspace-create-dialog-content h3{margin:0 0 16px;font-size:1.1rem}.workspace-create-hint{font-size:var(--text-xs);color:var(--text-dim);margin:8px 0 16px}.workspace-create-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.be-editor{flex-direction:column;gap:4px;display:flex}.be-block{border-radius:var(--radius-sm);padding:4px 0;transition:background .1s;position:relative}.be-block:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.be-block-focused{background:color-mix(in srgb, var(--accent) 8%, transparent)}.be-input{width:100%;color:var(--text);resize:none;background:0 0;border:none;border-radius:4px;outline:none;padding:4px 8px;font-family:inherit}.be-input:focus{background:color-mix(in srgb, var(--accent) 6%, transparent)}.be-input-paragraph{font-size:var(--text-sm);line-height:1.6}.be-heading{margin:0}.be-h1 input{font-size:1.5rem;font-weight:700}.be-h2 input{font-size:1.25rem;font-weight:600}.be-h3 input{font-size:1.1rem;font-weight:600}.be-list-item{align-items:flex-start;gap:6px;display:flex}.be-bullet{color:var(--text-dim);text-align:right;min-width:18px;font-size:var(--text-sm);padding-top:4px}.be-toggle{border-radius:var(--radius-sm)}.be-toggle-summary{cursor:pointer;padding:2px 0}.be-toggle-summary input{width:calc(100% - 20px)}.be-toggle-body{border-left:2px solid var(--border);margin-left:20px;padding:4px 0 4px 12px}.be-code-block{background:color-mix(in srgb, var(--bg) 80%, #000);border-radius:var(--radius-sm);padding:8px;position:relative}.be-code-lang{color:var(--text-dim);text-transform:uppercase;font-size:10px;position:absolute;top:4px;right:8px}.be-code-block textarea{font-family:Fira Code,monospace;font-size:13px}.be-katex-block{background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px;display:flex}.be-katex-label{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:600}.be-katex-block input{font-family:Fira Code,monospace;font-size:13px}.be-callout{border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.be-callout-info{background:#3b82f61a;border-left:3px solid #3b82f6}.be-callout-warning{background:#f59e0b1a;border-left:3px solid #f59e0b}.be-callout-success{background:#10b9811a;border-left:3px solid #10b981}.be-callout-icon{padding-top:4px;font-size:14px}.be-divider{border:none;border-top:1px solid var(--border);margin:12px 0}.be-block-actions{opacity:0;z-index:5;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:4px;left:-48px}.be-block:hover .be-block-actions,.be-block-focused .be-block-actions{opacity:1}.be-action-btn{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--text-dim);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:11px;display:flex}.be-action-btn:hover{background:var(--bg);color:var(--text)}.be-action-delete:hover{color:var(--danger);border-color:var(--danger)}.be-type-select{border:1px solid var(--border);background:var(--surface);height:22px;color:var(--text-dim);cursor:pointer;border-radius:4px;padding:0 4px;font-size:10px}.be-add-btn{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:var(--text-xs);text-align:left;background:0 0;width:100%;margin-top:4px;padding:4px 12px}.be-add-btn:hover{border-color:var(--accent);color:var(--accent)}.be-slash-menu{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;max-height:280px;padding:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.be-slash-item{width:100%;color:var(--text);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;display:flex}.be-slash-item:hover,.be-slash-item-selected{background:color-mix(in srgb, var(--accent) 15%, transparent)}.be-slash-icon{text-align:center;width:24px;color:var(--text-dim);font-size:12px;font-weight:700}.be-slash-label{flex:1}.be-slash-shortcut{color:var(--text-dim);background:var(--bg);border-radius:3px;padding:1px 4px;font-size:10px}.dv-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dv-view-switcher{background:var(--bg);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.dv-view-btn{color:var(--text-dim);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 12px;transition:all .15s}.dv-view-btn:hover{color:var(--text)}.dv-view-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001a}.dv-selection-bar{font-size:var(--text-xs);color:var(--text-dim);align-items:center;gap:8px;display:flex}.dv-table-wrap{overflow-x:auto}.dv-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.dv-table th{text-align:left;color:var(--text-dim);font-weight:500;font-size:var(--text-xs);border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:8px 12px}.dv-table th:hover{color:var(--text)}.dv-table td{border-bottom:1px solid var(--border);padding:8px 12px}.dv-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.dv-row-selected{background:color-mix(in srgb, var(--accent) 10%, transparent)}.dv-th-check{width:32px}.dv-td-name{font-weight:500}.dv-td-actions{gap:4px;display:flex}.dv-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.dv-gallery-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:center;padding:18px;transition:all .15s}.dv-gallery-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.dv-gallery-icon{margin-bottom:8px;font-size:2.5rem}.dv-gallery-name{font-size:var(--text-sm);color:var(--text);margin:0 0 6px;font-weight:600}.dv-gallery-meta{font-size:var(--text-xs);color:var(--text-dim);margin-bottom:4px}.dv-gallery-date{font-size:var(--text-xs);color:var(--text-dim);margin-bottom:10px}.dv-gallery-btn{margin-top:6px}.activity-timeline{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:24px;padding:20px}.activity-timeline-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.activity-timeline-header h3{color:var(--text);margin:0;font-size:1rem;font-weight:600}.activity-filter-container{position:relative}.activity-filter-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;transition:border-color .15s,color .15s;display:flex}.activity-filter-btn:hover{border-color:var(--accent);color:var(--text)}.activity-filter-dropdown{background:var(--surface);border:1px solid var(--border);z-index:20;border-radius:8px;min-width:180px;padding:4px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000001f}.activity-filter-option{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;transition:background .1s;display:flex}.activity-filter-option:hover{background:var(--bg-hover)}.activity-filter-option--active{background:var(--accent-bg);color:var(--accent)}.activity-group{margin-bottom:20px}.activity-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border);margin-bottom:8px;padding:4px 0 8px;font-size:.75rem;font-weight:600}.activity-event{grid-template-columns:12px 80px 1fr;align-items:start;gap:10px;padding:6px 0;display:grid}.activity-event-dot{background:var(--accent);border-radius:50%;grid-row:1;width:8px;height:8px;margin-top:6px}.activity-event-time{color:var(--text-tertiary);white-space:nowrap;grid-row:1;padding-top:3px;font-size:.75rem}.activity-event-card{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;grid-row:1;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;transition:border-color .15s;display:flex}.activity-event-card:hover{border-color:var(--accent)}.activity-event-icon{flex-shrink:0;font-size:1rem}.activity-event-text{line-height:1.4}.activity-load-more{border:1px dashed var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:10px;font-size:.8125rem;transition:border-color .15s,color .15s;display:block}.activity-load-more:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.activity-load-more:disabled{opacity:.5;cursor:not-allowed}.activity-empty{text-align:center;color:var(--text-tertiary);padding:24px 16px;font-size:.875rem}.activity-timeline-skeleton{flex-direction:column;gap:12px;display:flex}.activity-skeleton-item{background:var(--bg-hover);border-radius:8px;height:40px;animation:1.5s ease-in-out infinite shimmer}.ws-detail-shell{flex:1;min-width:0;max-width:900px;min-height:100svh;margin:0 auto;padding:0 22px 80px}.ws-cover{border-radius:0 0 var(--radius-lg) var(--radius-lg);height:180px;margin:0 -22px 24px;position:relative;overflow:hidden}.ws-cover-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex;position:absolute;bottom:12px;right:12px}.ws-cover:hover .ws-cover-actions{opacity:1}.ws-cover-btn{color:#fff;background:#00000080;border-color:#ffffff4d}.ws-cover-btn:hover{background:#000000b3}.ws-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px;display:flex}.ws-detail-header-actions{gap:8px;display:flex}.ws-detail-title-section{margin-bottom:28px}.ws-detail-icon-row{align-items:center;gap:14px;margin-bottom:8px;display:flex}.ws-icon-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;font-size:2.5rem;line-height:1;transition:background .15s}.ws-icon-btn:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.ws-detail-title{color:var(--text);cursor:pointer;margin:0;font-size:1.5rem;font-weight:700;display:inline-block}.ws-detail-title:hover{color:var(--accent)}.ws-status-badge{cursor:pointer;border-radius:12px;margin-left:10px;padding:2px 10px;font-size:11px;font-weight:500;transition:opacity .15s;display:inline-block}.ws-status-badge:hover{opacity:.8}.ws-status-active{color:#10b981;background:#10b98133}.ws-status-draft{color:#f59e0b;background:#f59e0b33}.ws-status-archived{color:#6b7280;background:#6b728033}.ws-detail-meta{font-size:var(--text-xs);color:var(--text-dim);margin:0}.ws-section{margin-bottom:28px}.ws-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.ws-section-header h2{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.ws-empty-section{text-align:center;border-radius:var(--radius-md);border:1px dashed var(--border);background:var(--surface);color:var(--text-dim);font-size:var(--text-sm);padding:32px 20px}.ws-empty-section p{margin:0}.ws-dataset-list{flex-direction:column;gap:10px;display:flex}.ws-dataset-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;transition:border-color .15s;display:flex}.ws-dataset-card:hover{border-color:var(--accent)}.ws-dataset-card-body{flex:1;min-width:0}.ws-dataset-card-name{font-size:var(--text-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-weight:600;overflow:hidden}.ws-dataset-card-meta{font-size:var(--text-xs);color:var(--text-dim);flex-wrap:wrap;gap:4px 12px;display:flex}.workspace-rename-input{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--bg);color:var(--text);font-size:var(--text-base);outline:none;width:100%;max-width:400px;padding:6px 10px;font-weight:600}.workspace-delete-btn{color:var(--danger,#ef4444)}.workspace-delete-btn:hover{background:color-mix(in srgb, var(--danger,#ef4444) 12%, transparent)}.ws-notes-container{position:relative}.ws-notes-textarea{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font-size:var(--text-sm);resize:vertical;outline:none;padding:12px 14px;font-family:inherit}.ws-notes-textarea:focus{border-color:var(--accent)}.ws-notes-status{font-size:var(--text-xs);color:var(--text-dim);text-align:right;margin-top:4px}.modal-overlay{z-index:300;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);width:480px;max-width:90vw;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #0000001f}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{margin:0;font-size:1.1rem}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.ws-empty-illustrated{text-align:center;padding:40px 20px}.ws-empty-illustration{margin-bottom:12px;font-size:3rem}.ws-empty-illustrated h3{color:var(--text);margin:0 0 6px;font-size:1rem}.ws-empty-illustrated p{color:var(--text-dim);font-size:var(--text-sm);margin:0}.workspace-page-layout{min-height:100svh;display:flex}.workspace-sidebar-wrapper{flex-shrink:0;display:flex}.workspace-sidebar-toggle{z-index:110;border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:none;position:fixed;top:8px;left:8px;box-shadow:0 2px 8px #00000014}.workspace-sidebar-toggle svg{width:18px;height:18px}@media (width<=767px){.workspace-sidebar-toggle{display:flex}.workspace-sidebar-wrapper{z-index:105;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.workspace-sidebar-wrapper--open{transform:translate(0)}}.workspace-error{border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger,#ef4444) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--danger,#ef4444) 30%, var(--border));color:var(--text);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}@media (width<=600px){.ws-detail-shell{padding:0 14px 80px}.ws-detail-header,.ws-dataset-card{flex-direction:column;align-items:flex-start}.ws-cover{margin:0 -14px 24px}}.upload-page{max-width:720px;padding:calc(var(--widget-pad-lg) * 2) var(--widget-pad-lg) calc(var(--widget-pad-lg) * 3);gap:calc(var(--widget-gap) * 2);isolation:isolate;flex-direction:column;margin:0 auto;display:flex;position:relative}.upload-page:before{content:"";opacity:.35;pointer-events:none;z-index:-1;background:url(/favicon-blob.svg) 50%/contain no-repeat;width:200px;height:200px;position:absolute;bottom:60px;left:-110px}.upload-page:after{content:"";opacity:.2;pointer-events:none;z-index:-1;background:url(/favicon-blob.svg) 50%/contain no-repeat;width:80px;height:80px;position:absolute;top:50%;right:-50px}.upload-blob-extra{pointer-events:none;z-index:-1;background:url(/favicon-blob.svg) 50%/contain no-repeat;position:absolute}.upload-blob-extra--1{opacity:.2;width:120px;height:120px;top:30px;left:-90px}.upload-blob-extra--2{opacity:.25;width:140px;height:140px;top:40%;right:-80px}.upload-blob-extra--3{opacity:.18;width:100px;height:100px;bottom:180px;right:-60px}.upload-blob-extra--4{opacity:.15;width:90px;height:90px;top:20%;left:-70px}.upload-blob-extra--5{opacity:.12;width:70px;height:70px;bottom:-30px;left:30%}.upload-hero{text-align:center;position:relative}.upload-hero-h1{letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:800;line-height:1.15}.upload-hero-sub{max-width:56ch;font-size:var(--text-md);color:var(--text);margin:12px auto 0;line-height:1.6}.upload-seo-terms.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}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-xl);padding:calc(var(--widget-pad-lg) * 2) calc(var(--widget-pad-lg) + var(--space-3));text-align:center;cursor:pointer;background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .2s,background .2s,box-shadow .2s;position:relative}.drop-zone:before{content:"";opacity:.08;pointer-events:none;z-index:-1;background:url(/favicon-blob.svg) 50%/contain no-repeat;width:280px;height:280px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent)}.drop-icon-wrap{background:var(--accent-bg);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.drop-label{font-size:var(--text-xl);color:var(--text-h);margin:0 0 4px;font-weight:700}.drop-sub{font-size:var(--text-md);color:var(--text);margin:0 0 8px}.drop-hint{font-size:var(--text-sm);color:var(--text-dim);letter-spacing:.02em;margin:0}.upload-loading{flex-direction:column;align-items:center;gap:10px;display:flex}.upload-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-progress-bar{background:var(--border);border-radius:var(--radius-xs);width:200px;height:6px;overflow:hidden}.upload-progress-fill{background:var(--accent);border-radius:var(--radius-xs);height:100%;transition:width .2s}.upload-gatekeeper{border:1px solid color-mix(in srgb, var(--warning) 38%, var(--border));background:color-mix(in srgb, var(--warning) 12%, var(--surface));border-radius:var(--radius-lg);padding:16px 20px}.upload-gatekeeper-title{font-size:var(--text-md);color:color-mix(in srgb, var(--warning) 72%, var(--text-h));margin:0;font-weight:800}.upload-gatekeeper-text{font-size:var(--text-sm);color:var(--text);margin:6px 0 0;line-height:1.55}.upload-gatekeeper-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.upload-stepper{justify-content:space-between;align-items:flex-start;gap:12px;padding:0 8px;display:flex;position:relative}.upload-stepper:before{content:"";opacity:.25;background:linear-gradient(90deg,#3b82f6 0%,#6366f1 40%,#8b5cf6 70%,#a78bfa 100%);border-radius:1px;height:2px;position:absolute;top:20px;left:40px;right:40px}.upload-step{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.upload-step-dot{flex-shrink:0;width:40px;height:40px;margin-bottom:8px}.upload-step-label{font-size:var(--text-sm);color:var(--text-h);font-weight:600}.upload-features{grid-template-columns:repeat(2,1fr);align-items:start;gap:16px;display:grid}.upload-feature{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:20px;transition:box-shadow .15s}.upload-feature:hover{box-shadow:var(--shadow)}.upload-feature h3{font-size:var(--text-lg);color:var(--text-h);margin:0 0 6px;font-weight:700}.upload-feature p{font-size:var(--text-sm);color:var(--text);margin:0;line-height:1.55}.upload-trust{border-top:1px solid var(--border);grid-template-columns:auto auto;justify-content:center;gap:6px 40px;padding:14px 16px;display:grid}.upload-trust-item{font-size:var(--text-sm);color:var(--text);align-items:center;gap:6px;font-weight:500;display:inline-flex}.upload-trust-item svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.upload-trust-item a{color:var(--accent);font-weight:700;text-decoration:none}.upload-trust-item a:hover{text-decoration:underline}@media (width<=760px){.upload-page{gap:16px;padding:16px 12px 60px}.upload-hero-h1{font-size:var(--text-xl)}.upload-hero-sub{font-size:var(--text-sm);max-width:32ch}.upload-stepper{gap:8px;padding:0 4px}.upload-step-dot{width:32px;height:32px}.upload-step-label{font-size:var(--text-xs)}.upload-features{grid-template-columns:1fr;gap:12px}.upload-feature{text-align:center;padding:16px 12px}.upload-feature h3{font-size:var(--text-sm)}.upload-feature p{font-size:var(--text-xs)}.drop-label{font-size:var(--text-base)}.drop-hint{font-size:var(--text-xs)}.upload-page:before,.upload-page:after,.upload-blob-extra{display:none}}@media (width<=600px){.upload-page{gap:16px;padding:16px 10px 72px}.upload-hero-h1{font-size:1.25rem;line-height:1.2}.upload-hero-sub{font-size:var(--text-xs)}.upload-stepper{gap:6px;padding:0}.upload-step-dot{width:28px;height:28px;margin-bottom:4px}.upload-step-label{font-size:10px}.upload-features{grid-template-columns:1fr;gap:10px}.upload-feature{text-align:center;padding:14px}.upload-feature h3{font-size:var(--text-base)}.drop-zone{padding:28px 16px}.drop-label{font-size:var(--text-lg)}.drop-icon-wrap{width:48px;height:48px;margin-bottom:10px}.upload-trust{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);grid-template-columns:1fr;justify-items:stretch;gap:6px;padding:12px;display:grid}.upload-trust-item{font-size:var(--text-xs);justify-content:flex-start;gap:5px}.upload-trust-item svg{width:15px;height:15px}}.preview-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.preview-container--sample{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 8%, transparent)}.preview-header{justify-content:space-between;align-items:center;gap:var(--widget-gap);padding:var(--widget-header-pad);border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--code-bg) 0%, color-mix(in srgb, var(--code-bg) 60%, var(--surface) 40%) 100%);display:flex}.preview-header--sample{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-bg) 52%, var(--surface) 48%) 0%, var(--surface) 100%);padding:14px 18px}.preview-header h2{font-size:var(--text-xl);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-weight:800;line-height:1.4;overflow:hidden}.preview-meta{font-size:var(--text-base);color:var(--text-dim);margin:5px 0 0;line-height:1.45}.preview-clean-banner{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent-bg) 46%, var(--surface) 54%);color:var(--text);font-size:var(--text-base);padding:10px 16px;line-height:1.5}.preview-clean-banner--sample{font-size:var(--text-sm);color:var(--text-dim);padding:8px 14px}.preview-content-layout{flex:1;grid-template-columns:290px minmax(0,1fr);min-height:0;display:grid;position:relative}.preview-content-layout--table-only{grid-template-columns:minmax(0,1fr)}.preview-schema-sidebar{border-right:2px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--code-bg) 90%, var(--surface) 10%) 0%, var(--surface) 100%);flex-direction:column;min-height:0;display:flex}.preview-schema-summary{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;gap:16px;padding:10px 16px 6px;display:flex}.preview-schema-summary--sidebar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent-bg) 30%, var(--surface) 70%);padding:14px 16px 10px}.preview-schema-summary strong{color:var(--text-h);font-weight:700}.preview-columns{gap:var(--widget-gap-sm);padding:var(--space-3) var(--widget-pad) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.preview-columns--sidebar{grid-template-columns:1fr;align-content:start;padding:12px 16px 16px;overflow:auto}.col-card{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);font-size:var(--text-base);align-items:center;gap:8px;min-width:0;padding:9px 12px;transition:all .12s;display:flex}.col-card:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface) 94%);transform:translate(2px);box-shadow:0 1px 4px #2563eb1a}.sidebar-toggle-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:600;transition:all .12s}.sidebar-toggle-btn:hover{color:var(--accent);border-color:var(--accent)}.sidebar-expand-btn{z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;color:var(--text-dim);border-left:none;align-items:center;gap:4px;padding:8px 8px 8px 6px;font-size:11px;font-weight:600;transition:all .12s;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 6px #00000014}.sidebar-expand-btn:hover{color:var(--accent);border-color:var(--accent)}.sidebar-expand-btn svg{width:12px;height:12px}.sidebar-expand-count{white-space:nowrap}.preview-table-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.col-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-h);flex:1;min-width:0;font-weight:500;overflow:hidden}.type-badge{border-radius:var(--radius-full);color:#fff;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:800}.vtable-scroll{scrollbar-gutter:stable;flex:1;height:calc(100vh - 310px);min-height:300px;position:relative;overflow:auto}.vtable-th--row-num,.vtable-td--row-num{z-index:3;background:inherit;position:sticky;left:0}.vtable-th--row-num{background:var(--code-bg)}.vtable-td--row-num{background:var(--surface)}.vtable-row--alt .vtable-td--row-num{background:var(--code-bg)}.preview-container--sample .vtable-scroll{height:clamp(420px,62vh,760px)}.vtable-header{z-index:2;background:var(--header-bg);display:grid;position:sticky;top:0;box-shadow:0 2px 8px #0000002e}.vtable-th{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--header-muted);border-right:2px solid var(--header-border);white-space:nowrap;text-overflow:ellipsis;padding:11px 16px;font-weight:800;position:relative;overflow:hidden}.preview-container--sample .vtable-th{padding:9px 12px}.vtable-th:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 40%, transparent), transparent);height:2px;position:absolute;bottom:0;left:12px;right:12px}.vtable-th:last-child{border-right:none}.vtable-th--row-num{text-align:center;min-width:52px;max-width:52px;color:var(--header-muted);opacity:.7}.vtable-truncation-note{font-size:var(--text-sm);color:var(--text-dim);background:var(--code-bg);border-top:1px solid var(--border);text-align:center;flex-shrink:0;padding:8px 14px}.vtable-row{transition:background 80ms;display:grid;position:absolute;top:0;left:0}.vtable-row--alt .vtable-td{background:color-mix(in srgb, var(--code-bg) 60%, var(--surface) 40%)}.vtable-row:hover .vtable-td{cursor:default;background:color-mix(in srgb, var(--accent) 8%, var(--surface) 92%)!important}.vtable-td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;color:var(--text-h);font-variant-numeric:tabular-nums;padding:8px 16px;transition:background 80ms;overflow:hidden}.preview-container--sample .vtable-td{font-size:var(--text-sm);padding:7px 12px}.vtable-td:last-child{border-right:none}.vtable-td--empty{color:var(--text-dim);font-style:italic}.vtable-td--imputed{color:#0369a1;font-weight:600;background:#38bdf829!important}.vtable-td--changed{color:#6d28d9;font-weight:600;background:#8b5cf629!important}.vtable-td--removed{color:#b91c1c;opacity:.7;text-decoration:line-through;background:#ef444424!important}.vtable-td--outlier{color:#9a3412;font-weight:600;background:#fb923c2e!important}.vtable-td--new-col{color:#92400e;font-weight:600;background:#eab3082e!important}[data-theme=dark] .vtable-td--imputed{color:#7dd3fc;background:#38bdf81a!important}[data-theme=dark] .vtable-td--changed{color:#a78bfa;background:#8b5cf61a!important}[data-theme=dark] .vtable-td--removed{color:#f87171;background:#ef44441a!important}[data-theme=dark] .vtable-td--outlier{color:#fb923c;background:#fb923c1f!important}[data-theme=dark] .vtable-td--new-col{color:#fbbf24;background:#eab3081f!important}.vtable-td--row-num{text-align:center;min-width:52px;max-width:52px;font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:600;background:color-mix(in srgb, var(--code-bg) 70%, var(--surface) 30%)!important;border-right:2px solid var(--border)!important}@media (width<=900px){.preview-header{align-items:flex-start;padding:12px 14px}.preview-content-layout{grid-template-columns:240px minmax(0,1fr)}.preview-columns{grid-template-columns:1fr}.vtable-scroll{height:calc(100vh - 280px);min-height:260px}}@media (width<=760px){.preview-content-layout,.preview-content-layout--table-only{grid-template-columns:1fr}.preview-schema-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:200px}.preview-columns--sidebar{padding:8px 10px}.col-card{padding:5px 8px;font-size:12px}.type-badge{padding:2px 5px;font-size:8px}.preview-header,.preview-header--sample{gap:6px;min-width:0;padding:6px 8px}.preview-header h2{font-size:12px}.preview-meta{font-size:11px}.preview-clean-banner{padding:6px 10px;font-size:12px}.vtable-scroll{-webkit-overflow-scrolling:touch;height:auto;min-height:180px;max-height:420px;overflow:auto}.vtable-th{min-width:60px;padding:5px 8px;font-size:10px}.vtable-td{padding:4px 8px;font-size:11px}.vtable-th--row-num,.vtable-td--row-num{min-width:32px;padding:4px;font-size:10px}.vtable-truncation-note{padding:6px 10px;font-size:11px}.preview-container--sample .vtable-scroll{height:auto;max-height:320px}}@media (width<=900px){.preview-container--sample{display:none}.preview-container--sample.preview--mobile-open{z-index:500;background:color-mix(in srgb, var(--header-bg) 78%, #000 22%);border:none;border-radius:0;max-height:100vh;padding:14px 10px 10px;display:flex;position:fixed;inset:0;overflow:hidden}.preview-container--sample.preview--mobile-open .preview-header,.preview-container--sample.preview--mobile-open .preview-clean-banner,.preview-container--sample.preview--mobile-open .preview-content-layout,.preview-container--sample.preview--mobile-open .vtable-truncation-note{width:100%}.preview-container--sample.preview--mobile-open{background:var(--surface);border-radius:14px;width:min(980px,100%);max-width:100%;height:min(92vh,920px);margin:auto;box-shadow:0 18px 42px #0a101c6b}.preview-container--sample.preview--mobile-open .vtable-scroll{height:100%;max-height:none}}.chart-body--full{flex-direction:column;align-items:stretch}.vis-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 12px #0b12200d}.vis-chart-card .chart-controls{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, var(--accent-bg) 12%);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 20px;display:flex}.vis-chart-card .chart-body{flex-direction:column;align-items:stretch;gap:16px;padding:24px 20px;display:flex}.vis-chart-card .chart-body svg{width:100%;height:auto}.vis-chart-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);text-align:center;margin:0 0 4px;font-weight:800}.analyse-panel .chart-body{gap:14px;padding:12px}.analyse-panel .chart-controls{padding:10px 16px}.vis-export-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm);color:var(--text);align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.vis-export-toggle input{accent-color:var(--accent)}.vis-export-note{font-size:var(--text-xs);color:var(--text-dim)}.vis-chart-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, var(--code-bg) 8%);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding:12px 20px;display:flex}.vis-cart-toggle--active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent-bg) 65%, var(--surface));color:var(--accent)}.vis-added-flash{font-size:var(--text-xs);color:var(--accent);opacity:1;font-weight:600;animation:.2s ease-out vis-flash-in}@keyframes vis-flash-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.vis-chart-card .chart-controls .ctrl-group{flex-direction:column;gap:4px;min-width:170px;display:flex}.vis-chart-card .chart-controls .ctrl-group label{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);font-weight:700}.vis-chart-card .chart-controls .ctrl-group select{border:1.5px solid var(--border);background-color:color-mix(in srgb, var(--surface) 94%, var(--accent-bg) 6%);width:100%;min-height:34px;color:var(--text-h);border-radius:7px;padding:5px 30px 5px 10px;font-size:.9rem;font-weight:600;line-height:1.2}.vis-chart-card .chart-controls .ctrl-group select:hover{border-color:var(--accent-border)}.vis-chart-card .chart-controls .ctrl-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}@media (width<=900px){.analyse-protection-notice{max-width:none;top:74px;left:10px;right:10px}}.cleaning-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--widget-pad-lg);gap:var(--widget-gap);flex-direction:column;display:flex;overflow:hidden}.clean-panel-header{justify-content:space-between;align-items:center;padding:0;display:flex}.clean-panel-header h2{font-size:var(--text-md);letter-spacing:var(--tracking-wide);font-weight:700}.clean-panel-header>div,.clean-panel-actions{align-items:center;gap:6px;display:inline-flex}.clean-panel-header>div:first-child{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.clean-panel-subtitle{max-width:860px;color:var(--text-dim);font-size:var(--text-sm);margin:0;line-height:1.5}.clean-run-btn{min-width:148px;box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 24%, transparent);justify-content:center}.clean-tree-layout{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex:1;grid-template-columns:190px minmax(0,1fr);gap:0;min-height:0;display:grid}.clean-tree-nav{border-right:1px solid var(--border);background:var(--code-bg);-webkit-user-select:none;user-select:none;flex-direction:column;padding:8px 0;display:flex;overflow-y:auto}.clean-tree-group{flex-direction:column;display:flex}.clean-tree-group+.clean-tree-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.clean-tree-group-title{all:unset;box-sizing:border-box;cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 14px 4px;font-size:10px;font-weight:700;display:flex}.clean-tree-group-title:hover{color:var(--text)}.clean-tree-chevron{font-size:9px;transition:transform .15s;transform:rotate(-90deg)}.clean-tree-chevron.open{transform:rotate(0)}.clean-tree-dot{background:var(--success,#22c55e);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:6px;display:inline-block}.clean-tree-item--hidden{display:none}.clean-tree-progress{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--border);margin-top:auto;padding:10px 14px;font-size:10px;font-weight:600}.clean-tree-item{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--text-sm);color:var(--text);border-left:3px solid #0000;align-items:center;padding:7px 14px;font-weight:500;transition:background .1s,border-color .1s,color .1s;display:flex}.clean-tree-item:hover{background:var(--surface)}.clean-tree-item:active{transition:transform 60ms;transform:scale(.97)}.clean-tree-item.active{background:var(--surface);border-left-color:var(--accent);color:var(--accent);font-weight:600}.clean-tree-item--locked{opacity:.5;cursor:not-allowed;font-size:var(--text-xs);align-items:center;gap:6px;display:flex}.clean-tree-item--locked:hover{background:color-mix(in srgb, var(--warning) 8%, transparent)}.clean-tree-lock{margin-left:auto;font-size:.7rem}.clean-tree-content{padding:var(--widget-pad);scrollbar-gutter:stable;overflow-y:auto}.clean-live-strip{margin-bottom:var(--space-4);padding:var(--space-4) var(--widget-pad);background:var(--surface-alt,var(--surface));border:1px solid var(--border);border-radius:var(--radius-md,8px)}.clean-live-strip--inline{margin:var(--space-4) 0}.clean-live-strip-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.clean-live-strip-title{font-size:var(--text-xs,11px);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.clean-live-strip-meta{font-size:var(--text-xs,11px);color:var(--text-muted)}.clean-live-strip-table-wrap{max-height:280px;overflow:auto}.clean-live-strip-table{border-collapse:collapse;width:100%;font-size:var(--text-xs,11px);font-family:var(--font-mono,monospace)}.clean-live-strip-table th,.clean-live-strip-table td{white-space:nowrap;border-bottom:1px solid var(--border);text-overflow:ellipsis;max-width:100px;padding:3px 8px;overflow:hidden}.clean-live-strip-table th{color:var(--text-h);text-align:left;font-weight:600}.clean-live-strip-table td{color:var(--text)}.clean-live-strip-removed{color:#b91c1c;opacity:.85;background:#ef44442e;text-decoration:line-through}.clean-live-strip-transformed{color:#6d28d9;background:#8b5cf62e;font-weight:600}.clean-live-strip-added{color:#92400e;background:#eab30833;font-weight:600}.clean-live-strip-replaced{color:#0369a1;background:#38bdf82e;font-weight:600}.clean-live-strip-affected{color:#9a3412;background:#fb923c33;font-weight:600}.clean-live-strip-more{color:var(--text-muted);font-style:italic}.clean-live-strip-focus-col{background:#fb923c1a}.clean-live-strip-focus-col th,.clean-live-strip-focus-col td{border-left:2px solid #f97316;border-right:2px solid #f97316}[data-theme=dark] .clean-live-strip-removed{color:#f87171;background:#ef44441a}[data-theme=dark] .clean-live-strip-transformed{color:#a78bfa;background:#8b5cf61a}[data-theme=dark] .clean-live-strip-added{color:#fbbf24;background:#eab3081f}[data-theme=dark] .clean-live-strip-replaced{color:#7dd3fc;background:#38bdf81a}[data-theme=dark] .clean-live-strip-affected{color:#fb923c;background:#fb923c1f}.clean-step-panel h3{font-size:var(--text-lg);color:var(--text-h);margin:0 0 6px;font-weight:700}.clean-before-after{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:1fr auto 1fr;align-items:flex-start;gap:8px;margin:8px 0 12px;padding:10px 12px;display:grid;overflow-x:auto}.clean-ba-col{flex-direction:column;gap:4px;min-width:0;display:flex;overflow:hidden}.clean-ba-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:9px;font-weight:700}.clean-ba-arrow{color:var(--accent);opacity:.6;flex-shrink:0;margin-top:28px;font-size:.9rem}.clean-ba-table{border-collapse:collapse;width:100%;font-size:10px;font-family:var(--mono)}.clean-ba-table th,.clean-ba-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:2px 5px}.clean-ba-table th{color:var(--text-h);text-transform:uppercase;letter-spacing:.03em;font-size:9px;font-weight:600}.clean-ba-table td{color:var(--text)}.clean-ba-strike td{color:var(--danger,#e55);opacity:.55;text-decoration:line-through}.clean-ba-highlight td{color:var(--accent);font-weight:600}.clean-ba-cell-changed{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:2px;color:var(--accent)!important;font-weight:600!important}.clean-ba-cell-new{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-weight:700}.clean-ba-caption{color:var(--text-dim);font-size:9px}@media (width<=720px){.clean-before-after{grid-template-columns:1fr auto 1fr;gap:4px;margin:6px 0 10px;padding:8px}.clean-ba-table{font-size:9px}.clean-ba-table th{font-size:8px}.clean-ba-table th,.clean-ba-table td{padding:2px 3px}.clean-ba-arrow{margin-top:22px;font-size:.7rem}}.clean-impact-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:10px;margin-bottom:10px;padding:12px 16px;display:flex}.clean-impact-items{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;min-width:0;display:grid}.clean-impact-items>span{border-radius:var(--radius-md);background:var(--code-bg);border:1px solid var(--border);font-size:var(--text-xs);color:var(--text);align-items:center;gap:6px;padding:8px 12px;font-weight:500;display:flex}.clean-impact-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.clean-impact-actions .btn-ghost{color:var(--error,#ef4444);border-color:color-mix(in srgb, var(--error,#ef4444) 40%, transparent);font-size:var(--text-xs);border-radius:var(--radius-full);padding:5px 14px}.clean-impact-actions .btn-ghost:hover{background:color-mix(in srgb, var(--error,#ef4444) 12%, transparent);color:var(--error,#ef4444)}.clean-impact-bar strong{color:var(--accent);font-weight:800}.clean-impact-placeholder{color:var(--text-dim);font-style:italic;font-size:var(--text-xs)}.clean-impact-added{color:var(--success,#22c55e)}.clean-result-banner{border-radius:var(--radius-md);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:8px 14px;display:flex}.clean-result-banner--added{background:color-mix(in srgb, var(--success,#22c55e) 8%, transparent);border:1px solid color-mix(in srgb, var(--success,#22c55e) 30%, transparent);color:var(--text)}.clean-result-tag{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-family:var(--mono);font-size:var(--text-xs);padding:2px 8px;font-weight:500;display:inline-block}.clean-done-banner{border-radius:var(--radius-md);background:color-mix(in srgb, var(--success,#22c55e) 10%, transparent);border:1px solid color-mix(in srgb, var(--success,#22c55e) 25%, transparent);align-items:center;gap:12px;margin:0 0 12px;padding:10px 16px;display:flex}.clean-done-check{font-size:var(--text-sm);color:var(--success);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:800}.clean-done-summary{font-size:var(--text-xs);color:var(--text);line-height:1.4}@media (width<=720px){.clean-tree-layout{border:none;border-radius:0;grid-template-columns:1fr;min-height:0}.clean-tree-nav{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:2px solid var(--border);scrollbar-width:none;flex-direction:row;gap:0;max-height:44px;padding:0;overflow:auto hidden}.clean-tree-nav::-webkit-scrollbar{display:none}.clean-tree-group{flex-flow:row;flex-shrink:0;gap:0}.clean-tree-group+.clean-tree-group{border-top:none;border-left:none;margin-top:0;padding-top:0;padding-left:0}.clean-tree-group-title{display:none}.clean-tree-group--open{flex-direction:row}.clean-tree-item--hidden{display:flex}.clean-tree-dot,.clean-tree-chevron{display:none}.clean-tree-item{white-space:nowrap;font-size:var(--text-sm);background:0 0;border-bottom:2px solid #0000;border-left:none;border-radius:0;flex-shrink:0;margin-bottom:-2px;padding:10px 14px;font-weight:500}.clean-tree-item.active{border-bottom-color:var(--accent);color:var(--accent);background:0 0;border-left:none;font-weight:700}.clean-tree-progress{display:none}.clean-tree-content{padding:14px}.cleaning-panel{border-left:none;border-right:none;border-radius:0;gap:10px;padding:12px 0}.clean-panel-header{padding:0 14px}.clean-panel-header h2{font-size:var(--text-base)}.clean-impact-bar,.clean-result-banner{margin:0 14px}}.clean-control-deck{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(240px,1fr));gap:14px;display:grid}.clean-control-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 78%, var(--code-bg) 22%) 0%, var(--surface) 100%);flex-direction:column;gap:12px;padding:18px;display:flex}.clean-control-card--primary{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-bg) 58%, var(--surface) 42%) 0%, var(--surface) 100%);border-color:var(--accent-border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.clean-control-card-head{flex-direction:column;gap:3px;display:flex}.clean-control-card-head h3{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:800}.clean-export-visual-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:14px;display:flex}.clean-export-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.clean-export-visual-columns{flex-wrap:wrap;gap:8px;display:flex}.clean-export-chip{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-size:var(--text-sm);color:var(--text);align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.clean-export-chip.is-on{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent);font-weight:600}.clean-export-actions{flex-wrap:wrap;gap:8px;display:flex}.clean-card-kicker{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-widest);font-weight:800}.clean-inline-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.clean-inline-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.clean-inline-full{grid-column:1/-1}.clean-remove-btn{white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);grid-column:-1;justify-content:center;place-self:center end;align-items:center;width:18px;height:18px;padding:0;font-size:0;line-height:1;transition:background .15s;display:inline-flex;color:var(--danger,#e55)!important}.clean-remove-btn:hover{background:color-mix(in srgb, var(--danger,#e55) 12%, transparent)}.clean-remove-btn:active{transition:transform 60ms;transform:scale(.9)}.clean-remove-btn:after{content:"×";font-size:13px;line-height:1}@media (width<=760px){.clean-impact-bar{gap:8px;padding:10px 12px}.clean-impact-items{grid-template-columns:1fr 1fr;gap:6px}.clean-impact-items>span{padding:6px 10px;font-size:11px}.clean-impact-actions{width:100%}.clean-impact-actions .btn-ghost{justify-content:center;width:100%}}.clean-row-gate-layout{flex-direction:column;gap:14px;display:flex}.clean-row-gate-threshold label{font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:6px;max-width:220px;display:flex}.clean-row-gate-filter{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0;padding:14px}.clean-fieldset-legend{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);padding:0 6px;font-weight:700}.clean-row-gate-filter .clean-inline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clean-inline-grid label,.clean-option-grid label,.clean-split-grid label{font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:6px;display:flex}.clean-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-h);font-size:var(--text-sm);padding:8px 10px}.clean-input:focus,.clean-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);outline:none}.clean-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clean-impact-grid div{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 76%, var(--code-bg) 24%);flex-direction:column;gap:4px;padding:12px;display:flex}.clean-impact-grid strong{font-size:var(--text-xl);color:var(--text-h)}.clean-impact-grid span{font-size:var(--text-sm);color:var(--text-dim)}.clean-empty-state{border:1px dashed var(--accent-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent-bg) 35%, var(--surface) 65%);flex-direction:column;gap:6px;padding:14px;display:flex}.clean-empty-state strong{color:var(--text-h);font-size:var(--text-base)}.clean-empty-state span{color:var(--text-dim);font-size:var(--text-sm);line-height:1.5}.cleaning-card-stack{flex-direction:column;gap:16px;display:flex}.clean-feature-callout,.clean-section{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:16px}.clean-feature-callout{background:linear-gradient(135deg, var(--accent-bg) 0%, var(--surface) 62%);border-color:var(--accent-border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);justify-content:space-between;align-items:center;gap:18px;margin-bottom:4px;padding:22px 24px;display:flex}.feature-callout-main{align-items:center;gap:12px;min-width:0;display:flex}.feature-callout-icon{border-radius:var(--radius-lg);width:34px;height:34px;font-size:var(--text-2xl);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.feature-callout-subtitle{color:var(--text);font-size:var(--text-base);margin:4px 0 0;line-height:1.45}.feature-open-btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:inline-flex}.btn-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.clean-section h3{font-size:var(--text-lg);color:var(--text-h);text-transform:none;letter-spacing:var(--tracking-tight);border-bottom:1px dashed var(--border);margin:0 0 10px;padding-bottom:6px;font-weight:800}.clean-section-toolbar{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.clean-inline-summary{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.clean-focus-panel{flex-direction:column;gap:12px;display:flex}.clean-focus-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.clean-focus-field{min-width:260px;font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:6px;display:flex}.clean-focus-chips{flex-wrap:wrap;gap:6px;display:flex}.clean-focus-chip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, var(--code-bg) 20%);color:var(--text-dim);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;padding:4px 10px;font-weight:700}.clean-focus-chip.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.clean-summary-pill{border-radius:var(--radius-full);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, var(--code-bg) 28%);color:var(--text);font-size:var(--text-xs);align-items:center;gap:6px;padding:5px 10px;font-weight:700;display:inline-flex}.clean-summary-pill--alert{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:color-mix(in srgb, var(--danger) 72%, white)}.clean-status-ok{font-size:var(--text-sm);color:var(--success);align-items:center;gap:4px;font-weight:600;display:flex}.clean-status-bad{font-size:var(--text-sm);color:var(--warning);align-items:center;gap:4px;font-weight:600;display:flex}.clean-grid{flex-direction:column;gap:8px;display:flex}.clean-grid--dense{gap:12px}.clean-grid--scroll{max-height:300px;padding-right:4px;overflow:auto}.clean-option-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 82%, var(--code-bg) 18%);flex-direction:column;gap:12px;padding:14px;display:flex}.clean-option-card--row{flex-direction:row;align-items:center;gap:12px}.clean-option-card--row .clean-remove-btn{flex-shrink:0;margin-left:auto}.clean-remove-btn--abs{position:absolute;top:10px;right:12px}.clean-option-card--missing-none{opacity:.82;border-style:dashed}.clean-option-card--missing-low{border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.clean-option-card--missing-medium{border-color:color-mix(in srgb, #f59e0b 48%, var(--border));background:color-mix(in srgb, #f59e0b 8%, var(--surface))}.clean-option-card--missing-high{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.clean-option-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.clean-head-toggle{font-size:var(--text-xs);color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;margin:0;font-weight:600;display:inline-flex}.clean-toggle-card{cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-user-select:none;user-select:none;padding:12px 14px;transition:all .15s;display:flex}.clean-toggle-card:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.clean-toggle-card:active{transition:transform 60ms;transform:scale(.98)}.clean-toggle-card--on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.clean-toggle-card-head{align-items:flex-start;gap:10px;display:flex}.clean-toggle-card-head input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:2px}.clean-toggle-card-title{font-size:var(--text-base);color:var(--text-h);font-weight:700;line-height:1.2;display:block}.clean-toggle-card-desc{font-size:var(--text-xs);color:var(--text-dim);margin-top:2px;line-height:1.3;display:block}.clean-option-card--prominent{border-color:color-mix(in srgb, var(--accent) 24%, var(--border));background:color-mix(in srgb, var(--accent-bg) 10%, var(--surface));border-width:1.5px}.clean-option-guidance{font-size:var(--text-sm);color:var(--text-dim);margin:-2px 0 0;line-height:1.45}.clean-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clean-option-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.clean-inline-check{margin-top:12px}.clean-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.clean-row{font-size:var(--text-base);grid-template-columns:1fr 72px 160px;align-items:center;gap:10px;padding:5px 0;display:grid}.clean-row.outlier-row{grid-template-columns:1fr 200px 190px}.clean-row--empty{opacity:.38}.clean-col-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-weight:500;display:flex;overflow:hidden}.col-type-tag{border-radius:var(--radius-xs);letter-spacing:.5px;color:#fff;text-transform:uppercase;flex-shrink:0;padding:1px 4px;font-size:9px;font-weight:700}.col-type-numeric{background:#0d9488}.col-type-categorical{color:#0f172a;background:#f59e0b}.col-type-date{background:#15803d}.col-type-boolean{background:#7c3aed}.col-type-unknown{background:#64748b}.clean-missing-count{font-size:var(--text-sm);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.clean-missing-badge{border-radius:var(--radius-full);min-width:88px;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);justify-content:center;align-items:center;padding:4px 10px;font-weight:800;display:inline-flex}.clean-missing-badge--none{background:color-mix(in srgb, var(--surface) 70%, var(--code-bg) 30%);color:var(--text-dim)}.clean-missing-badge--low{background:color-mix(in srgb, var(--warning) 14%, var(--surface));color:color-mix(in srgb, var(--warning) 70%, white)}.clean-missing-badge--medium{background:color-mix(in srgb, #f59e0b 18%, var(--surface));color:#fbbf24}.clean-missing-badge--high{background:color-mix(in srgb, var(--danger) 18%, var(--surface));color:#fca5a5}.clean-select{border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--surface);color:var(--text-h);font-size:var(--text-sm);cursor:pointer;width:100%;padding:6px 28px 6px 8px}.clean-select:hover:not(:disabled){border-color:var(--border-h)}.clean-select:disabled{opacity:.32;cursor:not-allowed}.checkbox-label{font-size:var(--text-base);color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:7px;line-height:1.35;display:flex}.checkbox-label input[type=checkbox]{appearance:none;border:1.5px solid color-mix(in srgb, var(--accent) 28%, var(--border-h));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 84%, var(--code-bg) 16%);width:18px;height:18px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 6%, transparent);flex-shrink:0;margin-top:1px;position:relative}.checkbox-label input[type=checkbox]:after{content:"";border-bottom:2px solid #fff;border-right:2px solid #fff;width:4px;height:8px;transition:transform .1s;position:absolute;top:2px;left:5px;transform:rotate(45deg)scale(0)}.checkbox-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type=checkbox]:checked:after{transform:rotate(45deg)scale(1)}.impact-inline{color:var(--accent);font-size:var(--text-sm);font-weight:600}.col-checkboxes{flex-wrap:wrap;gap:10px 14px;margin-top:10px;display:flex}.col-checkboxes .checkbox-label{white-space:nowrap;font-size:var(--text-sm)}.col-checkboxes--scroll{max-height:200px;padding-right:4px;overflow:auto}.clean-config-table td{vertical-align:top}.clean-table-stack{flex-direction:column;gap:8px;min-width:180px;display:flex}.clean-table-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dup-subset{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--code-bg);margin-top:8px;padding:12px 14px}.dup-hint{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 5px}.dup-example{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 10px;line-height:1.45}.outlier-global-row{background:color-mix(in srgb, var(--code-bg) 76%, var(--surface) 24%);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:minmax(180px,.95fr) minmax(260px,1.1fr) minmax(260px,1.1fr);align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:grid}.outlier-global-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:700}.outlier-overrides{margin-top:12px}.outlier-override-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0 0 8px;font-weight:700}.clean-hint-line{font-size:var(--text-sm);color:var(--text-dim);background:color-mix(in srgb, var(--code-bg) 72%, var(--surface) 28%);border-radius:var(--radius-sm);border-left:2px solid var(--accent);margin:0 0 10px;padding:6px 10px;line-height:1.4}@media (width<=760px){.clean-hint-line{display:none}}.outlier-help-row{flex-wrap:wrap;gap:6px;margin:8px 0 10px;display:flex}.outlier-iqr-config-row{grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin-bottom:10px;display:grid}.outlier-iqr-config-row label{font-size:var(--text-sm);color:var(--text);flex-direction:column;gap:5px;display:flex}.outlier-iqr-config-row input,.outlier-global-row select{width:100%}.info-chip{border-radius:var(--radius-full);color:#155e75;font-size:var(--text-xs);background:#ecfeff;border:1px solid #a5f3fc;align-items:center;gap:4px;padding:3px 8px;font-weight:700;display:inline-flex}.clean-footer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:14px 16px;display:flex;box-shadow:0 -3px 8px #0f172a12}.clean-footer-actions{align-items:center;margin-left:auto;display:inline-flex}.clean-impact{flex-direction:column;gap:2px;min-width:0;display:flex}.impact-stat{align-items:baseline;gap:5px;display:flex}.impact-num{font-size:var(--text-3xl);color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.impact-label{font-size:var(--text-base);color:var(--text)}.impact-breakdown{font-size:var(--text-sm);color:var(--text-dim);flex-wrap:wrap;gap:10px;display:flex}.clean-footer-actions{flex-shrink:0;gap:8px;display:flex}.enc-inline-check{margin-top:10px}.enc-summary-bar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--danger) 8%, var(--surface));color:var(--text);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.enc-summary-bar strong{color:#fca5a5}.enc-summary-note{color:var(--text-dim)}.enc-glossary-panel{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 78%, var(--code-bg) 22%);padding:16px 24px}.enc-glossary-panel h4{font-size:var(--text-sm);color:var(--text-h);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin:0 0 12px;font-weight:800}.enc-focus-panel{flex-direction:column;gap:12px;display:flex}.enc-focus-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 84%, var(--code-bg) 16%);flex-direction:column;gap:10px;padding:14px;display:flex}.enc-focus-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.enc-focus-head h4{font-size:var(--text-base);color:var(--text-h);margin:0}.enc-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.enc-ordinal-wrap{border-top:1px solid var(--border);padding-top:10px}::view-transition-group(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}::view-transition-old(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}::view-transition-new(*){animation-duration:.25s;animation-timing-function:cubic-bezier(.19,1,.22,1)}.clean-quick-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.accordion-toggle{margin-left:auto}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172aa6;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;width:min(1380px,98vw);max-width:1380px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000047}.modal-panel--inline{width:100%;max-width:none;max-height:none;box-shadow:none;border:none;border-radius:0}.modal-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, var(--accent-bg) 28%);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.modal-header h2{font-size:var(--text-xl);color:var(--text-h);margin:0;font-weight:800}.modal-subtitle{font-size:var(--text-base);color:var(--text-dim);margin:4px 0 0}.modal-close{all:unset;cursor:pointer;font-size:var(--text-xl);color:var(--text-dim);border-radius:var(--radius-sm);padding:2px 6px;transition:background .1s}.modal-close:hover{color:var(--danger,#ef4444);background:#ef444414}.modal-column-count{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent-bg) 55%, var(--surface) 45%);font-size:var(--text-base);align-items:center;gap:8px;padding:10px 24px;display:flex}.mcc-label{color:var(--text-dim);font-weight:600}.mcc-orig{color:var(--text-h);font-weight:700}.mcc-arrow{color:var(--text-dim)}.mcc-after{color:var(--text-h);font-weight:700}.mcc-after--changed{color:var(--accent)}.mcc-delta{background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-xs);font-size:var(--text-sm);padding:1px 6px;font-weight:700}.modal-wizard{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 84%, var(--accent-bg) 16%);flex-wrap:wrap;gap:10px;padding:12px 24px;display:flex}.modal-body{flex:1;grid-template-columns:minmax(0,1.7fr) minmax(380px,1fr);min-height:0;display:grid}.modal-empty{text-align:center;font-size:var(--text-md);color:var(--text-dim);padding:40px 24px}.modal-table-wrap{border-right:1px solid var(--border);scrollbar-gutter:stable;min-width:0;min-height:0;padding:8px 10px 10px;overflow:auto}.enc-table{border-collapse:collapse;width:100%;font-size:var(--text-base);table-layout:fixed}.enc-table thead th{background:color-mix(in srgb, var(--code-bg) 88%, #0b1220 12%);color:var(--text);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-widest);text-align:left;white-space:nowrap;z-index:1;padding:10px 12px;font-weight:700;position:sticky;top:0}.enc-table tbody tr{border-bottom:1px solid var(--border)}.enc-table tbody tr:last-child{border-bottom:none}.enc-table tbody td{vertical-align:top;padding:11px 12px;line-height:1.45}.enc-row--active td{background:color-mix(in srgb, var(--accent-bg) 34%, var(--surface) 66%)}.enc-row--selected td{background:color-mix(in srgb, var(--accent-bg) 54%, var(--surface) 46%)}.enc-row--selected .enc-col-name{color:var(--accent)}.enc-table tbody tr{cursor:pointer}.enc-col-name{color:var(--text-h);white-space:normal;word-break:break-word;font-weight:700}.enc-uniq{max-width:260px}.enc-uniq-count{background:var(--border);color:var(--text);border-radius:var(--radius-xs);font-weight:700;font-size:var(--text-xs);margin-right:5px;padding:1px 6px;display:inline-block}.enc-uniq-vals{color:var(--text);font-size:var(--text-sm);word-break:break-word;margin-top:4px;line-height:1.55}.enc-select{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;color:var(--text-h);font-size:var(--text-base);cursor:pointer;padding:5px 28px 5px 8px}.enc-select:hover:not(:disabled){border-color:var(--accent)}.enc-type-desc{font-size:var(--text-xs);color:var(--text);margin:4px 0 0;line-height:1.4}.enc-preview{font-family:var(--mono);font-size:var(--text-sm);color:var(--text-h);white-space:pre-wrap;word-break:break-word;font-weight:600;line-height:1.55}.modal-sample-panel{background:linear-gradient(180deg, var(--code-bg) 0%, color-mix(in srgb, var(--code-bg) 80%, var(--surface) 20%) 100%);min-width:0;padding:18px 18px 20px;overflow:auto}.modal-sample-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.modal-sample-kicker{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;font-weight:800}.modal-sample-head h3{color:var(--text-h);margin:0;font-size:15px;font-weight:800}.modal-sample-note{font-size:var(--text-base);color:var(--text);margin:0 0 10px;line-height:1.5}.modal-sample-mapping{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-family:var(--mono);font-size:var(--text-sm);color:var(--text-h);white-space:pre-wrap;margin-bottom:12px;padding:10px 12px}.sample-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.sample-table thead th{text-align:left;background:color-mix(in srgb, var(--code-bg) 88%, #0b1220 12%);color:var(--text);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:8px 10px}.sample-table tbody td{border-bottom:1px solid var(--border);padding:8px 10px}.sample-table tbody tr:last-child td{border-bottom:none}.sample-table .sample-value{color:var(--text-h);font-weight:700}.sample-table .sample-encoded{font-family:var(--mono);color:var(--accent)}.sample-table--matrix td,.sample-table--matrix th{text-align:center}.sample-table--matrix .sample-value{text-align:left}.sample-muted{color:var(--text-dim)}.enc-mini-dict{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.enc-mini-dict h4{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-dim);margin:0 0 8px}.enc-mini-dict-grid{grid-template-columns:1fr;gap:8px;display:grid}.enc-mini-dict-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:9px 10px}.enc-mini-dict-term{font-size:var(--text-base);color:var(--text-h);margin-bottom:3px;font-weight:700}.enc-mini-dict-detail,.enc-mini-dict-use{font-size:var(--text-sm);margin:0;line-height:1.45}.enc-mini-dict-detail{color:var(--text)}.enc-mini-dict-use{color:var(--text-dim);margin-top:2px}@media (width<=960px){.modal-body{grid-template-columns:1fr}.modal-table-wrap{border-right:none;border-bottom:1px solid var(--border)}}@media (width<=900px){.clean-control-deck,.clean-split-grid{grid-template-columns:1fr}.clean-inline-grid,.clean-option-grid,.clean-option-grid--triple,.clean-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clean-feature-callout{padding:16px}.feature-callout-main{align-items:flex-start}.feature-open-btn{width:100%}.outlier-global-row{grid-template-columns:1fr}.outlier-global-row .clean-select{width:100%}.clean-row.outlier-row{grid-template-columns:1fr;align-items:stretch;gap:6px}.dictionary-grid,.clean-grid--scroll,.col-checkboxes--scroll{max-height:none}}@media (width<=720px){.clean-inline-grid,.clean-inline-grid--compact,.clean-option-grid,.clean-option-grid--triple,.clean-table-range,.clean-impact-grid{grid-template-columns:1fr}.clean-option-head,.clean-panel-header,.clean-footer{flex-direction:column;align-items:flex-start}.clean-focus-toolbar{align-items:stretch}.clean-focus-field{width:100%;min-width:0}.enc-focus-grid{grid-template-columns:1fr}.clean-footer-actions{width:100%}.clean-footer-actions .btn-primary{justify-content:center;width:100%}}.clean-step-footer{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:16px;padding-top:12px;display:flex}.clean-step-footer-actions{align-items:center;gap:8px;display:flex}.clean-step-apply-btn{justify-content:center;min-width:160px}.clean-step-preview-result{border-radius:var(--radius-md);background:var(--code-bg);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text);flex-wrap:wrap;gap:12px;padding:8px 12px;display:flex}.clean-step-preview-result strong{color:var(--text-h);font-weight:700}.clean-inline-error{color:var(--danger);font-size:var(--text-sm);margin:0;font-weight:600;line-height:1.4}.clean-step-warnings{border-radius:var(--radius-md);border-left:3px solid var(--warning,#f59e0b);background:color-mix(in srgb, var(--warning,#f59e0b) 6%, transparent);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.clean-step-warning-item{font-size:var(--text-sm);color:var(--text);margin:0;font-weight:500;line-height:1.4}.clean-live-stat{border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));font-size:var(--text-sm);color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;display:flex}.clean-live-stat strong{color:var(--accent);font-weight:700}.clean-live-stat--outlier{background:color-mix(in srgb, var(--warning) 6%, var(--surface));border-color:color-mix(in srgb, var(--warning) 25%, var(--border))}.clean-live-stat--outlier strong{color:var(--warning)}.clean-live-stat--duplicates{background:color-mix(in srgb, var(--danger,#e55) 6%, var(--surface));border-color:color-mix(in srgb, var(--danger,#e55) 25%, var(--border))}.clean-live-stat--duplicates strong{color:var(--danger,#e55)}.clean-live-stat-detail{font-size:var(--text-xs);color:var(--text-dim);font-variant-numeric:tabular-nums}.clean-autosave-indicator{font-size:var(--text-xs);color:var(--text-dim);margin-left:auto;font-style:italic}.clean-estimate-link{font-size:var(--text-xs);color:var(--text-dim);text-underline-offset:2px;text-decoration:underline}.clean-estimate-link:hover{color:var(--accent)}.clean-progress-count{color:var(--accent);font-size:var(--text-sm)}.clean-scan-banner{border-radius:var(--radius-md);background:color-mix(in srgb, var(--warning,#f59e0b) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--warning,#f59e0b) 20%, var(--border));align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.clean-scan-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--warning,#f59e0b);white-space:nowrap;font-weight:700}.clean-scan-items{flex-wrap:wrap;gap:6px;display:flex}.clean-scan-item{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--text-xs);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:4px 10px;font-weight:500;transition:background .1s,border-color .1s}.clean-scan-item:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--accent)}.clean-scan-item--high{border-color:color-mix(in srgb, var(--danger,#e55) 40%, var(--border));color:var(--danger,#e55);font-weight:600}.clean-step-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.clean-step-head h3{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:700}.clean-step-reset{opacity:.7;color:var(--text-dim)!important;padding:3px 8px!important;font-size:10px!important}.clean-step-reset:hover{opacity:1;color:var(--danger,#e55)!important}.clean-inline-warning{border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger,#e55) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--danger,#e55) 30%, var(--border));color:var(--danger,#e55);font-size:var(--text-sm);margin-bottom:10px;padding:8px 12px;font-weight:600}.clean-impact-estimate-tag{text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:var(--radius-sm);padding:2px 6px;font-size:9px;font-weight:700}.clean-quick-row--spaced{align-items:flex-start}.ordinal-editor{background:var(--code-bg);padding:10px 14px 14px}.ordinal-editor-hint{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 8px}.ordinal-chips{flex-wrap:wrap;gap:6px;display:flex}.ordinal-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);align-items:center;gap:4px;padding:4px 8px;display:flex}.ordinal-chip-rank{color:var(--text-dim);min-width:12px;font-size:9px;font-weight:700}.ordinal-chip-val{color:var(--text-h);font-weight:600}.ordinal-chip-btns{gap:2px;margin-left:4px;display:flex}.ordinal-chip-btns button{all:unset;cursor:pointer;font-size:var(--text-xs);color:var(--text-dim);border-radius:var(--radius-xs);background:var(--border);padding:1px 4px}.ordinal-chip-btns button:hover:not(:disabled){background:var(--accent);color:#fff}.ordinal-chip-btns button:disabled{opacity:.3;cursor:not-allowed}.modal-footer{border-top:1px solid var(--border);background:var(--code-bg);justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.clean-section--feature-engineering{padding:16px;overflow:hidden}.clean-section--feature-engineering .modal-panel--inline{width:calc(100% + 32px);margin:12px -16px -16px}.clean-section--feature-engineering .modal-header,.clean-section--feature-engineering .modal-column-count,.clean-section--feature-engineering .modal-wizard,.clean-section--feature-engineering .modal-footer{padding-left:20px;padding-right:20px}.clean-section--feature-engineering .modal-table-wrap,.clean-section--feature-engineering .modal-sample-panel{max-height:560px}.analyse-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.analyse-loading{justify-content:center;align-items:center}.analyse-loading-inner{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;font-size:.9rem;display:flex}.analyse-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite analyse-spin}@keyframes analyse-spin{to{transform:rotate(360deg)}}.analyse-error-msg{color:var(--danger,#ef4444);text-align:center;max-width:400px;font-size:.9rem}.ai-insight-box{background:var(--header-bg);color:var(--header-muted);border-top:1px solid var(--header-border);z-index:5;flex-shrink:0;align-items:center;gap:10px;margin-top:auto;padding:6px 16px;display:flex;position:sticky;bottom:0}.ai-insight-label{letter-spacing:.1em;text-transform:uppercase;color:var(--header-muted);font-size:9px;font-weight:800;font-family:var(--mono);opacity:.7;flex-shrink:0}.ai-insight-text{font-size:var(--text-sm);color:var(--header-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:400;line-height:1.4;overflow:hidden}@media (width<=760px){.ai-insight-box{display:none}.analyse-tree-content{padding-bottom:80px}}.analyse-panel .insight-cards{border-bottom:1px solid var(--border);background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));padding:0}.analyse-overview,.analyse-overview-actions,.analyse-overview-title,.analyse-overview-text{display:none}.analyse-header-bar{padding:var(--widget-header-pad);border-bottom:1px solid var(--border);background:var(--code-bg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.analyse-header-stats{font-size:var(--text-sm);color:var(--text);align-items:center;gap:16px;display:flex}.analyse-header-stats strong{color:var(--text-h);font-weight:700}.analyse-header-warn{color:var(--warning);font-weight:600}.analyse-tree-layout{flex:1;grid-template-columns:190px minmax(0,1fr);gap:0;min-height:0;display:grid}.analyse-tree-nav{border-right:1px solid var(--border);background:var(--code-bg);-webkit-user-select:none;user-select:none;flex-direction:column;padding:8px 0;display:flex;overflow-y:auto}.analyse-tree-group{flex-direction:column;display:flex}.analyse-tree-group+.analyse-tree-group{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.analyse-tree-group-title{text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);padding:6px 14px 4px;font-size:10px;font-weight:700}.analyse-tree-item{all:unset;box-sizing:border-box;cursor:pointer;font-size:var(--text-sm);color:var(--text);border-left:3px solid #0000;padding:7px 14px;transition:background .1s,border-color .1s,color .1s;display:block}.analyse-tree-item:hover{background:var(--surface)}.analyse-tree-item:active{transition:transform 60ms;transform:scale(.97)}.analyse-tree-item.active{background:var(--surface);border-left-color:var(--accent);color:var(--accent);font-weight:600}.analyse-tree-item--locked{opacity:.5;cursor:not-allowed;font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:6px;display:flex}.analyse-tree-item--sm{font-size:var(--text-xs)}.analyse-coming-soon-tag{text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(135deg, var(--accent), var(--accent2,#6366f1));color:#fff;white-space:nowrap;border-radius:3px;padding:2px 5px;font-size:8px;font-weight:700;line-height:1}.analyse-protection-notice{z-index:80;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-left:4px solid var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 14%, transparent), var(--surface) 65%);max-width:420px;color:var(--text);font-size:var(--text-sm);border-radius:10px;margin:0;padding:11px 14px;font-weight:600;animation:.16s ease-out analyseNoticeIn;position:fixed;top:86px;right:20px;box-shadow:0 10px 26px #0b122038}@keyframes analyseNoticeIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.analyse-tree-content{padding:var(--widget-pad-lg);gap:var(--widget-gap);flex-direction:column;display:flex;overflow-y:auto}.analyse-content-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.analyse-content-kicker{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:800}.analyse-content-desc{font-size:var(--text-sm);color:var(--text-dim);margin:4px 0 0;line-height:1.45}@media (width<=720px){.analyse-tree-layout{grid-template-columns:1fr}.analyse-tree-nav{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:2px solid var(--border);scrollbar-width:none;flex-direction:row;gap:0;padding:0;overflow-x:auto}.analyse-tree-nav::-webkit-scrollbar{display:none}.analyse-tree-group{flex-flow:row;gap:0}.analyse-tree-group+.analyse-tree-group{border-top:none;border-left:none;margin-top:0;padding-top:0;padding-left:0}.analyse-tree-group-title{display:none}.analyse-tree-item{white-space:nowrap;font-size:var(--text-sm);background:0 0;border-bottom:2px solid #0000;border-left:none;border-radius:0;margin-bottom:-2px;padding:10px 14px}.analyse-tree-item.active{border-bottom-color:var(--accent);color:var(--accent);background:0 0;border-left:none;font-weight:700}.analyse-tree-item--locked{font-size:10px}.analyse-coming-soon-tag{border-radius:3px;margin-left:3px;font-size:7px;position:static}.analyse-tree-content{padding:8px}.analyse-header-bar{flex-wrap:wrap;gap:4px;padding:6px 8px}.analyse-header-stats{flex-wrap:wrap;gap:6px;font-size:10px}.analyse-content-kicker{font-size:13px}.analyse-content-desc{display:none}.analyse-panel .insight-cards{grid-template-columns:1fr 1fr;gap:4px}}.analyse-tab-body{flex-direction:column;gap:16px;padding:0;display:flex;overflow-y:visible}.analyse-tab-body--compact{padding-top:0}@media (width<=980px){.analyse-ml-grid,.analyse-ml-usecases,.analyse-ml-columns{grid-template-columns:1fr}}.tests-tab-body{gap:14px}@media (width<=760px){.tests-tab-body{gap:8px;padding-top:0}}.tests-toolbar{justify-content:flex-start;align-items:center;gap:12px;padding:0 2px;display:flex}.tests-latest{border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--accent-bg) 44%, var(--surface) 56%) 0%, var(--surface) 100%);font-size:var(--text-sm);border-radius:10px;align-items:center;gap:6px;padding:10px 12px;display:inline-flex;box-shadow:0 2px 10px #0000000d}.tests-latest--idle{border-color:var(--border);background:color-mix(in srgb, var(--code-bg) 84%, var(--surface) 16%);opacity:.9}.tests-latest-dot{background:#22c55e;border-radius:999px;flex-shrink:0;width:9px;height:9px;animation:2s infinite pulse-dot;box-shadow:0 0 0 4px #22c55e38}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.tests-latest--idle .tests-latest-dot{background:var(--text-muted);box-shadow:none;animation:none}.tests-latest-label{text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--accent);margin:0;font-size:10px;font-weight:700}.tests-latest .test-result{font-size:var(--text-xs);color:var(--text-h);margin:0;font-weight:500}.tests-selector{border-left:2px solid var(--accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-bg) 52%, var(--surface) 48%) 0%, var(--surface) 100%);border-radius:12px;overflow:hidden}.tests-prefill-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.tests-prefill-head h3{margin:2px 0 0}.tests-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:600px;display:grid}.tests-selector select{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;color:var(--text-h);font-size:var(--text-base);padding:10px 28px 10px 12px}.tests-recommend-banner{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-bg) 38%, var(--surface) 62%) 0%, var(--surface) 100%);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.tests-recommend-banner:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 70%);pointer-events:none;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.tests-banner-kicker{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-dim);margin:0 0 4px;font-weight:800}.tests-banner-title{color:var(--text-h);margin:0 0 6px;font-size:20px;font-weight:800;line-height:1.2}.tests-banner-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.recommend-pill{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-bg), color-mix(in srgb, var(--accent) 15%, var(--surface) 85%));width:fit-content;color:var(--accent);font-size:var(--text-sm);border:1px solid var(--accent-border);align-items:center;margin:0;padding:6px 12px;font-weight:700;display:inline-flex}.tests-builder{grid-template-columns:180px minmax(0,1.5fr) minmax(260px,.9fr);align-items:start;gap:14px;display:grid}.tests-sidebar-nav{border-right:1px solid var(--border);flex-direction:column;gap:4px;padding-right:12px;display:flex}.tests-sidebar-group{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.tests-sidebar-group-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-muted);margin-bottom:2px;padding:4px 10px;font-weight:700}.tests-sidebar-item{border-radius:var(--radius);font-size:var(--text-sm);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:8px 10px;font-weight:500;transition:background .12s,color .12s;display:flex}.tests-sidebar-item:hover:not(.tests-sidebar-item--locked){background:var(--accent-bg);color:var(--accent)}.tests-sidebar-item--active{background:var(--accent-bg);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.tests-sidebar-item--locked{opacity:.55;cursor:not-allowed}.tests-sidebar-item--locked:hover{background:color-mix(in srgb, var(--warning) 8%, transparent)}.tests-sidebar-lock{margin-left:auto;font-size:.7rem}.tests-sidebar-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-left:auto}.tests-sidebar-dot--active{background:#22c55e;box-shadow:0 0 0 3px #22c55e3d}.tests-builder-main{flex-direction:column;gap:12px;display:flex}.tests-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.tests-tab{border:1.5px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;padding:10px 12px;font-weight:700;transition:all .15s}.tests-tab:hover:not(:disabled){border-color:var(--accent-border);background:color-mix(in srgb, var(--accent-bg) 40%, var(--surface) 60%)}.tests-tab--active{border-color:var(--accent);background:linear-gradient(135deg, var(--accent-bg) 0%, color-mix(in srgb, var(--accent) 12%, var(--surface) 88%) 100%);color:var(--accent);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 14%, transparent)}.tests-tab--locked{opacity:.6;cursor:not-allowed}.tests-chip-row{flex-wrap:wrap;gap:8px;display:flex}.tests-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:var(--radius-full);font-size:var(--text-base);cursor:pointer;align-items:center;gap:8px;padding:9px 14px;font-weight:700;transition:all .15s;display:inline-flex}.tests-chip:hover:not(:disabled){border-color:var(--accent-border);background:color-mix(in srgb, var(--accent-bg) 30%, var(--surface) 70%)}.tests-chip--active{border-color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-bg) 65%, var(--surface) 35%), var(--surface));box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 12%, transparent)}.tests-chip--recommended{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.tests-chip--locked{opacity:.6;cursor:not-allowed;border-style:dashed}.tests-chip-mark{border-radius:var(--radius-full);background:color-mix(in srgb, var(--success) 14%, var(--surface) 86%);color:var(--success);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;align-items:center;padding:2px 7px;font-weight:800;display:inline-flex}.tests-config{background:linear-gradient(180deg, color-mix(in srgb, var(--code-bg) 78%, var(--surface) 22%) 0%, var(--surface) 100%)}.tests-config--active{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 8%, transparent)}.tests-config-head{align-items:flex-start}.test-variable-block{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 72%, var(--accent-bg) 28%);flex-direction:column;gap:12px;padding:12px;display:flex}.test-variable-block-head{flex-direction:column;gap:4px;display:flex}.test-variable-block-kicker{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--accent);margin:0;font-weight:800}.test-field{flex-direction:column;gap:6px;min-width:0;display:flex}.test-field--span-2{grid-column:span 2}.test-field-label{font-size:var(--text-sm);color:var(--text-h);font-weight:700}.tests-include-toggle{border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text);align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:inline-flex}.tests-config-footer{flex-direction:column;gap:8px;display:flex}.tests-extract-hint{opacity:.7;margin:6px 0 0;font-style:italic}.tests-inline-error{color:var(--danger);font-size:var(--text-sm);margin:0;font-weight:600;line-height:1.4}.tests-inline-hint{color:var(--text-muted);font-size:var(--text-sm);margin:0;font-style:italic;line-height:1.4}.tests-viz-error{color:var(--danger);font-size:var(--text-sm);border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 6%, transparent);border-radius:var(--radius-sm);margin:0;padding:12px 16px;font-weight:600;line-height:1.5}.tests-config-summary{font-size:var(--text-lg);color:var(--text-h);margin:0 0 4px;font-weight:800}.tests-inline-viz{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-top:12px;overflow:hidden}.tests-inline-viz-head{border-bottom:1px solid var(--border);background:var(--code-bg);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.tests-inline-viz-head h4{font-size:var(--text-sm);color:var(--text-h);margin:0;font-weight:700}.tests-inline-viz-actions{align-items:center;gap:6px;display:flex}.tests-viz-chart-picker{font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text-h);cursor:pointer;padding:4px 26px 4px 8px}.tests-inline-viz-chart{min-height:200px;padding:8px}.tests-viz-modal-overlay{z-index:9000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tests-viz-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:680px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #0000004d}.tests-viz-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.tests-viz-modal-head h4{font-size:var(--text-md);color:var(--text-h);margin:0;font-weight:700}.tests-viz-modal-chart{scrollbar-gutter:stable;flex:1;min-height:300px;padding:12px;overflow:auto}.tests-mobile-results{display:none}.tests-status{flex-direction:column;gap:12px;display:flex}.tests-status-card{background:var(--surface);border-color:var(--border);position:relative;overflow:hidden}.tests-status-card:before{display:none}.tests-status-value{font-size:var(--text-2xl);color:var(--text-h);margin:0;font-weight:700}.tests-cart{flex-direction:column;gap:12px;display:flex}.tests-cart-head{align-items:center;gap:8px;display:flex}.tests-cart-head h3{font-size:var(--text-md);color:var(--text-h);margin:0;font-weight:800}.tests-cart-count{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.tests-cart-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tests-cart-item{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.tests-cart-item--expanded{flex-direction:column;align-items:stretch;gap:6px}.tests-cart-item-header{align-items:center;gap:8px;display:flex}.tests-cart-item-detail{align-items:center;gap:8px;padding:4px 0 0;display:flex}.tests-cart-item-metric{font-size:var(--text-xs);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--text-dim) 10%, transparent);color:var(--text-h);padding:2px 6px;font-weight:700}.tests-cart-item-metric--sig{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.tests-cart-item-metric--nonsig{background:color-mix(in srgb, var(--text-dim) 10%, transparent);color:var(--text-dim)}.tests-cart-item-info{font-size:var(--text-xs);color:var(--text-dim)}.tests-cart-item-formula{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--mono);margin:0;line-height:1.4}.tests-cart-item-type{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);flex-shrink:0;margin-right:4px;padding:2px 6px;font-size:9px;font-weight:700}.tests-cart-item-name{font-size:var(--text-sm);color:var(--text);flex:1;min-width:0;font-weight:600}.tests-cart-item-remove{font-size:0;line-height:1}.tests-cart-item-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.tests-cart-toggle{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius-full);padding:4px 12px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.tests-cart-toggle:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.tests-cart-toggle--active{color:#fff;background:var(--accent);border-color:var(--accent)}.tests-cart-toggle--active:hover{background:color-mix(in srgb, var(--accent) 85%, #000)}.tests-sidebar-dot--queued,.tests-cart-fab{display:none}.tests-cart-fab-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-3px;right:-3px;box-shadow:0 2px 6px #ef444466}.tests-cart-mobile-overlay{display:none}@media (width<=900px){.tests-cart-mobile-overlay{z-index:200;background:#00000073;justify-content:flex-end;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.tests-cart-mobile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:12px;width:min(320px,90vw);max-height:70vh;padding:16px;display:flex;overflow-y:auto;box-shadow:0 12px 40px #00000040}.tests-cart-mobile-close{width:28px;height:28px;margin-left:auto}.tests-cart-mobile-close:hover{color:var(--danger,#ef4444);background:#ef444414}.tests-cart-mobile-run{width:100%;margin-top:4px}}.tests-spotlight{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--code-bg) 40%, var(--surface) 60%) 100%);padding:16px}.tests-spotlight-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tests-spotlight-head h3{font-size:var(--text-lg);margin:0;font-weight:800}.tests-spotlight-count{font-size:var(--text-sm);color:var(--text-dim)}.tests-spotlight-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.tests-spotlight-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--code-bg);padding:12px 14px;transition:all .15s}.tests-spotlight-item:hover{transform:translateY(-1px);box-shadow:0 3px 12px #0b122014}.tests-spotlight-item--sig{background:linear-gradient(135deg, color-mix(in srgb, #34d399 8%, var(--surface) 92%), var(--surface));border-color:#34d399;border-left-style:solid;border-left-width:4px}.tests-spotlight-item--nonsig{background:linear-gradient(135deg, color-mix(in srgb, #f59e0b 8%, var(--surface) 92%), var(--surface));border-color:#f59e0b;border-left-style:solid;border-left-width:4px}.tests-spotlight-item--info{border-color:var(--accent-border);border-left:4px solid var(--accent)}.tests-spotlight-name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);margin:0}.tests-spotlight-metric{font-size:var(--text-2xl);color:var(--text-h);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:4px 0 2px;font-weight:800}.tests-spotlight-detail{font-size:var(--text-sm);color:var(--text);font-family:var(--mono);margin:0}.tests-formula-section{flex-direction:column;gap:10px;display:flex}.formula-card{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.formula-card-name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);margin:0;font-weight:700}.formula-card-expr{font-size:var(--text-base);font-family:var(--mono);color:var(--text-h);margin:0;font-weight:600;line-height:1.4}.formula-card-sub{font-size:var(--text-sm);font-family:var(--mono);color:var(--text);background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);margin:0;padding:6px 10px;line-height:1.5}.formula-card-result{font-size:var(--text-sm);font-family:var(--mono);color:var(--text-h);margin:0;font-weight:700}.tests-recommendations{flex-direction:column;gap:10px;display:flex}.tests-rec-card{border:1px solid var(--border);border-radius:var(--radius-md);border-left:3px solid var(--border);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.tests-rec-card--action{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, transparent)}.tests-rec-card--caution{border-left-color:var(--warn,#e5a500);background:color-mix(in srgb, var(--warn,#e5a500) 4%, transparent)}.tests-rec-card--ok{border-left-color:var(--success,#16a34a);background:color-mix(in srgb, var(--success,#16a34a) 4%, transparent)}.tests-rec-title{font-size:var(--text-sm);color:var(--text-h);margin:0;font-weight:700}.tests-rec-body{font-size:var(--text-sm);color:var(--text);margin:0;line-height:1.5}.test-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tests-grid{grid-template-columns:1fr;gap:10px;display:grid}.stat-test-card{border:1px solid var(--border);background:var(--code-bg);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:16px;transition:all .15s;display:flex}.stat-test-card:hover{box-shadow:0 2px 12px #0b12200f}.stat-test-card h3{font-size:var(--text-md);color:var(--text-h);margin:0;font-weight:800}.test-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.test-card-head label{font-size:var(--text-sm);color:var(--text);align-items:center;gap:6px;display:inline-flex}.test-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.test-controls--stack{grid-template-columns:1fr}.test-controls select,.test-controls input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;color:var(--text-h);font-size:var(--text-base);padding:8px 28px 8px 10px;transition:all .15s}.test-controls select:hover,.test-controls input:hover{border-color:var(--accent-border)}.test-controls select:focus,.test-controls input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.test-controls select[multiple]{min-height:82px}.reg-predictor-picker{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);flex-wrap:wrap;gap:6px;max-height:200px;padding:8px;display:flex;overflow:auto}.reg-predictor-option{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;transition:all .12s;display:inline-flex}.reg-predictor-option:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.reg-predictor-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.reg-predictor-option input[type=checkbox]{flex-shrink:0;width:14px;height:14px;margin:0}.reg-predictor-option span{font-size:var(--text-sm);color:var(--text);white-space:nowrap}.reg-predictor-option:has(input:checked) span{color:var(--text-h);font-weight:600}.test-result{color:var(--text);font-size:12px;font-family:var(--sans);margin:2px 0 0;font-weight:600}.tests-run-bar{border:1px solid var(--accent-border);background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 78%, var(--accent-bg) 22%) 0%, var(--surface) 100%);z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 0;padding:10px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #0b12201f,0 2px 8px #0b12200f}.data-viewer-backdrop{z-index:120;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.data-viewer-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(1280px,97vw);max-height:82vh;box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:16px;display:flex}.clean-apply-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(420px,92vw);box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.clean-apply-modal h3{font-size:var(--text-xl);color:var(--text-h);margin:0}.clean-apply-modal p{font-size:var(--text-base);color:var(--text-dim);margin:0}.analyse-panel.protected-mode{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.analyse-panel.protected-mode input,.analyse-panel.protected-mode textarea,.analyse-panel.protected-mode select,.analyse-panel.protected-mode button,.analyse-panel.protected-mode .data-viewer-modal{-webkit-user-select:text;user-select:text}.analyse-panel.protected-mode img,.analyse-panel.protected-mode svg{-webkit-user-drag:none}.data-viewer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.data-viewer-modal .stats-table{min-width:980px}.data-viewer-modal .stats-table th{background:color-mix(in srgb, var(--code-bg) 92%, #0b1220 8%);position:sticky;top:0}.data-viewer-modal .stats-table thead th{color:var(--text-h);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.data-viewer-modal .stats-table td,.data-viewer-modal .stats-table th{white-space:nowrap}.about-modal{width:min(760px,96vw)}.home-confirm-actions{align-items:center;gap:10px;margin-top:2px;display:flex}.home-confirm-actions .btn-sm{justify-content:center;min-width:110px}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.about-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:12px}.about-card p{font-size:var(--text-md);color:var(--text);margin:0;line-height:1.55}.about-links{align-items:center;gap:8px;display:inline-flex}.about-links a{color:var(--accent);font-weight:700;text-decoration:none}.about-links a:hover{text-decoration:underline}.test-checklist{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 10px;max-height:110px;padding:8px;display:grid;overflow:auto}@media (width<=900px){.app-action-bar{flex-direction:column;align-items:stretch}.app-action-bar-buttons{justify-content:flex-start}.outlier-iqr-config-row{grid-template-columns:1fr}.tests-builder{grid-template-columns:165px minmax(0,1fr);align-items:start}.tests-sidebar-nav{border-right:1px solid var(--border);border-bottom:0;flex-flow:column;gap:2px;padding:0 10px 0 0;overflow:visible}.tests-sidebar-group{flex-flow:column;gap:2px;margin-bottom:8px}.tests-sidebar-group-title{padding:3px 8px;display:block}.tests-sidebar-item{white-space:normal;border-radius:var(--radius-sm);border:none;padding:7px 8px;font-size:11px}.tests-sidebar-item--active{box-shadow:inset 3px 0 0 var(--accent)}.tests-status,.tests-cart{grid-column:1/-1;display:none}.tests-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tests-config-footer,.tests-recommend-banner{flex-direction:column;align-items:stretch}.analyse-overview{grid-template-columns:1fr}.analyse-panel .insight-cards{grid-template-columns:1fr 1fr}.clean-feature-callout{flex-direction:column;align-items:stretch}.upload-hero,.about-grid,.upload-support-grid,.preview-content-layout{grid-template-columns:1fr}.preview-schema-sidebar{border-right:none;border-bottom:1px solid var(--border)}}.test-checklist label{font-size:var(--text-sm);color:var(--text);align-items:center;gap:6px;display:inline-flex}@media (width<=920px){.tests-toolbar{flex-direction:column;align-items:flex-start}.tests-prefill-head{flex-direction:column}.tests-selector-grid,.test-controls{grid-template-columns:1fr}.test-field--span-2{grid-column:auto}.tests-run-bar{padding:8px 10px;bottom:4px}.tests-run-bar .btn-primary{justify-content:center;width:100%}}@media (width<=760px){.tests-selector,.tests-prefill-head,.tests-selector-grid{display:none}.tests-builder{grid-template-columns:1fr;gap:10px}.tests-sidebar-nav{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:2px solid var(--border);scrollbar-width:none;flex-direction:row;gap:0;padding:0;overflow:auto hidden}.tests-sidebar-nav::-webkit-scrollbar{display:none}.tests-sidebar-group{white-space:nowrap;flex-direction:row;flex-shrink:0;align-items:center;gap:6px;margin-bottom:0}.tests-sidebar-group-title{border-radius:var(--radius-full);background:var(--code-bg);margin:0;padding:4px 8px;display:inline-block}.tests-sidebar-item{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-full);width:auto;padding:6px 10px;font-size:12px}.tests-sidebar-item--active{box-shadow:none;border-color:var(--accent)}.tests-recommend-banner{display:none}.tests-builder-main{gap:8px}.tests-config-footer{flex-direction:column;align-items:stretch;gap:8px}.test-actions-row{flex-wrap:wrap;gap:6px}.tests-mobile-results{flex-direction:column;gap:10px;margin-top:4px;display:flex}.tests-mobile-results .tests-spotlight{margin-top:0;padding:12px}.tests-mobile-results .tests-spotlight-grid{grid-template-columns:1fr;gap:6px}.tests-mobile-results .tests-spotlight-item{padding:10px 12px}.tests-mobile-results .tests-spotlight-metric{font-size:var(--text-xl)}.tests-mobile-results .tests-formula-section{margin-top:0}.tests-mobile-results .formula-card{padding:10px 12px}}.heatmap-wrap{flex-direction:column;gap:10px;padding:4px 0 8px;display:flex;overflow-x:auto}.heatmap-legend{font-size:var(--text-xs);color:var(--text-dim);align-items:center;gap:10px;padding-left:4px;font-weight:700;display:flex}.heatmap-scale{border-radius:var(--radius-sm);background:linear-gradient(90deg,#dc2626,#f8fafc 50%,#0d9488);flex-shrink:0;width:200px;height:10px}.analyse-panel .freq-tabs{padding:12px 16px}.encoding-log-bar{font-size:var(--text-sm);background:#f0fdf4;border-bottom:1px solid #bbf7d0;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:8px 16px;display:flex}.encoding-log-label{color:#166534;white-space:nowrap;flex-shrink:0;font-weight:700}.encoding-log-items{flex-wrap:wrap;gap:5px;display:flex}.encoding-log-chip{color:#15803d;border-radius:var(--radius-sm);font-size:var(--text-xs);background:#dcfce7;padding:2px 8px;font-weight:500}.encoding-log-chip strong{font-weight:700}.chart-sample-note{text-align:right;font-size:var(--text-xs);color:var(--text-dim);padding:2px 4px;display:block}.vis-mode-toggle{gap:var(--tab-gap);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:var(--space-1);align-self:stretch;display:flex;overflow:hidden;box-shadow:0 1px 4px #0b12200f}.vis-mode-btn{all:unset;cursor:pointer;padding:var(--tab-pad-y) var(--tab-pad-x);font-size:var(--text-sm);color:var(--text-dim);background:var(--surface);text-align:center;border-radius:var(--radius-full);border-right:0;flex:1;font-weight:700;transition:all .15s}.vis-mode-btn.active{background:var(--accent);color:#fff;box-shadow:inset 0 1px 3px #00000026}.vis-mode-btn:hover:not(.active){background:var(--code-bg);color:var(--text-h)}.vis-mode-btn.is-locked,.vis-mode-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=760px){.vis-mode-toggle{border-width:1px}.vis-mode-btn{padding:6px 10px;font-size:11px;font-weight:600}}.vis-insight-pill{border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-weight:600;display:inline-flex}.vis-insight-pill--warning{background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning)}.vis-insight-pill--info{background:var(--info-bg);color:var(--info-text)}.vis-insight-icon{font-size:var(--text-sm)}.strongest-pairs{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.sp-label{color:var(--text-dim);flex-shrink:0;font-weight:700}.sp-chip{all:unset;cursor:pointer;border-radius:var(--radius-full);font-size:var(--text-sm);background:var(--surface);border:1.5px solid var(--border);color:var(--text-h);align-items:center;gap:5px;padding:5px 12px;font-weight:600;transition:all .15s;display:flex}.sp-chip:hover{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 12%, transparent)}.sp-r{color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:500}.sp-r--high{color:var(--accent);font-weight:700}.card-badge{letter-spacing:var(--tracking-wide);border-radius:var(--radius-xs);text-transform:uppercase;margin-left:4px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.card-badge--ok{color:#166534;background:#dcfce7}.card-badge--info{color:#0369a1;background:#e0f2fe}.card-badge--warn{color:#92400e;background:#fef3c7}.card-badge--danger{color:#991b1b;background:#fee2e2}.enc-uniq-vals{color:var(--text-dim);font-size:var(--text-sm);margin-top:3px;display:block}.svg-chart{width:100%;max-height:400px;display:block;overflow:visible}.analyse-panel .svg-chart{max-height:340px}.insight-panel{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);border-left:3px solid var(--accent);margin:16px 0 0;padding:16px 20px}.insight-panel-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--accent);margin:0 0 10px;font-weight:800}.insight-panel-list{font-size:var(--text-sm);color:var(--text);margin:0;padding-left:18px;line-height:1.6;list-style:outside}.insight-panel-list li{margin-bottom:6px}.insight-sub-list{color:var(--text-dim);margin:2px 0 4px;padding-left:16px;font-size:11.5px;list-style:circle}.freq-block-head,.freq-card-header{align-items:center;gap:8px;margin-bottom:0;display:flex}.freq-block-head h3,.freq-card-title{margin:0;font-weight:700}.freq-badge,.freq-card-badge{background:var(--accent);color:#fff;border-radius:var(--radius-full);white-space:nowrap;padding:2px 7px;font-size:9px;font-weight:600}.freq-scroll-wrap{flex:auto;max-height:320px;overflow-y:auto}.freq-scroll-wrap .stats-table th,.freq-scroll-wrap .stats-table td{font-weight:400}.freq-scroll-wrap thead{z-index:1;position:sticky;top:0}.freq-expand-btn,.freq-card-toggle{font-size:var(--text-xs);color:var(--accent);margin-top:4px;font-weight:600}.vis-stats-row{border-top:2px solid var(--border);background:var(--surface);z-index:4;box-shadow:none;flex-wrap:wrap;gap:0;padding:0;display:flex;position:static}.vis-stat{border-right:1px solid var(--border);flex-direction:column;flex:1;align-items:center;min-width:72px;padding:10px 8px;display:flex}.vis-stat:last-child{border-right:none}.vis-stat-label{text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);margin-bottom:2px;font-size:9px;font-weight:700}.vis-stat-value{font-size:var(--text-md);color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:700}@media (width<=760px){.vis-chart-card .chart-controls{gap:10px;padding:10px 12px}.vis-chart-card .chart-controls .ctrl-group{width:calc(50% - 5px);min-width:0}.vis-chart-card .chart-body{gap:10px;padding:12px 10px}.vis-stats-row{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:6px;display:grid}.vis-stat{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;padding:9px 6px}.vis-stat-label{font-size:8px}.vis-stat-value{font-size:13px}.vis-chart-footer{padding:10px}}.chart-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);text-align:center;margin:8px 0 2px;font-weight:800}.corr-heatmap-large{width:100%;min-width:0;max-width:920px;margin:0 auto;overflow-x:auto}@media (width<=760px){.corr-heatmap-large{max-height:360px;overflow:auto}}.analyse-panel .analyse-section-card{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);border-radius:10px}.analyse-section-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.analyse-section-card-head h3{color:var(--text-h);font-size:var(--text-lg);margin:0}.analyse-ml-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.analyse-ml-kpi{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--code-bg) 80%, var(--surface));flex-direction:column;gap:6px;padding:14px;display:flex}.analyse-ml-kpi-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:800}.analyse-ml-kpi strong{color:var(--text-h);font-size:var(--text-xl)}.analyse-ml-usecases{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.analyse-ml-usecase-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:10px;padding:14px;display:flex}.analyse-ml-usecase-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.analyse-ml-usecase-head h4{color:var(--text-h);font-size:var(--text-base);margin:0}.analyse-ml-mode-pill{background:var(--accent-bg);min-height:24px;color:var(--accent);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-weight:800;display:inline-flex}.analyse-ml-detail-list{gap:8px;margin:0;display:grid}.analyse-ml-detail-list div{gap:3px;display:grid}.analyse-ml-detail-list dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:800}.analyse-ml-detail-list dd{color:var(--text);margin:0;line-height:1.45}.analyse-ml-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.analyse-ml-columns h3{color:var(--text-h);font-size:var(--text-lg);margin:0 0 10px}.analyse-ml-ordered-list{padding-left:18px}@media (width<=980px){.analyse-ml-grid,.analyse-ml-usecases,.analyse-ml-columns{grid-template-columns:1fr}}.normality-method-bar{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.normality-method-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-dim);white-space:nowrap;font-weight:700}.normality-method-select{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface);font-size:var(--text-sm);color:var(--text);padding:5px 28px 5px 10px}.normality-test-note{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 8px;padding:0 2px;font-weight:600}.corr-table-toggle-row{padding:10px 14px 2px}.corr-palette-row{justify-content:flex-end;align-items:center;gap:8px;padding:12px 14px 4px;display:flex}.corr-palette-label{font-size:var(--text-sm);color:var(--text-dim);font-weight:700}.corr-table-toggle{margin:0;display:inline-flex}.corr-table-scroll{margin-top:10px}.corr-table thead th{text-align:center;min-width:60px}.corr-table tbody th{text-align:right;color:var(--text-dim);font-weight:600;font-size:var(--text-sm);white-space:nowrap;padding-right:10px}.corr-table td{text-align:center;font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.ml-panel{flex-direction:column;gap:0;display:flex}.ml-row{border-bottom:1px solid var(--border);padding:14px 16px}.ml-row:last-child{border-bottom:none}.ml-row--top{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.ml-field{flex-direction:column;gap:5px;min-width:140px;display:flex}.ml-field--narrow{min-width:70px;max-width:90px}.ml-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px;font-weight:700}.ml-toggle-group{border-radius:var(--radius-md);border:1px solid var(--border);display:inline-flex;overflow:hidden}.ml-toggle-btn{background:var(--surface);color:var(--text-dim);font-size:var(--text-sm);cursor:pointer;border:none;padding:6px 14px;font-weight:600;transition:background .15s,color .15s}.ml-toggle-btn--active{background:var(--accent);color:#fff}.ml-custom-select{width:100%;display:inline-block;position:relative}.ml-custom-select select{appearance:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;text-overflow:ellipsis;-webkit-tap-highlight-color:transparent;background-image:none;width:100%;padding:6px 28px 6px 10px;transition:border-color .15s,box-shadow .15s}.ml-custom-select:after{content:"▼";color:var(--text-dim);pointer-events:none;font-size:9px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ml-custom-select--sm select{font-size:var(--text-xs);padding:5px 24px 5px 8px}.ml-input{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--text-sm);box-sizing:border-box;width:100%;padding:6px 10px}.ml-input--sm{font-size:var(--text-xs);max-width:90px;padding:5px 8px}.ml-input:focus,.ml-custom-select select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.ml-row--params{flex-direction:column;gap:10px;display:flex}.ml-row-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:11px;font-weight:700}.ml-section-head{border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--text-h);align-items:center;padding:12px 16px;font-weight:700;display:flex}.ml-params-grid{flex-wrap:wrap;gap:12px;display:flex}.ml-param{flex-direction:column;gap:4px;min-width:100px;display:flex}.ml-param-label{color:var(--text-dim);cursor:help;font-size:10px;font-weight:600}.ml-row--features{flex-direction:column;gap:10px;display:flex}.ml-features-head{justify-content:space-between;align-items:center;display:flex}.ml-features-actions{gap:10px;display:flex}.ml-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.ml-chips{flex-wrap:wrap;gap:5px;display:flex}.ml-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.ml-chip:hover{border-color:var(--accent)}.ml-chip--on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.ml-chip--cat{font-style:italic}.ml-chip-badge{opacity:.55;text-transform:uppercase;font-size:8px;font-weight:800}.ml-row--action{align-items:center;gap:14px;display:flex}.ml-train-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;font-size:var(--text-sm);cursor:pointer;border:none;padding:9px 24px;font-weight:700;transition:opacity .15s}.ml-train-btn:disabled{opacity:.4;cursor:not-allowed}.ml-meta{color:var(--text-dim);font-size:11px}.ml-error{border-radius:var(--radius-md);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);font-size:var(--text-sm);margin:0;padding:8px 12px;font-weight:600}.ml-error-row{align-items:center;gap:10px;margin:10px 16px 0;display:flex}.ml-retry-btn{border-radius:var(--radius-md);border:1px solid var(--danger);color:var(--danger);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 14px;font-weight:700;transition:background .15s}.ml-retry-btn:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.ml-recommend{color:var(--accent);cursor:pointer;opacity:.75;text-transform:none;letter-spacing:0;font-size:9px;font-weight:600}.ml-recommend:hover{opacity:1;text-underline-offset:2px;text-decoration:underline}.ml-loading{flex-direction:column;align-items:flex-start;gap:8px;min-width:min(280px,100%);display:flex}.ml-loading-head{align-items:center;gap:8px;width:100%;display:flex}.ml-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite ml-spin}@keyframes ml-spin{to{transform:rotate(360deg)}}.ml-loading-text{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.ml-loading-time{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.ml-progress{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:999px;width:100%;max-width:360px;height:8px;overflow:hidden}.ml-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 65%, white));height:100%;transition:width .2s}.ml-warnings{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:10px 16px;display:flex}.ml-warning{border-radius:var(--radius-md);color:#b45309;font-size:var(--text-sm);background:#f59e0b1f;border-left:3px solid #f59e0b;padding:7px 12px;line-height:1.45}.ml-result-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:12px 16px 10px;display:flex}.ml-result-title{font-size:var(--text-lg);color:var(--text-h);align-items:center;gap:8px;margin:4px 0 0;display:flex}.ml-result-task{text-transform:uppercase;background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.ml-badge{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;padding:5px 12px;font-weight:700}.ml-metrics{border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:14px 16px;display:grid}.ml-metric{border-radius:var(--radius-md);background:color-mix(in srgb, var(--code-bg) 60%, var(--surface));border:1px solid var(--border);flex-direction:column;gap:3px;padding:10px;display:flex}.ml-metric-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:9px;font-weight:700}.ml-metric-val{font-size:var(--text-base);color:var(--text-h)}.ml-split-bar{color:var(--text-dim);flex-wrap:wrap;gap:6px 14px;padding:10px 16px;font-size:11px;display:flex}.ml-split-more{color:var(--text-dim);opacity:.6}.ml-table-wrap{padding:12px 16px 16px;overflow-x:auto}.ml-table-wrap--scroll{max-height:420px;overflow-y:auto}.ml-table-wrap--scroll thead{z-index:1;position:sticky;top:0}.ml-cm-table,.ml-pred-table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.ml-cm-table th,.ml-cm-table td,.ml-pred-table th,.ml-pred-table td{border:1px solid var(--border);text-align:center;white-space:nowrap;min-width:36px;padding:7px 10px}.ml-cm-table th,.ml-pred-table th{background:color-mix(in srgb, var(--code-bg) 80%, var(--surface));text-transform:uppercase;color:var(--text-dim);letter-spacing:.04em;font-size:10px;font-weight:700}.ml-cm-table tbody th,.ml-pred-table tbody th{text-transform:none;letter-spacing:0;color:var(--text);background:color-mix(in srgb, var(--code-bg) 50%, var(--surface));font-size:11px}.ml-cm-diag{font-weight:700}.ml-cm-report{padding:12px 16px 16px}.ml-cm-summary{font-size:var(--text-sm);color:var(--text);margin:0 0 12px}.ml-cm-compact{border-collapse:collapse;font-size:var(--text-sm);width:100%}.ml-cm-compact th,.ml-cm-compact td{border:1px solid var(--border);text-align:left;padding:6px 12px}.ml-cm-compact th{background:color-mix(in srgb, var(--code-bg) 80%, var(--surface));text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:700}.ml-cm-class-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:600;overflow:hidden}.ml-row-ok td:last-child{color:var(--success);font-weight:700}.ml-row-err td:last-child{color:var(--danger);font-weight:600}.ml-fi-list{flex-direction:column;gap:8px;padding:14px 20px 18px;display:flex}.ml-fi-row{grid-template-columns:minmax(140px,190px) minmax(0,1fr) 64px;align-items:center;gap:12px;display:grid}.ml-fi-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.ml-fi-track{background:color-mix(in srgb, var(--border) 50%, transparent);border-radius:4px;min-width:0;height:7px;overflow:hidden}.ml-fi-bar{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.ml-fi-val{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;padding-right:2px;font-size:10px}.stats-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.stats-panel>h2{padding:var(--widget-header-pad);font-size:var(--text-lg);letter-spacing:.01em;background:var(--code-bg);border-bottom:1px solid var(--border);margin:0;font-weight:700}.stats-panel-section-head{padding:var(--widget-header-pad);border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 74%, var(--accent-bg) 26%) 0%, var(--surface) 100%)}.stats-panel-table-card{margin:var(--space-4) var(--widget-pad) var(--widget-pad)}.tab-bar{border-bottom:2px solid var(--border);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--code-bg) 30%, var(--surface) 70%) 100%);padding:var(--space-4) var(--widget-pad) var(--space-3);gap:var(--tab-gap);flex-wrap:wrap;display:flex}.tab-btn{padding:var(--tab-pad-y) var(--tab-pad-x);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-radius:var(--radius-full);cursor:pointer;color:var(--text-dim);white-space:nowrap;background:0 0;border:1.5px solid #0000;margin-bottom:0;font-weight:700;transition:all .15s;position:relative}.tab-btn:hover{color:var(--text-h);background:var(--code-bg);border-color:var(--border)}.tab-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-bg);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 15%, transparent)}.tab-btn.is-locked,.tab-btn:disabled{opacity:.55;cursor:not-allowed}.analyse-context-bar{justify-content:space-between;align-items:flex-start;gap:var(--widget-gap);padding:var(--widget-pad) var(--widget-pad-lg);border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 74%, var(--accent-bg) 26%) 0%, var(--surface) 100%);display:flex;position:relative}.analyse-context-bar:after{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 30%, transparent), transparent);height:2px;position:absolute;bottom:0;left:20px;right:20px}.analyse-context-kicker{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-weight:800}.analyse-context-title{font-size:var(--text-xl);color:var(--text-h);margin:0 0 4px;font-weight:800}.analyse-context-text{font-size:var(--text-base);color:var(--text);margin:0;line-height:1.55}.analyse-context-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.analyse-context-meta{font-size:var(--text-sm);color:var(--text-dim);font-family:var(--mono);margin:0}.table-scroll{scrollbar-gutter:stable;flex:1;min-height:0;padding:0;overflow:auto}@media (width<=760px){.table-scroll{scrollbar-width:none}.table-scroll::-webkit-scrollbar{display:none}}.analyse-section-card{border:1px solid var(--border);background:var(--surface);border-radius:0;overflow:hidden}.analyse-section-card>.warning-msg{margin:0;padding:16px 20px}.analyse-section-card>.insight-panel{margin:16px 20px}.stats-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--text-base)}.stats-table thead th{text-align:right;font-weight:800;font-size:var(--text-sm);text-transform:none;letter-spacing:.01em;color:var(--text-h);background:var(--code-bg);border-right:1px solid var(--border);border-bottom:2px solid var(--border);white-space:nowrap;min-width:84px;padding:10px 14px;position:relative}.stats-panel .stats-table thead th{z-index:2;position:sticky;top:0}.stats-panel .stats-table thead th:first-child{z-index:3}.freq-block .stats-table thead th,.analyse-panel .stats-table thead th{color:var(--text-h)}.stats-table thead th:first-child{text-align:left;z-index:2;min-width:160px;position:sticky;left:0}.stats-table thead th:last-child{border-right:none}.stats-table tbody td{text-align:right;color:var(--text-h);border-bottom:1px solid var(--border);border-right:1px solid color-mix(in srgb, var(--border) 50%, transparent);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--text-base);padding:10px 16px;transition:background 80ms}.stats-table tbody td:first-child{text-align:left;color:var(--text-h);z-index:1;background:var(--surface);font-weight:600;position:sticky;left:0}.stats-table tbody tr:nth-child(2n) td:first-child{background:var(--code-bg)}.stats-table tbody td:last-child{border-right:none}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover td{background:var(--accent-bg)!important}.stats-table tbody tr:nth-child(2n) td{background:var(--code-bg)}.cell-heat-hi{font-weight:700;background:linear-gradient(135deg, color-mix(in srgb, var(--warning) 16%, var(--surface)) , color-mix(in srgb, var(--warning) 8%, var(--surface)))!important;color:var(--text-h)!important}.cell-heat-lo{font-weight:700;background:linear-gradient(135deg, color-mix(in srgb, var(--success) 14%, var(--surface)) , color-mix(in srgb, var(--success) 6%, var(--surface)))!important;color:var(--text-h)!important}.cell-heat-neg{background:linear-gradient(135deg, color-mix(in srgb, var(--danger) 14%, var(--surface)) , color-mix(in srgb, var(--danger) 6%, var(--surface)))!important;color:var(--text-h)!important}.corr-table tbody th{text-align:left;color:var(--text-h);background:var(--code-bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600;font-size:var(--text-base);z-index:1;padding:9px 14px;position:sticky;left:0}.corr-toolbar{padding:var(--space-4) var(--widget-pad) 0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.corr-toolbar-label{font-size:var(--text-sm);color:var(--text-dim);font-weight:700}.corr-palette-select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);min-width:132px;color:var(--text-h);font-size:var(--text-sm);padding:7px 28px 7px 10px;font-weight:600}.corr-palette-select:focus{border-color:color-mix(in srgb, var(--accent) 65%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-bg) 60%, transparent);outline:none}.corr-table{margin:0 auto}.analyse-section-card>.table-scroll:has(.corr-table){justify-content:center;padding:12px;display:flex}.freq-tabs{gap:var(--widget-gap-sm);padding:var(--widget-pad);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;display:grid}.freq-block,.freq-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.freq-card-header{background:var(--code-bg);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;display:flex}.freq-card-title{font-size:var(--text-sm);color:var(--text-h);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0;font-weight:700}.freq-card-badge{background:var(--accent);color:#fff;border-radius:var(--radius-full);white-space:nowrap;margin-left:auto;padding:2px 7px;font-size:9px;font-weight:600}.freq-card-body{flex-direction:column;gap:4px;max-height:340px;padding:8px 14px;display:flex;overflow-y:auto}.freq-row{font-size:var(--text-sm);grid-template-columns:minmax(80px,1.5fr) minmax(60px,2fr) auto auto;align-items:center;gap:8px;padding:4px 0;display:grid}.freq-row-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.freq-row-bar-track{background:color-mix(in srgb, var(--border) 60%, transparent);border-radius:3px;height:6px;overflow:hidden}.freq-row-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .2s}.freq-row-count{font-variant-numeric:tabular-nums;color:var(--text-h);font-weight:600;font-size:var(--text-xs);text-align:right;min-width:32px}.freq-row-pct{font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:var(--text-xs);text-align:right;min-width:40px}.freq-card-toggle{border-top:1px solid var(--border);text-align:center;font-size:var(--text-xs);color:var(--accent);border-radius:0;margin:0;padding:8px 14px;font-weight:600}.freq-more{font-size:var(--text-xs);color:var(--text-dim);margin:4px 0 0;font-style:italic}.normal-yes{color:var(--success);font-weight:800}.normal-no{color:var(--text-h);font-weight:800}.normality-charts{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px 0;display:grid}.normality-chart-card{border:1.5px solid color-mix(in srgb, var(--norm-color,var(--accent)) 40%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--norm-color,var(--accent)) 4%, var(--code-bg));cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 8px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}.normality-chart-card:hover{box-shadow:0 4px 16px color-mix(in srgb, var(--norm-color,var(--accent)) 20%, transparent);border-color:var(--norm-color,var(--accent));transform:translateY(-2px)}.normality-chart-label{font-size:var(--text-xs);color:var(--text-h);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.normality-svg{width:100%;height:auto}.normality-verdict{text-transform:uppercase;letter-spacing:var(--tracking-wider);font-size:9px;font-weight:800}.normality-zoom-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.normality-zoom-modal{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:700px;padding:24px;display:flex;box-shadow:0 20px 60px #0000004d}.normality-zoom-head{justify-content:space-between;align-items:center;display:flex}.normality-zoom-head h3{font-size:var(--text-xl);color:var(--text-h);margin:0;font-weight:700}.normality-zoom-svg{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);width:100%;height:auto;padding:12px}.normality-zoom-stats{font-size:var(--text-sm);color:var(--text);flex-wrap:wrap;gap:16px;display:flex}.normality-zoom-stats strong{color:var(--text-h)}.normality-zoom-shape{font-size:var(--text-sm);color:var(--text-dim);margin:0;font-style:italic}.insight-cards{background:0 0;border-bottom:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;display:grid}.insight-card{background:var(--surface);border:none;border-right:1px solid var(--border);border-left:none;border-radius:0;padding:14px 16px;transition:background .12s;position:relative;overflow:hidden}.insight-card:last-child{border-right:none}.insight-card:hover{background:var(--code-bg)}.insight-card-val{font-size:var(--text-3xl);color:var(--text-h);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);font-weight:800;line-height:1}.insight-card-lab{color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-top:4px;font-size:9px;font-weight:700}.insight-card-note{font-size:var(--text-xs);color:var(--text-dim);margin-top:4px;line-height:1.3}.insight-card--warn .insight-card-val{color:var(--warning)}.insight-card--warn .insight-card-lab:before{content:none}.insight-card--warn{background:var(--surface)}.insight-card--ok .insight-card-val{color:var(--success)}.insight-card--ok .insight-card-lab:before{content:none}.insight-card--ok{background:var(--surface)}@media (width<=900px){.tab-bar{gap:5px;padding:10px 12px 8px}.tab-btn{font-size:var(--text-xs);padding:8px 12px}.analyse-context-bar{flex-direction:column;align-items:stretch;padding:12px 14px}.analyse-context-actions{justify-content:flex-start}.insight-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.stats-panel>h2,.stats-panel-section-head{padding:10px 12px}.stats-panel-table-card{margin:10px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.stats-table{font-size:11px}.stats-table thead th{min-width:60px;padding:6px 8px;font-size:10px}.stats-table thead th:first-child{min-width:100px}.stats-table tbody td{padding:5px 8px;font-size:11px}.freq-tabs{grid-template-columns:1fr;padding:10px}.normality-charts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.normality-zoom-backdrop{padding:12px}.normality-zoom-modal{gap:10px;padding:14px}.insight-cards{grid-template-columns:1fr}.insight-card{padding:10px 12px}.insight-card-val{font-size:var(--text-xl)}.tab-bar{gap:4px;padding:8px 10px 6px}.tab-btn{padding:6px 10px;font-size:10px}}.export-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.export-panel>h2{padding:var(--widget-header-pad);font-size:var(--text-lg);letter-spacing:.01em;background:var(--code-bg);border-bottom:1px solid var(--border);margin:0;font-weight:700}.ep-header{padding:var(--widget-header-pad);border-bottom:1px solid var(--border);background:var(--code-bg)}.ep-header h2{font-size:var(--text-2xl);color:var(--text-h);margin:0 0 2px;font-weight:800}.ep-subtitle{font-size:var(--text-base);color:var(--text-dim);margin:0}.ep-dataset-name-row{align-items:center;gap:10px;margin-top:10px;display:flex}.ep-dataset-name-input{max-width:360px}.ep-type-selector{padding:var(--widget-pad);border-bottom:1px solid var(--border)}.ep-type-selector h3{font-size:var(--text-sm);color:var(--text-h);margin:0 0 8px;font-weight:700}.ep-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=1100px){.ep-type-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (width<=760px){.ep-type-grid{grid-template-columns:repeat(2,1fr);gap:6px}.ep-type-card{align-items:flex-start;gap:6px;padding:8px 9px}.ep-type-icon{font-size:13px}.ep-type-label{font-size:11px;line-height:1.2}.ep-type-desc{display:none}.ep-header{padding:6px 10px}.ep-header h2{font-size:var(--text-base)}.ep-subtitle{font-size:10px;display:none}.ep-type-selector{padding:8px 10px}.ep-type-selector h3{margin-bottom:6px;font-size:11px}.ep-customizer{padding:8px 10px}.ep-customizer-header h3{font-size:var(--text-sm)}.ep-customizer-header p{padding:3px 6px;font-size:9px;display:none}.ep-col-chip{gap:3px;padding:2px 6px 2px 5px;font-size:9px}.ep-col-chip-type{width:12px;height:12px;font-size:7px}.ep-vis-hint{font-size:10px}}@media (width<=460px){.ep-type-grid{grid-template-columns:repeat(2,1fr)}}.ep-type-card{background:var(--code-bg);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;flex-direction:row;align-items:flex-start;gap:10px;min-width:0;padding:12px 14px;transition:all .15s;display:flex;position:relative}.ep-type-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ep-type-card:hover:not(:disabled){border-color:var(--accent);box-shadow:0 1px 6px color-mix(in srgb, var(--accent) 12%, transparent)}.ep-type-card:disabled{opacity:.45;cursor:not-allowed}.ep-type-card--coming-soon{opacity:.65}.ep-coming-soon-tag{text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(135deg, var(--accent), var(--accent2,#6366f1));color:#fff;border-top-right-radius:var(--radius-md);border-bottom-left-radius:4px;padding:2px 4px;font-size:7px;font-weight:700;line-height:1;position:absolute;top:-1px;right:-1px}.ep-type-card--active{border-color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.ep-type-icon{font-size:var(--text-xl);flex-shrink:0}.ep-type-label{font-size:var(--text-md);color:var(--text-h);white-space:normal;overflow-wrap:anywhere;font-weight:700}.ep-type-desc{font-size:var(--text-xs);color:var(--text-dim);line-height:1.35;display:block}@media (width>=1101px){.ep-type-card{gap:11px;padding:14px 16px}.ep-type-icon{font-size:var(--text-xl)}.ep-type-label{font-size:var(--text-lg)}}.ep-lock-note{color:#b45309;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;margin-top:2px;padding:2px 8px;font-size:10px;font-weight:700}.ep-customizer{padding:var(--widget-pad-lg) var(--widget-pad-lg) calc(var(--widget-pad-lg) + var(--space-2))}.ep-customizer-header{margin-bottom:12px}.ep-customizer-header h3{font-size:var(--text-lg);color:var(--text-h);margin:0 0 4px;font-weight:800}.ep-customizer-header p{font-size:var(--text-sm);color:var(--text-dim);background:color-mix(in srgb, var(--code-bg) 72%, var(--surface) 28%);border-radius:var(--radius-sm);border-left:2px solid var(--accent);margin:0;padding:4px 8px}.ep-format-toggle{align-items:center;gap:var(--tab-gap);margin-top:var(--space-4);display:flex}.ep-format-label{font-size:var(--text-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:700}.ep-fmt-btn{min-height:32px}.ep-fmt-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.ep-fmt-btn:hover:not(.ep-fmt-btn--active){background:var(--code-bg);border-color:var(--border-h)}.ep-data-preview{flex-direction:column;gap:8px;padding:16px;display:flex}.ep-data-preview-header{justify-content:space-between;align-items:center;display:flex}.ep-data-preview-header h4{font-size:var(--text-md);margin:0;font-weight:800}.ep-data-preview-tabs{gap:2px;display:flex}.ep-data-tab{font-size:var(--text-xs);background:var(--code-bg);border:1px solid var(--border);color:var(--text-dim);cursor:default;padding:4px 10px;font-weight:700}.ep-data-tab--active{background:var(--accent);color:#fff;border-color:var(--accent)}.ep-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.ep-builder-layout{gap:var(--widget-gap);grid-template-columns:190px minmax(0,1fr);align-items:start;display:grid}.ep-builder-nav{gap:var(--tab-gap);border-right:1px solid var(--border);flex-direction:column;padding-right:12px;display:flex}.ep-builder-nav-item{all:unset;cursor:pointer;font-size:var(--text-sm);padding:var(--tab-pad-y) var(--space-4);color:var(--text);border-radius:var(--radius-full);border-left:3px solid #0000;transition:background .1s,border-color .1s}.ep-builder-nav-item:hover{background:var(--code-bg)}.ep-builder-nav-item.active{background:var(--accent-bg);color:var(--accent);border-left-color:var(--accent);font-weight:700}.ep-builder-content{min-width:0}.ep-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 10px #0b12200d}.ep-card--accent{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.ep-card-head{background:var(--code-bg);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.ep-card-head h4{font-size:var(--text-base);color:var(--text-h);flex:1;margin:0;font-weight:700}.ep-card-icon{font-size:var(--text-xl)}.ep-badge{font-size:var(--text-xs);background:var(--accent-bg);color:var(--accent);border-radius:99px;padding:2px 8px;font-weight:700}.ep-card-body{padding:var(--space-6) var(--space-8);gap:var(--space-2);flex-direction:column;display:flex}.ep-test-warning{padding:var(--space-4) var(--space-8);background:color-mix(in srgb, var(--warning) 10%, transparent);border-top:2px solid var(--warning);font-size:var(--text-sm);color:var(--warning);line-height:1.45}.ep-error-padded{padding:0 var(--space-10)}.ep-col-list{flex-direction:column;gap:2px;max-height:180px;padding-right:4px;display:flex;overflow-y:auto}.ep-col-list::-webkit-scrollbar{width:4px}.ep-col-list::-webkit-scrollbar-thumb{background:var(--border-h);border-radius:var(--radius-xs)}.ep-col-list::-webkit-scrollbar-button{width:0;height:0;display:none}.ep-locked-msg{font-size:var(--text-sm);color:var(--text-dim);margin:0;font-style:italic}.ep-locked-msg--inline{border-radius:var(--radius-sm);color:#9a3412;background:#fff7ed;border:1px solid #fdba74;margin-top:10px;padding:8px 10px;font-style:normal;font-weight:600}.ep-divider{background:var(--border);height:1px;margin:8px 0}.ep-pref-row{justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}.ep-pref-label{font-size:var(--text-base);color:var(--text);white-space:nowrap}.ep-pref-select{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text);font-size:var(--text-base);min-width:120px;padding:3px 28px 3px 8px}.ep-pref-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-base);flex:1;min-width:150px;padding:3px 8px}.ep-vis-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.ep-vis-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ep-link-btn{background:var(--code-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:var(--radius-sm);padding:3px 8px;font-size:10px;font-weight:600;text-decoration:none;transition:all .12s}.ep-link-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.ep-vis-hint{font-size:var(--text-sm);color:var(--text-dim);margin-bottom:8px}.ep-section-subhead{font-size:var(--text-sm);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 4px;padding:0;font-weight:700}.ep-col-picker{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ep-col-chip{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:3px 7px 3px 6px;font-size:10px;font-weight:600;transition:all .15s;display:inline-flex}.ep-col-chip input{display:none}.ep-col-chip:hover{border-color:var(--accent);color:var(--text-h);background:var(--code-bg)}.ep-col-chip--on{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.ep-col-chip-type{border-radius:var(--radius-sm);width:14px;height:14px;font-size:8px;font-weight:800;font-family:var(--mono);background:var(--code-bg);color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ep-col-chip--on .ep-col-chip-type{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.ep-vis-list{flex-direction:column;gap:6px;max-height:220px;padding-right:4px;display:flex;overflow-y:auto}.ep-vis-item{font-size:var(--text-sm);color:var(--text);align-items:center;gap:8px;padding:4px 0;display:flex}.ep-vis-item-color{border:1px solid #0003;border-radius:999px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 2px #fff9}.ep-vis-item input{accent-color:var(--accent)}.ep-vis-empty{font-size:var(--text-base);color:var(--accent);background:var(--accent-bg);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:var(--radius-md);text-align:center;margin:12px 0;padding:14px 16px;font-weight:600}.ep-check{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;transition:opacity .1s;display:flex}.ep-check:hover{opacity:.85}.ep-check input{display:none}.ep-check-box{border:1.5px solid var(--border-h);background:var(--surface);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;transition:all .12s;display:flex}.ep-check input:checked+.ep-check-box{background:var(--accent);border-color:var(--accent)}.ep-check-text{flex-direction:column;display:flex}.ep-check-label{font-size:var(--text-base);color:var(--text-h);font-weight:600;line-height:1.4}.ep-check-desc{font-size:var(--text-xs);color:var(--text-dim);line-height:1.4}.ep-checklist{flex-direction:column;gap:6px;display:flex}.export-premium-badge{border-radius:var(--radius-full);color:#fff;text-transform:uppercase;letter-spacing:var(--tracking-wider);vertical-align:middle;background:linear-gradient(135deg,#7c3aed,#a855f7);margin-left:6px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.ep-layout{--ep-left:60%;grid-template-columns:minmax(340px, var(--ep-left)) 12px minmax(0, calc(100% - var(--ep-left) - 12px));align-items:stretch;gap:0;display:grid}.ep-layout-divider{cursor:col-resize;background:0 0;border:none;justify-content:center;align-self:stretch;align-items:center;width:12px;padding:0;display:flex}.ep-layout-divider-grip{background:color-mix(in srgb, var(--accent) 38%, var(--border));width:4px;height:88px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 55%, transparent);border-radius:999px;transition:background .12s,transform .12s}.ep-layout-divider:hover .ep-layout-divider-grip,.ep-layout-divider:focus-visible .ep-layout-divider-grip{background:color-mix(in srgb, var(--accent) 62%, var(--border));transform:scaleX(1.15)}.ep-layout-divider:focus-visible{outline:none}body.is-resizing-export-layout{cursor:col-resize;-webkit-user-select:none;user-select:none}.ep-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:sticky;top:20px;overflow:hidden}.ep-preview-head{border-bottom:1px solid var(--border);background:var(--code-bg);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ep-preview-head h4{font-size:var(--text-base);color:var(--text-h);margin:0;font-weight:700}.ep-preview-tabs{gap:4px;display:flex}.ep-preview-tab{font-size:var(--text-xs);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:99px;padding:3px 10px;font-weight:600;transition:all .12s}.ep-preview-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.ep-preview-page-wrap{background:var(--code-bg);flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;min-height:820px;max-height:calc(100vh - 210px);padding:clamp(10px,1.2vw,18px);display:flex;position:relative;overflow:hidden}.ep-preview-page-wrap:has(.ep-inline-data-preview){align-items:stretch;min-height:400px;padding:0}.ep-preview-refresh-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;font-size:var(--text-base);border-radius:var(--radius-sm);z-index:10;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex;position:absolute;inset:0}.ep-preview-refresh-overlay .ep-progress-bar-wrap{width:50%}.ep-preview-mockup-area{flex:1;justify-content:center;align-items:flex-start;width:100%;min-height:0;display:flex;overflow:auto}.ep-preview-mockup-area:has(.ep-inline-data-preview){justify-content:stretch;align-items:stretch}.ep-preview-mockup-area>.ep-inline-data-preview{width:100%}.ep-html-pages{flex-direction:column;gap:28px;width:100%;max-width:100%;display:flex}@media (width>=1800px){.ep-layout{grid-template-columns:minmax(360px, var(--ep-left)) 12px minmax(0, calc(100% - var(--ep-left) - 12px))}.ep-html-pages{max-width:min(1500px,100%)}}.ep-html-page{color:#1e293b;border-radius:var(--radius-lg);background:#fff;border:1px solid #dbe4ef;flex-direction:column;width:100%;max-width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #070c1414}.ep-html-page-body{overflow-wrap:break-word;word-break:break-word;flex-direction:column;gap:4px;padding:0 48px;display:flex;overflow:hidden}.ep-html-header-bar{color:#64748b;background:linear-gradient(90deg,#2563eb14,#0000 42%),linear-gradient(#f1f7fffa,#fffffff5);border-bottom:1px solid #d9e4f3;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:18px;min-height:48px;padding:18px 48px 12px;font-size:9px;font-style:normal;line-height:1.25;display:flex}.ep-html-bar-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.ep-html-bar-line{align-items:center;min-width:0;display:inline-flex}.ep-html-bar-line--headline{color:#0f172a;letter-spacing:-.02em;font-size:13px;font-weight:800}.ep-html-bar-line--primary{color:#0f172a;font-weight:800}.ep-html-bar-line--secondary{color:#475569;font-size:8.5px}.ep-html-bar-line--muted{color:#64748b;font-size:8px}.ep-html-bar-line--kicker{color:#1d4ed8;letter-spacing:.14em;text-transform:uppercase;background:#2563eb1a;border-radius:999px;width:fit-content;max-width:100%;padding:3px 8px;font-size:7.2px;font-weight:800}.ep-html-bar-line--page{color:#1d4ed8;background:#2563eb14;border-radius:999px;justify-content:center;padding:3px 9px}.ep-html-bar-line--page-dark{color:#1e40af;background:#e8f0ff}.ep-html-header-left{justify-content:center;max-width:70%;overflow:hidden}.ep-html-header-right{text-align:right;flex-shrink:0;align-items:flex-end}.ep-html-footer-bar{color:#64748b;background:linear-gradient(90deg,#2563eb0d,#0000 55%),linear-gradient(#f9fbfff5,#fff);border-top:1px solid #d9e4f3;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:18px;min-height:44px;padding:12px 48px 18px;font-size:9px;font-style:normal;line-height:1.25;display:flex}.ep-html-footer-left{max-width:70%}.ep-html-footer-right{text-align:right;flex-shrink:0;align-items:flex-end}.ep-html-brand-logo{align-items:center;gap:5px;font-style:normal;display:inline-flex}.ep-html-brand-svg{flex-shrink:0;width:16px;height:16px}.ep-html-brand-wordmark{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;font-weight:800}.ep-html-brand-beta{letter-spacing:.06em;background:linear-gradient(135deg, var(--accent), var(--accent2,#6366f1));color:#fff;border-radius:4px;justify-content:center;align-items:center;height:16px;padding:0 6px;font-size:.54rem;font-weight:800;display:inline-flex}.ep-html-pagebreak{border:none;height:0;margin:28px 0}@media (width<=760px){.ep-html-page{min-height:0}.ep-html-page-body{padding:0 20px;font-size:10px}.ep-html-header-bar,.ep-html-footer-bar{padding-left:20px;padding-right:20px}.ep-html-header-left,.ep-html-footer-left{max-width:62%}.ep-html-bar-line--headline{font-size:11px}}.ep-html-canvas-line{border:none;border-top:1.2px solid #2563eb;margin:0}.ep-html-canvas-line--section{border-top:1px solid #dbe5f1}.ep-html-stack{flex-direction:column;display:flex}.ep-html-columns{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.ep-html-text{color:#334155;margin:2px 0;font-size:8.5px;line-height:1.5}.ep-html-pretitle{letter-spacing:2px;text-transform:none;color:#2563eb;font-size:10px;font-weight:700}.ep-html-title{color:#0f172a;font-size:20px;font-weight:800;line-height:1.15}.ep-html-subtitle{color:#475569;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.ep-html-section{color:#0f172a;font-size:13px;font-weight:700}.ep-html-subheader{color:#1e293b;font-size:9.5px;font-weight:700}.ep-html-meta{color:#64748b;font-size:8px;font-style:italic}.ep-html-narrative{color:#334155;font-size:8.5px;line-height:1.55}.ep-html-list{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.ep-html-table-wrap{width:100%;max-width:100%;overflow:auto hidden}.ep-html-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:8.5px}.ep-html-table th,.ep-html-table td{text-align:left;vertical-align:top;white-space:nowrap;color:#1e293b;border:none;border-bottom:.5px solid #e8edf5;padding:3px 4px}.ep-html-table-wrap.ep-table-dense .ep-html-table{font-size:7.5px}.ep-html-table-wrap.ep-table-dense .ep-html-table th,.ep-html-table-wrap.ep-table-dense .ep-html-table td{padding:2px 3px}.ep-html-table th{color:#1e293b;background:#f1f5f9;border-bottom:.5px solid #dbe5f1;font-size:7.5px;font-weight:700}.ep-html-svg,.ep-html-image{border-radius:var(--radius-lg);background:#f8fafc;border:1px solid #e2e8f0;padding:8px}.ep-html-svg svg{width:100%;height:auto;display:block}.ep-html-table-truncated{color:#64748b;text-align:center;border-top:1px dashed #e2e8f0;margin-top:2px;padding:6px 4px;font-size:8px;font-style:italic}.ep-preview-loading{width:100%;min-height:300px;color:var(--text-dim);font-size:var(--text-base);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex}.ep-preview-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite ep-spin}.ep-progress-bar-wrap{background:var(--border);border-radius:var(--radius-xs);width:60%;height:6px;overflow:hidden}.ep-progress-bar{background:var(--accent);border-radius:var(--radius-xs);height:100%;transition:width .3s}.ep-progress-pct{font-size:var(--text-sm);color:var(--text-dim)}.ep-stop-btn{font-size:var(--text-sm);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer;margin-top:8px;padding:6px 14px;font-weight:600;transition:background .15s}.ep-stop-btn:hover{background:var(--accent);color:#fff}@keyframes ep-spin{to{transform:rotate(360deg)}}.ep-preview-footer{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--code-bg) 45%, var(--surface) 55%) 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:flex}.ep-preview-approve{font-size:var(--text-sm);color:var(--text-h);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:600;display:flex}.ep-preview-approve input{accent-color:var(--accent)}.ep-preview-gen-btn{font-size:var(--text-sm);border:1px solid var(--border-h);background:var(--surface);color:var(--text-h);cursor:pointer;border-radius:99px;padding:8px 20px;font-weight:700;transition:all .15s}.ep-preview-gen-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ep-preview-gen-btn:disabled{opacity:.75;color:color-mix(in srgb, var(--text) 76%, transparent);background:color-mix(in srgb, var(--code-bg) 80%, var(--surface) 20%);cursor:not-allowed}.ep-preview-download-btn{font-size:var(--text-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:99px;padding:8px 20px;font-weight:700;transition:all .15s}.ep-preview-download-btn:hover{box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-1px)}@media (width<=900px){.ep-layout{grid-template-columns:1fr}.ep-layout-divider{display:none}.ep-preview{position:static}.ep-builder-layout{grid-template-columns:1fr;gap:10px}.ep-builder-nav{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:8px;padding-right:0;display:grid}.ep-builder-nav-item{text-align:center;border-bottom:2px solid #0000;border-left:none;padding:7px 6px}.ep-builder-nav-item.active{border-left-color:#0000;border-bottom-color:var(--accent)}}@media (width<=760px){.ep-preview-footer{flex-direction:column;gap:6px;padding:8px 10px}.ep-preview-gen-btn,.ep-preview-download-btn{text-align:center;justify-content:center;width:100%;padding:6px 12px;font-size:11px}.ep-preview-head{padding:8px 10px}.ep-preview-head h4{font-size:12px}.ep-preview-page-wrap{justify-content:flex-start;align-items:stretch;min-height:240px;max-height:68vh;padding:8px;overflow:hidden}.ep-html-page{border-radius:10px;width:100%;padding:0;overflow:hidden}.ep-html-page-body{font-size:9px}.ep-html-title{font-size:18px}.ep-html-section{font-size:13px}.ep-html-subheader{font-size:10px}.ep-html-text,.ep-html-narrative{font-size:9px}.ep-html-pretitle,.ep-html-meta,.ep-html-subtitle,.ep-html-table{font-size:8px}.ep-html-table th,.ep-html-table td{padding:2px 3px}.ep-html-columns{grid-template-columns:1fr}.ep-html-pages{gap:8px}}@media (width<=640px){.ep-grid{grid-template-columns:1fr}}.ep-inline-data-preview{flex-direction:column;height:100%;display:flex;overflow:hidden}.ep-inline-data-head{border-bottom:1px solid var(--border);background:var(--code-bg);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ep-inline-data-title{color:var(--text-h);font-size:.9rem;font-weight:700}.ep-inline-data-meta{color:var(--text-muted);font-size:.78rem}.ep-inline-sheet-tabs{border-bottom:1px solid var(--border);background:var(--surface);gap:6px;padding:8px 16px;display:flex}.ep-sheet-badge{border-radius:var(--radius-sm);background:var(--surface-alt,var(--bg));border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.72rem;font:inherit;padding:3px 8px;font-size:.72rem;transition:background .12s,border-color .12s}.ep-sheet-badge:hover{border-color:var(--accent);color:var(--accent)}.ep-sheet-badge--active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}.ep-inline-table-scroll{flex:1;min-height:0;overflow:auto}.ep-inline-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.78rem}.ep-inline-table thead th{z-index:1;text-align:left;color:var(--text-h);background:var(--code-bg);border-bottom:2px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:.72rem;font-weight:700;position:sticky;top:0}.ep-inline-table thead th:last-child{border-right:none}.ep-inline-col-name{margin-bottom:1px;display:block}.ep-inline-col-type{text-transform:uppercase;letter-spacing:.03em;opacity:.6;font-size:.62rem;font-weight:500;display:block}.ep-inline-col-type--numeric{color:var(--accent)}.ep-inline-col-type--categorical{color:var(--warning)}.ep-inline-col-type--date{color:var(--success)}.ep-inline-table tbody td{color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);border-right:1px solid color-mix(in srgb, var(--border) 40%, transparent);white-space:nowrap;font-variant-numeric:tabular-nums;text-overflow:ellipsis;max-width:180px;padding:6px 12px;overflow:hidden}.ep-inline-table tbody td:last-child{border-right:none}.ep-inline-table tbody tr:nth-child(2n) td{background:var(--code-bg)}.ep-inline-table tbody tr:hover td{background:var(--accent-bg)}.ep-inline-truncated{color:var(--text-muted);border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin:0;padding:8px 16px;font-size:.75rem;display:flex}.ep-inline-expand-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:.75rem;font-weight:600}.ep-inline-expand-btn:hover{text-decoration:underline}.ep-data-modal-backdrop{z-index:9000;background:#0000008c;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.ep-data-modal{background:var(--surface);border-radius:var(--radius-lg);flex-direction:column;width:90vw;max-width:1100px;max-height:80vh;animation:.2s slideUp;display:flex;overflow:hidden;box-shadow:0 12px 40px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ep-data-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ep-data-modal-head h3{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.ep-data-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:1.2rem;transition:background .15s}.ep-data-modal-close:hover{color:var(--danger,#ef4444);background:#ef444414}.ep-data-modal-tabs{border-bottom:1px solid var(--border);gap:0;padding:0 20px;display:flex}.ep-data-modal-tabs .ep-data-tab{color:var(--text-muted);cursor:pointer;font-size:.8rem;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;transition:color .15s,border-color .15s}.ep-data-modal-tabs .ep-data-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.ep-data-modal-body{flex:1;padding:0;overflow:auto}.ep-data-modal-body .stats-table{width:100%;font-size:.75rem}.ep-data-modal-body .stats-table th{z-index:2;background:var(--surface);position:sticky;top:0}.ep-modal-col-name{white-space:nowrap;font-weight:600;display:block}.ep-modal-col-type{opacity:.7;margin-top:2px;font-size:.65rem;font-weight:400;display:block}.ep-modal-col-type--numeric{color:var(--accent)}.ep-modal-col-type--categorical{color:#e67e22}.ep-modal-col-type--date{color:#9b59b6}.ep-modal-col-type--boolean{color:#27ae60}.ep-data-modal-truncated{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin:0;padding:12px;font-size:.8rem}.ep-export-reminder{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--surface));color:var(--text-h);border-radius:var(--radius-md);font-size:var(--text-sm);margin:8px 20px 0;padding:10px 12px;line-height:1.45}.ep-save-modal{max-width:560px}.ep-save-modal-body{padding:16px 20px 20px}.ep-save-modal-copy{font-size:var(--text-sm);color:var(--text);margin:0 0 10px;line-height:1.5}.ep-save-modal-metrics{font-size:var(--text-xs);color:var(--accent);margin:0;font-weight:700}.ep-save-modal-warning{border-radius:var(--radius-md);color:#9a3412;font-size:var(--text-xs);background:#fff7ed;border:1px solid #fdba74;margin:12px 0 0;padding:10px 12px;line-height:1.45}.ep-save-modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.global-cart-fab{bottom:20px;right:max(8px, env(safe-area-inset-right));z-index:130;background:linear-gradient(135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 75%, #6366f1) 100%);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s;display:none;position:fixed;box-shadow:0 6px 20px #2563eb59,0 2px 6px #2563eb26,inset 0 1px #ffffff2e}.global-cart-fab:hover{transform:translateY(-2px);box-shadow:0 8px 28px #2563eb73,0 3px 8px #2563eb33,inset 0 1px #ffffff38}.global-cart-fab:active{transform:scale(.92)translateY(0)}.global-cart-fab-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 5px;font-size:10px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #ef444466}.global-cart-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.global-cart-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(820px,92vw);max-height:min(76vh,720px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0000002e,0 2px 8px #00000014}.global-cart-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.global-cart-head h3{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:800}.global-cart-count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:22px;padding:2px 8px;font-size:11px;font-weight:800}.global-cart-close{background:var(--surface);margin-left:auto}.global-cart-close:hover{background:#ef444414}.global-cart-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.global-cart-item{border-radius:var(--radius-md);background:var(--code-bg);border:1px solid var(--border);align-items:center;gap:8px;padding:6px 8px;display:flex}.global-cart-item-type{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-sm);padding:2px 6px;font-size:9px;font-weight:700}.global-cart-item-name{font-size:var(--text-sm);color:var(--text-h);flex:1;font-weight:500}.global-cart-item-remove{font-size:0;line-height:1}.global-cart-item-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.cart-preview-layout{flex:1;grid-template-columns:220px minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.cart-preview-list{border-right:1px solid var(--border);background:var(--code-bg);max-height:100%;margin:0;padding:8px 0;list-style:none;overflow-y:auto}.cart-preview-link{width:100%;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px;transition:background .1s,border-color .1s;display:flex}.cart-preview-link:hover{background:color-mix(in srgb, var(--accent-bg) 40%, transparent)}.cart-preview-link.active{background:color-mix(in srgb, var(--accent-bg) 55%, transparent);border-left-color:var(--accent);color:var(--accent);font-weight:600}.cart-preview-list li:last-child .cart-preview-link{border-bottom:none}.cart-preview-type{text-transform:uppercase;letter-spacing:.06em;background:var(--accent-bg);color:var(--accent);border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:800}.cart-preview-label{-webkit-line-clamp:2;min-width:0;font-size:var(--text-sm);-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.cart-preview-main{flex-direction:column;gap:12px;min-height:0;padding:20px;display:flex;overflow-y:auto}.cart-preview-main-head{align-items:center;gap:10px;display:flex}.cart-preview-main-head h4{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:800}.cart-preview-main-head .global-cart-item-remove{margin-left:auto}.cart-preview-body{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow-y:auto}.cart-preview-test-viz{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.cart-preview-test-viz .cart-preview-summary{text-align:center;border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 8%, var(--code-bg));border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));font-size:var(--text-sm);font-variant-numeric:tabular-nums;padding:8px 14px}.cart-preview-summary{font-size:var(--text-base);color:var(--text-h);margin:0;font-weight:500;line-height:1.6}@media (width<=760px){.global-cart-fab{display:inline-flex}.global-cart-overlay{align-items:flex-end;padding:0}.global-cart-panel{border-radius:16px 16px 0 0;width:100%;max-height:calc(100dvh - 48px);box-shadow:0 -8px 40px #0003}.global-cart-head{padding:14px 16px}.cart-preview-layout{grid-template-columns:1fr;min-height:0}.cart-preview-list{border-right:none;border-bottom:1px solid var(--border);max-height:140px;padding:6px 0;overflow-y:auto}.cart-preview-link{border-left-width:3px;padding:8px 14px}.cart-preview-main{padding:14px 16px}.global-cart-item{gap:6px;padding:5px 6px}}.quickfind-overlay{z-index:300;background:#0006;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.quickfind-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 16px 48px #00000040}.quickfind-search-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.quickfind-search-icon{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.quickfind-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:1rem}.quickfind-input::placeholder{color:var(--text-tertiary)}.quickfind-results{max-height:320px;padding:6px;overflow-y:auto}.quickfind-empty{text-align:center;color:var(--text-tertiary);padding:24px 16px;font-size:.875rem}.quickfind-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:6px 12px 4px;font-size:.6875rem;font-weight:700}.quickfind-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.875rem;transition:background 80ms;display:flex}.quickfind-item--selected{background:var(--accent-bg)}.quickfind-item-type{flex-shrink:0;font-size:1rem}.quickfind-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.quickfind-item-subtitle{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem}.quickfind-footer{border-top:1px solid var(--border);color:var(--text-tertiary);gap:16px;padding:8px 16px;font-size:.6875rem;display:flex}.quickfind-footer kbd{border:1px solid var(--border);background:var(--bg);border-radius:4px;margin-right:3px;padding:1px 5px;font-family:inherit;font-size:.625rem;display:inline-block}.btn-primary,.btn-secondary,.btn-ghost,.btn-confirm{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-confirm{background:var(--confirm);color:#fff;border-color:var(--confirm)}.btn-confirm:hover{background:var(--confirm-hover);border-color:var(--confirm-hover)}.btn-secondary{background:var(--surface);color:var(--text-h);border-color:var(--border)}.btn-secondary:hover{background:var(--code-bg);border-color:var(--border-h)}.btn-ghost{color:var(--accent);border-color:var(--accent-border);background:0 0}.btn-ghost:hover{background:var(--accent-bg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.chip-btn,.beta-type-btn,.ep-fmt-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:var(--text-xs);cursor:pointer;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.chip-btn:hover,.beta-type-btn:hover,.ep-fmt-btn:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.chip-btn.active,.beta-type-btn.active,.ep-fmt-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-btn,.vis-mode-btn,.ep-builder-nav-item{font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full)}.remove-btn,.clean-remove-btn,.global-cart-item-remove,.tests-cart-item-remove{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex}.remove-btn:hover,.clean-remove-btn:hover,.global-cart-item-remove:hover,.tests-cart-item-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent)}.btn-primary:active:not(:disabled),.btn-confirm:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled){transition:transform 60ms;transform:scale(.96)}.error-msg{color:var(--danger);font-size:var(--text-base);margin:var(--space-3) 0 0}.warning-msg{color:var(--warning);font-size:var(--text-base);margin:var(--space-3) 0 0}.empty-msg{color:var(--text-dim);font-size:var(--text-md);padding:var(--space-12) 0;text-align:center}.app{flex-direction:column;min-height:100svh;display:flex}.app-header{padding:0 var(--space-8);background:var(--header-bg);border-bottom:1px solid var(--header-border);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-6);display:flex}.logo-link{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.logo-blob{flex-shrink:0;width:30px;height:30px}[data-theme=dracula] .logo-blob,[data-theme=dracula] .step-dot svg{filter:brightness(1.15)contrast(1.1)}[data-theme=dark] .logo-blob,[data-theme=dark] .step-dot svg{filter:brightness(1.3)contrast(1.2)}.logo{font-size:var(--text-lg);letter-spacing:var(--tracking-widest);color:var(--header-fg);text-transform:uppercase;margin:0;font-weight:800;line-height:1}.logo-dot{color:var(--accent2)}.tagline{font-size:var(--text-sm);color:var(--header-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.header-right{align-items:center;gap:12px;display:flex}.header-right .btn-ghost{color:var(--header-muted);border-color:var(--header-border);font-size:var(--text-base);height:36px;padding:0 12px}.header-right .header-nav-btn{border:none}.header-right .btn-ghost,.header-right .btn-primary.btn-sm{justify-content:center;align-items:center;height:36px;display:inline-flex}.header-right .btn-primary.btn-sm{height:36px;padding:0 12px}.header-right .btn-ghost:hover{background:var(--header-hover);color:var(--header-fg);border-color:var(--header-hover-border)}.header-cart-btn{border:1px solid var(--header-border);border-radius:var(--radius-md);height:36px;color:var(--header-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 10px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.header-cart-btn:hover{color:var(--header-fg);border-color:var(--header-hover-border);background:var(--header-hover)}.header-cart-count{background:color-mix(in srgb, var(--accent) 12%, transparent);min-width:18px;height:18px;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:800;display:inline-flex}.header-nav-btn{border-radius:var(--radius-md);height:36px;color:var(--header-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-weight:600;text-decoration:none;transition:opacity .15s,transform .15s;display:inline-flex}.header-nav-btn svg{flex-shrink:0;width:16px;height:16px}.header-nav-btn:hover{opacity:.7}.header-nav-btn.nav-active{opacity:1}.header-link{color:var(--header-fg);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;opacity:.9;font-weight:700;text-decoration:none;transition:opacity .15s,color .15s}.header-link:hover{opacity:1;color:var(--accent)}.header-cart-btn:active,.header-nav-btn:active{transition:transform 60ms;transform:scale(.93)}.header-beta-pill{text-transform:uppercase;letter-spacing:.07em;border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent);background:color-mix(in srgb, var(--accent-bg) 70%, var(--surface));border-radius:999px;padding:4px 8px;font-size:.62rem;font-weight:800;line-height:1}.theme-toggle-btn{width:30px;height:30px;color:var(--header-fg);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin-right:0;padding:0;transition:color .15s,transform .12s;display:inline-flex;position:relative;overflow:visible}.theme-toggle-btn:hover{color:var(--accent);transform:translateY(-1px)}.theme-toggle-icon{width:18px;height:18px;display:inline-flex}.theme-toggle-icon svg{width:100%;height:100%}.theme-toggle-sparkles{pointer-events:none;opacity:0;transition:opacity .18s;position:absolute;inset:0}.theme-toggle-sparkles:before,.theme-toggle-sparkles:after{content:"";background:color-mix(in srgb, var(--accent) 72%, #fff 28%);clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);width:7px;height:7px;position:absolute;transform:scale(.6)}.theme-toggle-sparkles:before{top:4px;right:2px}.theme-toggle-sparkles:after{bottom:4px;left:2px}.theme-toggle-btn:hover .theme-toggle-sparkles{opacity:1}.theme-toggle-btn:hover .theme-toggle-sparkles:before{animation:.55s ease-out sparkle-pop-1}.theme-toggle-btn:hover .theme-toggle-sparkles:after{animation:.65s ease-out sparkle-pop-2}@media (width<=760px){.app-header{flex-flow:row;gap:0;height:42px;padding:0 10px}.header-left{flex-shrink:1;gap:6px;min-width:0;overflow:hidden}.logo{letter-spacing:var(--tracking-wide);white-space:nowrap;font-size:13px}.beta-fab{border-radius:3px;min-width:30px;height:15px;padding:0 5px;font-size:.5rem}.tagline{display:none}.header-right{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:4px;margin-left:auto}.header-avatar{border-width:1.5px;width:26px;height:26px}.header-avatar-fallback{font-size:11px}.header-right .header-link{display:none}.header-nav-btn:has(svg):not(:has(>:not(svg))){width:31px;height:31px}.header-nav-btn:not(:has(svg)){height:28px;padding:0 8px;font-size:11px}.header-nav-btn svg{width:17px;height:17px}.header-cart-btn{display:none}.header-right .btn-ghost,.header-right .btn-primary.btn-sm{white-space:nowrap;border-radius:7px;height:28px;padding:0 10px;font-size:11px}.header-theme-btn{border-radius:5px;width:21px;height:21px}.header-theme-btn svg{width:12px;height:12px}.btn-sm{padding:4px 10px;font-size:11px}}@media (width<=480px){.app-header{height:36px;padding:0 12px}.logo{font-size:12px}.header-right{gap:2px}.header-nav-btn:has(svg):not(:has(>:not(svg))){width:28px;height:28px}.header-nav-btn svg{width:16px;height:16px}.header-avatar{width:22px;height:22px}.header-avatar-fallback{font-size:10px}.header-right .btn-ghost,.header-right .btn-primary.btn-sm{height:24px;padding:0 6px;font-size:10px}.header-theme-btn{border-radius:4px;width:19px;height:19px}.header-theme-btn svg{width:11px;height:11px}.cleaning-toast-stack{width:auto;top:42px;left:8px;right:8px}.cleaning-toast{padding:10px 11px}}@keyframes sparkle-pop-1{0%{opacity:0;transform:scale(.4)rotate(0)}45%{opacity:1;transform:scale(1)rotate(18deg)}to{opacity:.75;transform:scale(.7)rotate(36deg)}}@keyframes sparkle-pop-2{0%{opacity:0;transform:scale(.35)rotate(0)}45%{opacity:1;transform:scale(1.1)rotate(-12deg)}to{opacity:.78;transform:scale(.75)rotate(-24deg)}}.header-plan-select{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--header-border);color:var(--header-fg);font-size:var(--text-base);background-color:#0000}.stepper{height:50px;padding:2px var(--space-11) 0;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;margin-top:6px;display:flex}.step{color:var(--text-dim);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;align-items:center;gap:4px;font-weight:600;display:flex}.step.active{color:var(--accent)}.step.done{color:var(--text)}.step-dot{background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex}.step-dot svg{width:100%;height:100%}.step-dot--btn{cursor:pointer}.step.active .step-dot{filter:drop-shadow(0 0 4px var(--accent))}.step.done .step-dot{opacity:.85}.step-label{font-size:var(--text-sm);font-weight:600}.step-mobile-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-weight:700;display:none}@media (width<=600px){.step-label{display:none}.step-mobile-label{margin-left:auto;display:block}}.step-line{flex-shrink:0;width:36px;height:12px}.step-line.done line{filter:drop-shadow(0 0 2px var(--accent))}@media (width<=760px){.stepper{scrollbar-width:none;background:0 0;border-bottom:none;flex-flow:row;justify-content:center;gap:0;height:38px;padding:4px 10px;overflow-x:visible}.stepper::-webkit-scrollbar{display:none}.step-dot{width:28px;height:28px}.step.active .step-dot{filter:drop-shadow(0 0 3px var(--accent))}.step.done .step-dot{opacity:.85}.step-line{width:8px;height:8px}.step-label{display:none}.step{gap:2px}}@media (width<=480px){.stepper{justify-content:center;height:40px;padding:4px 8px}.step-dot{width:28px;height:28px}.step-line{width:8px;height:6px}}.page-layout{flex:1;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;display:grid}.ad-rail{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;align-self:start;gap:12px;width:260px;max-height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.ad-rail--left{border-left:none;border-right:1px solid var(--border)}.ad-rail--hidden{pointer-events:none;background:0 0;border:none;width:0;padding:0;overflow:hidden}.ad-slot{background:var(--code-bg);border:1.5px dashed var(--border-h);border-radius:var(--radius-md);text-align:center;width:100%;color:var(--text-dim);font-size:var(--text-sm);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px 8px;display:flex}.ad-slot strong{font-size:var(--text-sm);color:var(--text);font-weight:600;display:block}.ad-slot-sky{height:320px}.ad-slot-mrec{height:180px}.ad-slot-half{height:320px}.ad-promo{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;display:flex}.ad-promo strong{font-size:var(--text-base);display:block}.ad-promo span{font-size:var(--text-sm);opacity:.85;line-height:1.4}.ad-promo .btn-sm{color:var(--accent);background:#fff;border-color:#fff;margin-top:2px;font-weight:700}@media (width<=900px){.page-layout{grid-template-columns:minmax(0,1fr)}.ad-rail{display:none}}.app-main{flex-direction:column;flex:1;max-width:100%;min-height:0;padding:20px 24px;display:flex;overflow-x:hidden}.step-panel{flex:1;width:100%;min-height:0;display:flex}.step-panel[hidden],.step-panel[inert]{display:none!important}.workflow-bar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:12px;padding:10px 0;display:flex}.workflow-bar-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.workflow-bar-actions .workflow-pill{border-radius:var(--radius-md);border-width:1px;min-height:28px;padding:3px 9px;font-size:10px;font-weight:700}.workflow-pill-text--compact{display:none}.workflow-bar-left{align-items:center;gap:8px;display:flex}@media (width<=760px){.workflow-bar{margin-bottom:6px;padding:6px 0 8px}.workflow-bar-actions{justify-content:stretch;align-items:stretch;gap:6px}.workflow-bar-left{flex-wrap:wrap;gap:6px;width:100%}.workflow-bar-actions .workflow-pill{border-radius:var(--radius-md);min-height:26px;padding:3px 7px;font-size:9px;font-weight:600}.workflow-bar-actions .workflow-pill-back{padding-inline:7px}.workflow-bar-actions .workflow-pill-back svg{width:12px;height:12px}.workflow-bar-actions .workflow-pill-state{padding-inline:10px;box-shadow:inset 0 0 0 1px #fff6;border-color:color-mix(in srgb, #f2b66f 85%, var(--border))!important;background:#fff0df9e!important}.workflow-primary-action{border-radius:var(--radius-md);justify-content:center;width:100%;min-height:30px;padding:6px 10px;font-size:10px}}@media (width<=480px){.workflow-bar-actions .workflow-bar-left{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;display:grid}.workflow-bar-actions .workflow-pill{letter-spacing:.01em;justify-content:center;width:100%;min-height:24px;padding:3px 5px;font-size:8px}.workflow-pill-text--full{display:none}.workflow-pill-text--compact{display:inline}.workflow-pill-state-label--full{display:none}.workflow-pill-state-label--compact{display:inline}.workflow-bar-actions .workflow-pill-state{padding-inline:5px;font-size:8px}.workflow-primary-action{min-height:28px;padding:5px 8px;font-size:9px}}.workflow-bar-actions .workflow-pill-back:hover{background:var(--accent);color:#fff}.workflow-bar-actions .workflow-pill-state{color:#b45309!important;background:#fff0df!important;border-color:#f2b66f!important}.workflow-bar-actions .workflow-pill-state:hover{background:#ffe7cf!important;border-color:#ea9a3e!important}.workflow-bar-actions .workflow-pill-new{color:#b42318!important;background:#ffe5e5!important;border-color:#f0a0a0!important}.workflow-bar-actions .workflow-pill-new:hover{background:#ffd9d9!important;border-color:#e37b7b!important}.workflow-bar-actions .workflow-pill:active{transition:transform 60ms;transform:scale(.95)}.workflow-primary-action:active:not(:disabled){transition:transform 60ms;transform:scale(.96)}.clean-layout-wrap{flex-direction:column;width:100%;display:flex}.clean-layout{--clean-left:50%;grid-template-columns:var(--clean-left) 12px calc(100% - var(--clean-left) - 12px);align-items:stretch;gap:0;display:grid}.clean-layout-divider{cursor:col-resize;background:0 0;border:none;justify-content:center;align-self:stretch;align-items:center;width:12px;padding:0;display:flex}.clean-layout-divider-grip{background:color-mix(in srgb, var(--accent) 38%, var(--border));width:4px;height:88px;box-shadow:0 0 0 1px color-mix(in srgb, var(--border) 55%, transparent);border-radius:999px;transition:background .12s,transform .12s}.clean-layout-divider:hover .clean-layout-divider-grip,.clean-layout-divider:focus-visible .clean-layout-divider-grip{background:color-mix(in srgb, var(--accent) 62%, var(--border));transform:scaleX(1.15)}.clean-layout-divider:focus-visible{outline:none}body.is-resizing-clean-layout{cursor:col-resize;-webkit-user-select:none;user-select:none}.stats-layout{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}@media (width<=900px){.clean-layout,.stats-layout{grid-template-columns:1fr!important}.clean-layout-divider{display:none!important}.app-main{padding:10px}.workflow-bar{justify-content:flex-start}}.clean-preview-fab{display:none}@media (width<=760px){.app-main{padding:12px 10px;padding-bottom:72px;overflow-x:hidden}}@media (width<=480px){.app-main{padding:8px 8px 72px}}.status-bar{background:var(--code-bg);border-bottom:1px solid var(--border);height:28px;font-size:var(--text-xs);color:var(--text-dim);-webkit-overflow-scrolling:touch;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;display:flex;overflow:auto hidden}@media (width<=760px){.status-bar{border-bottom:none;gap:4px;height:22px;padding:0 8px;font-size:9px}}.about-page-shell{background:var(--bg);padding:0;position:relative;overflow-x:hidden}.about-blob-hero{--blob-spread:0px;z-index:1;background:0 0;justify-content:center;align-items:center;width:100%;min-height:80vh;display:flex;position:relative;overflow:visible}.about-blob-hero-svg{transform-origin:50%;pointer-events:none;color:#ffffff40;width:100%;height:80vh;min-height:500px;animation:1.2s ease-out forwards about-blobs-orbit;overflow:visible}.blob-connection-line{stroke:#ffffff0f;stroke-dasharray:4 4}.blob-path{transition:filter .3s}.about-blob-orb:hover .blob-path{filter:brightness(1.3)}[data-theme=dark] .about-blob-hero-svg,[data-theme=dracula] .about-blob-hero-svg{color:#fff9}[data-theme=dark] .blob-connection-line,[data-theme=dracula] .blob-connection-line{stroke:#fff3;stroke-width:1.2px}[data-theme=dark] .blob-path,[data-theme=dracula] .blob-path{stroke-width:2px}[data-theme=dark] .about-blob-orb path,[data-theme=dark] .about-blob-secondary path,[data-theme=dracula] .about-blob-orb path,[data-theme=dracula] .about-blob-secondary path{opacity:.85!important}@keyframes about-blobs-orbit{0%{opacity:.4;transform:rotate(-8deg)scale(.95)}40%{opacity:.85;transform:rotate(3deg)scale(1.01)}70%{opacity:1;transform:rotate(-1deg)scale(1)}to{opacity:1;transform:rotate(0)scale(1)}}.about-blob-orb{cursor:pointer;transform-origin:50%;animation:1.1s ease-out forwards about-blob-float}.about-blob-orb:hover path{filter:brightness(1.3)}.about-blob-orb-1{animation:1.1s ease-out forwards about-blob-float,22s ease-in-out 1.2s infinite blob-pulse-1}.about-blob-orb-2{animation:1.1s ease-out forwards about-blob-float,26s ease-in-out 1.4s infinite blob-pulse-2}.about-blob-orb-3{animation:1.1s ease-out forwards about-blob-float,24s ease-in-out 1.6s infinite blob-pulse-3}.about-blob-orb-4{animation:1.1s ease-out forwards about-blob-float,28s ease-in-out 1.8s infinite blob-pulse-4}.about-blob-orb-5{animation:1.1s ease-out forwards about-blob-float,30s ease-in-out 2s infinite blob-pulse-5}@keyframes blob-pulse-1{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.06)rotate(2deg)}50%{transform:scale(.95)rotate(-1.5deg)}75%{transform:scale(1.03)rotate(1deg)}}@keyframes blob-pulse-2{0%,to{transform:scale(1)rotate(0)}20%{transform:scale(.94)rotate(-2deg)}50%{transform:scale(1.08)rotate(1.5deg)}80%{transform:scale(.97)rotate(-.5deg)}}@keyframes blob-pulse-3{0%,to{transform:scale(1)rotate(0)}30%{transform:scale(1.05)rotate(1.5deg)}60%{transform:scale(.92)rotate(-2deg)}85%{transform:scale(1.02)rotate(.5deg)}}@keyframes blob-pulse-4{0%,to{transform:scale(1)rotate(0)}35%{transform:scale(1.1)rotate(-1deg)}65%{transform:scale(.93)rotate(2deg)}90%{transform:scale(1.04)rotate(-.5deg)}}@keyframes blob-pulse-5{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(.92)rotate(1.5deg)}55%{transform:scale(1.07)rotate(-2deg)}80%{transform:scale(.96)rotate(.5deg)}}.about-blob-secondary{transform-origin:50%;animation:22s ease-in-out infinite blob-drift-1}.about-blob-drift-1{animation:28s ease-in-out infinite blob-drift-1!important}.about-blob-drift-2{animation:32s ease-in-out infinite blob-drift-2!important}.about-blob-drift-3{animation:36s ease-in-out infinite blob-drift-3!important}.about-blob-drift-4{animation:30s ease-in-out infinite blob-drift-4!important}.about-blob-drift-5{animation:34s ease-in-out infinite blob-drift-5!important}.about-blob-drift-6{animation:26s ease-in-out infinite blob-drift-6!important}.about-blob-drift-7{animation:38s ease-in-out infinite blob-drift-7!important}.about-blob-drift-8{animation:28s ease-in-out infinite blob-drift-8!important}.about-blob-tiny{animation:45s ease-in-out infinite blob-drift-1}@keyframes blob-drift-1{0%,to{transform:translate(0)scale(1)rotate(0)}20%{transform:translate(14px,-18px)scale(1.08)rotate(3deg)}40%{transform:translate(-10px,12px)scale(.93)rotate(-2deg)}60%{transform:translate(18px,6px)scale(1.05)rotate(4deg)}80%{transform:translate(-6px,-14px)scale(.96)rotate(-1deg)}}@keyframes blob-drift-2{0%,to{transform:translate(0)scale(1)rotate(0)}15%{transform:translate(-16px,10px)scale(1.06)rotate(-3deg)}40%{transform:translate(12px,-20px)scale(.92)rotate(2deg)}65%{transform:translate(-8px,15px)scale(1.1)rotate(-4deg)}85%{transform:translate(10px,-5px)scale(.97)rotate(1deg)}}@keyframes blob-drift-3{0%,to{transform:translate(0)scale(1)rotate(0)}25%{transform:translate(20px,12px)scale(.9)rotate(5deg)}50%{transform:translate(-15px,-16px)scale(1.12)rotate(-3deg)}75%{transform:translate(8px,18px)scale(.95)rotate(2deg)}}@keyframes blob-drift-4{0%,to{transform:translate(0)scale(1)rotate(0)}20%{transform:translate(-12px,-14px)scale(1.08)rotate(-2deg)}45%{transform:translate(16px,10px)scale(.9)rotate(4deg)}70%{transform:translate(-18px,6px)scale(1.06)rotate(-3deg)}90%{transform:translate(6px,-10px)scale(.97)rotate(1deg)}}@keyframes blob-drift-5{0%,to{transform:translate(0)scale(1)rotate(0)}30%{transform:translate(10px,20px)scale(1.1)rotate(3deg)}55%{transform:translate(-14px,-8px)scale(.88)rotate(-4deg)}80%{transform:translate(8px,-16px)scale(1.04)rotate(2deg)}}@keyframes blob-drift-6{0%,to{transform:translate(0)scale(1)rotate(0)}20%{transform:translate(-18px,-10px)scale(.92)rotate(-4deg)}45%{transform:translate(14px,16px)scale(1.1)rotate(3deg)}70%{transform:translate(5px,-12px)scale(.95)rotate(-2deg)}90%{transform:translate(-10px,8px)scale(1.04)rotate(1deg)}}@keyframes blob-drift-7{0%,to{transform:translate(0)scale(1)rotate(0)}25%{transform:translate(12px,-14px)scale(1.08)rotate(4deg)}50%{transform:translate(-16px,18px)scale(.9)rotate(-5deg)}75%{transform:translate(20px,-6px)scale(1.05)rotate(2deg)}}@keyframes blob-drift-8{0%,to{transform:translate(0)scale(1)rotate(0)}20%{transform:translate(-10px,16px)scale(1.12)rotate(-3deg)}40%{transform:translate(18px,-8px)scale(.88)rotate(4deg)}65%{transform:translate(-14px,-12px)scale(1.06)rotate(-2deg)}85%{transform:translate(6px,10px)scale(.94)rotate(1deg)}}@keyframes about-blob-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes about-blob-float{0%{opacity:0;transform:translate(40px,30px)scale(.7)}30%{opacity:.8;transform:translate(-12px,-10px)scale(1.05)}60%{transform:translate(5px,4px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.about-blob-scatter-group{transform:translateY(var(--blob-spread,0px));will-change:transform}.about-page-panel{width:min(1200px,100%);box-shadow:none;z-index:2;background:0 0;border:none;border-radius:0;margin:0 auto;padding:12px 22px 80px;position:relative}.about-page-head{margin-bottom:14px;padding:2px 0 10px}.about-page-head .back-btn{margin-bottom:12px}.back-btn{border-radius:var(--radius-full);background:var(--accent-bg);color:var(--accent);font-weight:700;font-size:var(--text-sm);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.back-btn:hover{background:var(--accent);color:#fff;text-decoration:none}.back-btn svg{flex-shrink:0;width:14px;height:14px}.about-back-link{color:var(--accent);font-size:var(--text-sm);align-items:center;margin-bottom:10px;font-weight:700;text-decoration:none;display:inline-flex}.about-back-link:hover{opacity:.86;text-decoration:none}.about-page-brand-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.about-page-logo{font-size:clamp(1.1rem,2vw,1.35rem)}.about-page-beta-chip{letter-spacing:.07em;border-radius:3px;min-width:34px;height:16px;padding:0 6px;font-size:.54rem}.about-page-head h2{letter-spacing:var(--tracking-tight);margin:0 0 4px;font-size:clamp(2rem,3vw,3rem);font-weight:800;line-height:1.08}.about-page-head p{color:var(--text-dim);max-width:58ch;line-height:1.5;font-size:var(--text-lg);margin:0}.about-page-seo-note{color:var(--text-dim);font-size:var(--text-sm)!important;margin-top:6px!important}.about-page-flow{flex-direction:column;gap:14px;display:flex}.about-page-intro-grid{background:0 0;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.about-page-intro-grid .about-page-section:first-child{grid-area:1/1}.about-page-intro-grid .about-page-section{background:0 0;border:none;border-radius:0;padding:0}.about-page-intro-grid .about-page-section:nth-child(2){grid-area:1/2/3}.about-page-intro-grid .about-page-section:last-child{grid-area:2/1;margin-top:8px}.about-page-section{border-bottom:1px solid color-mix(in srgb, var(--border) 68%, transparent);padding:0 0 10px}.about-page-section:last-child{border-bottom:none;padding-bottom:0}.about-page-section h3{letter-spacing:-.01em;color:var(--text-h);margin:0 0 6px;font-size:clamp(1.15rem,1.4vw,1.35rem);font-weight:800}.about-page-card-index{letter-spacing:.14em;color:var(--text-dim);margin-bottom:8px;font-size:.65rem;font-weight:700;display:inline-block}.about-page-section p{color:var(--text);max-width:62ch;line-height:1.62;font-size:var(--text-sm);margin:0 0 8px;padding:0 8px}.about-page-section p:last-child{margin-bottom:0}.about-page-section-contact p{max-width:none}.about-page-section-contact{padding-top:2px}.about-page-contact-note{color:var(--text-dim);margin:0 0 8px}.about-page-legal-note{text-align:center;font-size:var(--text-xs);color:var(--text-muted);margin:var(--space-8) auto var(--space-4)}.about-page-legal-note a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.about-page-legal-note a:hover{color:var(--accent)}.about-page-contact-note--secondary{font-size:var(--text-sm);margin-top:12px}.about-page-contact-form{border:1px solid color-mix(in srgb, var(--border) 74%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:10px;flex-direction:column;gap:10px;max-width:100%;margin-top:4px;padding:14px 16px;display:flex}.about-page-contact-row{grid-template-columns:180px 1fr;align-items:start;gap:12px;display:grid}.about-page-contact-field{flex-direction:column;gap:4px;min-width:0;display:flex}.about-page-contact-field--grow{flex:1}.about-page-form-label{font-size:var(--text-sm);color:var(--text-h);margin-top:4px;font-weight:700}.about-page-form-input,.about-page-form-textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-h);font:inherit;font-size:var(--text-sm);padding:7px 10px}.about-page-form-input:focus,.about-page-form-textarea:focus{border-color:color-mix(in srgb, var(--accent) 70%, var(--border));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-bg) 65%, transparent);outline:none}.about-page-form-textarea{resize:vertical;min-height:56px}.about-page-send-btn{gap:6px;width:fit-content;margin-top:0}.about-page-send-btn svg{flex-shrink:0;width:18px;height:18px}.about-page-timeline{flex-direction:column;gap:10px;margin:2px 0 0;padding:0;list-style:none;display:flex}.about-page-timeline-item{gap:3px;padding-left:22px;display:grid;position:relative}.about-page-timeline-item:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-bg) 72%, transparent);border-radius:999px;position:absolute;top:.48em;left:0}.about-page-timeline-item:not(:last-child):after{content:"";background:color-mix(in srgb, var(--accent) 34%, var(--border));width:2px;position:absolute;top:calc(.48em + 9px);bottom:-10px;left:3px}.about-page-timeline-title{color:var(--text-h);font-weight:700}.about-page-timeline-note{font-size:var(--text-sm);color:var(--text-dim)}.about-page-links{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;display:flex}.about-page-section .about-page-team-links,.about-page-section .about-page-contact-links{margin-top:12px}.about-team-card{align-items:center;gap:14px;margin:12px 0 14px;display:flex}.about-team-photo{object-fit:cover;border:2px solid var(--border);border-radius:50%;width:64px;height:64px}.about-team-name{font-weight:700;font-size:var(--text-base);color:var(--text-h);margin:0}.about-team-role{font-size:var(--text-sm);color:var(--text-dim);margin:2px 0 0}.about-page-side-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin-top:32px;display:grid}.about-page-side-grid .about-page-section:first-child{grid-column:1/2}.about-page-side-grid .about-page-section:last-child{grid-column:2/4}.about-page-side-grid .about-page-section:last-child p{max-width:none}.about-page-side-grid .about-page-section{border-bottom:none;padding-bottom:0}.about-page-side-grid .about-page-section:last-child{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:10px;padding:10px}.about-page-links a{color:#0c4f95;font-weight:700;font-size:var(--text-sm);background:linear-gradient(#f7fbff,#ebf4ff);border:1px solid #b8d1f2;border-radius:999px;max-width:100%;padding:8px 13px;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.about-page-links a:hover{color:#0a3e74;background:#dbeafe;border-color:#7baee3;text-decoration:none;transform:translateY(-1px);box-shadow:0 0 10px #3b82f640,0 2px 8px #3b82f61a}.about-page-links a[href^=mailto\:]{color:#164f86;background:linear-gradient(#f5f9ff,#e8f1ff)}[data-theme=dracula] .about-page-links a{color:#e2e8f0;background:var(--surface-muted);border-color:var(--border)}[data-theme=dracula] .about-page-links a:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-1px)}[data-theme=dracula] .about-page-links a[href^=mailto\:]{color:#e2e8f0;background:var(--surface-muted)}[data-theme=dark] .about-page-links a{color:#fff;background:#1a1a1a;border-color:#555}[data-theme=dark] .about-page-links a:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-1px)}[data-theme=dark] .about-page-links a[href^=mailto\:]{color:#fff;background:#1a1a1a}.about-page-link-with-icon{align-items:center;gap:8px;margin-right:4px;display:inline-flex}.about-page-link-with-icon svg{fill:currentColor;width:16px;height:16px}@media (width<=720px){.header-beta-pill{display:none}.about-page-panel{padding:14px 14px 20px}.about-page-beta-chip{display:none}.about-page-head h2{font-size:1.5rem}.about-page-head p{font-size:var(--text-base)}.about-page-flow{gap:12px}.about-page-intro-grid{grid-template-columns:1fr}.about-page-intro-grid .about-page-section:first-child,.about-page-intro-grid .about-page-section:nth-child(2){grid-area:auto/1}.about-page-intro-grid .about-page-section{padding:0}.about-blob-orb{animation:1.1s ease-out forwards about-blob-float}.about-page-intro-grid .about-page-section:last-child{border-bottom:none;margin-top:0}.about-page-section h3{font-size:1rem}.about-page-section p{max-width:none}.about-page-side-grid{grid-template-columns:1fr;gap:12px}.about-page-side-grid .about-page-section:first-child,.about-page-side-grid .about-page-section:last-child{grid-column:auto}.about-page-side-grid .about-page-section:last-child{padding:12px}.about-page-links{flex-direction:column;align-items:flex-start;gap:8px}.about-page-links a{font-size:var(--text-xs);word-break:break-all;padding:6px 10px}.about-page-timeline-item{padding-left:18px}.about-page-contact-row{grid-template-columns:1fr}.about-page-contact-field{min-width:0}.about-blob-hero{min-height:60vh}.about-blob-hero-svg{width:90%;height:55vh;min-height:300px}.about-page-brand-row{display:none}.about-page-send-btn{justify-content:center;width:100%}}.sb-sep{color:var(--border-h);flex-shrink:0}.sb-pill{border-radius:var(--radius-xs);white-space:nowrap;background:var(--border);color:var(--text);flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.sb-pill--primary{color:#0369a1;background:#e0f2fe}.sb-pill--action{color:var(--text-dim);background:0 0;padding:0;font-weight:400}.sb-pill--warn{color:#92400e;background:#fef3c7}.sb-pill--ok{color:#166534;background:#f0fdf4}.modal-close-btn,.modal-close-icon,.modal-close,.global-cart-close,.ep-data-modal-close,.tests-cart-mobile-close,.dictionary-modal-close,.beta-popup-close{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:28px;height:28px;color:var(--text-dim);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.modal-close-btn:hover,.modal-close-icon:hover,.modal-close:hover,.global-cart-close:hover,.ep-data-modal-close:hover,.tests-cart-mobile-close:hover,.dictionary-modal-close:hover,.beta-popup-close:hover{border-color:var(--danger,#ef4444);color:var(--danger,#ef4444);background:#ef444414}.modal-close-btn svg,.modal-close-icon svg,.dictionary-modal-close svg{width:14px;height:14px}.step-dot--btn{appearance:none;cursor:pointer;background:0 0;border:none;padding:0;transition:transform .1s}.step-dot--btn:hover{transform:scale(1.1)}.step-dot--btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-page{background:linear-gradient(-45deg, var(--accent-bg), var(--surface-muted), color-mix(in srgb, var(--accent) 15%, var(--bg)));background-size:400% 400%;flex:1;justify-content:center;align-items:flex-start;padding:48px 16px 32px;animation:15s infinite gradientBG;display:flex}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.auth-card{background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);text-align:center;border-radius:20px;width:100%;max-width:520px;padding:40px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 20px 40px #0000001a,0 1px 3px #0000000d}.auth-card--signup,.auth-card--login{max-width:500px;padding:28px}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2,#ec4899));height:5px;position:absolute;top:0;left:0;right:0}.auth-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px #0000001f,0 2px 6px #0000000d}.auth-logo{height:52px;filter:drop-shadow(0 4px 6px color-mix(in srgb, var(--accent) 20%, transparent));margin:0 auto 14px;animation:6s ease-in-out infinite float;display:block}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.auth-card h2{letter-spacing:var(--tracking-tight);color:var(--text-h);margin:0 0 8px;font-size:26px;font-weight:800}.auth-card .auth-subtitle{font-size:var(--text-lg);color:var(--text-dim);margin:0 0 18px;line-height:1.5}.auth-form{text-align:left;flex-direction:column;gap:16px;display:flex}.auth-tabs{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 55%, var(--code-bg));border-radius:999px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:1.25rem;padding:5px;display:grid}.auth-tab-btn{color:var(--text-dim);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 12px;font-weight:700;transition:background .15s,color .15s,transform .12s}.auth-tab-btn:hover{color:var(--text-h)}.auth-tab-btn.active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #fff 12%), var(--accent));color:#fff;box-shadow:0 3px 10px color-mix(in srgb, var(--accent) 30%, transparent)}.auth-forgot-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.auth-forgot-row label{margin-bottom:0}.auth-forgot-btn{height:auto;color:var(--accent);font-size:var(--text-sm);background:0 0;border:none;padding:0;font-weight:700;line-height:1.1}.auth-forgot-btn:hover{background:0 0;text-decoration:underline}.auth-cancel-btn{width:100%;margin-top:.5rem}.auth-hint--primary{color:var(--accent)}.auth-success-card{text-align:center}.auth-cta-btn{margin-top:1.5rem;display:inline-block}.auth-toast{border-radius:var(--radius-lg);width:min(680px,92vw);font-size:var(--text-sm);border:1px solid #0000;margin:0 auto 12px;padding:10px 14px;font-weight:600;animation:.2s ease-out fadeIn}.auth-toast--success{background:color-mix(in srgb, var(--success) 18%, var(--surface));color:color-mix(in srgb, var(--success) 78%, #fff 22%);border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.ep-vis-actions--compact{margin-top:0;margin-bottom:6px}.table-scroll--limited{max-height:320px}.auth-field label{font-size:var(--text-md);color:var(--text-h);letter-spacing:.01em;margin-bottom:6px;font-weight:700;display:block}.auth-field input{border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 60%, var(--surface));width:100%;color:var(--text);padding:12px 16px;font-size:15px;transition:all .2s}.auth-field select{border-radius:var(--radius-lg);border:1px solid var(--border);background-color:color-mix(in srgb, var(--bg) 60%, var(--surface));width:100%;color:var(--text);padding:12px 28px 12px 16px;font-size:15px;transition:all .2s}.auth-field input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.auth-field select:focus{border-color:var(--accent);background-color:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent);outline:none}.auth-phone-row{border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg) 60%, var(--surface));align-items:center;gap:8px;padding:0 8px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.auth-phone-row:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent)}.auth-phone-country{width:146px;color:var(--text-h);font-weight:600;box-shadow:none!important;background:0 0!important;border:none!important;padding:12px 6px!important}.auth-phone-input{min-width:0;box-shadow:none!important;background:0 0!important;border:none!important;padding:12px 6px!important}.auth-field-note{color:var(--text-dim);margin:6px 0 0;font-size:.72rem;line-height:1.35}.auth-pw-requirements{color:var(--text-dim);margin:6px 0 0;padding:0;font-size:.75rem;line-height:1.6;list-style:none}.auth-pw-requirements li:before{content:"✕";color:#ef4444}.auth-pw-requirements li.met:before{content:"✓";color:#22c55e}.auth-pw-requirements li.met{color:var(--text-secondary)}.auth-error{color:#991b1b;font-size:var(--text-md);border-radius:var(--radius-lg);background:#fee2e2;border-left:4px solid #ef4444;margin-top:4px;padding:10px 14px}.auth-submit{border-radius:var(--radius-lg);width:100%;letter-spacing:var(--tracking-wide);justify-content:center;margin-top:8px;padding:14px;font-size:15px;font-weight:700;transition:all .2s}.auth-submit:hover:not(:disabled){box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-2px)}.auth-submit:active:not(:disabled){box-shadow:none;transition:transform 60ms;transform:translateY(0)scale(.97)}.auth-divider{font-size:var(--text-md);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wider);align-items:center;gap:16px;margin:24px 0;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google-btn{border-radius:var(--radius-lg);background:var(--surface);width:100%;color:var(--text-h);border:1px solid var(--border);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.auth-google-btn:hover{background:var(--surface-hover);border-color:var(--border-h);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.auth-google-btn:active{box-shadow:none;transition:transform 60ms;transform:translateY(0)scale(.97)}.auth-footer{text-align:center;font-size:var(--text-lg);color:var(--text-dim);margin-top:24px}.auth-footer a{color:var(--accent);font-weight:600;text-decoration:none;transition:color .15s}.auth-footer a:hover{color:var(--accent-hover);text-decoration:underline}.auth-success-block{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.auth-page a,.auth-card a{text-decoration:none}.auth-disabled{text-align:center;color:var(--text-dim);font-size:var(--text-lg);padding:24px}@media (width<=640px){.auth-card{max-width:460px;padding:32px 24px}.auth-card--signup{max-width:100%}.auth-phone-country{width:124px}}.auth-consent-block{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--accent) 6%, var(--surface));margin-top:4px;padding:12px 14px}.auth-consent-label{font-size:var(--text-sm);color:var(--text);cursor:pointer;align-items:flex-start;gap:10px;line-height:1.5;display:flex}.auth-consent-label input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.auth-policy-toggle{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.auth-policy-toggle:hover{opacity:.8}.auth-policy-text{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);white-space:pre-wrap;word-wrap:break-word;max-height:240px;font-size:.72rem;line-height:1.65;font-family:var(--sans);margin:10px 0 0;padding:12px;overflow-y:auto}.auth-consent-note{color:var(--text-dim);margin:8px 0 0;font-size:.72rem;line-height:1.5}.auth-consent-preview{border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 80%, var(--accent-bg));text-align:left;margin-top:10px;padding:10px 12px}.auth-consent-preview h4{font-size:var(--text-sm);color:var(--text-h);margin:0 0 6px}.auth-consent-preview p{color:var(--text);margin:0 0 6px;font-size:.75rem;line-height:1.5}.auth-consent-preview p:last-child{margin-bottom:0}.auth-consent-preview-metrics{color:var(--accent);font-weight:700}.header-avatar{border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;text-decoration:none;transition:border-color .15s;display:flex;overflow:hidden}.header-avatar:hover{border-color:var(--accent)}.header-avatar-img{object-fit:cover;width:100%;height:100%}.header-avatar-fallback{font-size:var(--text-base);color:#fff;background:var(--accent);justify-content:center;align-items:center;width:100%;height:100%;font-weight:700;display:flex}.header-avatar-wrap{position:relative}.header-avatar-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:200;min-width:150px;margin-top:6px;padding:4px 0;display:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000026}.header-avatar-wrap:hover .header-avatar-dropdown{flex-direction:column;display:flex}.avatar-dropdown-item{font-size:var(--text-sm);color:var(--text);padding:8px 14px;font-weight:500;text-decoration:none;transition:background .1s}.avatar-dropdown-item:hover{background:var(--header-hover)}.header-theme-btn{width:36px;height:36px;color:var(--header-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex}.header-theme-btn:hover{opacity:.7}.header-theme-btn svg{width:16px;height:16px}.cleaning-toast-stack{z-index:var(--z-toast);pointer-events:none;gap:8px;width:min(360px,100vw - 24px);display:grid;position:fixed;top:54px;right:12px}.cleaning-toast{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--surface) 88%, var(--accent-bg) 12%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:4px;padding:11px 13px;display:grid;box-shadow:0 12px 28px #02061738}.cleaning-toast strong{font-size:var(--text-sm);color:var(--text-h)}.cleaning-toast span{font-size:var(--text-xs);color:var(--text);line-height:1.45}.membership-page{max-width:1100px;margin:0 auto;padding:32px 16px}.membership-header{margin-bottom:16px}.membership-hero{text-align:center;margin-bottom:40px}.membership-hero-badge{font-size:var(--text-base);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface));letter-spacing:var(--tracking-wide);border-radius:20px;margin-bottom:12px;padding:4px 14px;font-weight:600;display:inline-block}.membership-hero h1{color:var(--text);letter-spacing:var(--tracking-tight);margin:0 0 8px;font-size:32px;font-weight:800}.membership-hero p{color:var(--text-dim);margin:0;font-size:15px}.membership-cards{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;margin-bottom:48px;display:grid}.membership-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:16px;padding:28px 24px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.membership-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.membership-card--featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 16px #2563eb1a}.membership-card--premium{border-color:#a855f7}.membership-card--premium:hover{box-shadow:0 8px 24px #a855f71f}.membership-card--active{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.membership-card-badge{background:var(--accent);color:#fff;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap;border-radius:20px;margin:0 0 -16px;padding:4px 14px;font-weight:700;display:block;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.membership-card-badge--premium{background:linear-gradient(135deg,#a855f7,#6366f1)}.membership-card-head h3{font-size:var(--text-2xl);color:var(--text);margin:0 0 4px}.membership-card-footer{margin-top:auto}.membership-price{color:var(--text);letter-spacing:var(--tracking-tight);margin:0;font-size:36px;font-weight:800}.membership-price span{font-size:var(--text-lg);color:var(--text-dim);font-weight:400}.membership-price-note{font-size:var(--text-sm);color:var(--text-dim);margin:2px 0 0}.membership-yearly{font-size:var(--text-base);color:var(--text-dim);margin:2px 0 0}.membership-save{color:#16a34a;font-size:var(--text-xs);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;background:#22c55e1f;margin-left:4px;padding:1px 6px;font-weight:700;display:inline-block}.membership-perks{font-size:var(--text-md);color:var(--text);flex-direction:column;flex:1;gap:8px;margin:0;padding:0;list-style:none;display:flex}.membership-perks li:before{content:"✓ ";color:var(--accent);font-weight:700}.membership-current{text-align:center;font-size:var(--text-md);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:10px;font-weight:600;display:block}.membership-upgrade-btn{text-align:center;width:100%;display:block}.membership-downgrade-btn{text-align:center;width:100%;font-size:var(--text-md);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:not-allowed;opacity:.6;background:0 0;padding:10px;font-weight:600;display:block}.membership-recommended{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 12px;font-style:italic;line-height:1.4}.membership-table-section{margin-bottom:48px}.membership-table-section h2{font-size:var(--text-3xl);color:var(--text);margin:0 0 16px}.membership-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}.membership-table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.membership-table th,.membership-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.membership-table th{background:var(--surface);color:var(--text);font-weight:600}.membership-th-featured{background:color-mix(in srgb, var(--accent) 8%, var(--surface))!important}.membership-table td{color:var(--text)}.membership-table .cell-na{color:var(--text-dim);opacity:.6}.membership-table .cell-yes{color:var(--accent);font-weight:600}.membership-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 3%, transparent)}.membership-summary-section{margin-bottom:48px}.membership-summary-section h2{font-size:var(--text-3xl);color:var(--text);margin:0 0 8px}.membership-summary-sub{color:var(--text-dim);font-size:var(--text-md);margin:0 0 16px}.membership-faq{margin-bottom:48px}.membership-faq h2{font-size:var(--text-3xl);color:var(--text);margin:0 0 16px}.membership-faq-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.membership-faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.membership-faq-item h4{font-size:var(--text-lg);color:var(--text);margin:0 0 6px}.membership-faq-item p{font-size:var(--text-md);color:var(--text-dim);margin:0;line-height:1.5}.membership-compare{margin-bottom:48px}.membership-compare h2{font-size:var(--text-3xl);color:var(--text);margin:0 0 4px;font-weight:800}.membership-compare-sub{color:var(--text-dim);margin:0 0 24px;font-size:15px}.membership-compare-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}.membership-compare-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.membership-compare-item--us{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));box-shadow:0 0 0 1px var(--accent)}.membership-compare-name{font-size:var(--text-md);color:var(--text);font-weight:600}.membership-compare-item--us .membership-compare-name{color:var(--accent)}.membership-compare-price{font-size:var(--text-md);color:var(--text-dim);font-variant-numeric:tabular-nums;font-weight:700}.membership-compare-item--us .membership-compare-price{color:var(--accent)}.membership-compare-points{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.membership-compare-point{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.membership-compare-point strong{font-size:var(--text-md);color:var(--text);margin-bottom:4px;display:block}.membership-compare-point p{font-size:var(--text-sm);color:var(--text-dim);margin:0;line-height:1.5}.membership-cta{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:32px;padding:40px 0}.membership-cta p{font-size:var(--text-2xl);color:var(--text);margin:0 0 16px;font-weight:600}.membership-cta-btn{padding:10px 28px;font-size:15px}.profile-page{flex-direction:column;gap:24px;max-width:860px;margin:0 auto;padding:32px 16px;display:flex}.profile-header{margin-bottom:0}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:24px;padding:28px;display:flex}.profile-avatar{border-radius:50%;flex-shrink:0;width:72px;height:72px;overflow:hidden;box-shadow:0 2px 12px #00000014}.profile-info{flex:1;min-width:0}.profile-info h2{font-size:var(--text-2xl);color:var(--text);margin:0 0 2px}.profile-display-name{white-space:normal;max-width:100%;text-overflow:unset;overflow-wrap:normal;line-height:1.12;overflow:visible}.profile-display-name-line{display:block}.profile-email{font-size:var(--text-md);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin:0 0 8px;overflow:hidden}.profile-meta{align-items:center;gap:12px;display:flex}.profile-plan-badge{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:linear-gradient(135deg, var(--accent), #6366f1);color:#fff;border-radius:20px;padding:4px 12px;font-weight:700}.profile-joined{font-size:var(--text-base);color:var(--text-dim)}.profile-actions{flex-direction:column;flex-shrink:0;align-self:start;gap:8px;display:flex}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px}.profile-section h3{font-size:var(--text-xl);color:var(--text);margin:0 0 16px;font-weight:700}.profile-loading,.profile-empty{text-align:center;color:var(--text-dim);font-size:var(--text-md);padding:24px}.profile-empty .btn-primary{margin-top:12px}.profile-uploads-grid{flex-direction:column;gap:10px;display:flex}.profile-upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.profile-upload-info h4{font-size:var(--text-lg);color:var(--text);margin:0 0 2px}.profile-upload-actions{flex-wrap:wrap;gap:6px;display:flex}.profile-upload-no-exports{font-size:var(--text-base);color:var(--text-dim);font-style:italic}.profile-export-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.profile-export-icon{border-radius:var(--radius-lg);background:var(--accent-bg);border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-file-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-file-action{border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-base);cursor:pointer;color:var(--text);background:0 0;align-items:center;gap:4px;padding:4px 10px;font-weight:500;line-height:1.4;text-decoration:none;transition:all .15s;display:inline-flex}.btn-file-action:hover{background:var(--surface-hover,#0000000a)}.btn-file-action.btn-view{color:var(--primary,#2563eb);border-color:var(--primary,#2563eb)}.btn-file-action.btn-view:hover{background:#2563eb14}.btn-file-action.btn-download{color:var(--text)}.btn-file-action.btn-delete{color:var(--color-error,#ef4444);border-color:#0000;padding:4px 8px}.profile-file-menu{position:relative}.profile-file-menu-button{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.profile-file-menu-button:hover,.profile-file-menu-button[aria-expanded=true]{border-color:var(--accent-border);background:var(--surface-hover,#0000000a);color:var(--text)}.profile-file-menu-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);z-index:20;min-width:148px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #00000029}.profile-file-menu-item{border-radius:calc(var(--radius-md) - 4px);width:100%;color:var(--text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;padding:8px 10px;font-weight:600;display:flex}.profile-file-menu-item:hover{background:var(--surface-hover,#0000000a)}.profile-file-menu-item--danger{color:var(--color-error,#ef4444)}.profile-file-menu-item--danger:hover{background:#ef444414}.btn-file-icon{font-size:var(--text-md)}.profile-no-file{font-size:var(--text-base);color:var(--text-dim);font-style:italic}.profile-stat-card{background:color-mix(in srgb, var(--accent) 4%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 15%, var(--border));border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;padding:18px 12px;transition:transform .12s;display:flex}.profile-stat-card:hover{transform:translateY(-1px)}.profile-stat-value{color:var(--accent);letter-spacing:var(--tracking-tight);font-size:1.5rem;font-weight:800}.profile-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:.72rem}.profile-danger-zone h3{color:var(--color-error,#ef4444)}@media (width<=720px){.membership-cards{grid-template-columns:1fr}.profile-card{flex-direction:column;align-items:flex-start}}.profile-page{max-width:800px;padding:var(--space-12) var(--space-8);margin:0 auto;animation:.4s ease-out fadeIn}.pp-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;display:flex}.pp-header-row h2{flex:1;min-width:0;margin:0}.pp-edit-btn{height:auto;padding:0 .5rem}.pp-header-row .pp-edit-btn{flex-shrink:0;align-self:flex-start;height:32px;margin-top:2px;margin-left:8px;padding:0 12px;line-height:1}.pp-form-col{flex-direction:column;gap:.5rem;max-width:300px;margin-bottom:1rem;display:flex}.pp-form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--text-h);padding:.25rem .5rem}.pp-flex-row{gap:.5rem;margin-top:.25rem;display:flex}.pp-email-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pp-email-row p{margin:0}.pp-verified{color:var(--success);font-size:.75rem;font-weight:600}.pp-unverified{color:var(--warning);font-size:.75rem;font-weight:600}.pp-verify-btn{height:auto;color:var(--accent);padding:0 .5rem}.pp-email-form{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.pp-hint{margin-top:.25rem;font-size:.8rem}.pp-hint--primary{color:var(--accent)}.pp-hint--error{color:var(--danger)}.pp-email-mb{margin-bottom:.4rem}.pp-save-btn{align-self:flex-start;margin-top:.5rem}.pp-delete-btn{color:var(--danger)}.pp-delete-row{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.pp-delete-text{color:var(--danger);margin:0;font-size:.85rem}.pp-delete-actions{align-items:center;gap:8px;display:flex}.pp-delete-row .auth-input{max-width:300px}.pp-danger-disclaimer{color:#b91c1c;max-width:72ch;margin:0 0 12px;font-size:.85rem;line-height:1.45}.pp-delete-confirm{background:var(--danger);border-color:var(--danger)}.pp-confirm-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pp-confirm-modal{background:var(--card-bg,#1e1e2e);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:400px;padding:24px 28px;box-shadow:0 8px 32px #0006}.pp-confirm-modal p{color:var(--text-primary);margin:0 0 18px;font-size:.9rem;line-height:1.5}.pp-confirm-actions{align-items:center;gap:10px;display:flex}.pp-upload-info{flex:1;min-width:0}.pp-consent-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--code-bg);padding:16px 20px}.pp-consent-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.pp-consent-info{flex:1}.pp-consent-title{font-size:var(--text-base);color:var(--text-h);margin:0 0 4px;font-weight:700}.pp-consent-desc{font-size:var(--text-sm);color:var(--text-dim);margin:0 0 8px;line-height:1.5}.pp-consent-usage{font-size:var(--text-sm);color:var(--accent);margin:0;font-weight:600}.pp-consent-legal{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:12px 0 0;padding:10px 12px;font-size:.7rem;line-height:1.6}.profile-card{background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-2xl);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:24px;padding:28px 32px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000d}.profile-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2), var(--accent));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.profile-avatar{border:4px solid var(--surface);background:var(--accent-bg);border-radius:50%;flex-shrink:0;width:96px;height:96px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.profile-avatar-stack{flex-direction:column;align-items:center;gap:8px;display:flex}.profile-avatar-img{object-fit:cover;width:100%;height:100%}.profile-avatar-fallback{background:var(--accent);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:36px;font-weight:800;display:flex}.profile-avatar-upload{opacity:0;cursor:pointer;color:#fff;font-size:var(--text-base);background:#00000080;justify-content:center;align-items:center;font-weight:600;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-avatar:hover .profile-avatar-upload{opacity:1}.profile-avatar-upload input[type=file]{display:none}.profile-avatar-remove{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-m);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;padding:2px 10px;transition:background .2s,color .2s,border-color .2s;position:static}.profile-avatar-remove:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.profile-info{flex:1}.profile-info h2{font-size:var(--text-4xl);color:var(--text-h);margin:0 0 4px;font-weight:800}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:24px;padding:24px;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 12px #00000005}.profile-section:hover{border-color:var(--border-h);box-shadow:0 6px 20px #0000000a}.profile-section h3{font-size:var(--text-2xl);color:var(--text-h);border-bottom:1px solid var(--border);margin:0 0 20px;padding-bottom:12px;font-weight:700}.profile-stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.profile-stat-card{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;padding:20px 16px;transition:transform .15s,border-color .15s,box-shadow .15s}.profile-stat-card:hover{border-color:var(--accent-border);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 10%, transparent);transform:translateY(-2px)}.profile-stat-value{font-size:var(--text-3xl);color:var(--accent);margin-bottom:6px;font-weight:800;line-height:1;display:block}.profile-stat-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.profile-uploads-grid{grid-template-columns:1fr;gap:10px;max-height:400px;display:grid;overflow-y:auto}.profile-upload-card,.profile-export-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:1fr auto;align-items:center;gap:8px 12px;min-width:0;padding:14px 16px;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:grid;overflow:hidden}.profile-upload-card:hover,.profile-export-card:hover{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 4px 12px #2563eb14}.profile-upload-meta{font-size:var(--text-sm);color:var(--text-dim);margin:2px 0 0}.profile-file-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.profile-prefs-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=720px){.profile-prefs-grid{grid-template-columns:1fr}}.profile-prefs-group{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:14px;padding:18px;transition:border-color .2s;display:flex}.profile-prefs-group:hover{border-color:var(--border-h)}.profile-prefs-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border-bottom:1px solid var(--border);margin:0;padding-bottom:8px;font-size:.78rem;font-weight:700}.profile-pref-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.profile-pref-row label{color:var(--text-h);font-size:.85rem;font-weight:500}.profile-pref-row select{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface);color:var(--text);width:auto;min-width:0;max-width:182px;padding:7px 28px 7px 10px;font-size:.82rem}.profile-pref-hint{font-size:var(--text-xs);color:var(--text-dim);margin:-2px 0 6px;line-height:1.4}.pp-save-btn{grid-column:1/-1;justify-self:start;margin-top:4px}.pp-toggle{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.pp-toggle input{opacity:0;width:0;height:0}.pp-toggle-slider{background:var(--border);border-radius:22px;transition:background .2s;position:absolute;inset:0}.pp-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.pp-toggle input:checked+.pp-toggle-slider{background:var(--accent)}.pp-toggle input:checked+.pp-toggle-slider:before{transform:translate(18px)}.profile-upload-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.profile-upload-icon{border-radius:var(--radius-lg);background:var(--accent-bg);border:1px solid var(--accent-border);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-upload-info{min-width:0}.profile-upload-info h4{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:600;overflow:hidden}.btn-file-action{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.btn-file-action:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.btn-file-action.btn-delete{color:var(--danger,#ef4444)}.btn-file-action.btn-delete:hover{border-color:var(--danger,#ef4444);background:#ef44440f}.profile-payment-footer{align-items:center;gap:16px;padding-top:8px;display:flex}.profile-payment-empty{flex-direction:column;gap:12px;display:flex}.profile-payment-empty p{color:var(--text-dim);margin:0;font-size:.85rem}.profile-danger-zone{background:#ef44440d;border-color:#ef44444d}.profile-danger-zone h3{color:#ef4444;border-color:#ef444433}.profile-payment-section{flex-direction:column;gap:16px;display:flex}.profile-payment-cards{flex-wrap:wrap;gap:14px;display:flex}.profile-payment-card{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-xl);flex:1;align-items:center;gap:12px;min-width:280px;max-width:360px;padding:16px 20px;display:flex;position:relative}.profile-payment-card--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.profile-card-brand{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:32px;display:flex}.profile-card-brand svg{width:100%;height:100%}.profile-card-details{flex-direction:column;gap:2px;display:flex}.profile-card-number{font-size:var(--text-base);color:var(--text-h);letter-spacing:.5px;font-family:Courier New,monospace;font-weight:600}.app-footer{border-top:1px solid var(--border);padding:var(--space-6) var(--space-6) var(--space-4);font-size:var(--text-sm);color:var(--text-dim);margin-top:auto}.footer-grid{gap:var(--space-8);grid-template-columns:2fr 1fr 1fr 1fr;max-width:1100px;margin:0 auto;display:grid}.footer-simple-row{justify-content:space-between;align-items:flex-start;gap:var(--space-8);max-width:1100px;margin:0 auto;display:flex}.footer-col{gap:var(--space-3);flex-direction:column;display:flex}.footer-simple-links{justify-content:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-simple-links a{color:var(--text-dim);font-size:var(--text-sm);text-decoration:none;transition:color .12s}.footer-simple-links a:hover{color:var(--accent)}.footer-brand{padding-right:var(--space-8)}.footer-logo{font-weight:700;font-size:var(--text-lg);color:var(--text-h);letter-spacing:-.3px}.footer-tagline{font-size:var(--text-sm);color:var(--text-muted);max-width:260px;margin:0;line-height:1.55}.footer-col-title{font-size:var(--text-xs);color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-2);font-weight:600}.footer-col a{color:var(--text-dim);font-size:var(--text-sm);text-decoration:none;transition:color .12s}.footer-col a:hover{color:var(--accent)}.footer-bottom{max-width:1100px;font-size:var(--text-xs);color:var(--text-muted);border-top:none;justify-content:flex-start;align-items:center;margin:0;padding-top:0;display:flex}.footer-legal-link{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline;position:absolute;right:0}.footer-legal-link:hover{color:var(--accent)}@media (width<=760px){.footer-simple-row{gap:var(--space-5);flex-direction:column}.footer-simple-links{justify-content:flex-start}.footer-grid{gap:var(--space-6);grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;padding-right:0}}@media (width<=480px){.footer-grid{grid-template-columns:1fr}.app-footer{padding:var(--space-8) var(--space-5) var(--space-5)}}.disclaimer-backdrop{z-index:var(--z-disclaimer);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.disclaimer-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-10) var(--space-8);width:90vw;max-width:520px;box-shadow:0 12px 40px #0000004d}.disclaimer-modal h2{font-size:var(--text-lg);color:var(--text-h);margin:0 0 var(--space-6)}.disclaimer-list{margin:0 0 var(--space-6);gap:var(--space-3);font-size:var(--text-md);color:var(--text);flex-direction:column;padding-left:1.25rem;line-height:1.5;list-style:outside;display:flex}.disclaimer-legal{font-size:var(--text-base);color:var(--text-dim);margin:0 0 var(--space-6)}.disclaimer-legal a{color:var(--accent);text-decoration:underline}.disclaimer-accept{justify-content:center;width:100%}.cookie-banner{z-index:var(--z-consent);justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) var(--space-8);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000026}.cookie-banner-text{font-size:var(--text-base);color:var(--text);margin:0}.cookie-banner-text a{color:var(--accent);text-decoration:underline}.cookie-banner-actions{gap:var(--space-3);flex-shrink:0;display:flex}@media (width<=600px){.disclaimer-backdrop{align-items:flex-end;padding:0}.disclaimer-modal{width:100%;max-width:none;max-height:78svh;padding:var(--space-6) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;overflow-y:auto}.disclaimer-list{font-size:var(--text-sm);gap:var(--space-2)}.disclaimer-legal{font-size:var(--text-sm)}.cookie-banner{align-items:stretch;gap:var(--space-4);padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex-direction:column}.cookie-banner-actions{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}}@media (width<=480px){.auth-page{align-items:flex-start;padding:20px 10px 24px}.auth-page--login{padding-top:42px}.auth-card,.auth-card--login,.auth-card--signup{border-radius:16px;padding:22px 16px}.auth-card h2{font-size:22px}.auth-card .auth-subtitle{font-size:var(--text-base);margin-bottom:14px}}.profile-card-expiry{font-size:var(--text-xs);color:var(--text-muted)}.profile-card-default{font-size:var(--text-xs);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-weight:600;position:absolute;top:8px;right:12px}.profile-payment-add{border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:200px;padding:14px 20px;transition:border-color .15s,color .15s;display:flex}.profile-payment-add:hover{border-color:var(--accent);color:var(--accent)}.profile-payment-note{font-size:var(--text-xs);color:var(--text-muted);margin:0}@media (width<=760px){.profile-page{gap:12px;padding:12px;overflow-x:hidden}.profile-card{text-align:left;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:start;gap:12px 14px;padding:16px;display:grid}.profile-avatar-stack{grid-area:1/1;align-items:center}.profile-avatar{border-width:3px;width:56px;height:56px}.profile-avatar-fallback{font-size:22px}.profile-info{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:2px;width:100%;display:flex;overflow:hidden}.profile-info h2{font-size:var(--text-lg);margin-bottom:0}.pp-email-row{font-size:var(--text-sm);flex-wrap:wrap;justify-content:flex-start;gap:6px}.pp-email-row .profile-email{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-sm);max-width:180px;overflow:hidden}.pp-email-row .btn-ghost{height:22px;padding:2px 8px;font-size:10px}.pp-unverified,.pp-verified{font-size:10px}.profile-meta{margin-top:2px}.profile-joined{font-size:var(--text-xs);color:var(--text-dim)}.profile-actions{border-top:1px solid var(--border);flex-direction:row;grid-area:2/1/auto/-1;justify-content:flex-start;gap:8px;width:100%;padding-top:4px;display:flex}.profile-actions .btn-primary,.profile-actions .btn-ghost{font-size:var(--text-xs);border-radius:var(--radius-full);padding:6px 14px}.profile-section{border-radius:12px;margin-bottom:10px;padding:14px;overflow:hidden}.profile-section h3{font-size:var(--text-base);margin-bottom:10px;padding-bottom:8px}.pp-consent-card{padding:12px 14px}.pp-consent-row{flex-direction:column;gap:10px}.pp-consent-title{font-size:var(--text-sm)}.pp-consent-desc{font-size:var(--text-xs)}.profile-stats-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-width:100%;overflow:hidden}.profile-stat-card{border-radius:10px;min-width:0;padding:12px 6px;overflow:hidden}.profile-stat-value{font-size:var(--text-lg)}.profile-stat-label{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;display:block;overflow:hidden}.profile-upload-card,.profile-export-card{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px}.profile-upload-left{gap:8px}.profile-upload-icon{border-radius:var(--radius-md);width:32px;height:32px}.profile-upload-icon svg{width:16px;height:16px}.profile-upload-info{max-width:100%;overflow:hidden}.profile-upload-info h4{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-upload-meta{font-size:11px}.profile-file-actions{gap:4px}.btn-file-action{padding:3px 8px;font-size:10px}.profile-prefs-grid{grid-template-columns:1fr;gap:12px}.profile-prefs-group{gap:10px;padding:12px}.profile-pref-row{grid-template-columns:1fr;gap:4px}.profile-pref-row label{font-size:var(--text-xs)}.profile-pref-row select{font-size:var(--text-xs);width:100%;max-width:100%;padding:8px 28px 8px 10px}.profile-page{padding-bottom:80px}.profile-payment-card{min-width:auto;max-width:100%}}@media (width<=480px){.profile-page{gap:8px;padding:8px 8px 80px}.profile-card{gap:8px 10px;padding:12px 10px}.profile-avatar{border-width:2px;width:44px;height:44px}.profile-avatar-fallback{font-size:18px}.profile-info h2{font-size:var(--text-base)}.pp-email-row{flex-flow:wrap;align-items:center;gap:4px}.pp-email-row .profile-email{font-size:var(--text-xs);max-width:140px}.pp-email-row .btn-ghost{padding:2px 6px;font-size:10px}.profile-stats-grid{grid-template-columns:repeat(3,1fr);gap:6px}.profile-stat-card{border-radius:8px;padding:8px 4px}.profile-stat-value{font-size:var(--text-base)}.profile-stat-label{font-size:8px}.profile-section{margin-bottom:8px;padding:10px}.profile-section h3{font-size:var(--text-sm);margin-bottom:8px}.profile-upload-card,.profile-export-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 8px;padding:8px 10px}.profile-upload-left{gap:8px}.profile-upload-info h4{white-space:normal;text-overflow:unset;overflow:visible}.profile-upload-meta{font-size:10px;line-height:1.35}.profile-file-actions{flex-direction:column;justify-self:end;align-items:stretch;gap:4px;min-width:64px}.btn-file-action{justify-content:center;min-height:24px;padding:3px 8px;font-size:10px}.profile-file-menu{align-self:flex-end}.profile-file-menu-button{width:24px;height:24px}.profile-file-menu-panel{min-width:130px;padding:4px}.profile-file-menu-item{padding:7px 8px;font-size:10px}.profile-prefs-group{padding:10px}.profile-pref-row select{width:100%;max-width:100%}}.auth-logo,[data-theme=dark] .auth-logo,[data-theme=dracula] .auth-logo{content:url(/favicon-blob.svg)}.stats-level-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:min(480px,92vw);box-shadow:var(--shadow);text-align:center;flex-direction:column;gap:16px;padding:28px 24px;display:flex}.stats-level-modal h3{font-size:var(--text-xl);color:var(--text-h);margin:0;font-weight:700}.stats-level-modal>p{font-size:var(--text-base);color:var(--text-dim);margin:0;line-height:1.5}.stats-level-options{flex-direction:column;gap:10px;display:flex}.stats-level-option{all:unset;box-sizing:border-box;cursor:pointer;border:1.5px solid var(--border);border-radius:var(--radius-lg);text-align:left;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.stats-level-option:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.stats-level-option:active{transform:scale(.98)}.stats-level-option strong{font-size:var(--text-md);color:var(--text-h)}.stats-level-option span{font-size:var(--text-sm);color:var(--text-dim)}.stats-level-skip{all:unset;cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);text-underline-offset:2px;align-self:center;margin-top:4px;text-decoration:underline}.stats-level-skip:hover{color:var(--text)}.pipeline-ws-header{padding:var(--space-4) var(--space-8);background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.pipeline-ws-header-left{align-items:center;gap:var(--space-4);display:flex}.pipeline-ws-title{font-size:var(--text-sm);color:var(--text);font-weight:600}.pipeline-dataset-switcher{align-items:center;gap:var(--space-3);display:flex}.pipeline-dataset-label{font-size:var(--text-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:700}.pipeline-dataset-select{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--code-bg);color:var(--text);cursor:pointer;padding-right:24px;font-weight:600}.pipeline-anon-banner{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-3);background:color-mix(in srgb, var(--warning) 12%, transparent);color:var(--warning);font-size:var(--text-sm);border-bottom:1px solid color-mix(in srgb, var(--warning) 25%, transparent);font-weight:600;display:flex}.dict-fab{bottom:56px;right:calc(var(--space-7) + 8px);z-index:100;border-radius:var(--radius-md);background:linear-gradient(160deg, var(--accent), var(--accent2,#6366f1));color:#fff;width:auto;height:auto;font-size:var(--text-xs);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;left:auto;box-shadow:0 4px 14px #2563eb4d}.dict-fab-icon-wrap{background:#ffffff38;border-radius:999px;place-items:center;width:20px;height:20px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff59}.dict-fab-icon{width:13px;height:13px;display:block}.dict-fab-sparkles{display:none}.dict-fab-label{letter-spacing:var(--tracking-wide);font-size:12px;font-weight:700}.dict-fab:hover{transform:translateY(-1px)scale(1.04);box-shadow:0 6px 18px #2563eb66}.dict-fab:active{transform:scale(.95)}@media (width>=761px){.dict-fab{right:calc(var(--space-7) + 8px);bottom:56px;left:auto}}@media (width<=760px){.dict-fab{display:none}}.header-dict-btn{text-decoration:none;display:none}@media (width<=760px){.header-dict-btn{border:1px solid var(--header-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--header-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.header-dict-btn:hover{background:var(--header-hover);color:var(--header-fg);border-color:var(--header-hover-border)}.header-dict-btn svg{width:14px;height:14px}}.beta-fab{all:unset;box-sizing:border-box;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;color:#fff;vertical-align:middle;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#3b82f6,#6366f1,#8b5cf6);border-radius:4px;justify-content:center;align-self:center;align-items:center;min-width:42px;height:20px;margin-left:4px;padding:0 10px;font-size:.6rem;font-weight:700;line-height:20px;transition:transform .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 1px 6px #6366f159}.beta-fab:hover{transform:scale(1.1);box-shadow:0 3px 14px #6366f180}.beta-fab:active{transform:scale(.93)}.beta-fab-label{z-index:1;position:relative}.beta-fab-shimmer{background:linear-gradient(105deg,#0000 30%,#ffffff73 45%,#fff9 50%,#ffffff73 55%,#0000 70%);animation:2.8s ease-in-out infinite beta-shimmer;position:absolute;inset:0}@keyframes beta-shimmer{0%{transform:translate(-120%)}60%{transform:translate(120%)}to{transform:translate(120%)}}.beta-popup-backdrop{z-index:9100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.beta-popup{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:16px;width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);padding:28px;animation:.2s ease-out beta-popup-in;display:flex;position:relative;overflow-y:auto;box-shadow:0 24px 64px #00000040,0 0 0 1px #6366f114}@keyframes beta-popup-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.beta-popup-close{all:unset;cursor:pointer;border-radius:var(--radius-full);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;transition:background .12s;display:flex;position:absolute;top:16px;right:16px}.beta-popup-close:hover{background:var(--header-hover)}.beta-popup-header{align-items:flex-start;gap:14px;display:flex}.beta-popup-icon{flex-shrink:0;width:48px;height:48px}.beta-popup-icon svg{width:100%;height:100%}.beta-popup h4{font-size:var(--text-lg);color:var(--text-h);margin:0;font-weight:700}.beta-popup-intro{font-size:var(--text-sm);color:var(--text-muted);margin:4px 0 0;line-height:1.55}.beta-feedback-type-row{gap:var(--tab-gap);display:flex}.beta-type-btn{min-height:30px}.beta-type-btn:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.beta-type-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.beta-type-icon{width:13px;height:13px}.beta-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.beta-field{flex-direction:column;gap:4px;display:flex}.beta-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.beta-field-caption{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0;line-height:1.35}.beta-req{color:#ef4444}.beta-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);width:100%;color:var(--text);font-size:var(--text-sm);padding:8px 12px;font-family:inherit;transition:border-color .12s}.beta-input:focus{border-color:var(--accent);outline:none}.beta-input:disabled{opacity:.6;cursor:not-allowed}.beta-feedback-textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);width:100%;min-height:70px;color:var(--text);font-size:var(--text-sm);padding:10px 12px;font-family:inherit;line-height:1.5;transition:border-color .12s}.beta-feedback-textarea:focus{border-color:var(--accent);outline:none}.beta-submit-error{color:#dc2626;font-size:var(--text-xs);margin:6px 0 0;line-height:1.4}.beta-steps{font-family:var(--font-mono,monospace);font-size:12px}.beta-file-drop{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;background:var(--code-bg);padding:14px;transition:border-color .12s,background .12s}.beta-file-drop:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--code-bg))}.beta-file-placeholder{font-size:var(--text-sm);color:var(--text-muted);justify-content:center;align-items:center;gap:6px;display:flex}.beta-upload-icon{width:16px;height:16px}.beta-file-name{font-size:var(--text-sm);color:var(--accent);font-weight:600}.beta-feedback-send{align-self:flex-end;margin-top:4px}.beta-feedback-send:disabled{opacity:.5;cursor:not-allowed}.beta-feedback-thanks{font-size:var(--text-sm);color:var(--confirm);justify-content:center;align-items:center;gap:10px;padding:24px 0;font-weight:600;display:flex}.beta-thanks-icon{flex-shrink:0;width:28px;height:28px}@media (width<=760px){.beta-popup-backdrop{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));align-items:flex-end}.beta-popup{border-radius:var(--radius-xl) var(--radius-xl) 0 0;gap:14px;width:min(100%,560px);max-height:min(88dvh,100vh - 24px);padding:18px}.beta-popup-header{gap:10px}.beta-popup-header h4{padding-right:24px}.beta-feedback-type-row{flex-wrap:wrap;gap:8px}.beta-type-btn{flex:calc(50% - 8px);justify-content:center;min-height:36px}.beta-field-row{grid-template-columns:1fr}.beta-input,.beta-feedback-textarea{font-size:16px}.beta-file-drop{padding:12px}.beta-file-placeholder{flex-wrap:wrap}.beta-feedback-send{align-self:stretch;width:100%}}@media (width<=480px){.beta-popup-backdrop{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}.beta-popup{width:100%;max-height:min(92dvh,100vh - 12px);padding:16px 14px}.beta-popup-header{align-items:flex-start}.beta-popup-icon{width:40px;height:40px}.beta-popup-intro{font-size:12px}.beta-type-btn{flex-basis:100%}}
