@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_3c557b;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:__JetBrains_Mono_3c557b,__JetBrains_Mono_Fallback_3c557b;font-style:normal}.__variable_3c557b{--font-mono:"__JetBrains_Mono_3c557b","__JetBrains_Mono_Fallback_3c557b"}@font-face{font-family:__DM_Sans_0d7163;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__DM_Sans_0d7163;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__DM_Sans_Fallback_0d7163;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:__DM_Sans_0d7163,__DM_Sans_Fallback_0d7163;font-style:normal}.__variable_0d7163{--font-sans:"__DM_Sans_0d7163","__DM_Sans_Fallback_0d7163"}:root{--bg:#1e1e1e;--bg2:#252526;--bg3:#2d2d2d;--bg4:#333;--bg5:#1b1b1b;--border:#3e3e3e;--t1:#d4d4d4;--t2:grey;--t3:#505050;--accent:#c586c0;--accent-d:rgba(197,134,192,.12);--green:#6a9955;--green-d:rgba(106,153,85,.1);--blue:#569cd6;--amber:#ce9178;--amber-d:hsla(17,47%,64%,.1);--red:#f44747;--red-d:rgba(244,71,71,.1);--mono:"JetBrains Mono",monospace;--sans:"DM Sans",sans-serif}[data-theme=light]{--bg:#fff;--bg2:#f3f3f3;--bg3:#ececec;--bg4:#e5e5e5;--bg5:#fafafa;--border:#d4d4d4;--t1:#1e1e1e;--t2:#616161;--t3:#b0b0b0;--accent:#af00db;--accent-d:rgba(175,0,219,.07);--green:green;--green-d:rgba(0,128,0,.07);--blue:#00f;--amber:#a31515;--amber-d:rgba(163,21,21,.07);--red:#cd3131;--red-d:rgba(205,49,49,.07)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--t1);font-size:13px;line-height:1.6}.ide,body{min-height:100vh}.ide{display:flex;flex-direction:column}.titlebar{justify-content:space-between;padding:6px 12px;background:var(--bg5);border-bottom:1px solid var(--border);font-size:12px;color:var(--t2)}.titlebar,.titlebar-left{display:flex;align-items:center}.titlebar-left{gap:10px}.dots{display:flex;gap:6px}.dot{width:10px;height:10px;border-radius:50%}.dot-r{background:#f44747}.dot-y{background:#dcdcaa}.dot-g{background:#6a9955}.theme-btn{background:none;border:none;color:var(--t2);cursor:pointer;font-size:13px}.theme-btn:hover{color:var(--t1)}.sample-bar{display:flex;gap:6px;padding:8px 12px;background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}.sample-label{font-size:10px;color:var(--t3);margin-right:4px}.sample-chip{padding:3px 8px;font-size:10px;border:1px solid var(--border);background:var(--bg);color:var(--t2);cursor:pointer;border-radius:3px}.sample-chip:hover{color:var(--accent);border-color:var(--accent)}.scan-btn{padding:3px 10px;font-size:10px;font-weight:600;background:var(--accent);color:#fff;border:none;border-radius:3px;cursor:pointer;margin-left:auto}.scan-btn:hover{opacity:.85}.editor-pane{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.pane-header{padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:11px;color:var(--t2);display:flex;justify-content:space-between}.code-area{flex:1 1;overflow:auto;display:flex;background:var(--bg);min-height:200px}.line-numbers{padding:8px 0;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:40px;background:var(--bg);border-right:1px solid var(--border)}.line-num{padding:0 10px 0 8px;font-size:12px;color:var(--t3);line-height:1.7;display:block}.line-num.flagged{color:var(--red);background:var(--red-d)}.code-content{flex:1 1;padding:0}.code-content textarea{width:100%;height:100%;min-height:200px;background:none;border:none;color:var(--t1);font-size:12px;line-height:1.7;padding:8px 12px;outline:none;resize:none}.code-content textarea::placeholder{color:var(--t3)}.problems-panel{background:var(--bg2);border-top:1px solid var(--border);max-height:45vh;overflow-y:auto}.problems-header{padding:6px 12px;font-size:11px;color:var(--t2);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:var(--bg2);z-index:1}.problem-counts{display:flex;gap:12px;font-size:11px}.problem-counts span{display:flex;align-items:center;gap:4px}.cnt-icon{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.cnt-err{background:var(--red-d);color:var(--red)}.cnt-warn{background:var(--amber-d);color:var(--amber)}.cnt-ok{background:var(--green-d);color:var(--green)}.score-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg5);border-bottom:1px solid var(--border)}.score-bar-inner{flex:1 1;height:4px;background:var(--border);border-radius:2px;overflow:hidden;max-width:200px}.score-fill{height:100%;border-radius:2px;transition:width .6s}.score-label{font-size:12px;font-weight:600}.score-meta{font-size:11px;color:var(--t2);margin-left:auto}.problem-row{display:flex;align-items:flex-start;gap:10px;padding:6px 12px;cursor:pointer;border-bottom:1px solid rgba(62,62,62,.3)}.problem-row:hover{background:var(--bg3)}.problem-icon{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;margin-top:2px}.pi-err{background:var(--red-d);color:var(--red)}.pi-warn{background:var(--amber-d);color:var(--amber)}.pi-ok{background:var(--green-d);color:var(--green)}.problem-body{flex:1 1;min-width:0}.problem-name{font-size:12px;font-weight:500}.problem-detail{font-size:11px;color:var(--t2);margin-top:2px;line-height:1.5}.problem-ref{font-size:10px;color:var(--t3);margin-top:2px}.problem-fix{margin-top:4px;padding:6px 8px;background:var(--accent-d);border-radius:3px;font-size:11px;color:var(--t2);line-height:1.5;display:none}.problem-row.expanded .problem-fix{display:block}.footer{padding:4px 12px;background:var(--bg5);border-top:1px solid var(--border);font-size:10px;color:var(--t3);display:flex;justify-content:space-between}