@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_8e1dbaa3-module__S-D1Lq__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_8e1dbaa3-module__S-D1Lq__variable{--font-ibm-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_6591406f-module__6em4TG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_6591406f-module__6em4TG__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--background:#fbf8f3;--foreground:#0a1016;--card:#fff;--card-foreground:#0a1016;--popover:#fff;--popover-foreground:#0a1016;--primary:#214260;--primary-foreground:#f8f8f8;--secondary:#f0eae3;--secondary-foreground:#0a1016;--muted:#f1eee9;--muted-foreground:#3f464d;--accent:#e0e9f2;--accent-foreground:#0a1016;--destructive:#d40924;--destructive-foreground:#f8f8f8;--border:#cac7c2;--input:#f4f1ed;--ring:#214260;--paper:var(--background);--panel:var(--card);--white:var(--card);--ink:var(--foreground);--ink-soft:var(--muted-foreground);--line:var(--border);--line-strong:#a8a49e;--pen:var(--primary);--pen-deep:#0e304d;--pen-soft:var(--accent);--pass:#0e5f36;--pass-soft:#daf3e1;--amber:#ac6e0a;--amber-soft:#ffebd2;--code:#091119;--code-ink:#f1f6fa;--radius:10px;--shadow:0 1px 2px #0a10160a, 0 12px 28px -18px #0a101633;--font-display:var(--font-ibm-plex-sans), system-ui, sans-serif;--font-body:var(--font-ibm-plex-sans), system-ui, sans-serif;--font-mono:var(--font-ibm-plex-mono), ui-monospace, monospace}@supports (color:lab(0% 0 0)){:root{--background:lab(97.6939% .561625 2.59937);--foreground:lab(4.41708% -.851557 -4.06794);--card:lab(100% 0 0);--card-foreground:lab(4.41708% -.851557 -4.06794);--popover:lab(100% 0 0);--popover-foreground:lab(4.41708% -.851557 -4.06794);--primary:lab(26.7264% -4.45078 -21.8084);--primary-foreground:lab(97.68% -.0000298023 .0000119209);--secondary:lab(93.0628% .982344 4.46882);--secondary-foreground:lab(4.41708% -.851557 -4.06794);--muted:lab(94.2139% .562042 2.59967);--muted-foreground:lab(29.221% -1.51433 -5.29341);--accent:lab(91.8734% -1.78027 -5.27271);--accent-foreground:lab(4.41708% -.851557 -4.06794);--destructive:lab(45.5382% 69.8881 46.2994);--destructive-foreground:lab(97.68% -.0000298023 .0000119209);--border:lab(80.2938% .564247 2.60105);--input:lab(95.3739% .561923 2.59957);--ring:lab(26.7264% -4.45078 -21.8084);--line-strong:lab(67.5388% .821859 3.7262);--pen-deep:lab(18.56% -3.52013 -21.6578);--pass:lab(35.1715% -32.0698 16.5622);--pass-soft:lab(93.5125% -10.8484 5.55842);--amber:lab(52.1644% 20.4369 56.8339);--amber-soft:lab(94.2484% 3.83502 15.0783);--code:lab(4.80242% -1.10637 -6.26498);--code-ink:lab(96.5136% -.878394 -2.85889)}}.dark{--background:#03070d;--foreground:#f1f6fa;--card:#091119;--card-foreground:#f1f6fa;--popover:#0e161e;--popover-foreground:#f1f6fa;--primary:#d7ab78;--primary-foreground:#030303;--secondary:#0e1a27;--secondary-foreground:#f1f6fa;--muted:#0e161e;--muted-foreground:#949597;--accent:#251c13;--accent-foreground:#f1f6fa;--destructive:#f94144;--destructive-foreground:#f8f8f8;--border:#2c353f;--input:#091119;--ring:#d7ab78;--line-strong:#48515b;--pen-deep:#e7bf92;--pass:#66c189;--pass-soft:#082313;--amber:#e8a95c;--amber-soft:#2a1c0c;--code:#020406;--code-ink:#f1f6fa;--shadow:0 1px 2px #0000002e, 0 14px 32px -18px #0000008c}@supports (color:lab(0% 0 0)){.dark{--background:lab(1.74469% -.431165 -2.82804);--foreground:lab(96.5136% -.878394 -2.85889);--card:lab(4.80242% -1.10637 -6.26498);--card-foreground:lab(96.5136% -.878394 -2.85889);--popover:lab(6.65358% -1.44961 -7.10376);--popover-foreground:lab(96.5136% -.878394 -2.85889);--primary:lab(73.2441% 11.9896 32.847);--primary-foreground:lab(.903296% 0 0);--secondary:lab(8.84728% -2.08805 -10.6045);--secondary-foreground:lab(96.5136% -.878394 -2.85889);--muted:lab(6.65358% -1.44961 -7.10376);--muted-foreground:lab(61.7178% -.332624 -1.07392);--accent:lab(11.2473% 2.85418 7.83273);--accent-foreground:lab(96.5136% -.878394 -2.85889);--destructive:lab(57.1752% 69.5963 43.0458);--destructive-foreground:lab(97.68% -.0000298023 .0000119209);--border:lab(21.6648% -1.95351 -7.34171);--input:lab(4.80242% -1.10637 -6.26498);--ring:lab(73.2441% 11.9896 32.847);--line-strong:lab(33.8521% -1.97084 -7.03659);--pen-deep:lab(80.2336% 10.2121 28.4717);--pass:lab(71.4142% -37.9503 19.5272);--pass-soft:lab(11.2659% -14.3218 7.30829);--amber:lab(74.3036% 18.1365 48.7377);--amber-soft:lab(11.7922% 5.22661 12.7789);--code:lab(.896078% -.206433 -1.17154);--code-ink:lab(96.5136% -.878394 -2.85889)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--foreground);font-family:var(--font-body);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.dashboard-frame{grid-template-rows:72px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}::selection{background:var(--primary);color:var(--primary-foreground)}button,input,select,textarea{font:inherit}button{border:0}:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.app-shell{grid-template-rows:minmax(0,auto) minmax(0,1fr);grid-template-columns:320px minmax(0,1fr);gap:14px 20px;width:100%;min-height:0;margin:0;padding:20px 24px 24px;display:grid;overflow:hidden}.topbar{z-index:20;border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:12px 24px;display:flex;position:relative}.brand-lockup,.user-chip{align-items:center;gap:11px;display:flex}.brand-lockup{color:var(--foreground);text-decoration:none}.brand-mark,.user-avatar{background:var(--primary);color:var(--primary-foreground);font-family:var(--font-mono);border-radius:8px;flex:none;place-items:center;font-weight:600;display:grid}.brand-mark{width:38px;height:38px;font-size:1rem}.brand-lockup strong,.user-chip strong{font-size:.86rem;font-weight:600;display:block}.brand-lockup small,.user-chip small{color:var(--muted-foreground);margin-top:2px;font-size:.7rem;display:block}.account-area{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--secondary);width:32px;height:32px;color:var(--secondary-foreground);border-radius:50%}.powered-by{color:var(--muted-foreground);align-items:center;gap:7px;margin-left:24px;margin-right:auto;font-size:.68rem;text-decoration:none;display:inline-flex}.app-shell>.hero{grid-area:1/2;min-height:0;margin-bottom:0}.powered-by img{width:24px;height:24px}.powered-by strong{color:var(--foreground);font-size:.75rem;font-weight:600}.powered-by:hover strong{color:var(--primary)}.hero{grid-template-columns:minmax(0,1fr) 380px;align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.hero-main,.run-panel,.control-panel,.results-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.hero-main{flex-direction:column;justify-content:flex-end;min-height:260px;padding:clamp(28px,4vw,56px);display:flex}.eyebrow,.run-kicker{color:var(--primary);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px;font-size:.68rem;font-weight:600}.hero-title{max-width:980px;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,3.7vw,4.25rem);font-weight:600;line-height:1.03}.hero-copy{max-width:700px;color:var(--muted-foreground);margin:20px 0 0;font-size:1rem;line-height:1.65}.run-panel{background:var(--foreground);color:var(--background);flex-direction:column;justify-content:space-between;padding:24px;display:flex}.run-title,.panel-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.run-title{border-bottom:1px solid color-mix(in oklch, var(--background) 18%, transparent);padding-bottom:18px}.run-kicker{color:color-mix(in oklch, var(--background) 65%, transparent);margin-bottom:6px}.run-title h2,.panel-title h2{letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.status-pill{border:1px solid color-mix(in oklch, var(--background) 26%, transparent);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.status-pill:before{background:var(--pass);content:"";border-radius:50%;width:7px;height:7px}.meter-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0;display:grid}.meter{border:1px solid color-mix(in oklch, var(--background) 16%, transparent);background:color-mix(in oklch, var(--background) 5%, transparent);border-radius:8px;padding:14px}.meter b{color:color-mix(in oklch, var(--background) 62%, transparent);font-size:.7rem;font-weight:500;display:block}.meter strong{color:var(--background);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:8px;font-size:2rem;font-weight:500;display:block}.progress-track,.history-meter{background:color-mix(in oklch, var(--background) 12%, transparent);border-radius:999px;overflow:hidden}.progress-track{height:7px}.history-meter{background:var(--muted);height:6px}.progress-fill,.history-meter-fill{border-radius:inherit;background:var(--primary);width:0%;height:100%;transition:width .26s cubic-bezier(.23,1,.32,1)}.run-panel .progress-fill{background:#d7ab78;background:lab(73.2441% 11.9896 32.847)}.status-text,.eta-text{margin:10px 0 0;font-size:.76rem;line-height:1.5}.status-text{color:color-mix(in oklch, var(--background) 68%, transparent)}.eta-text{color:#e2bd93;color:lab(79.0815% 9.44421 26.466);font-family:var(--font-mono)}.layout-grid{display:contents}.dashboard-sidebar{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;touch-action:pan-y;grid-area:1/1/span 2;height:100%;min-height:0;max-height:none;position:relative;top:auto;overflow:hidden scroll}.dashboard-sidebar::-webkit-scrollbar{width:10px}.dashboard-sidebar::-webkit-scrollbar-track{background:var(--muted)}.dashboard-sidebar::-webkit-scrollbar-thumb{border:2px solid var(--muted);background:var(--line-strong);border-radius:999px}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary)}.dashboard-sidebar .actions{z-index:4;border-top:1px solid var(--border);background:color-mix(in oklch, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:0 -20px -20px;padding:14px 20px 18px;position:sticky;bottom:0;box-shadow:0 -10px 24px -20px #0a101652}.dashboard-sidebar.has-files .dropzone{min-height:92px;padding:12px}.results-panel{grid-area:2/2;min-width:0;min-height:0;overflow:hidden}.dashboard-sidebar.has-files .dropzone>div{text-align:left;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:10px;display:grid}.dashboard-sidebar.has-files .drop-icon{border-radius:8px;grid-row:1/span 2;width:38px;height:38px;margin:0;font-size:.68rem}.dashboard-sidebar.has-files .dropzone .hint{margin-top:2px}.control-panel{overflow-x:hidden}.results-panel{overflow:hidden}.dashboard-sidebar{overflow-y:scroll}.panel-title{border-bottom:1px solid var(--border);background:var(--card);min-height:58px;padding:16px 20px}.panel-code{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:500}.form-stack{gap:16px;padding:20px;display:grid}.field{gap:7px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{color:var(--foreground);font-size:.76rem;font-weight:500}input,select,textarea{border:1px solid var(--border);width:100%;min-height:44px;color:var(--foreground);background:var(--input);border-radius:8px;outline:none;padding:10px 12px;transition:border-color .15s cubic-bezier(.23,1,.32,1),box-shadow .15s cubic-bezier(.23,1,.32,1)}textarea{resize:vertical;min-height:132px;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 18%, transparent)}.hint{color:var(--muted-foreground);font-size:.76rem;line-height:1.5}.api-key-guide{border:1px solid var(--border);background:var(--muted);border-radius:8px}.api-key-guide summary{min-height:40px;color:var(--primary);cursor:pointer;padding:11px 12px;font-size:.76rem;font-weight:600}.api-key-guide[open] summary{border-bottom:1px solid var(--border)}.api-key-guide ol{color:var(--muted-foreground);gap:8px;margin:0;padding:14px 16px 10px 34px;font-size:.74rem;line-height:1.5;display:grid}.api-key-guide a{color:var(--primary);text-underline-offset:2px;font-weight:600}.api-key-guide code{font-family:var(--font-mono);color:var(--foreground)}.api-key-guide-actions{grid-template-columns:1fr 1fr;gap:8px;padding:4px 12px 12px;display:grid}.api-key-guide-actions a{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:7px;justify-content:center;align-items:center;min-height:40px;padding:7px 9px;font-size:.68rem;text-decoration:none;display:inline-flex}.api-key-guide-actions a:hover{border-color:var(--primary);background:var(--accent)}.api-key-guide>p{border-top:1px solid var(--border);color:var(--muted-foreground);margin:0;padding:10px 12px;font-size:.68rem;line-height:1.45}.dropzone{border:1px dashed var(--border);background:var(--muted);text-align:center;cursor:pointer;border-radius:8px;place-items:center;min-height:168px;padding:22px;transition:border-color .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1);display:grid}.dropzone:hover,.dropzone.is-dragging{border-color:var(--primary);background:var(--accent)}.drop-icon{background:var(--primary);width:48px;height:48px;color:var(--primary-foreground);font-family:var(--font-mono);border-radius:10px;place-items:center;margin:0 auto 12px;font-size:.8rem;font-weight:600;display:grid}.dropzone strong{font-size:.9rem;font-weight:600;display:block}.dropzone .hint{margin-top:6px;display:block}.actions{grid-template-columns:1fr 1fr;gap:10px;padding-top:2px;display:grid}.btn{cursor:pointer;border-radius:8px;min-height:44px;padding:10px 15px;font-size:.86rem;font-weight:600;transition:background .15s cubic-bezier(.23,1,.32,1),border-color .15s cubic-bezier(.23,1,.32,1),color .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--pen-deep)}.btn-secondary{border:1px solid var(--border);background:var(--card);color:var(--foreground)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);background:var(--accent)}.btn-small{min-height:40px;padding:8px 14px;font-size:.78rem}.btn-vault{min-height:36px;padding:6px 11px;font-size:.75rem}.hidden{display:none!important}.history-block{border-top:1px solid var(--border)}.history-clear-all,.history-del{border:1px solid var(--border);min-height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:7px;padding:6px 10px;font-size:.7rem;font-weight:500}.history-clear-all:hover:not(:disabled),.history-del:hover{border-color:var(--destructive);color:var(--destructive)}.history-clear-all:disabled{cursor:not-allowed;opacity:.45}.history-usage{gap:6px;padding:12px 20px 0;display:grid}.history-usage-label{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.67rem}.history-meter-fill{background:var(--primary)}.history-list{gap:8px;max-height:260px;margin:0;padding:12px 20px 20px;list-style:none;display:grid;overflow-y:auto}.history-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.history-open{border:1px solid var(--border);background:var(--card);min-width:0;color:inherit;text-align:left;cursor:pointer;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.history-open:hover{border-color:var(--primary);background:var(--accent)}.history-open strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.history-open span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.65rem}.history-empty{color:var(--muted-foreground);padding:6px 2px;font-size:.74rem;line-height:1.5}.admin-stack{padding:16px 20px}.vault-row{flex-wrap:wrap;align-items:center;gap:9px;margin-top:7px;display:flex}body.non-admin #nusaKeyLabel{color:var(--primary);font-weight:600}body.non-admin #nusaKey{border-color:var(--primary)}body.non-admin #nusaKeyHint{display:block}.table-wrap{width:100%;max-height:calc(100vh - 120px);overflow:auto}table{border-collapse:collapse;background:var(--card);table-layout:auto;width:100%;min-width:1080px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 16px}th{z-index:1;background:var(--secondary);color:var(--foreground);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:600;position:sticky;top:0}td{color:var(--muted-foreground);font-size:.84rem;line-height:1.5}tbody tr:hover{background:var(--accent)}.mono{font-family:var(--font-mono);font-size:.76rem}.student-name{color:var(--foreground);font-weight:600}.badge,.ai-badge{border:1px solid var(--border);min-width:58px;font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:.66rem;font-weight:500;display:inline-flex}.badge{background:var(--secondary);color:var(--secondary-foreground)}.score{color:#fff;min-width:46px;height:34px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;font-size:.9rem;font-weight:600;display:inline-grid}.score.good,.ai-badge.clean{background:var(--pass);color:#fff}.score.warn,.ai-badge.suspect{background:var(--amber);color:#fff}.score.bad,.ai-badge.detected{background:var(--destructive);color:#fff}.analysis-cell{white-space:pre-wrap;color:var(--muted-foreground);line-height:1.6}.code-block{border:1px solid var(--border);background:var(--code);border-radius:8px;overflow:hidden}.code-block-head{border-bottom:1px solid color-mix(in oklch, var(--code-ink) 16%, transparent);justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;display:flex}.code-block-head span{color:color-mix(in oklch, var(--code-ink) 72%, transparent);font-family:var(--font-mono);text-transform:uppercase;font-size:.64rem;font-weight:500}.code-copy-btn{border:1px solid color-mix(in oklch, var(--code-ink) 28%, transparent);min-height:32px;color:var(--code-ink);cursor:pointer;background:0 0;border-radius:6px;padding:4px 9px;font-size:.65rem}.code-copy-btn:hover:not(:disabled){background:color-mix(in oklch, var(--code-ink) 10%, transparent)}.code-fix{white-space:pre-wrap;max-width:560px;color:var(--code-ink);font-family:var(--font-mono);margin:0;font-size:.75rem;line-height:1.55}.code-block .code-fix{white-space:pre;max-width:none;padding:12px;overflow-x:auto}.empty{text-align:center;padding:72px 22px}.empty strong{color:var(--foreground);margin-bottom:7px;font-size:1rem;font-weight:600;display:block}.toast{z-index:30;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--foreground);max-width:420px;color:var(--background);box-shadow:var(--shadow);border-radius:9px;padding:13px 15px;font-size:.84rem;line-height:1.5;position:fixed;bottom:18px;right:18px}.login-wrap{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:stretch;min-height:100vh;display:grid}.login-brand{background:var(--foreground);color:var(--background);flex-direction:column;justify-content:center;padding:clamp(40px,8vw,120px);display:flex}.login-brand .eyebrow{color:#e2bd93;color:lab(79.0815% 9.44421 26.466)}.login-brand h1{letter-spacing:-.05em;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(2.6rem,5vw,5.4rem);font-weight:600;line-height:1.02}.login-brand>p:not(.eyebrow){max-width:620px;color:color-mix(in oklch, var(--background) 72%, transparent);margin:24px 0 0;font-size:1rem;line-height:1.65}.login-brand ul{color:color-mix(in oklch, var(--background) 72%, transparent);gap:10px;margin:34px 0 0;padding:0;list-style:none;display:grid}.login-brand li:before{color:#e2bd93;color:lab(79.0815% 9.44421 26.466);content:"—";margin-right:10px}.login-panel{align-self:center;width:min(480px,100% - 48px);margin:48px auto;padding:36px}.login-heading{align-items:center;gap:14px;display:flex}.login-mark{background:var(--primary);width:44px;height:44px;color:var(--primary-foreground);font-family:var(--font-mono);border-radius:9px;place-items:center;font-weight:600;display:grid}.login-kicker{color:var(--muted-foreground);margin:0 0 4px;font-size:.72rem;font-weight:500}.login-title{letter-spacing:-.025em;margin:0;font-size:1.45rem;font-weight:600}.login-copy{color:var(--muted-foreground);margin:24px 0 0;font-size:.88rem;line-height:1.55}.auth-tabs{border:1px solid var(--border);background:var(--muted);border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin-top:22px;padding:4px;display:grid}.auth-tabs button{min-height:38px;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:6px;font-size:.78rem;font-weight:600}.login-powered-by{width:fit-content;color:var(--background);align-items:center;gap:10px;margin-top:40px;text-decoration:none;display:inline-flex}.login-powered-by img{width:30px;height:30px}.login-powered-by small,.login-powered-by strong{display:block}.login-powered-by small{color:color-mix(in oklch, var(--background) 60%, transparent);font-size:.62rem}.login-powered-by strong{margin-top:1px;font-size:.8rem;font-weight:600}.auth-tabs button[aria-selected=true]{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #0a101614}.login-form{padding:24px 0 0}.password-field{position:relative}.password-field input{padding-right:100px}.password-toggle{min-width:88px;color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;font-size:.72rem;font-weight:600;position:absolute;inset:4px 4px 4px auto}.password-toggle:hover{background:var(--accent)}.login-error{border-left:3px solid var(--destructive);background:color-mix(in oklch, var(--destructive) 8%, var(--card));color:var(--destructive);border-radius:6px;margin:0;padding:11px 12px;font-size:.8rem;font-weight:500}.login-submit{width:100%}.login-hint{border-top:1px solid var(--border);margin:20px 0 0;padding-top:16px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero-main>*,.run-panel>*{animation:.42s cubic-bezier(.23,1,.32,1) both rise}.hero-main>:nth-child(2),.run-panel>:nth-child(2){animation-delay:55ms}.hero-main>:nth-child(3),.run-panel>:nth-child(3){animation-delay:.1s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:1180px){.app-shell{grid-template-columns:290px minmax(0,1fr);gap:14px}.hero{grid-template-columns:minmax(0,1fr) 340px}}@media (max-width:960px){.dashboard-frame{height:auto;display:block;overflow:visible}.app-shell{width:min(100% - 24px,1480px);margin:16px auto 36px;padding:0;display:block;overflow:visible}.hero{grid-template-columns:1fr;margin-bottom:14px}.run-panel{min-height:250px}.dashboard-sidebar{height:auto;max-height:none;margin-bottom:14px;overflow:visible}.table-wrap{max-height:none}}@media (max-width:760px){.topbar{min-height:64px;padding:10px 14px;position:static}.brand-lockup small,.user-chip small{display:none}.user-chip{gap:0}.user-chip>span:not(.user-avatar){display:none}.app-shell{width:min(100% - 24px,1480px);margin:16px auto 36px}.hero{gap:12px;margin-bottom:12px}.hero-main,.run-panel,.form-stack{padding:18px}.hero-main{min-height:240px}.hero-title{font-size:clamp(2.15rem,11vw,3.2rem)}.panel-title,.run-title{align-items:flex-start}.field-row,.actions,.login-wrap{grid-template-columns:1fr}.login-brand{min-height:42vh;padding:40px 24px}.login-brand h1{font-size:clamp(2.4rem,12vw,4rem)}.login-brand ul{display:none}.login-panel{width:min(100% - 28px,480px);margin:28px auto;padding:24px}}@media (max-width:420px){.brand-lockup strong{font-size:.78rem}.brand-mark{width:34px;height:34px}.account-area{gap:7px}.meter-grid{grid-template-columns:1fr 1fr}.panel-title{padding:14px 16px}}
