*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--lime:#8eff01;--lime-600:#7ee000;--lime-700:#69bd00;--lime-soft:#8eff0124;--lime-glow:#8eff0173;--purple:#8b53fe;--purple-600:#7a3ff0;--purple-700:#6730d6;--purple-soft:#8b53fe29;--purple-glow:#8b53fe73;--bg:#0a0e15;--bg-2:#0e131c;--surface:#141a24;--surface-2:#1d2331;--surface-3:#262e3e;--border:#262e3c;--border-2:#333d4f;--text:#eef2f7;--text-2:#9aa6b6;--text-3:#626d7e;--danger:#ff4d6a;--danger-soft:#ff4d6a24;--warning:#ffb43d;--warning-soft:#ffb43d24;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-card:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000c;--glow-lime:0 0 0 1px #8eff0180, 0 8px 30px -8px var(--lime-glow);--glow-purple:0 0 0 1px #8b53fe80, 0 8px 30px -8px var(--purple-glow);--font:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--serif:"Instrument Serif", Georgia, serif}body{--tw-bg-opacity:1;background-color:rgb(10 14 21/var(--tw-bg-opacity));--tw-text-opacity:1;min-height:100vh;color:rgb(238 242 247/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(900px 500px at 12% -5%,#8eff010f,#0000 60%),radial-gradient(900px 600px at 100% 0,#8b53fe14,#0000 55%);background-attachment:fixed;font-family:Inter,system-ui,sans-serif}::selection{color:#0a0e15;background:#8eff01}.font-mono,pre,code,.monaco-editor,.monaco-editor .view-lines{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.btn{border-radius:var(--r-md);height:42px;font:600 14px/1 var(--font);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:0 18px;transition:all .18s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.badge{border-radius:var(--r-pill);height:24px;font:600 12px/1 var(--font);border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.badge-lime{background:var(--lime-soft);color:var(--lime);border-color:#8eff014d}.badge-purple{background:var(--purple-soft);color:#b89bff;border-color:#8b53fe59}.badge-muted{background:var(--surface-3);color:var(--text-2);border-color:var(--border-2)}.track-entry{text-align:left;cursor:pointer;border-radius:var(--r-lg);background:var(--surface);width:100%;font:inherit;color:inherit;background-image:radial-gradient(360px 160px at 0 0,#8b53fe21,#0000 60%),radial-gradient(360px 180px at 100% 100%,#8eff0112,#0000 60%);border:1px solid #8b53fe4d;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;transition:all .16s;display:flex;position:relative;overflow:hidden}.track-entry:hover{box-shadow:0 16px 40px -28px var(--lime-glow);border-color:#8eff0166}.track-entry .te-glyph{width:42px;height:42px;font-family:var(--mono);background:var(--purple-soft);color:#b89bff;border:1px solid #8b53fe59;border-radius:12px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.track-entry .te-langs{flex-wrap:wrap;gap:5px;display:flex}.te-lang.\!on{background:var(--lime)!important;color:var(--bg)!important;border-color:var(--lime)!important}.te-lang.on{background:var(--lime);color:var(--bg);border-color:var(--lime)}.te-lang.soon{opacity:.45;background:var(--surface-2);color:var(--text-3);border-color:var(--border);cursor:default}.te-lang.soon:hover{color:var(--text-3);border-color:var(--border)}.\!progress{background:var(--surface-3)!important;border-radius:var(--r-pill)!important;height:8px!important;overflow:hidden!important}.\!progress>i{border-radius:var(--r-pill)!important;background:linear-gradient(90deg, var(--lime), var(--lime-600))!important;height:100%!important;transition:width .35s!important;display:block!important}.\!progress.pp>i{background:linear-gradient(90deg, var(--purple), #a877ff)!important}.track-hero{border:1px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(600px 280px at 0% 0%, #8b53fe1f, transparent 60%), radial-gradient(520px 300px at 100% 100%, #8eff0114, transparent 60%), var(--surface);padding:28px 30px;position:relative}.track-glyph{width:56px;height:56px;font-family:var(--mono);background:var(--purple-soft);color:#b89bff;border:1px solid #8b53fe59;border-radius:16px;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.lang-mini{position:relative}.lang-mini-btn{background:var(--surface-2);border:1px solid var(--border-2);height:38px;color:var(--text);font:600 13.5px var(--font);cursor:pointer;border-radius:11px;align-items:center;gap:8px;padding:0 12px;transition:all .13s;display:inline-flex}.lang-mini-btn:hover{border-color:var(--text-3);background:var(--surface-3)}.lang-mini-btn .g{width:24px;height:24px;font:700 10px var(--mono);background:var(--purple-soft);color:#b89bff;border-radius:6px;place-items:center;display:grid}.lang-mini-menu{background:var(--surface);border:1px solid var(--border-2);z-index:30;border-radius:12px;min-width:210px;padding:6px;position:absolute;top:44px;right:0;box-shadow:0 28px 56px -20px #000}.lang-mini-opt{cursor:pointer;color:var(--text-2);border-radius:9px;align-items:center;gap:10px;padding:9px 11px;font-size:13.5px;display:flex}.lang-mini-opt:hover{background:var(--surface-2);color:var(--text)}.lang-mini-opt.on{color:var(--lime)}.lang-mini-opt.\!on{color:var(--lime)!important}.lang-mini-opt .g{width:24px;height:24px;font:700 10px var(--mono);background:var(--surface-3);color:var(--text-2);border-radius:6px;place-items:center;display:grid}.lang-mini-opt.on .g{background:var(--lime-soft);color:var(--lime)}.lang-mini-opt.\!on .g{background:var(--lime-soft)!important;color:var(--lime)!important}.lang-mini-opt .soon{color:var(--text-3);margin-left:auto;font-size:11px}.roadmap{gap:14px;display:grid;position:relative}.chapter-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:52px 1fr;gap:16px;padding:18px 20px;transition:all .16s;display:grid;position:relative}.chapter-card:hover{box-shadow:0 18px 44px -28px var(--lime-glow);border-color:#8eff0159}.chapter-card.done{border-color:#8eff0140}.chapter-card.\!done{border-color:#8eff0140!important}.chapter-node{flex-direction:column;align-items:center;display:flex;position:relative}.chapter-num{background:var(--surface-2);border:1px solid var(--border-2);width:40px;height:40px;color:var(--text-2);z-index:1;border-radius:12px;flex:none;place-items:center;font-size:16px;font-weight:800;display:grid}.chapter-card.done .chapter-num{background:var(--lime-soft);color:var(--lime);border-color:#8eff0173}.chapter-card.\!done .chapter-num{background:var(--lime-soft)!important;color:var(--lime)!important;border-color:#8eff0173!important}.chapter-card.current .chapter-num{background:var(--purple-soft);color:#b89bff;border-color:#8b53fe80}.chapter-card.\!current .chapter-num{background:var(--purple-soft)!important;color:#b89bff!important;border-color:#8b53fe80!important}.chapter-connector{background:linear-gradient(var(--border-2), transparent);z-index:0;width:2px;position:absolute;top:40px;bottom:-32px;left:50%;transform:translate(-50%)}.chapter-card:last-child .chapter-connector{display:none}@media (width<=560px){.chapter-card{grid-template-columns:1fr;gap:10px}.chapter-node{flex-direction:row;gap:10px}.chapter-connector{display:none}}.track-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.track-card{text-align:left;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:12px;padding:22px;transition:all .16s;display:flex}.track-card:hover{box-shadow:0 18px 40px -28px var(--lime-glow);border-color:#8eff0166;transform:translateY(-3px)}.track-card .tc-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.track-card .tc-glyph{width:48px;height:48px;font:700 16px var(--mono);background:var(--purple-soft);color:#b89bff;border:1px solid #8b53fe59;border-radius:13px;flex:none;place-items:center;display:grid}.track-card .tc-name{letter-spacing:-.2px;font-size:17px;font-weight:700}.track-card .tc-desc{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:39px;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.track-card .tc-author{color:var(--text-3);border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:10px;font-size:12.5px;display:flex}.track-card .tc-author:before{content:"";background:var(--purple);opacity:.7;border-radius:50%;width:5px;height:5px}.track-card .tc-foot{margin-top:auto;padding-top:4px}.track-card .tc-langtags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.track-card .tc-langtag{font:600 10.5px var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px;line-height:1.3}.track-card .tc-author-link{color:inherit;text-decoration:none;transition:color .13s}.track-card .tc-author-link:hover{color:var(--lime)}.platform-course-banner{border-radius:var(--r-lg);background:radial-gradient(420px 180px at 0% 0%, #8b53fe1f, transparent 60%), var(--surface);border:1px solid #8b53fe47;margin-bottom:16px;padding:18px 20px}.platform-course-banner h2{letter-spacing:-.2px;margin:0 0 6px;font-size:18px;font-weight:800}.platform-course-banner p{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.55}.platform-course-banner .pcb-langs{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.\!label{color:var(--text-2)!important;margin-bottom:7px!important;font-size:13px!important;font-weight:600!important;display:block!important}.select-inline{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-md);width:auto;min-width:7.5rem;max-width:12rem;color:var(--text);font:500 13px var(--font);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 10px;transition:all .16s}.select-inline option{background-color:var(--bg-2);color:var(--text)}.select-inline option:disabled{color:var(--text-3)}.select-inline:focus{border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-soft);outline:none}.input::-moz-placeholder{color:var(--text-3)}.textarea::-moz-placeholder{color:var(--text-3)}.\!row{flex-wrap:wrap!important;align-items:center!important;gap:12px!important;display:flex!important}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tp-page{--tw-bg-opacity:1;background-color:rgb(10 14 21/var(--tw-bg-opacity));--tw-text-opacity:1;min-height:100vh;color:rgb(238 242 247/var(--tw-text-opacity))}.tp-input{--tw-border-opacity:1;border-width:1px;border-color:rgb(51 61 79/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(14 19 28/var(--tw-bg-opacity));--tw-text-opacity:1;width:100%;color:rgb(238 242 247/var(--tw-text-opacity));outline-offset:2px;border-radius:12px;outline:2px solid #0000;padding:.625rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tp-input::placeholder{--tw-text-opacity:1;color:rgb(98 109 126/var(--tw-text-opacity))}.tp-input:focus{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:#8eff011a}.tp-select{--tw-border-opacity:1;border-width:1px;border-color:rgb(51 61 79/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(14 19 28/var(--tw-bg-opacity));--tw-text-opacity:1;width:100%;color:rgb(238 242 247/var(--tw-text-opacity));outline-offset:2px;border-radius:12px;outline:2px solid #0000;padding:.625rem .75rem;font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tp-select:focus{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:#8eff011a}.tp-label{--tw-text-opacity:1;color:rgb(154 166 182/var(--tw-text-opacity));margin-bottom:.5rem;font-size:13px;font-weight:600;display:block}.tp-chip{--tw-border-opacity:1;border-width:1px;border-color:rgb(51 61 79/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(29 35 49/var(--tw-bg-opacity));--tw-text-opacity:1;height:2rem;color:rgb(154 166 182/var(--tw-text-opacity));border-radius:9999px;align-items:center;gap:.5rem;padding-left:.75rem;padding-right:.75rem;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.tp-chip:hover{--tw-text-opacity:1;color:rgb(238 242 247/var(--tw-text-opacity))}.tp-chip-active{--tw-text-opacity:1;color:rgb(142 255 1/var(--tw-text-opacity));background-color:#8eff0126;border-color:#8eff0173}.te-frame{--tw-border-opacity:1;border-width:1px;border-color:rgb(38 46 60/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity));--tw-shadow:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000c;--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color), 0 18px 40px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:22px}.te-panel-head{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(38 46 60/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(12 17 26/var(--tw-bg-opacity));justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.te-divider{--tw-border-opacity:1;border-top-width:1px;border-color:rgb(38 46 60/var(--tw-border-opacity))}.te-test-card{--tw-border-opacity:1;border-width:1px;border-color:rgb(38 46 60/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity));--tw-shadow:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000c;--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color), 0 18px 40px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-radius:22px;padding:1rem}.te-error{--tw-text-opacity:1;color:rgb(255 129 152/var(--tw-text-opacity));background-color:#ff4d6a1a;border-width:1px;border-color:#ff4d6a4d;border-radius:12px;padding:.5rem .75rem;font-size:13px}.te-footer{--tw-border-opacity:1;border-top-width:1px;border-color:rgb(38 46 60/var(--tw-border-opacity));--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#141a24e6;gap:.625rem;padding:1rem 1.25rem;display:flex;position:sticky;bottom:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.\!fixed{position:fixed!important}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.left-0{left:0}.left-3{left:.75rem}.left-3\.5{left:.875rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-11{top:2.75rem}.top-2{top:.5rem}.top-8{top:2rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[320\]{z-index:320}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-0{margin-left:0;margin-right:0}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-\[18px\]{margin-bottom:18px}.mb-\[22px\]{margin-bottom:22px}.mb-\[7px\]{margin-bottom:7px}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-\[22px\]{margin-top:22px}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[42px\]{height:42px}.h-\[calc\(100vh-40px\)\]{height:calc(100vh - 40px)}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[280px\]{max-height:280px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[inherit\]{max-height:inherit}.max-h-\[min\(92vh\,calc\(100vh-48px\)\)\]{max-height:min(92vh,100vh - 48px)}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-24{min-height:6rem}.min-h-9{min-height:2.25rem}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[140px\]{min-height:140px}.min-h-\[320px\]{min-height:320px}.min-h-\[360px\]{min-height:360px}.min-h-\[460px\]{min-height:460px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[120px\]{width:120px}.w-\[380px\]{width:380px}.w-\[42px\]{width:42px}.w-\[88\%\]{width:88%}.w-\[min\(320px\,calc\(100vw-24px\)\)\]{width:min(320px,100vw - 24px)}.w-\[min\(360px\,calc\(100vw-24px\)\)\]{width:min(360px,100vw - 24px)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-4{min-width:1rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[1ch\]{min-width:1ch}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[28px\]{min-width:28px}.min-w-\[2ch\]{min-width:2ch}.min-w-\[64px\]{min-width:64px}.min-w-\[8rem\]{min-width:8rem}.max-w-3xl{max-width:48rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[220px\]{max-width:220px}.max-w-\[320px\]{max-width:320px}.max-w-\[440px\]{max-width:440px}.max-w-\[520px\]{max-width:520px}.max-w-\[70\%\]{max-width:70%}.max-w-\[720px\]{max-width:720px}.max-w-\[80\%\]{max-width:80%}.max-w-\[920px\]{max-width:920px}.max-w-\[960px\]{max-width:960px}.max-w-\[min\(100\%\,28rem\)\]{max-width:min(100%,28rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-\[1_1_280px\]{flex:280px}.flex-\[1_1_auto\]{flex:auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-\[18px\]{gap:18px}.gap-\[30px\]{gap:30px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(38 46 60/var(--tw-divide-opacity))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(31 41 55/var(--tw-divide-opacity))}.divide-slate-800>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(30 41 59/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:16px}.rounded-md{border-radius:12px}.rounded-sm{border-radius:8px}.rounded-xl{border-radius:22px}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.\!border-\[rgba\(139\,83\,254\,\.28\)\]{border-color:#8b53fe47!important}.\!border-\[rgba\(142\,255\,1\,\.28\)\]{border-color:#8eff0147!important}.\!border-\[rgba\(142\,255\,1\,\.35\)\]{border-color:#8eff0159!important}.\!border-\[rgba\(255\,77\,106\,\.28\)\]{border-color:#ff4d6a47!important}.border-\[\#333d4f\]{--tw-border-opacity:1;border-color:rgb(51 61 79/var(--tw-border-opacity))}.border-\[rgba\(139\,83\,254\,\.3\)\]{border-color:#8b53fe4d}.border-\[rgba\(142\,255\,1\,\.35\)\]{border-color:#8eff0159}.border-\[rgba\(142\,255\,1\,\.4\)\]{border-color:#8eff0166}.border-\[rgba\(255\,180\,61\,\.3\)\]{border-color:#ffb43d4d}.border-\[rgba\(255\,77\,106\,\.3\)\]{border-color:#ff4d6a4d}.border-\[rgba\(255\,77\,106\,\.35\)\]{border-color:#ff4d6a59}.border-\[rgba\(255\,77\,106\,\.4\)\]{border-color:#ff4d6a66}.border-\[rgba\(255\,80\,80\,\.6\)\]{border-color:#ff505099}.border-\[var\(--line\)\]{border-color:var(--line)}.border-amber-400\/35{border-color:#fbbf2459}.border-amber-400\/40{border-color:#fbbf2466}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}.border-border{--tw-border-opacity:1;border-color:rgb(38 46 60/var(--tw-border-opacity))}.border-border-strong{--tw-border-opacity:1;border-color:rgb(51 61 79/var(--tw-border-opacity))}.border-border\/60{border-color:#262e3c99}.border-cyan-500\/40{border-color:#06b6d466}.border-danger\/30{border-color:#ff4d6a4d}.border-danger\/35{border-color:#ff4d6a59}.border-danger\/40{border-color:#ff4d6a66}.border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.border-green-500\/40{border-color:#22c55e66}.border-lime{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity))}.border-lime\/25{border-color:#8eff0140}.border-lime\/30{border-color:#8eff014d}.border-lime\/40{border-color:#8eff0166}.border-lime\/45{border-color:#8eff0173}.border-lime\/50{border-color:#8eff0180}.border-purple-900\/40{border-color:#581c8766}.border-purple\/20{border-color:#8b53fe33}.border-purple\/30{border-color:#8b53fe4d}.border-purple\/35{border-color:#8b53fe59}.border-purple\/40{border-color:#8b53fe66}.border-purple\/45{border-color:#8b53fe73}.border-purple\/50{border-color:#8b53fe80}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.border-surface-3{--tw-border-opacity:1;border-color:rgb(38 46 62/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-warning\/35{border-color:#ffb43d59}.border-t-lime{--tw-border-opacity:1;border-top-color:rgb(142 255 1/var(--tw-border-opacity))}.bg-\[\#030712\]{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.bg-\[\#0c1224\]{--tw-bg-opacity:1;background-color:rgb(12 18 36/var(--tw-bg-opacity))}.bg-\[\#141a24\]{--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity))}.bg-\[\#1f2937\]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-\[\#ff3131\]{--tw-bg-opacity:1;background-color:rgb(255 49 49/var(--tw-bg-opacity))}.bg-amber-400\/15{background-color:#fbbf2426}.bg-amber-950\/40{background-color:#451a0366}.bg-bg{--tw-bg-opacity:1;background-color:rgb(10 14 21/var(--tw-bg-opacity))}.bg-bg-2{--tw-bg-opacity:1;background-color:rgb(14 19 28/var(--tw-bg-opacity))}.bg-bg-2\/60{background-color:#0e131c99}.bg-black\/60{background-color:#0009}.bg-black\/65{background-color:#000000a6}.bg-black\/70{background-color:#000000b3}.bg-current{background-color:currentColor}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-danger{--tw-bg-opacity:1;background-color:rgb(255 77 106/var(--tw-bg-opacity))}.bg-danger-soft{background-color:#ff4d6a24}.bg-danger-soft\/25{background-color:#ff4d6a40}.bg-danger-soft\/30{background-color:#ff4d6a4d}.bg-danger\/15{background-color:#ff4d6a26}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity))}.bg-emerald-900\/40{background-color:#064e3b66}.bg-emerald-950\/40{background-color:#022c2266}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-800\/90{background-color:#1f2937e6}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-900\/50{background-color:#11182780}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.bg-green-500\/10{background-color:#22c55e1a}.bg-ink-faint{--tw-bg-opacity:1;background-color:rgb(98 109 126/var(--tw-bg-opacity))}.bg-ink-faint\/35{background-color:#626d7e59}.bg-lime{--tw-bg-opacity:1;background-color:rgb(142 255 1/var(--tw-bg-opacity))}.bg-lime-soft{background-color:#8eff0124}.bg-lime-soft\/20{background-color:#8eff0133}.bg-lime-soft\/30{background-color:#8eff014d}.bg-lime-soft\/50{background-color:#8eff0180}.bg-lime\/10{background-color:#8eff011a}.bg-lime\/15{background-color:#8eff0126}.bg-purple{--tw-bg-opacity:1;background-color:rgb(139 83 254/var(--tw-bg-opacity))}.bg-purple-950\/20{background-color:#3b076433}.bg-purple-soft{background-color:#8b53fe29}.bg-purple-soft\/40{background-color:#8b53fe66}.bg-purple\/15{background-color:#8b53fe26}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-950\/40{background-color:#450a0a66}.bg-sky-900\/40{background-color:#0c4a6e66}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity))}.bg-surface-2{--tw-bg-opacity:1;background-color:rgb(29 35 49/var(--tw-bg-opacity))}.bg-surface-2\/40{background-color:#1d233166}.bg-surface-2\/60{background-color:#1d233199}.bg-surface-2\/70{background-color:#1d2331b3}.bg-surface-2\/80{background-color:#1d2331cc}.bg-surface-3{--tw-bg-opacity:1;background-color:rgb(38 46 62/var(--tw-bg-opacity))}.bg-surface\/30{background-color:#141a244d}.bg-surface\/40{background-color:#141a2466}.bg-surface\/70{background-color:#141a24b3}.bg-surface\/80{background-color:#141a24cc}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.bg-transparent{background-color:#0000}.bg-warning\/15{background-color:#ffb43d26}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-\[linear-gradient\(90deg\,var\(--surface\)_25\%\,var\(--surface-3\)_37\%\,var\(--surface\)_63\%\)\]{background-image:linear-gradient(90deg,var(--surface) 25%,var(--surface-3) 37%,var(--surface) 63%)}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-lime{--tw-gradient-from:#8eff01 var(--tw-gradient-from-position);--tw-gradient-to:#8eff0100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple{--tw-gradient-from:#8b53fe var(--tw-gradient-from-position);--tw-gradient-to:#8b53fe00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[\#a877ff\]{--tw-gradient-to:#a877ff var(--tw-gradient-to-position)}.to-lime-600{--tw-gradient-to:#7ee000 var(--tw-gradient-to-position)}.bg-\[length\:400\%_100\%\]{background-size:400% 100%}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[22px\]{padding:22px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.font-mono{font-family:JetBrains Mono,ui-monospace,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.text-\[34px\]{font-size:34px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.75\]{line-height:1.75}.leading-\[1\.85\]{line-height:1.85}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.4px\]{letter-spacing:-.4px}.tracking-\[-0\.5px\]{letter-spacing:-.5px}.tracking-\[-0\.6px\]{letter-spacing:-.6px}.tracking-\[-0\.8px\]{letter-spacing:-.8px}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#b89bff\]{--tw-text-opacity:1;color:rgb(184 155 255/var(--tw-text-opacity))}.text-\[\#c5ff6b\]{--tw-text-opacity:1;color:rgb(197 255 107/var(--tw-text-opacity))}.text-\[\#cbb6ff\]{--tw-text-opacity:1;color:rgb(203 182 255/var(--tw-text-opacity))}.text-\[\#d4bcff\]{--tw-text-opacity:1;color:rgb(212 188 255/var(--tw-text-opacity))}.text-\[\#ff8198\]{--tw-text-opacity:1;color:rgb(255 129 152/var(--tw-text-opacity))}.text-\[\#ffb0bf\]{--tw-text-opacity:1;color:rgb(255 176 191/var(--tw-text-opacity))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-bg{--tw-text-opacity:1;color:rgb(10 14 21/var(--tw-text-opacity))}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity))}.text-danger{--tw-text-opacity:1;color:rgb(255 77 106/var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-ink{--tw-text-opacity:1;color:rgb(238 242 247/var(--tw-text-opacity))}.text-ink-faint{--tw-text-opacity:1;color:rgb(98 109 126/var(--tw-text-opacity))}.text-ink-faint\/40{color:#626d7e66}.text-ink-faint\/70{color:#626d7eb3}.text-ink-muted{--tw-text-opacity:1;color:rgb(154 166 182/var(--tw-text-opacity))}.text-lime{--tw-text-opacity:1;color:rgb(142 255 1/var(--tw-text-opacity))}.text-lime\/70{color:#8eff01b3}.text-purple{--tw-text-opacity:1;color:rgb(139 83 254/var(--tw-text-opacity))}.text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-rose-300\/90{color:#fda4afe6}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.text-transparent{color:#0000}.text-warning{--tw-text-opacity:1;color:rgb(255 180 61/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.decoration-lime\/50{text-decoration-color:#8eff0180}.underline-offset-2{text-underline-offset:2px}.accent-lime{accent-color:#8eff01}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-\[0_0_8px_rgba\(255\,49\,49\,\.55\)\]{--tw-shadow:0 0 8px #ff31318c;--tw-shadow-colored:0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_20px_50px_-20px_rgba\(0\,0\,0\,\.8\)\]{--tw-shadow:0 20px 50px -20px #000c;--tw-shadow-colored:0 20px 50px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_60px_-20px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 30px 60px -20px #000c;--tw-shadow-colored:0 30px 60px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_40px_90px_-30px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:0 40px 90px -30px #000c;--tw-shadow-colored:0 40px 90px -30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_6px_22px_-10px_rgba\(142\,255\,1\,\.45\)\]{--tw-shadow:0 6px 22px -10px #8eff0173;--tw-shadow-colored:0 6px 22px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_6px_22px_-10px_rgba\(142\,255\,1\,\.5\)\]{--tw-shadow:0 6px 22px -10px #8eff0180;--tw-shadow-colored:0 6px 22px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-card{--tw-shadow:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000c;--tw-shadow-colored:inset 0 1px 0 var(--tw-shadow-color), 0 18px 40px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-glow-purple{--tw-shadow:0 0 0 1px #8b53fe80, 0 8px 30px -8px #8b53fe73;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color), 0 8px 30px -8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-lime\/15{--tw-ring-color:#8eff0126}.ring-lime\/40{--tw-ring-color:#8eff0166}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar-dark::-webkit-scrollbar{width:12px;height:12px}.scrollbar-dark::-webkit-scrollbar-button{width:0;height:0;display:none}.scrollbar-dark::-webkit-scrollbar-track{background:#0e131c;border-radius:6px}.scrollbar-dark::-webkit-scrollbar-thumb{background-color:#333d4f;border:2px solid #0e131c;border-radius:6px}.scrollbar-dark{scrollbar-width:auto;scrollbar-color:#333d4f #0e131c}.scrollbar-activity::-webkit-scrollbar{width:12px;height:12px}.scrollbar-activity::-webkit-scrollbar-button{width:0;height:0;display:none}.scrollbar-activity::-webkit-scrollbar-track{background:#111827;border-radius:6px}.scrollbar-activity::-webkit-scrollbar-thumb{background-color:#1f2937;border:2px solid #111827;border-radius:6px}.scrollbar-activity{scrollbar-width:auto;scrollbar-color:#1f2937 #111827}.monaco-editor .block-range-overlay-layer{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:hidden}.monaco-editor .monaco-block-overlay{box-sizing:border-box;pointer-events:none;background-color:#8eff011a;border:1px solid #8eff01bf;border-radius:10px;justify-content:flex-start;align-items:center;min-width:0;padding:0 6px;display:flex;overflow:visible;box-shadow:inset 0 0 0 1px #8eff0114}.monaco-editor .monaco-block-overlay--interactive{pointer-events:auto;cursor:pointer}.monaco-editor .monaco-block-overlay--interactive:hover{background-color:#8eff0129;border-color:#8eff01f2}.monaco-editor .monaco-block-overlay-label{display:none}.monaco-editor .monaco-block-overlay:active{cursor:grabbing}.monaco-editor .monaco-block-selection-preview{box-shadow:none!important;background:#8eff011a!important;border-radius:10px!important;outline:1px dashed #8eff018c!important}.monaco-editor .monaco-block-column-guide{color:#94a3b8cc;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:pre;z-index:5;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:27px;overflow:hidden}.monaco-editor .view-line span.monaco-block-range-text{border-radius:4px;color:#eef2f7!important;box-shadow:none!important;background:#8eff011a!important;border:none!important;margin:0!important;padding:0!important}.monaco-editor .view-line span.monaco-scaffold-placeholder{border-radius:4px;outline:1px dashed #fbbf2459;background:#fbbf2414!important}.scrollbar-editor-config::-webkit-scrollbar{width:12px;height:12px}.scrollbar-editor-config::-webkit-scrollbar-button{width:0;height:0;display:none}.scrollbar-editor-config::-webkit-scrollbar-track{background:#030712;border-radius:6px}.scrollbar-editor-config::-webkit-scrollbar-thumb{background-color:#374151;border:2px solid #030712;border-radius:6px}.scrollbar-editor-config{scrollbar-width:auto;scrollbar-color:#374151 #030712}.scrollbar-editor-execution::-webkit-scrollbar{width:12px;height:12px}.scrollbar-editor-execution::-webkit-scrollbar-button{width:0;height:0;display:none}.scrollbar-editor-execution::-webkit-scrollbar-track{background:#1f2937;border-radius:6px}.scrollbar-editor-execution::-webkit-scrollbar-thumb{background-color:#374151;border:2px solid #1f2937;border-radius:6px}.scrollbar-editor-execution{scrollbar-width:auto;scrollbar-color:#374151 #1f2937}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar>.slider{border:2px solid #1f2937;transition:background .15s;background:#374151!important;border-radius:8px!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar>.slider:hover{background:#999ea6!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar{background:#1f2937!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar.vertical{width:12px!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar.horizontal{height:12px!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar>.arrow-background{background:#1f2937!important;display:none!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar>.arrow-background .codicon{transition:color .15s;color:#374151!important;font-size:10px!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.scrollbar>.arrow-background:hover .codicon{color:#999ea6!important}.monaco-editor-scrollbar-dark .monaco-scrollable-element>.shadow,.monaco-editor-scrollbar-dark .monaco-scrollable-element>.shadow.top,.monaco-editor-scrollbar-dark .monaco-scrollable-element>.shadow.left,.monaco-editor-scrollbar-dark .monaco-scrollable-element>.shadow.top-left-corner,.answer-flow-preview .react-flow__attribution{display:none!important}.answer-flow-preview .react-flow,.answer-flow-preview .react-flow__renderer,.answer-flow-preview .react-flow__zoompane,.answer-flow-preview .react-flow__pane{overflow:hidden!important}.flowchart-canvas.react-flow,.flowchart-canvas .react-flow__renderer,.flowchart-canvas .react-flow__pane{background:0 0!important}.flowchart-canvas .react-flow__attribution{display:none!important}.flowchart-canvas .react-flow__edge-path{stroke:#9aa6b6}.flowchart-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:#8eff01}.code-line{align-items:flex-start;min-height:1.85em;display:flex}.code-line .ln{text-align:right;width:2.25rem;font-family:var(--mono);color:var(--text-3);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:.75rem;font-size:12.5px;line-height:1.85}.code-line .tk-kw{color:#f472b6}.code-line .tk-fn{color:#a3e635}.code-line .tk-id{color:#eef2f7}.code-line .tk-op{color:#9aa6b6}.code-line .tk-str{color:#86efac}.code-line .tk-num{color:#fcd34d}.code-line .tk-cmt{color:var(--text-3)}.code-line .tk-ws{white-space:pre}.code-line.is-flag-fail{background:#ff4d6a1f;border-radius:4px;margin:0 -.5rem;padding:0 .5rem}.code-line.is-flag-fail .ln{color:#ff4d6a}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pop-in{animation:.16s ease-out pop-in}.student-code-editor .monaco-editor .line-numbers{color:var(--text-3)!important;font-size:12.5px!important}.student-code-editor .monaco-editor .active-line-number{color:#9aa6b6!important}.student-code-editor .monaco-editor .view-line{line-height:24px!important}.monaco-editor .student-editor-line-fail{background:#ff4d6a24!important}.monaco-editor .student-editor-line-fail-gutter{background:#ff4d6a33;border-radius:2px;margin-left:3px;width:4px!important}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity:1;color:rgb(98 109 126/var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:-translate-y-0:hover{--tw-translate-y:-0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#3e4a60\]:hover{--tw-border-opacity:1;border-color:rgb(62 74 96/var(--tw-border-opacity))}.hover\:border-\[rgba\(255\,255\,255\,\.1\)\]:hover{border-color:#ffffff1a}.hover\:border-danger\/40:hover{border-color:#ff4d6a66}.hover\:border-danger\/50:hover{border-color:#ff4d6a80}.hover\:border-danger\/55:hover{border-color:#ff4d6a8c}.hover\:border-danger\/60:hover{border-color:#ff4d6a99}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:border-lime:hover{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity))}.hover\:border-lime\/40:hover{border-color:#8eff0166}.hover\:border-lime\/45:hover{border-color:#8eff0173}.hover\:border-lime\/50:hover{border-color:#8eff0180}.hover\:border-lime\/70:hover{border-color:#8eff01b3}.hover\:border-purple\/40:hover{border-color:#8b53fe66}.hover\:border-red-400\/50:hover{border-color:#f8717180}.hover\:border-warning\/45:hover{border-color:#ffb43d73}.hover\:bg-\[\#a4ff3a\]:hover{--tw-bg-opacity:1;background-color:rgb(164 255 58/var(--tw-bg-opacity))}.hover\:bg-\[rgba\(255\,77\,106\,\.14\)\]:hover{background-color:#ff4d6a24}.hover\:bg-cyan-500\/20:hover{background-color:#06b6d433}.hover\:bg-danger:hover{--tw-bg-opacity:1;background-color:rgb(255 77 106/var(--tw-bg-opacity))}.hover\:bg-danger-soft:hover{background-color:#ff4d6a24}.hover\:bg-danger\/15:hover{background-color:#ff4d6a26}.hover\:bg-danger\/20:hover{background-color:#ff4d6a33}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:bg-gray-900\/80:hover{background-color:#111827cc}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(126 224 0/var(--tw-bg-opacity))}.hover\:bg-lime-soft:hover{background-color:#8eff0124}.hover\:bg-lime-soft\/15:hover{background-color:#8eff0126}.hover\:bg-lime\/10:hover{background-color:#8eff011a}.hover\:bg-lime\/5:hover{background-color:#8eff010d}.hover\:bg-purple:hover{--tw-bg-opacity:1;background-color:rgb(139 83 254/var(--tw-bg-opacity))}.hover\:bg-purple\/90:hover{background-color:#8b53fee6}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.hover\:bg-slate-900\/80:hover{background-color:#0f172acc}.hover\:bg-surface:hover{--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity))}.hover\:bg-surface-2:hover{--tw-bg-opacity:1;background-color:rgb(29 35 49/var(--tw-bg-opacity))}.hover\:bg-surface-3:hover{--tw-bg-opacity:1;background-color:rgb(38 46 62/var(--tw-bg-opacity))}.hover\:bg-surface\/70:hover{background-color:#141a24b3}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.hover\:text-danger:hover{--tw-text-opacity:1;color:rgb(255 77 106/var(--tw-text-opacity))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(238 242 247/var(--tw-text-opacity))}.hover\:text-lime:hover{--tw-text-opacity:1;color:rgb(142 255 1/var(--tw-text-opacity))}.hover\:text-lime-600:hover{--tw-text-opacity:1;color:rgb(126 224 0/var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.hover\:text-teal-200:hover{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity))}.hover\:text-teal-300:hover{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.hover\:text-warning:hover{--tw-text-opacity:1;color:rgb(255 180 61/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_16px_38px_-26px_rgba\(142\,255\,1\,0\.45\)\]:hover{--tw-shadow:0 16px 38px -26px #8eff0173;--tw-shadow-colored:0 16px 38px -26px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-glow-lime:hover{--tw-shadow:0 0 0 1px #8eff0180, 0 8px 30px -8px #8eff0173;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color), 0 8px 30px -8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-glow-purple:hover{--tw-shadow:0 0 0 1px #8b53fe80, 0 8px 30px -8px #8b53fe73;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color), 0 8px 30px -8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus\:border-lime:focus{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity))}.focus\:border-purple:focus{--tw-border-opacity:1;border-color:rgb(139 83 254/var(--tw-border-opacity))}.focus\:border-slate-400:focus{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-lime\/10:focus{--tw-ring-color:#8eff011a}.focus\:ring-lime\/20:focus{--tw-ring-color:#8eff0133}.focus\:ring-lime\/40:focus{--tw-ring-color:#8eff0166}.focus\:ring-purple\/20:focus{--tw-ring-color:#8b53fe33}.focus\:ring-slate-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity))}.focus-visible\:border-lime:focus-visible{--tw-border-opacity:1;border-color:rgb(142 255 1/var(--tw-border-opacity))}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-lime\/20:focus-visible{--tw-ring-color:#8eff0133}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-surface:active{--tw-bg-opacity:1;background-color:rgb(20 26 36/var(--tw-bg-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-ink-faint:disabled{--tw-text-opacity:1;color:rgb(98 109 126/var(--tw-text-opacity))}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:translate-y-0:hover:disabled{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:hover\:shadow-none:hover:disabled{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group:hover .group-hover\:bg-ink-faint\/60{background-color:#626d7e99}.group:hover .group-hover\:opacity-100{opacity:1}.group:active .group-active\:bg-lime\/70{background-color:#8eff01b3}@media (width>=640px){.sm\:w-\[min\(520px\,calc\(100vw-24px\)\)\]{width:min(520px,100vw - 24px)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (width>=1024px){.lg\:min-h-0{min-height:0}.lg\:flex-1{flex:1}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.lg\:flex-row{flex-direction:row}}:root{--lime:#8eff01;--lime-600:#7ee000;--lime-700:#69bd00;--lime-soft:#8eff0124;--lime-glow:#8eff0173;--purple:#8b53fe;--purple-600:#7a3ff0;--purple-700:#6730d6;--purple-soft:#8b53fe29;--purple-glow:#8b53fe73;--bg:#0a0e15;--bg-2:#0e131c;--surface:#141a24;--surface-2:#1d2331;--surface-3:#262e3e;--border:#262e3c;--border-2:#333d4f;--line:#ffffff0f;--text:#eef2f7;--text-2:#9aa6b6;--text-3:#626d7e;--success:var(--lime);--danger:#ff4d6a;--danger-soft:#ff4d6a24;--warning:#ffb43d;--warning-soft:#ffb43d24;--info:var(--purple);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--shadow-card:0 1px 0 #ffffff08 inset, 0 18px 40px -24px #000c;--glow-lime:0 0 0 1px #8eff0180, 0 8px 30px -8px var(--lime-glow);--glow-purple:0 0 0 1px #8b53fe80, 0 8px 30px -8px var(--purple-glow);--font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--serif:"Instrument Serif",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}*{scrollbar-color:var(--surface-2) var(--bg);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface-2);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}::-webkit-scrollbar-corner{background:var(--bg)}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 500px at 12% -5%,#8eff010f,#0000 60%),radial-gradient(900px 600px at 100% 0,#8b53fe14,#0000 55%);background-attachment:fixed;margin:0;line-height:1.5}a{color:inherit;cursor:pointer;text-decoration:none}button{font-family:inherit}::selection{background:var(--lime);color:#0a0e15}input,select,textarea,button{font-family:inherit}.brand{align-items:center;gap:11px;display:flex}.brand .dot{background:var(--lime);width:30px;height:30px;box-shadow:var(--glow-lime);border-radius:9px;flex:none;position:relative}.brand .dot:after{content:"";background:#0a0e15;border-radius:4px;position:absolute;inset:8px}.brand .dot.pp{background:var(--purple);box-shadow:var(--glow-purple)}.brand b{letter-spacing:-.3px;font-size:17px}.brand .pulse{font-family:var(--serif);color:var(--purple);font-style:italic;font-weight:400}.btn{border-radius:var(--r-md);height:42px;font:600 14px/1 var(--font);cursor:pointer;white-space:nowrap;color:inherit;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;transition:all .18s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--lime);color:#0a0e15;box-shadow:0 6px 22px -10px var(--lime-glow)}.btn-primary:hover:not(:disabled){background:var(--lime-600);box-shadow:var(--glow-lime);transform:translateY(-1px)}.btn-secondary{background:var(--purple-soft);color:#cbb6ff;border-color:#8b53fe66}.btn-secondary:hover:not(:disabled){background:var(--purple);color:#fff;box-shadow:var(--glow-purple)}.btn-ghost{color:var(--text-2);border-color:var(--border-2);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--lime);background:var(--surface)}.btn-danger{background:var(--danger-soft);color:#ff8198;border-color:#ff4d6a66}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{height:34px;padding:0 13px;font-size:13px}.btn-xs{border-radius:8px;height:28px;padding:0 10px;font-size:12px}.btn-icon{justify-content:center;width:42px;padding:0}.btn-icon.btn-sm{width:34px}.btn-icon.btn-xs{width:28px}.btn-full{width:100%}.badge{border-radius:var(--r-pill);height:24px;font:600 12px/1 var(--font);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.badge-lime{background:var(--lime-soft);color:var(--lime);border:1px solid #8eff014d}.badge-purple{background:var(--purple-soft);color:#b89bff;border:1px solid #8b53fe59}.badge-muted{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-2)}.badge-danger{background:var(--danger-soft);color:#ff8198;border:1px solid #ff4d6a59}.badge-warn{background:var(--warning-soft);color:var(--warning);border:1px solid #ffb43d59}.dotb{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card-pad{padding:22px}.card-soft{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.input,.select,.textarea{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-md);width:100%;color:var(--text);font:500 14px var(--font);padding:11px 13px;transition:all .16s}.input::-moz-placeholder{color:var(--text-3)}.textarea::-moz-placeholder{color:var(--text-3)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-soft);outline:none}.input.err,.select.err,.textarea.err{border-color:var(--danger)}.input.err:focus,.select.err:focus,.textarea.err:focus{box-shadow:0 0 0 3px var(--danger-soft)}.textarea{resize:vertical;min-height:96px;font-family:var(--mono);font-size:13px}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}.label{color:var(--text-2);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.help{color:var(--text-3);margin-top:6px;font-size:12px}.help.err{color:#ff8198}.select{appearance:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.select option,.select-inline option{background-color:var(--bg-2);color:var(--text)}.select option:disabled,.select-inline option:disabled{color:var(--text-3)}.checkbox{border:1.6px solid var(--border-2);background:var(--bg-2);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;transition:all .12s;display:inline-flex}.checkbox.on{background:var(--lime);border-color:var(--lime);color:#0a0e15}.checkbox.on:after{content:"✓";font-size:12px;font-weight:800}.check-row{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.chip{border-radius:var(--r-pill);height:32px;font:500 13px var(--font);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:0 13px;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--text-3);color:var(--text)}.chip.on{background:var(--lime-soft);color:var(--lime);border-color:#8eff0173}.chip.on.pp{background:var(--purple-soft);color:#b89bff;border-color:#8b53fe73}.chip.on.adm{background:var(--warning-soft);color:var(--warning);border-color:#ffb43d73}.chip.adm:not(.on){color:var(--text-3);border-color:#ffb43d40}.chip.sm{height:28px;padding:0 11px;font-size:12px}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:0 14px 11px;font-size:11.5px;font-weight:600}.table td{border-top:1px solid var(--border);vertical-align:middle;padding:13px 14px}.table tbody tr{cursor:pointer;transition:all .12s}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr.no-hover{cursor:default}.table tbody tr.no-hover:hover{background:0 0}.t-name{font-weight:600}.lang-dots{align-items:center;gap:6px;min-height:10px;display:flex}.lang-dot{background:var(--surface-3);border:1px solid var(--border-2);border-radius:50%;flex:none;width:10px;height:10px}.lang-dot.solved{background:var(--lime);border-color:var(--lime);box-shadow:0 0 10px -3px var(--lime-glow)}.lang-dot.attempted{border:2px solid var(--purple);background:0 0}.lang-dot.todo{opacity:.85}.lang-dot.inactive{opacity:.35}.lang-status-master{border-radius:var(--r-pill);background:var(--lime);color:#0a0e15;height:28px;font:700 12px/1 var(--font);white-space:nowrap;box-shadow:0 4px 16px -8px var(--lime-glow);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.lang-status-master .lsm-star{font-size:13px;line-height:1}.progress{background:var(--surface-3);border-radius:var(--r-pill);height:8px;overflow:hidden}.progress>i{border-radius:var(--r-pill);background:linear-gradient(90deg,var(--lime),var(--lime-600));height:100%;transition:width .35s;display:block}.progress.pp>i{background:linear-gradient(90deg,var(--purple),#a877ff)}.pagination{align-items:center;gap:6px;display:flex}.pagination a,.pagination button{border:1px solid var(--border-2);min-width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.pagination a:hover,.pagination button:hover{border-color:var(--lime);color:var(--text)}.pagination a.on,.pagination button.on{background:var(--lime);border-color:var(--lime);color:#0a0e15}.pagination button:disabled{opacity:.35;cursor:not-allowed}.profile-section-title{margin:0 0 14px;font-size:15px;font-weight:700;line-height:1.3;display:block}.profile-section-title--inline{margin-bottom:0}.profile-section-title--flush{margin-bottom:4px}.profile-page{max-width:960px}.profile-page-top{align-items:center;gap:12px;margin-bottom:14px}.profile-breadcrumbs{font-size:13px}.profile-breadcrumbs a{color:var(--text-2);text-decoration:none}.profile-breadcrumbs a:hover{color:var(--lime)}.profile-hero{margin-bottom:16px}.profile-hero-inner{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.profile-hero-body{flex:1;min-width:200px}.profile-hero-name{margin:0;font-size:22px;font-weight:800}.profile-hero-sub{margin:4px 0 0;font-size:13.5px}.profile-contact-btn{flex-shrink:0;align-self:flex-start}.profile-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.profile-stat-row--compact{flex-shrink:0;grid-template-columns:repeat(2,auto);gap:24px}.profile-stat-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;display:flex}.profile-stat-value{color:var(--text);font-size:32px;font-weight:800;line-height:1}.profile-stat-label{color:var(--text-3);font-size:13px}.profile-stat-badge{margin-top:4px}.profile-catalog-section{margin-bottom:18px}.profile-catalog-list{flex-direction:column;gap:0;display:flex}.profile-catalog-row{border-top:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.profile-catalog-row:first-child{border-top:none;padding-top:0}.profile-catalog-row-main{flex:1;min-width:0}.profile-catalog-tasks{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.profile-student-layout{align-items:start;gap:20px;display:grid}.profile-student-sidebar{text-align:center}.profile-sidebar-stats{text-align:left;margin-top:8px}.profile-sidebar-stat{border-top:1px solid var(--border);padding:11px 0}.profile-sidebar-stat:first-child{border-top:none}.profile-card-title{font-size:14px;font-weight:700;display:block}.profile-teacher-student-header{margin-bottom:0}@media (width<=800px){.profile-stat-row{grid-template-columns:1fr}.profile-student-layout{grid-template-columns:1fr!important}.profile-hero-inner{flex-direction:column}}.avatar{color:#0a0e15;background:var(--lime);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:grid}.avatar.avatar-role-student{background:var(--lime);color:#0a0e15}.avatar.avatar-role-teacher,.avatar.pp{background:linear-gradient(135deg,var(--purple),#a877ff);color:#fff}.avatar.lg{border-radius:18px;width:64px;height:64px;font-size:22px}.avatar.sm{width:30px;height:30px;font-size:12px}.avatar.xs{width:24px;height:24px;font-size:11px}.app-root{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sb{border-right:1px solid var(--border);background:#0c111a;flex-direction:column;align-self:start;height:100vh;min-height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:auto}.sb .b{align-items:center;gap:9px;padding:4px 6px 18px;font-weight:700;display:flex}.sb .b .dot{background:var(--lime);border-radius:7px;flex:none;width:24px;height:24px;position:relative}.sb .b .dot:after{content:"";background:#0c111a;border-radius:3px;position:absolute;inset:6px}.sb .b .dot.pp{background:var(--purple)}.sb-group{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:14px 10px 6px;font-size:10.5px;font-weight:700}.sb a,.sb .navlink{color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:9px 11px;font-size:13.5px;font-weight:500;transition:all .12s;display:flex}.sb a .ic,.sb .navlink .ic{opacity:.7;border:1.6px solid;border-radius:5px;flex:none;width:16px;height:16px}.sb a:hover,.sb .navlink:hover{background:var(--surface);color:var(--text)}.sb a.active,.sb .navlink.active{background:var(--lime-soft);color:var(--lime)}.sb a.active.pp,.sb .navlink.active.pp{background:var(--purple-soft);color:#b89bff}.sb-bottom{margin-top:auto;padding-top:18px}.topbar{border-bottom:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c111a99;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.topbar .crumb{color:var(--text-2);font-size:13px}.topbar .crumb b{color:var(--text)}.topbar .right{align-items:center;gap:12px;display:flex}.topbar-minimal{justify-content:flex-end}.icon-btn{border:1px solid var(--border-2);width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:9px;flex:none;place-items:center;font-size:15px;transition:all .12s;display:grid}.icon-btn:hover{border-color:var(--lime);color:var(--text)}.content{max-width:1320px;padding:26px 28px}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-h h1{letter-spacing:-.6px;margin:0 0 4px;font-size:26px;font-weight:800}.page-h p{color:var(--text-2);margin:0;font-size:14px}.grid{gap:16px;display:grid}.muted{color:var(--text-2)}.mut3{color:var(--text-3)}.mono{font-family:var(--mono)}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap;gap:10px;display:flex}.stat{letter-spacing:-.5px;font-size:30px;font-weight:800}.tabbar-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.tabbar-row .tabbar{border-bottom:none;flex:1;min-width:0;margin-bottom:0}.tabbar{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabbar-action{flex:none;margin-bottom:8px}.tabbar::-webkit-scrollbar{display:none}.tabbar button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 14px;font-size:13.5px;font-weight:600;transition:all .12s}.tabbar button:hover{color:var(--text)}.tabbar button.on{color:var(--lime);border-color:var(--lime)}.tabbar button.on.pp{color:#b89bff;border-color:var(--purple)}.cards3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cards2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.demo-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;padding:18px;transition:all .18s}.course-card:hover{box-shadow:0 18px 40px -28px var(--lime-glow);border-color:#8eff0166;transform:translateY(-3px)}.course-card.pp:hover{box-shadow:0 18px 40px -28px var(--purple-glow);border-color:#8b53fe66}.course-card--actions{cursor:default}.course-card--actions:hover,.course-card--actions.pp:hover{border-color:var(--border);box-shadow:none;transform:none}.course-card--add{cursor:pointer}.course-card--add:hover{border-color:#8b53fe59}.course-card .ico{background:var(--lime-soft);width:44px;height:44px;color:var(--lime);letter-spacing:.02em;border-radius:12px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.course-card.pp .ico{background:var(--purple-soft);color:#b89bff}.course-card .between .ico{width:44px;height:44px;margin-bottom:0}.course-card .between{align-items:flex-start}.cards3--catalogs{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.teacher-catalogs-panel{container:catalogs/inline-size}.teacher-catalogs-panel--embedded{margin-bottom:14px}.tt-catalog-create-row{justify-content:flex-end;display:flex}.tt-catalog-create-row .course-card--add{width:min(220px,100%);min-height:72px;margin:0}@container catalogs (width>=640px){.cards3--catalogs{grid-template-columns:repeat(2,minmax(0,1fr))}}@container catalogs (width>=960px){.cards3--catalogs{grid-template-columns:repeat(3,minmax(0,1fr))}}.course-card--catalog{flex-direction:column;min-width:0;padding:14px 16px;display:flex}.course-card--catalog .between{margin-bottom:0}.course-card--catalog .ico{width:40px;height:40px;font-size:12px}.course-card--catalog .between .ico{width:40px;height:40px}.course-card--catalog .catalog-card-title{word-break:break-word;margin:10px 0 4px;font-size:15px;line-height:1.3;display:block}.course-card--catalog .catalog-card-meta{margin:0 0 12px;font-size:13px;line-height:1.35}.catalog-card-actions{flex-wrap:nowrap;align-items:center;gap:8px;width:100%;display:flex}.catalog-card-actions .btn-ghost,.catalog-card-actions .btn-secondary{flex:0 auto;min-width:0;padding-left:10px;padding-right:10px}.catalog-card-actions .btn-secondary{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;justify-content:center;min-width:72px;max-width:100%;overflow:hidden}.catalog-card-actions .btn-danger.btn-icon{flex:0 0 34px;width:34px;min-width:34px;padding:0}.course-card--add{align-self:stretch;min-height:0;padding:14px 16px}.course-card--add .catalog-add-inner{text-align:center;place-items:center;min-height:120px;display:grid}.teacher-profile-wide{width:100%;min-width:0}@media (width<=720px){.catalog-card-actions .btn-secondary,.catalog-card-actions .btn-ghost{padding-left:8px;padding-right:8px;font-size:12px}}.toast{background:var(--surface-2);border:1px solid var(--border-2);border-left:3px solid var(--lime);border-radius:var(--r-md);box-shadow:var(--shadow-card);align-items:flex-start;gap:12px;max-width:380px;padding:13px 15px;display:flex}.toast .tt{font-size:14px;font-weight:600}.toast .tx{color:var(--text-2);font-size:13px}.toast.err{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warning)}.toast.info{border-left-color:var(--purple)}.toast-stack{z-index:100;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast-stack>*{pointer-events:auto;animation:.25s tslide}@keyframes tslide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#05080db3;place-items:center;padding:24px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);width:100%;max-width:480px;box-shadow:0 40px 90px -30px #000,var(--glow-purple);animation:.18s mpop;overflow:hidden}@keyframes mpop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal .mh{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.modal .mb{padding:22px}.modal .mf{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.empty{text-align:center;padding:48px 20px}.empty .ill{background:var(--surface-2);border:1px solid var(--border-2);width:88px;height:88px;color:var(--text-3);border-radius:24px;place-items:center;margin:0 auto 18px;font-size:30px;display:grid}.skel{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-3) 37%,var(--surface) 63%);background-size:400% 100%;border-radius:8px;animation:1.4s infinite sk}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{border:3px solid var(--surface-3);border-top-color:var(--lime);border-radius:50%;width:34px;height:34px;margin:0 auto;animation:1s linear infinite sp}@keyframes sp{to{transform:rotate(360deg)}}.editor{border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--mono);background:#0b0f17;flex-direction:column;font-size:13px;display:flex;overflow:hidden}.editor .eh{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;padding:9px 13px;display:flex}.editor .eh .t{color:var(--text-2);background:var(--surface-2);border-radius:6px;padding:4px 10px;font-size:12px}.editor .body{flex:1;padding:14px 0;line-height:1.7;overflow:auto}.editor .ln{white-space:pre;padding:0 16px;display:flex}.editor .ln .n{width:26px;color:var(--text-3);-webkit-user-select:none;user-select:none;flex:none}.editor textarea{width:100%;color:var(--text);font-family:var(--mono);resize:none;background:0 0;border:0;outline:none;flex:1;padding:14px 16px;font-size:13px;line-height:1.7}.kw{color:var(--purple)}.fn{color:var(--lime)}.st{color:#ffd479}.cm{color:var(--text-3)}.nm2{color:#79d0ff}.note{background:var(--purple-soft);border-radius:var(--r-md);color:#cbb6ff;border:1px solid #8b53fe4d;padding:14px 16px;font-size:13.5px}.note.lime{background:var(--lime-soft);color:var(--lime);border-color:#8eff0140}.note.warn{background:var(--warning-soft);color:var(--warning);border-color:#ffb43d4d}.note.err{background:var(--danger-soft);color:#ff8198;border-color:#ff4d6a4d}.note b{color:var(--text)}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-split{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);grid-template-columns:1.05fr .95fr;width:100%;max-width:1100px;display:grid;overflow:hidden;box-shadow:0 40px 100px -40px #000}.auth-brand{border-right:1px solid var(--border);background:radial-gradient(500px 300px at 0 0,#8eff011a,#0000 60%),radial-gradient(500px 360px at 100% 100%,#8b53fe1f,#0000 60%);flex-direction:column;justify-content:space-between;min-height:540px;padding:48px;display:flex}.auth-shell .auth-form{justify-content:center;align-items:center;width:auto;max-width:none;margin:0;padding:48px;display:flex}.auth-form-inner{width:100%;max-width:340px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:420px;padding:42px;box-shadow:0 40px 100px -40px #000}.or-divider{color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:12px;margin:18px 0;font-size:12px;font-weight:600;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-guest{border-radius:var(--r-md);border:1px dashed var(--border-2);width:100%;height:44px;color:var(--text-2);font:600 14px var(--font);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:all .15s;display:flex}.btn-guest:hover{border-color:var(--lime);color:var(--lime);background:var(--lime-soft)}.social-subtle{text-align:center;margin-top:22px}.social-subtle .lbl{color:var(--text-3);margin-bottom:10px;font-size:12px}.social-subtle .icons{justify-content:center;gap:10px;display:flex}.social-ico{border:1px solid var(--border-2);background:var(--bg-2);cursor:pointer;width:40px;height:40px;color:var(--text-2);border-radius:10px;place-items:center;font-size:12px;font-weight:800;transition:all .15s;display:grid}.social-ico.google{font-family:Georgia,serif}.social-subtle .social-ico:hover,.social-subtle .social-ico:focus-visible{color:#cbb6ff;background:var(--purple-soft);border-color:#8b53fe8c;outline:none;box-shadow:0 0 0 1px #8b53fe38}.email-verify-block{margin-top:4px}.email-verify-hint{color:var(--text-3);margin:0 0 12px;font-size:12.5px;line-height:1.45}.email-verify-error{color:#ff8198;margin:10px 0 0;font-size:12.5px}.verify-banner{border:1px solid var(--border);border-radius:var(--r-lg);background:radial-gradient(420px 180px at 0% 0%,#8eff0114,transparent 60%), radial-gradient(420px 180px at 100% 100%,#8b53fe1a,transparent 60%), var(--surface-2);margin:0 0 14px;position:relative;box-shadow:0 18px 40px -32px #000}.verify-banner.ok{border-color:#8eff0159}.verify-banner.err{border-color:#ff4d6a59}.verify-banner--fixed{z-index:300;border-top:none;border-left:none;border-right:none;border-radius:0;margin:0;position:fixed;top:0;left:0;right:0}.verify-banner--fixed .verify-inner{max-width:1200px;margin:0 auto;padding:12px 42px 12px 20px}body.has-banner{padding-top:76px}body.has-banner .auth-shell{min-height:calc(100vh - 76px)}.verify-inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 42px 12px 20px;display:grid;position:relative}.verify-text{min-width:0}.verify-text b{color:var(--text);margin-bottom:6px;font-size:13.5px;display:block}.row2{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;line-height:1.45;display:flex}.verify-text .email{color:var(--lime);font-family:var(--mono);word-break:break-all}.verify-otp-row{flex:none;align-items:center;gap:14px;display:flex}.verify-close{width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;font-size:14px;transition:all .12s;display:grid;position:absolute;top:10px;right:10px}.verify-close:hover{background:var(--surface-3);color:var(--text)}.verify-close:disabled{opacity:.45;cursor:not-allowed}.verify-resend{color:var(--lime);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.verify-resend:hover{text-decoration:underline}.verify-resend:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.otp{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.otp input{text-align:center;width:40px;height:44px;font-size:18px;font-family:var(--mono);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:0;line-height:44px;transition:border-color .15s,box-shadow .15s}.otp input:focus{border-color:#8eff0173;outline:none;box-shadow:0 0 0 3px #8eff011f}.otp input.filled{border-color:#8b53fe59}.otp.ok input{border-color:#8eff0173}.otp.err input{border-color:#ff4d6a73}.otp-status{min-height:44px;color:var(--text-3);flex:140px;align-items:center;gap:8px;min-width:0;font-size:12.5px;display:flex}.otp-status.error{color:#ff8198;word-break:break-word;overflow-wrap:anywhere;flex:100%;max-width:100%}.otp-status.success{color:var(--lime)}.otp-status-mark{font-size:14px;font-weight:800;line-height:1}.otp-spinner{border-width:2px;width:18px;height:18px;margin:0}@media (width<=900px){.verify-inner{grid-template-columns:1fr;gap:12px;padding:12px 42px 12px 16px}.verify-otp-row{justify-content:flex-start}}@media (width<=560px){.verify-inner{padding-right:16px}.verify-close{position:absolute;top:10px;right:10px}.otp input{width:36px;height:40px;font-size:16px;line-height:40px}}.contrib-wrap{color:var(--text-3);font-size:11px}.contrib-months{letter-spacing:.04em;color:var(--text-3);text-transform:uppercase;gap:3px;padding:0 0 8px 30px;font-size:10.5px;font-weight:600;display:grid}.contrib-grid{align-items:flex-start;gap:3px;display:flex}.contrib-days{flex-direction:column;flex:none;gap:3px;width:26px;padding-top:0;display:flex}.contrib-days span{height:12px;color:var(--text-3);font-size:10px;line-height:12px;display:block}.contrib-weeks{flex:1;gap:3px;min-width:0;display:flex}.contrib-week{flex-direction:column;flex:1;gap:3px;min-width:8px;display:flex}.contrib-week i{background:var(--surface-3);border:1px solid #ffffff05;border-radius:3px;height:12px;transition:transform .12s;display:block}.contrib-week i:hover{transform:scale(1.25)}.contrib-week i.l1{background:#8eff0138}.contrib-week i.l2{background:#8eff0173}.contrib-week i.l3{background:#8eff01b8}.contrib-week i.l4{background:var(--lime);box-shadow:0 0 8px -2px var(--lime-glow)}.contrib-wrap.pp .contrib-week i.l1{background:#8b53fe38}.contrib-wrap.pp .contrib-week i.l2{background:#8b53fe73}.contrib-wrap.pp .contrib-week i.l3{background:#8b53feb8}.contrib-wrap.pp .contrib-week i.l4{background:var(--purple)}.contrib-legend{color:var(--text-3);justify-content:flex-end;align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}.contrib-legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.filter-row{border-top:1px solid var(--border);grid-template-columns:140px 1fr;align-items:center;gap:18px;padding:10px 0;display:grid}.filter-row:first-of-type{border-top:0}.filter-row>label{color:var(--text-2);font-size:13px;font-weight:500}.swap-btn{border-radius:var(--r-md);background:var(--purple-soft);color:#cbb6ff;cursor:pointer;border:1px solid #8b53fe66;flex:none;place-items:center;width:42px;height:42px;font-size:16px;transition:all .15s;display:grid}.swap-btn:hover{background:var(--purple);color:#fff;box-shadow:var(--glow-purple);transform:rotate(180deg)}.candidate-tile{border:1px solid var(--border);cursor:pointer;background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .14s;display:flex}.candidate-tile:hover{border-color:#8eff014d}.candidate-tile.on{background:var(--lime-soft);border-color:#8eff0173}.catalog-detail-grid{grid-template-columns:1fr 360px;align-items:start;gap:18px;display:grid}.catalog-detail-candidates{gap:6px;max-height:380px;padding-right:2px;display:grid;overflow:auto}@media (width<=900px){.catalog-detail-grid{grid-template-columns:1fr}}.filter-toolbar{position:relative}.filter-popover{z-index:20;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:0 30px 60px -20px #000000d9,var(--glow-purple);padding:18px 20px;animation:.16s fpop;position:absolute;top:calc(100% + 8px);left:0;right:0}@keyframes fpop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.filter-backdrop{z-index:15;background:0 0;position:fixed;inset:0}.task-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.ref-snippet{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);margin-top:14px;overflow:hidden}.ref-snippet-h{border-bottom:1px solid var(--border);background:var(--bg-2);font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:9px 14px;font-size:11px;display:flex}.ref-snippet pre{font-family:var(--mono);color:var(--text);white-space:pre;max-height:280px;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.7;overflow:auto}.hint-block{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);margin-top:14px;padding:14px 16px}.hint-block .ttl{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;font-size:11px;font-weight:700}.hint-block p{color:var(--text-2);margin:0;font-size:13.5px;line-height:1.65}.ttl-row{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:18px 0 10px;font-size:11px;font-weight:700}.struct-chip{border-radius:var(--r-md);height:34px;font:600 13px var(--mono);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;align-items:center;padding:0 14px;transition:all .15s;display:inline-flex}.struct-chip:hover,.struct-chip.on{border-color:var(--lime);color:var(--lime);background:var(--lime-soft)}.struct-card{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-md);margin-top:10px;padding:14px 16px}.struct-card b{font-family:var(--mono);color:var(--text);font-size:13px}.struct-card p{color:var(--text-2);margin:6px 0 10px;font-size:13px;line-height:1.6}.struct-card pre{background:var(--bg-2);border:1px solid var(--border);font-family:var(--mono);color:var(--lime);white-space:pre;border-radius:8px;margin:0;padding:10px 12px;font-size:12.5px;overflow-x:auto}.asm-shell{background:#0b0f17;flex-direction:column;flex:1;min-height:0;display:flex}.asm-solution{flex-direction:column;flex:1;gap:6px;min-height:160px;padding:14px 16px;display:flex;overflow:auto}.asm-line{border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;padding:4px 6px;transition:all .12s;display:flex}.asm-line.over{outline:1.5px dashed var(--lime);background:#8eff010f}.asm-line .lnum{text-align:right;width:24px;color:var(--text-3);font-family:var(--mono);flex:none;font-size:12px}.asm-line .fixed{font-family:var(--mono);color:var(--text-2);white-space:pre;font-size:13px}.asm-line .empty{font-family:var(--mono);color:var(--text-3);border:1px dashed var(--border-2);background:var(--bg-2);border-radius:6px;padding:4px 8px;font-size:13px;font-style:italic}.asm-line-actions{opacity:0;gap:6px;margin-left:auto;transition:all .12s;display:flex}.asm-line:hover .asm-line-actions{opacity:1}.asm-line .ind-ctrl{font-family:var(--mono);color:var(--text-3);border:1px solid var(--border-2);cursor:pointer;background:0 0;border-radius:6px;padding:2px 6px;font-size:11px}.asm-line .ind-ctrl:hover{color:var(--lime);border-color:var(--lime)}.asm-bank{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:100px;max-height:220px;padding:14px 16px;display:flex;overflow-y:auto}.asm-block{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-md);color:var(--text);font-family:var(--mono);cursor:grab;-webkit-user-select:none;user-select:none;white-space:pre;align-items:center;padding:8px 12px;font-size:13px;line-height:1.4;transition:all .12s;display:inline-flex}.asm-block:hover{border-color:var(--lime);background:var(--surface-3)}.asm-block.dragging{opacity:.35;cursor:grabbing}.asm-block.placed{background:var(--bg-2);border-color:#8eff0159}.asm-block.placed:hover{border-color:var(--danger);background:var(--danger-soft);color:#ff8198}.asm-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;align-items:center;gap:10px;padding:8px 14px;display:flex}.asm-toolbar .hint{color:var(--text-3);margin-left:auto;font-size:12px}.flow-shell{background:var(--bg-2);flex:1;grid-template-columns:170px 1fr;min-height:0;display:grid}.flow-side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 12px;display:flex;overflow:auto}.flow-side .sec{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:6px 4px 4px;font-size:10.5px;font-weight:700}.flow-drag{border:1px solid var(--border-2);background:var(--surface-2);cursor:grab;font-family:var(--mono);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:all .12s;display:flex}.flow-drag:hover{border-color:var(--lime);background:var(--surface-3)}.flow-drag .ico{opacity:.55;background:currentColor;flex:none;width:20px;height:14px}.flow-drag.start .ico,.flow-drag.end .ico{border-radius:7px}.flow-drag.process .ico{border-radius:2px}.flow-drag.decision .ico{border-radius:0;transform:rotate(45deg)}.flow-drag.input .ico,.flow-drag.output .ico{clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.flow-drag.loop .ico{clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%)}.flow-canvas-wrap{position:relative;overflow:hidden}.flow-canvas{background:var(--bg);cursor:default;background-image:radial-gradient(#ffffff0a 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.flow-canvas.dragover{background-color:#8eff0108}.flow-node{background:var(--surface);border:1.5px solid var(--lime);font-family:var(--mono);color:var(--text);cursor:move;-webkit-user-select:none;user-select:none;font-size:12.5px;transition:box-shadow .12s;position:absolute}.flow-node:hover{box-shadow:0 0 0 3px #ffffff0d}.flow-node.selected{box-shadow:0 0 0 3px var(--lime-soft);z-index:5}.flow-node .lbl{text-align:center;pointer-events:none;place-items:center;padding:8px 12px;line-height:1.25;display:grid;position:absolute;inset:0}.flow-node.start,.flow-node.end{border-radius:50px;width:130px;height:48px}.flow-node.end{border-color:var(--danger)}.flow-node.process{border-color:#b89bff;border-radius:6px;width:170px;height:56px}.flow-node.decision{background:0 0;border:0;width:170px;height:110px}.flow-node.decision .shape{background:var(--surface);border:1.5px solid var(--warning);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);position:absolute;inset:0}.flow-node.decision.selected .shape{box-shadow:0 0 0 3px #ffb43d2e}.flow-node.input,.flow-node.output{background:0 0;border:0;width:170px;height:50px}.flow-node.input .shape,.flow-node.output .shape{background:var(--surface);border:1.5px solid #79d0ff;position:absolute;inset:0}.flow-node.input .shape{clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}.flow-node.output .shape{clip-path:polygon(0 0,86% 0,100% 100%,14% 100%)}.flow-node.loop{background:0 0;border:0;width:170px;height:54px}.flow-node.loop .shape{background:var(--surface);clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);border:1.5px solid #a877ff;position:absolute;inset:0}.flow-port{background:var(--bg);border:1.5px solid var(--lime);cursor:crosshair;z-index:3;border-radius:50%;width:10px;height:10px;transition:all .12s;position:absolute}.flow-port:hover,.flow-port.active{background:var(--lime);transform:scale(1.35)}.flow-port.top{top:-6px;left:50%;transform:translate(-50%)}.flow-port.bottom{bottom:-6px;left:50%;transform:translate(-50%)}.flow-port.left{top:50%;left:-6px;transform:translateY(-50%)}.flow-port.right{top:50%;right:-6px;transform:translateY(-50%)}.flow-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.flow-svg path{stroke:var(--text-2);stroke-width:1.6px;fill:none;pointer-events:auto;cursor:pointer}.flow-svg path:hover{stroke:var(--lime)}.flow-svg .arrowhead{fill:var(--text-2)}.flow-svg text{fill:var(--text-2);font-family:var(--mono);font-size:11px}.flow-toolbar{z-index:6;background:var(--surface);border:1px solid var(--border-2);border-radius:8px;gap:6px;padding:4px;display:flex;position:absolute;top:10px;right:10px}.flow-toolbar button{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.flow-toolbar button:hover{background:var(--surface-2);color:var(--text)}.flow-edit-overlay{background:var(--surface);border:1px solid var(--lime);z-index:10;border-radius:8px;gap:6px;padding:8px;display:flex;position:absolute;box-shadow:0 12px 30px -8px #000}.flow-edit-overlay input{background:var(--bg-2);border:1px solid var(--border-2);color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;width:200px;padding:6px 10px;font-size:12.5px}.flow-edit-overlay input:focus{border-color:var(--lime)}.task-split{grid-template-columns:minmax(320px,1fr) 1.15fr;min-height:calc(100vh - 56px);display:grid}.task-left{border-right:1px solid var(--border);padding:24px 26px;overflow:auto}.task-right{background:var(--bg-2);flex-direction:column;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:18px 0 8px;font-size:12px;font-weight:700}.tt-collections{gap:18px;display:grid}.tt-collection{border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--bg-2);padding:14px;transition:all .12s}.tt-collection.drop-into{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}.tt-coll-head{align-items:center;gap:10px;padding:4px 6px 12px;display:flex}.tt-coll-ico{font-size:16px}.tt-coll-name{letter-spacing:-.2px;color:var(--text);flex:auto;min-width:0;font-size:16px;font-weight:800}.tt-coll-body{gap:10px;display:grid}.tt-coll-empty{border:1.5px dashed var(--border-2);border-radius:var(--r-md);text-align:center;color:var(--text-3);padding:18px;font-size:13px;transition:all .12s}.tt-coll-empty.on{border-color:var(--lime);color:var(--lime);background:var(--lime-soft)}.dz{z-index:3;height:12px;margin:-6px 0;position:relative}.dz-line{background:0 0;border-radius:2px;height:2px;transition:all .1s;position:absolute;top:50%;left:12px;right:12px;transform:translateY(-50%)}.dz.on .dz-line{background:var(--lime);box-shadow:0 0 8px -1px var(--lime-glow);height:3px}.dz.on:after{content:"";background:var(--lime);width:7px;height:7px;box-shadow:0 0 8px -1px var(--lime-glow);border-radius:50%;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.tt-group{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);transition:all .12s;overflow:hidden}.tt-group.drop-into{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime) inset}.tt-ghead{border-bottom:1px solid #0000;align-items:center;gap:12px;padding:13px 18px;display:flex}.tt-group.open .tt-ghead{border-bottom-color:var(--border)}.tt-ghead-btn{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:12px;padding:0;display:flex}.tt-ghead-btn:hover .gtitle{color:var(--lime)}.tt-grip{color:var(--text-3);cursor:grab;border-radius:5px;flex:none;padding:2px;font-size:15px;line-height:1;transition:all .12s}.tt-grip:hover{color:var(--text);background:var(--surface-3)}.tt-grip:active{cursor:grabbing}.tt-grip.sm{color:var(--border-2);font-size:13px}.tt-grip.sm:hover{color:var(--text-2)}.tt-ghead .caret{width:18px;color:var(--text-3);text-align:center;flex:none;font-size:11px;transition:transform .15s}.tt-group.open .tt-ghead .caret{transform:rotate(90deg)}.tt-ghead .gtitle{color:var(--text);flex:auto;min-width:0;font-size:15px;font-weight:700;transition:all .12s}.tt-ghead .gcount{font:600 12px var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-pill);flex:none;padding:3px 10px}.tt-glabel{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);flex:none;font-size:11px;font-weight:700}.tt-rows{display:grid}.tt-row{border-top:1px solid var(--border);grid-template-columns:1fr 110px 150px 96px 76px auto;align-items:center;gap:14px;padding:13px 18px;transition:all .1s;display:grid;position:relative}.tt-row:hover{background:var(--surface-2)}.tt-row.dragging,.tt-row.is-dragging{opacity:.4}.tt-row.drop-here{box-shadow:inset 0 2px 0 var(--lime)}.tt-row .ti-title{align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex}.tt-row .ti-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tt-row .ti-type{font-size:13px}.tt-row .ti-langs{flex-wrap:wrap;gap:4px;display:flex}.tt-langtag{font:600 10.5px var(--mono);color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px;line-height:1.3}.tt-row .ti-updated{text-align:right;font:500 11.5px/1.35 var(--mono);color:var(--text-3);white-space:nowrap;min-width:0}.tt-row .ti-updated-time{color:var(--text-2);font-size:12.5px;font-weight:600;display:block}.tt-row .ti-updated-date{color:var(--text-3);font-size:11px;display:block}.tt-row .ti-actions{justify-content:flex-end;gap:6px;display:flex}@media (width<=880px){.tt-row{grid-template-columns:1fr auto;row-gap:8px}.tt-row .ti-type,.tt-row .ti-langs,.tt-row .ti-diff,.tt-row .ti-updated{grid-column:1}.tt-row .ti-updated{text-align:left}.tt-row .ti-actions{grid-column:1/-1;justify-content:flex-start}}.block-row{background:var(--surface);border:1px solid var(--border-2);font-family:var(--mono);cursor:grab;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:13px;transition:all .12s;display:flex}.block-row:hover{border-color:var(--lime)}.block-row.dragging{opacity:.4}.block-row.shuffled{background:var(--surface-2);opacity:.85;border-style:dashed}.block-handle{color:var(--text-3);cursor:grab;font-size:14px}.divider{background:var(--border);height:1px;margin:18px 0}.kbd{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);border-radius:4px;padding:2px 6px;font-size:11px}.glow-card{position:relative}.glow-card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(300px 120px at 50% 0,#8eff0114,#0000 70%);position:absolute;inset:0}@media (width<=1080px){.app-root{grid-template-columns:1fr}.sb{display:none}.cards3,.cards2,.task-split{grid-template-columns:1fr}.task-left{border-right:0;border-bottom:1px solid var(--border)}.auth-split{grid-template-columns:1fr}.auth-brand{display:none}.content{padding:18px}}.role-switcher{z-index:90;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-pill);gap:4px;padding:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px -10px #000}.role-switcher button{border-radius:var(--r-pill);height:30px;font:600 12px var(--font);color:var(--text-2);cursor:pointer;background:0 0;border:0;padding:0 14px}.role-switcher button.on{background:var(--lime);color:#0a0e15}.role-switcher button.on.pp,.role-switcher button.on.adm{background:var(--purple);color:#fff}.role-switcher .rs-lbl{color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:0 8px;font-size:11px;display:flex}.ap-root{background:var(--bg);min-height:100vh;color:var(--text);grid-template-columns:230px 1fr;display:grid}.ap-sidebar{border-right:1px solid var(--border);background:#0c111a;flex-direction:column;align-self:start;height:100vh;min-height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow:auto}.ap-brand{align-items:center;gap:9px;padding:4px 6px 18px;font-size:15px;font-weight:700;display:flex}.ap-brand-dot{background:var(--purple);border-radius:7px;flex:none;width:24px;height:24px;position:relative}.ap-brand-dot:after{content:"";background:#0c111a;border-radius:3px;position:absolute;inset:6px}.ap-nav-group{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:14px 10px 6px;font-size:10.5px;font-weight:700}.ap-navlink{color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:9px 11px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.ap-navlink:hover{background:var(--surface);color:var(--text)}.ap-navlink.active{background:var(--purple-soft);color:#b89bff}.ap-nav-ic{opacity:.7;border:1.6px solid;border-radius:5px;flex:none;width:16px;height:16px}.ap-sidebar-bottom{margin-top:auto;padding-top:18px}.ap-main{min-width:0}.ap-topbar{border-bottom:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c111a99;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.ap-crumb{color:var(--text-2);font-size:13px}.ap-crumb b{color:var(--text)}.ap-topbar-minimal{justify-content:flex-end}.ap-topbar-minimal .right{align-items:center;gap:10px;display:flex}.ap-content{max-width:1320px;padding:26px 28px}.ap-subnav{border-bottom:1px solid var(--border);scrollbar-width:none;flex-wrap:nowrap;gap:4px;margin:0 0 20px;padding-bottom:0;display:flex;overflow-x:auto}.ap-subnav::-webkit-scrollbar{display:none}.ap-subnav-link{color:var(--text-2);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;margin-bottom:-1px;padding:11px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.ap-subnav-link:hover{color:var(--text)}.ap-subnav-link.active{color:#b89bff;border-bottom-color:var(--purple);background:0 0}.ap-page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.ap-page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ap-page-h h1{letter-spacing:-.6px;margin:0 0 4px;font-size:26px;font-weight:800}.ap-page-h p{color:var(--text-2);margin:0;font-size:14px}.ap-page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ap-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.ap-card-pad{padding:22px}.ap-cards3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ap-cards2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.ap-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:12px}.ap-stat-value{letter-spacing:-.5px;margin-top:6px;font-size:30px;font-weight:800}.ap-badge{border-radius:var(--r-pill);height:24px;font:600 12px/1 var(--font);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ap-badge-lime{background:var(--lime-soft);color:var(--lime);border:1px solid #8eff014d}.ap-badge-purple{background:var(--purple-soft);color:#b89bff;border:1px solid #8b53fe59}.ap-badge-muted{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border-2)}.ap-badge-danger{background:var(--danger-soft);color:#ff8198;border:1px solid #ff4d6a59}.ap-badge-warn{background:var(--warning-soft);color:var(--warning);border:1px solid #ffb43d59}.ap-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.ap-btn{border-radius:var(--r-md);height:42px;font:600 14px/1 var(--font);cursor:pointer;white-space:nowrap;color:inherit;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;transition:all .18s;display:inline-flex}.ap-btn:disabled{opacity:.45;cursor:not-allowed}.ap-btn-primary{background:var(--lime);color:#0a0e15;box-shadow:0 6px 22px -10px var(--lime-glow)}.ap-btn-primary:hover:not(:disabled){background:var(--lime-600)}.ap-btn-secondary{background:var(--purple-soft);color:#cbb6ff;border-color:#8b53fe66}.ap-btn-ghost{color:var(--text-2);border-color:var(--border-2);background:0 0}.ap-btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--purple);background:var(--surface)}.ap-btn-danger{background:var(--danger-soft);color:#ff8198;border-color:#ff4d6a66}.ap-btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.ap-btn-sm{height:34px;padding:0 13px;font-size:13px}.ap-input,.ap-select{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-md);width:100%;color:var(--text);font:500 14px var(--font);padding:11px 13px;transition:all .16s}.ap-input:focus,.ap-select:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft);outline:none}.ap-select{appearance:none;padding-right:30px}.ap-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.ap-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:0 14px 11px;font-size:11.5px;font-weight:600}.ap-table td{border-top:1px solid var(--border);vertical-align:middle;padding:13px 14px}.ap-table tbody tr{cursor:pointer;transition:all .12s}.ap-table tbody tr:hover{background:var(--surface-2)}.ap-table tbody tr.ap-no-hover{cursor:default}.ap-table tbody tr.ap-no-hover:hover{background:0 0}.ap-t-name{font-weight:600}.ap-progress{background:var(--surface-3);border-radius:var(--r-pill);height:8px;overflow:hidden}.ap-progress>i{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--purple), #a877ff);height:100%;transition:width .35s;display:block}.ap-progress.lime>i{background:linear-gradient(90deg, var(--lime), var(--lime-600))}.ap-progress.orange>i{background:linear-gradient(90deg, var(--warning), #ff9a3d)}.ap-chip{border-radius:var(--r-pill);height:32px;font:500 13px var(--font);background:var(--surface-2);border:1px solid var(--border-2);color:var(--text-2);cursor:pointer;align-items:center;gap:7px;padding:0 13px;transition:all .15s;display:inline-flex}.ap-chip:hover{border-color:var(--text-3);color:var(--text)}.ap-chip.on{background:var(--purple-soft);color:#b89bff;border-color:#8b53fe73}.ap-empty{text-align:center;padding:48px 20px}.ap-empty-ill{background:var(--surface-2);border:1px solid var(--border-2);width:88px;height:88px;color:var(--text-3);border-radius:24px;place-items:center;margin:0 auto 18px;font-size:30px;display:grid}.ap-spinner-wrap{place-items:center;padding:48px;display:grid}.ap-spinner{border:3px solid var(--surface-3);border-top-color:var(--purple);border-radius:50%;width:34px;height:34px;animation:1s linear infinite ap-spin}@keyframes ap-spin{to{transform:rotate(360deg)}}.ap-alert{background:var(--danger-soft);border:1px solid #ff4d6a59;border-left:3px solid var(--danger);border-radius:var(--r-md);color:#ff8198;align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px 15px;font-size:14px;display:flex}.ap-alert.info{background:var(--purple-soft);border-color:#8b53fe59;border-left-color:var(--purple);color:#cbb6ff}.ap-pagination{justify-content:flex-end;align-items:center;gap:6px;margin-top:16px;display:flex}.ap-pagination button{border:1px solid var(--border-2);min-width:36px;height:36px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;padding:0 10px;font-size:13.5px;font-weight:600;display:inline-flex}.ap-pagination button:hover:not(:disabled){border-color:var(--purple);color:var(--text)}.ap-pagination button.on{background:var(--purple);border-color:var(--purple);color:#fff}.ap-pagination button:disabled{opacity:.35;cursor:not-allowed}.ap-avatar{text-transform:uppercase;background:linear-gradient(135deg, var(--lime), var(--lime-600));color:#0a0e15;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.ap-avatar.purple{background:linear-gradient(135deg, var(--purple), #a877ff);color:#fff}.ap-avatar.lg{border-radius:18px;width:64px;height:64px;font-size:22px}.ap-row{align-items:center;gap:12px;display:flex}.ap-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.ap-wrap{flex-wrap:wrap;gap:10px;display:flex}.ap-grid{gap:16px;display:grid}.ap-muted{color:var(--text-2)}.ap-mut3{color:var(--text-3)}.ap-mono{font-family:var(--mono)}.ap-field{margin-bottom:16px}.ap-label{color:var(--text-2);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.ap-help{color:var(--text-3);margin-top:6px;font-size:12px}.ap-help.err{color:#ff8198}.ap-check-row{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.ap-checkbox{border:1.6px solid var(--border-2);background:var(--bg-2);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.ap-checkbox.on{background:var(--purple);border-color:var(--purple);color:#fff}.ap-checkbox.on:after{content:"✓";font-size:12px;font-weight:800}.ap-quick-link{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-lg);width:100%;color:inherit;padding:22px;transition:all .15s}.ap-quick-link:hover{border-color:#8b53fe66}.ap-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;background:#05080db3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ap-modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);width:100%;max-width:480px;box-shadow:0 40px 90px -30px #000, var(--glow-purple);overflow:hidden}.ap-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.ap-modal-body{padding:22px}.ap-modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.ap-bar-chart{align-items:flex-end;gap:4px;height:140px;margin-top:16px;display:flex}.ap-bar-chart i{border-radius:4px;flex:1;min-height:4px}.ap-bar-col{flex-direction:column;flex:1;justify-content:flex-end;min-width:0;height:100%;display:flex}.ap-bar-stack{border-radius:4px;flex-direction:column-reverse;width:100%;min-height:4px;display:flex;overflow:hidden}.ap-bar-stack>i{border-radius:0;flex:none;width:100%;min-height:2px}.ap-bar-stack>i.role-student{background:var(--lime)}.ap-bar-stack>i.role-teacher{background:var(--purple)}.ap-bar-stack>i.role-admin{background:var(--warning)}.ap-chart-legend{color:var(--text-2);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.ap-chart-legend i{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.ap-chart-legend .student{background:var(--lime)}.ap-chart-legend .teacher{background:var(--purple)}.ap-chart-legend .admin{background:var(--warning)}.ap-danger-zone{border-color:#ff4d6a4d!important}.ap-card.filter-toolbar{margin-bottom:0;padding:0}.ap-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.ap-toolbar .ap-input{flex:240px;min-width:200px;height:40px}.ap-toolbar .ap-select{width:auto;min-width:170px;height:40px;padding:9px 30px 9px 13px}.ap-summary{flex-wrap:wrap;gap:8px;margin:14px 0 16px;display:flex}.ap-sumchip{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border-2);height:30px;color:var(--text-2);align-items:center;gap:8px;padding:0 13px;font-size:12.5px;display:inline-flex}.ap-sumchip b{color:var(--text);font-family:var(--mono);font-weight:700}.ap-sumchip .d{background:var(--text-3);border-radius:50%;width:7px;height:7px}.ap-sumchip.lime .d{background:var(--lime)}.ap-sumchip.warn .d{background:var(--warning)}.ap-sumchip.muted .d{background:var(--text-3)}.ap-list{display:grid}.ap-listhead{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);grid-template-columns:64px 1fr 150px 96px auto;gap:16px;padding:0 18px 10px;font-size:11px;font-weight:600;display:grid}.ap-row-item{border-top:1px solid var(--border);grid-template-columns:64px 1fr 150px 96px auto;align-items:center;gap:16px;padding:14px 18px;transition:all .1s;display:grid}.ap-row-item:first-child{border-top:0}.ap-row-item:hover{background:var(--surface-2)}.ap-id{font-family:var(--mono);color:var(--text-3);font-size:13px}.ap-row-item .ap-name{min-width:0;font-size:14px;font-weight:600}.ap-row-item .ap-name .sub{color:var(--text-3);font-size:11.5px;font-weight:400;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.ap-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.ap-assignments-listhead,.ap-assignments-row{grid-template-columns:64px minmax(180px,1.2fr) minmax(180px,1fr) minmax(160px,.9fr) 150px 96px auto}.ap-assignments-card{padding:0;overflow:hidden}.ap-table-wrap{overflow-x:auto}.ap-assignments-card .ap-table,.ap-users-card .ap-table{table-layout:fixed;border-collapse:collapse}.ap-assignments-card .ap-table th,.ap-users-card .ap-table th{border-bottom:1px solid var(--border);padding:12px 14px 10px}.ap-assignments-card .ap-table td,.ap-users-card .ap-table td{vertical-align:middle;padding:14px}.ap-assignments-table th:first-child,.ap-assignments-table td:first-child{width:72px}.ap-assignments-table th:nth-child(2),.ap-assignments-table td:nth-child(2){width:22%}.ap-assignments-table th:nth-child(3),.ap-assignments-table td:nth-child(3){width:24%}.ap-assignments-table th:nth-child(4),.ap-assignments-table td:nth-child(4){width:20%}.ap-assignments-table th:nth-child(5),.ap-assignments-table td:nth-child(5){width:130px}.ap-assignments-table th:nth-child(6),.ap-assignments-table td:nth-child(6){width:72px}.ap-assignments-table th:nth-child(7),.ap-assignments-table td:nth-child(7){width:190px}.ap-users-card{padding:0;overflow:hidden}.ap-users-table th:first-child,.ap-users-table td:first-child{width:24%}.ap-users-table th:nth-child(2),.ap-users-table td:nth-child(2){width:26%}.ap-users-table th:nth-child(3),.ap-users-table td:nth-child(3){width:14%}.ap-users-table th:nth-child(4),.ap-users-table td:nth-child(4){width:12%}.ap-users-table th:nth-child(5),.ap-users-table td:nth-child(5){width:16%}.ap-users-table th:nth-child(6),.ap-users-table td:nth-child(6){width:108px}.ap-users-table .ap-user-cell{min-width:0}.ap-users-table .ap-user-cell .ap-t-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ap-users-table .ap-user-email{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.ap-users-table-footer{border-top:1px solid var(--border);padding:14px 18px 16px}.ap-table-actions-head,.ap-table-actions{text-align:right}.ap-table-name{min-width:0;font-weight:600}.ap-table-name .sub,.ap-table-meta .sub{color:var(--text-3);font-size:11.5px;font-weight:400;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}.ap-table-meta{color:var(--text-2);min-width:0;line-height:1.45}.ap-table-meta-main{display:block}.ap-table-link{color:var(--lime);font-weight:600;text-decoration:none}.ap-table-link-soft{font-weight:500}.ap-table-link:hover{text-decoration:underline}.ap-table-status{vertical-align:middle}.ap-status-select{width:100%;min-width:112px;height:32px;padding:4px 28px 4px 12px;font-size:12.5px}.ap-table-actions{white-space:nowrap}.ap-table-actions .ap-btn+.ap-btn{margin-left:6px}.ap-table-sort-btn{all:unset;box-sizing:border-box;cursor:pointer;max-width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;align-items:center;gap:5px;display:inline-flex}.ap-table-sort-btn:hover{color:var(--text-1)}.ap-table-sort-btn.is-active{color:var(--lime)}.ap-table-sort-icon{opacity:.45;flex-shrink:0;font-size:10px;line-height:1}.ap-table-sort-btn.is-active .ap-table-sort-icon{opacity:1}.ap-assignments-row .ap-placement,.ap-assignments-row .ap-owner{min-width:0;color:var(--text-2);font-size:13px;line-height:1.45}.ap-assignments-row .ap-placement-main,.ap-assignments-row .ap-owner-name{display:block}.ap-assignments-row .ap-placement .sub,.ap-assignments-row .ap-owner .sub{color:var(--text-3);font-size:11.5px;font-weight:400;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;display:block;overflow:hidden}@media (width<=1100px){.ap-assignments-listhead{display:none}.ap-assignments-row{grid-template-columns:1fr auto;row-gap:8px}.ap-assignments-row .ap-placement,.ap-assignments-row .ap-owner,.ap-assignments-row .ap-status,.ap-assignments-row .ap-ver{grid-column:1}.ap-assignments-row .ap-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=880px){.ap-row-item{grid-template-columns:1fr auto;row-gap:8px}.ap-row-item .ap-status,.ap-row-item .ap-ver{grid-column:1}.ap-listhead{display:none}}.tc-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.tc-list{gap:1px;max-height:calc(100vh - 230px);display:grid;overflow:auto}.tc-item{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:11px 12px;transition:all .1s;display:flex}.tc-item:hover{background:var(--surface-2)}.tc-item.on{background:var(--purple-soft)}.tc-item-dot{border:1px solid var(--border-2);background:0 0;border-radius:50%;flex:none;width:6px;height:6px}.tc-item-dot.changed{background:var(--warning);border-color:var(--warning)}.tc-item-nm{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden}.tc-item.on .tc-item-nm{color:#fff}.tc-item-id{color:var(--text-3);flex:none;font-size:11px}.ap-split{grid-template-columns:minmax(280px,38%) 1fr;align-items:start;gap:18px;display:grid}.ap-editor{position:sticky;top:78px}.ap-editor-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.ap-dirty{color:var(--warning);align-items:center;gap:7px;font-size:12px;display:inline-flex}.ap-dirty .d{background:var(--warning);width:7px;height:7px;box-shadow:0 0 8px -1px var(--warning);border-radius:50%}.ap-code{border:1px solid var(--border-2);border-radius:var(--r-md);background:#0a0e15;overflow:hidden}.ap-code textarea{width:100%;color:var(--text);font-family:var(--mono);resize:vertical;background:0 0;border:0;outline:none;min-height:130px;padding:12px 14px;font-size:12.5px;line-height:1.7;display:block}@media (width<=1080px){.ap-root{grid-template-columns:1fr}.ap-root>.sb{display:none}.ap-cards3,.ap-cards2{grid-template-columns:1fr}.ap-content{padding:18px}.ap-split{grid-template-columns:1fr}.ap-editor{position:static}.tc-list{max-height:280px}}.react-flow{width:100%;height:100%;position:relative;overflow:hidden}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selectionpane{z-index:5}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow .react-flow__connectionline{z-index:1001}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.inactive{pointer-events:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edge-path{fill:none}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connection-path{fill:none}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;position:absolute}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;position:absolute}.react-flow__handle.connectable{pointer-events:all}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__controls{z-index:5;position:absolute;bottom:20px;left:15px}.react-flow__controls-button{border:none;width:24px;height:24px}.react-flow__controls-button svg{width:100%}.react-flow__minimap{z-index:5;position:absolute;bottom:20px;right:15px}.react-flow__attribution{z-index:1000;color:#999;background:#ffffff80;padding:2px 3px;font-size:10px;position:absolute}.react-flow__attribution a{color:#555;text-decoration:none}.react-flow__attribution.top{top:0}.react-flow__attribution.bottom{bottom:0}.react-flow__attribution.left{left:0}.react-flow__attribution.right{right:0}.react-flow__attribution.center{left:50%;transform:translate(-50%)}.teacher-tasks-panel .ti-title-sub{display:none}.teacher-tasks-panel .tt-gnum{font-family:var(--mono);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.5em;font-size:15px;font-weight:700}.teacher-tasks-panel .tt-tnum{font-family:var(--mono);color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;flex:none;min-width:1.5em;font-size:14px;font-weight:600}.teacher-tasks-panel .tt-toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.teacher-tasks-panel .tt-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.teacher-tasks-panel .tt-toolbar-search{flex:240px;min-width:200px}.teacher-tasks-panel .tt-toolbar-select{flex:none;width:auto;min-width:150px;height:38px}.teacher-tasks-panel .tt-flat-card{padding:14px 0 4px}.teacher-tasks-panel .tt-flat-summary{margin:0 0 12px;padding:0 18px;font-size:13px}.teacher-tasks-panel .tt-listhead{border-bottom:1px solid var(--border);grid-template-columns:1fr 110px 150px 96px 76px auto;align-items:center;gap:14px;padding:0 18px 10px;display:grid}.teacher-tasks-panel .tt-listhead-actions{text-align:right;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.teacher-tasks-panel .tt-sort-btn{all:unset;box-sizing:border-box;cursor:pointer;letter-spacing:.07em;text-transform:uppercase;max-width:100%;color:var(--text-3);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.teacher-tasks-panel .tt-sort-btn-right{margin-left:auto}.teacher-tasks-panel .tt-sort-btn:hover{color:var(--text-1)}.teacher-tasks-panel .tt-sort-btn.is-active{color:var(--lime)}.teacher-tasks-panel .tt-sort-icon{opacity:.45;flex-shrink:0;font-size:10px;line-height:1}.teacher-tasks-panel .tt-sort-btn.is-active .tt-sort-icon{opacity:1}.teacher-tasks-panel .btn-add-chapter{background:var(--purple-soft);color:#b89bff;border-radius:var(--r-pill);white-space:nowrap;border:1px solid #8b53fe59;flex:none;margin-left:4px;font-weight:600}.teacher-tasks-panel .btn-add-chapter:hover{color:#cbb6ff;background:#8b53fe3d;border-color:#8b53fe8c}.teacher-tasks-panel .tt-coll-head .gcount{margin-left:auto}.teacher-tasks-panel .tt-coll-title-wrap{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.teacher-tasks-panel .tt-coll-desc{max-width:520px;font-size:12px;line-height:1.35}.teacher-tasks-panel .tt-meta-edit{white-space:nowrap;flex:none;padding:4px 10px;font-size:12px}.teacher-tasks-panel .tt-chapter-desc{margin:0;padding:10px 18px 0;font-size:12.5px;line-height:1.45}.teacher-tasks-panel .tt-rows--flat{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.teacher-tasks-panel .drop-line{background:var(--lime);z-index:5;pointer-events:none;border-radius:2px;height:2px;position:absolute;left:12px;right:12px;box-shadow:0 0 12px #8eff0199}.teacher-tasks-panel .drop-line:before{content:"";background:var(--lime);border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:-4px;transform:translateY(-50%);box-shadow:0 0 8px #8eff01b3}.teacher-tasks-panel .drop-line.top{top:-1px}.teacher-tasks-panel .drop-line.bottom{bottom:-1px}.tt-modal-backdrop{z-index:1200;background:#080c148c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tt-modal{width:min(520px,100%);max-height:90vh;overflow:auto}.tt-field{flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.tt-field span{color:var(--text-2)}.tt-modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (width<=960px){.teacher-tasks-panel .tt-ghead,.teacher-tasks-panel .tt-coll-head{flex-wrap:wrap}.teacher-tasks-panel .btn-add-chapter{order:3}.teacher-tasks-panel .tt-coll-head .gcount{order:4;margin-left:0}.teacher-tasks-panel .tt-listhead{display:none}}
