@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap);:root{--fg-1:var(--text);--fg-2:var(--text-2);--fg-3:var(--text-3);--fg-4:var(--muted);--bg-page:var(--bg);--bg-elevated:var(--sb);--border-1:var(--border);--border-2:var(--border-2,#ffffff24);--border-strong:var(--border-strong,#ffffff38);--border-focus:var(--border-focus,#7c5cff99);--accent-primary:var(--accent);--accent-primary-hover:var(--accent-hover);--accent-primary-press:var(--accent-press);--accent-secondary:var(--accent-secondary,#4da3ff);--surface-glass-border:var(--border);--surface-glass-highlight:var(--inset-highlight);--success-300:var(--ok-light,#6ee7b7);--success-500:var(--ok,#10b981);--success-bg:var(--ok-bg,#10b9811f);--warn-300:var(--warn-light,#fcd34d);--warn-500:var(--warn,#f59e0b);--warn-bg:var(--warn-bg,#f59e0b24);--danger-300:var(--err-light,#fca5a5);--danger-500:var(--err,#ef4444);--danger-bg:var(--err-bg,#ef444424)}.etp-shell{background:radial-gradient(ellipse 1200px 600px at 0 0,#7c5cff1a,#0000 60%),radial-gradient(ellipse 900px 500px at 100% 0,#4da3ff0d,#0000 55%),var(--bg);background:radial-gradient(ellipse 1200px 600px at 0 0,#7c5cff1a,#0000 60%),radial-gradient(ellipse 900px 500px at 100% 0,#4da3ff0d,#0000 55%),var(--bg-page);color:var(--text);color:var(--fg-1);display:flex;flex-direction:column;font-family:var(--font-body);font-size:15px;min-height:100vh}.etp-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0b0f1ab8;border-bottom:1px solid var(--border-1);gap:24px;height:64px;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.etp-header,.etp-header-logo{align-items:center;display:flex}.etp-header-logo{gap:10px}.etp-header-logo img{height:28px}.etp-header-spacer{flex:1 1}.etp-svc-strip{display:flex;gap:6px}.etp-header-avatar{background:linear-gradient(135deg,#7c5cff,#4da3ff);border:1px solid #ffffff26;border-radius:999px;color:#fff;font-size:13px;font-weight:700;height:36px;justify-content:center;width:36px}.etp-header-avatar,.etp-svc{align-items:center;display:inline-flex;font-family:var(--font-display)}.etp-svc{background:#ffffff0a;border:1px solid var(--border-1);border-radius:999px;color:var(--text-2);color:var(--fg-2);font-size:11px;font-weight:600;gap:8px;height:30px;letter-spacing:.08em;padding:0 12px;text-transform:uppercase}.etp-svc-dot{border-radius:999px;flex:none;height:8px;width:8px}.etp-svc-dot.ok{background:#10b981;box-shadow:0 0 0 3px #10b9812e}.etp-svc-dot.warn{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.etp-svc-dot.err{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.etp-svc-dot.idle{background:#6c7691}.etp-btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-weight:600;gap:8px;justify-content:center;text-decoration:none;transition:background .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out),transform .12s var(--ease-out);white-space:nowrap}.etp-btn:disabled{cursor:not-allowed;opacity:.5}.etp-btn-sm{font-size:12px;height:28px;padding:0 10px}.etp-btn-md{font-size:13px;height:36px;padding:0 14px}.etp-btn-lg{font-size:14px;height:44px;padding:0 18px}.etp-btn-primary{background:var(--brand-violet-500);color:#fff}.etp-btn-primary:hover:not(:disabled){background:var(--brand-violet-400)}.etp-btn-primary:active:not(:disabled){background:var(--brand-violet-600)}.etp-btn-secondary{background:#ffffff0f;border-color:#ffffff24;border-color:var(--border-2);color:var(--text);color:var(--fg-1)}.etp-btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff38;border-color:var(--border-strong)}.etp-btn-ghost{background:#0000;color:var(--text-2);color:var(--fg-2)}.etp-btn-ghost:hover:not(:disabled){background:#ffffff0f;color:var(--text);color:var(--fg-1)}.etp-btn-danger{background:#ef444424;border-color:#ef44444d;color:#fca5a5}.etp-btn-danger:hover:not(:disabled){background:#ef444438;color:#fff}.etp-btn-ok{background:#10b9811f;border-color:#10b9814d;color:#6ee7b7}.etp-btn-ok:hover:not(:disabled){background:#10b98133}.etp-btn-warn{background:#f59e0b24;border-color:#f59e0b4d;color:#fcd34d}.etp-btn-warn:hover:not(:disabled){background:#f59e0b38}.etp-iconbtn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-2);color:var(--fg-2);cursor:pointer;display:inline-flex;justify-content:center}.etp-iconbtn:hover{background:#ffffff0f;color:var(--text);color:var(--fg-1)}.etp-iconbtn.active{background:#7c5cff29;color:#bfa8ff}.etp-badge{align-items:center;border-radius:999px;display:inline-flex;font-family:var(--font-body);font-size:11px;font-weight:600;gap:6px;line-height:1;padding:3px 9px}.etp-badge-dot{background:currentColor;border-radius:999px;height:6px;opacity:.8;width:6px}.etp-badge-success{background:#10b9811f;color:#6ee7b7}.etp-badge-warn{background:#f59e0b24;color:#fcd34d}.etp-badge-danger{background:#ef444424;color:#fca5a5}.etp-badge-info{background:#4da3ff1f;color:#7cc0ff}.etp-badge-violet{background:#7c5cff29;color:#bfa8ff}.etp-badge-neutral{background:#ffffff0f}.etp-badge-neutral,.etp-diffchip{color:var(--text-2);color:var(--fg-2)}.etp-diffchip{align-items:center;background:#ffffff0a;border:1px solid var(--border-1);border-radius:4px;display:inline-flex;font-family:var(--font-body);font-size:11px;font-weight:600;padding:3px 8px;white-space:nowrap}.etp-diffchip.diff-1{border-color:#10b9814d;color:#6ee7b7}.etp-diffchip.diff-2{border-color:#4da3ff4d;color:#7cc0ff}.etp-diffchip.diff-3{border-color:#f59e0b4d;color:#fcd34d}.etp-diffchip.diff-4{border-color:#ef44444d;color:#fca5a5}.etp-tabs{background:#ffffff08;border:1px solid var(--border-1);border-radius:8px;gap:4px;padding:4px}.etp-tab,.etp-tabs{display:inline-flex}.etp-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-2);color:var(--fg-2);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;gap:8px;height:32px;padding:0 14px;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.etp-tab:hover:not(.active){background:#ffffff0a;color:var(--text);color:var(--fg-1)}.etp-tab.active{background:#7c5cff2e;box-shadow:inset 0 0 0 1px #7c5cff66;color:#fff}.etp-tab-count{background:#ffffff0f;border-radius:4px;color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px;padding:1px 6px}.etp-tab.active .etp-tab-count{background:#7c5cff33;color:#bfa8ff}.etp-progress-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.etp-progress-label{color:var(--text-2);color:var(--fg-2);font-family:var(--font-body);font-size:13px}.etp-progress-val{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.etp-progress-track{background:#ffffff0f;border-radius:999px;height:4px;overflow:hidden}.etp-progress-bar{border-radius:999px;height:100%;transition:width .3s var(--ease-out)}.etp-progress-violet{background:linear-gradient(90deg,var(--brand-violet-500),var(--brand-blue-400))}.etp-progress-success{background:#10b981;background:var(--success-500)}.etp-progress-warn{background:#f59e0b;background:var(--warn-500)}.etp-field{display:flex;flex-direction:column;gap:6px}.etp-field-label{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase}.etp-field-hint,.etp-field-label{color:var(--text-3);color:var(--fg-3)}.etp-field-error,.etp-field-hint{font-family:var(--font-body);font-size:12px}.etp-field-error{color:#fca5a5}.etp-input{background:#ffffff0a;border:1px solid var(--border-1);border-radius:6px;box-shadow:inset 0 1px 0 #ffffff0a;color:var(--text);color:var(--fg-1);font-family:var(--font-body);font-size:14px;height:38px;outline:none;padding:0 12px;transition:border-color .12s var(--ease-out),box-shadow .12s var(--ease-out);width:100%}.etp-input.mono{font-family:var(--font-mono)}.etp-input::placeholder{color:var(--muted);color:var(--fg-4)}.etp-input:hover{border-color:#ffffff24;border-color:var(--border-2)}.etp-input:focus{border-color:#7c5cff99;border-color:var(--border-focus);box-shadow:inset 0 1px 0 #ffffff0a,0 0 0 4px #7c5cff2e}.etp-input.error{border-color:#ef44448c;box-shadow:0 0 0 4px #ef444424}.etp-select-wrap{position:relative}.etp-select-wrap select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:32px}.etp-select-caret{color:var(--text-3);color:var(--fg-3);pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.etp-check{align-items:center;color:var(--text);color:var(--fg-1);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:13px;gap:8px}.etp-check input{display:none}.etp-check-box{align-items:center;background:#0000;border:1.5px solid #ffffff38;border:1.5px solid var(--border-strong);border-radius:4px;color:#fff;display:inline-flex;height:16px;justify-content:center;width:16px}.etp-check input:checked+.etp-check-box{background:var(--brand-violet-500);border-color:var(--brand-violet-500)}.etp-toggle{background:#ffffff1a;border:1px solid var(--border-1);border-radius:999px;cursor:pointer;height:20px;padding:0;position:relative;transition:background .12s var(--ease-out);width:34px}.etp-toggle-thumb{background:#fff;border-radius:999px;box-shadow:0 1px 3px #0000004d;height:16px;left:1px;position:absolute;top:1px;transition:transform .16s var(--ease-out);width:16px}.etp-toggle.on{background:var(--brand-violet-500);border-color:var(--brand-violet-500)}.etp-toggle.on .etp-toggle-thumb{transform:translateX(14px)}.etp-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;background:var(--card,#ffffff0a);border:1px solid var(--border-1);border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0f;box-shadow:var(--inset-highlight,inset 0 1px 0 #ffffff0f)}:root.light .etp-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;background:var(--card-solid,#fff);box-shadow:0 1px 4px #0000000f}:root.light .etp-btn-secondary{background:#0000000d;border-color:#ffffff24;border-color:var(--border-2);color:var(--text);color:var(--fg-1)}:root.light .etp-btn-secondary:hover:not(:disabled){background:#00000014}:root.light .etp-btn-ghost{color:var(--text-2);color:var(--fg-2)}:root.light .etp-btn-ghost:hover:not(:disabled){background:#0000000d;color:var(--text);color:var(--fg-1)}:root.light .etp-tab{color:var(--text-2);color:var(--fg-2)}:root.light .etp-tab:hover:not(.active){background:#0000000a;color:var(--text);color:var(--fg-1)}:root.light .etp-input{background:#00000008;border-color:var(--border-1);color:var(--text);color:var(--fg-1)}:root.light .etp-input:hover{border-color:#ffffff24;border-color:var(--border-2)}:root.light .etp-progress-track{background:#00000014}:root.light .etp-tabs{background:#00000008}:root.light .etp-iconbtn:hover{background:#0000000f}.etp-eyebrow-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.etp-eyebrow{color:var(--text-3);color:var(--fg-3);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.etp-latex{line-height:1.6}.etp-latex .katex{font-size:1em}.etp-main{margin:0 auto;max-width:1440px;padding:32px;width:100%}.etp-upload-hero{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1.2fr 1fr;min-height:520px}.etp-upload-left{display:flex;flex-direction:column;gap:24px;justify-content:center}.etp-upload-eyebrow{align-items:center;color:var(--text-3);color:var(--fg-3);display:inline-flex;font-family:var(--font-display);font-size:11px;font-weight:600;gap:8px;letter-spacing:.1em;text-transform:uppercase}.etp-upload-eyebrow:before{background:linear-gradient(90deg,var(--brand-violet-500),#0000);content:"";height:1px;width:24px}.etp-upload-title{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:56px;font-weight:700;letter-spacing:-.025em;line-height:1.05}.etp-upload-title em{background:linear-gradient(90deg,#bfa8ff,#7cc0ff);-webkit-background-clip:text;background-clip:text;color:#0000;font-style:normal}.etp-upload-sub{color:var(--text-2);color:var(--fg-2);font-family:var(--font-body);font-size:17px;line-height:1.55;max-width:480px}.etp-upload-pipeline{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.etp-pipe-chip{align-items:center;background:#ffffff0a;border:1px solid var(--border-1);border-radius:999px;color:var(--text-2);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:11px;gap:6px;padding:6px 10px}.etp-pipe-chip .etp-pipe-num{align-items:center;background:#7c5cff33;border-radius:999px;color:#bfa8ff;display:inline-flex;font-family:var(--font-display);font-size:10px;font-weight:700;height:16px;justify-content:center;width:16px}.etp-dropzone{align-items:center;background:radial-gradient(ellipse at 50% 0,#7c5cff1a,#0000 70%),#ffffff05;border:1.5px dashed #7c5cff73;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:360px;padding:40px 28px;position:relative;text-align:center;transition:border-color .16s var(--ease-out),background .16s var(--ease-out)}.etp-dropzone:hover{background:radial-gradient(ellipse at 50% 0,#7c5cff29,#0000 70%),#ffffff08;border-color:#7c5cffd9}.etp-dropzone-ico{align-items:center;background:#7c5cff29;border-radius:999px;color:#bfa8ff;display:inline-flex;height:72px;justify-content:center;margin-bottom:4px;width:72px}.etp-dropzone-title{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:22px;font-weight:600}.etp-dropzone-sub{color:var(--text-2);color:var(--fg-2);font-family:var(--font-body);font-size:14px;max-width:320px}.etp-dropzone-meta{align-items:center;color:var(--text-3);color:var(--fg-3);display:flex;font-family:var(--font-mono);font-size:11px;gap:14px;margin-top:6px}.etp-dropzone-meta-sep{opacity:.35}.etp-processing{display:flex;flex-direction:column;gap:32px;margin:64px auto 0;max-width:720px}.etp-proc-file{align-items:center;background:#ffffff0a;border:1px solid var(--border-1);border-radius:12px;display:flex;gap:14px;padding:16px 18px}.etp-proc-file-ico{align-items:center;background:#7c5cff29;border-radius:8px;color:#bfa8ff;display:inline-flex;height:40px;justify-content:center;width:40px}.etp-proc-file-name{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:14px;font-weight:600}.etp-proc-file-meta{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px;margin-top:2px}.etp-proc-stages{display:flex;flex-direction:column;gap:12px}.etp-proc-stage{grid-gap:14px;align-items:center;background:#ffffff08;border:1px solid var(--border-1);border-radius:10px;display:grid;gap:14px;grid-template-columns:32px 1fr auto;padding:14px 16px;transition:all .16s var(--ease-out)}.etp-proc-stage.active{background:#7c5cff0f;border-color:#7c5cff73}.etp-proc-stage.done{opacity:.55}.etp-proc-stage-ico{align-items:center;background:#ffffff0a;border-radius:8px;color:var(--text-3);color:var(--fg-3);display:inline-flex;height:32px;justify-content:center;width:32px}.etp-proc-stage.active .etp-proc-stage-ico{background:#7c5cff33;color:#bfa8ff}.etp-proc-stage.done .etp-proc-stage-ico{background:#10b9812e;color:#6ee7b7}.etp-proc-stage-label{color:var(--text);color:var(--fg-1);font-family:var(--font-body);font-size:14px;font-weight:500}.etp-proc-stage-meta{margin-top:2px}.etp-proc-stage-meta,.etp-proc-stage-state{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.etp-proc-spin{animation:etp-spin .8s linear infinite;border:2px solid #7c5cff33;border-radius:999px;border-top:2px solid var(--brand-violet-500);height:16px;width:16px}@keyframes etp-spin{to{transform:rotate(1turn)}}.etp-results-grid{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 360px}.etp-results-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.etp-results-summary{align-items:center;display:flex;gap:12px}.etp-results-summary-title{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:18px;font-weight:600}.etp-results-summary-meta{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:12px}.etp-qtable{background:#ffffff08;border:1px solid var(--border-1);border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0d;overflow:hidden}.etp-qrow,.etp-qtable-head{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:36px 50px 130px 90px 1fr 80px 50px;padding:10px 16px}.etp-qtable-head{background:#ffffff05;color:var(--text-3);color:var(--fg-3);font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.etp-qrow,.etp-qtable-head{border-bottom:1px solid var(--border-1)}.etp-qrow{cursor:pointer;font-size:13px;transition:background .12s var(--ease-out)}.etp-qrow:last-child{border-bottom:none}.etp-qrow:hover{background:#ffffff08}.etp-qrow-num{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono)}.etp-qrow-type{color:var(--text-2);color:var(--fg-2);font-family:var(--font-body);font-size:12.5px;font-weight:500}.etp-qrow-preview{color:var(--text);color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.etp-qrow-conf,.etp-qrow-figs{align-items:center;display:flex;gap:4px}.etp-qrow-conf{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.etp-qrow-conf-bar{background:#ffffff0f;border-radius:999px;height:4px;overflow:hidden;width:24px}.etp-qrow-conf-bar>div{height:100%}.etp-figgrid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.etp-figcard{background:#ffffff0a;border:1px solid var(--border-1);border-radius:12px;box-shadow:inset 0 1px 0 #ffffff0f;cursor:pointer;overflow:hidden;transition:border-color .12s var(--ease-out),transform .12s var(--ease-out)}.etp-figcard:hover{border-color:#ffffff24;border-color:var(--border-2);transform:translateY(-1px)}.etp-figcard-thumb{align-items:center;aspect-ratio:4/3;background:#fff;display:flex;justify-content:center}.etp-figcard-thumb img{height:88%;object-fit:contain;width:88%}.etp-figcard-meta{display:flex;flex-direction:column;gap:4px;padding:12px 14px}.etp-figcard-id{color:var(--text-3);color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.etp-figcard-desc{color:var(--text);color:var(--fg-1);font-family:var(--font-body);font-size:12.5px;line-height:1.4}.etp-figcard-page{align-items:center;align-self:flex-start;background:#ffffff0f;border-radius:999px;color:var(--text-3);color:var(--fg-3);display:inline-flex;font-family:var(--font-mono);font-size:10px;gap:4px;margin-top:4px;padding:2px 8px}.etp-jsonwrap{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.etp-codepane{background:#ffffff08;border:1px solid var(--border-1);border-radius:12px;display:flex;flex-direction:column;max-height:520px;overflow:hidden}.etp-codepane-head{align-items:center;background:#ffffff05;border-bottom:1px solid var(--border-1);display:flex;justify-content:space-between;padding:10px 14px}.etp-codepane-title{align-items:center;color:var(--text-2);color:var(--fg-2);display:inline-flex;font-family:var(--font-mono);font-size:12px;gap:8px}.etp-codepane-body{color:var(--text);color:var(--fg-1);flex:1 1;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;overflow:auto;padding:14px 16px}.etp-codepane-body .tok-k{color:#bfa8ff}.etp-codepane-body .tok-s{color:#7cc0ff}.etp-codepane-body .tok-n{color:#6ee7b7}.etp-codepane-body .tok-c{color:var(--muted);color:var(--fg-4)}.etp-codepane-body .tok-b{color:#fcd34d}.etp-codepane-body pre{margin:0;white-space:pre-wrap;word-break:break-word}.etp-side{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:88px}.etp-side-card{background:#ffffff0a;border:1px solid var(--border-1);border-radius:14px;box-shadow:inset 0 1px 0 #ffffff0f;overflow:hidden}.etp-side-head{align-items:center;border-bottom:1px solid var(--border-1);display:flex;justify-content:space-between;padding:14px 18px}.etp-side-head-l{align-items:center;display:flex;gap:10px}.etp-side-title{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:13px;font-weight:600}.etp-side-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 18px}.etp-side-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.etp-side-key{color:var(--text-2);color:var(--fg-2);font-family:var(--font-body);font-size:13px}.etp-side-val{color:var(--text);color:var(--fg-1);font-family:var(--font-mono);font-size:12px}.etp-side-divider{background:var(--border);background:var(--border-1);height:1px}.etp-edumert-log{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto;padding-right:4px}.etp-edumert-logrow{grid-gap:10px;align-items:center;background:#ffffff08;border-radius:6px;color:var(--text-2);color:var(--fg-2);display:grid;font-family:var(--font-mono);font-size:11px;gap:10px;grid-template-columns:14px 1fr auto;padding:7px 10px}.etp-edumert-logrow.ok{color:#6ee7b7}.etp-edumert-logrow.fail{color:#fca5a5}.etp-edumert-logrow.pending{color:var(--text-3);color:var(--fg-3)}.etp-edumert-logrow-dot{background:currentColor;border-radius:999px;height:6px;width:6px}.etp-edumert-logrow .qtext{color:var(--text-2);color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.etp-edumert-logrow.ok .qtext{color:var(--text);color:var(--fg-1)}.etp-modal-scrim{align-items:center;animation:etp-fade .16s var(--ease-out);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#06081299;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}@keyframes etp-fade{0%{opacity:0}to{opacity:1}}.etp-modal{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#14192de6;border:1px solid #ffffff24;border:1px solid var(--border-2);border-radius:20px;box-shadow:0 30px 80px -20px #0009,0 8px 24px -8px #0006,inset 0 1px 0 #ffffff14;display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:720px;overflow:hidden;width:100%}.etp-modal-head{align-items:center;border-bottom:1px solid var(--border-1);display:flex;gap:14px;justify-content:space-between;padding:18px 22px}.etp-modal-body{display:flex;flex-direction:column;gap:18px;overflow:auto;padding:22px}.etp-modal-foot{align-items:center;background:#0000002e;border-top:1px solid var(--border-1);display:flex;gap:10px;justify-content:space-between;padding:14px 22px}.etp-modal-title{color:var(--text);color:var(--fg-1);font-family:var(--font-display);font-size:16px;font-weight:600}.etp-modal-tags{display:flex;flex-wrap:wrap;gap:8px}.etp-modal-question{color:var(--text);color:var(--fg-1);font-family:var(--font-body);font-size:16px;line-height:1.6}.etp-modal-options{display:flex;flex-direction:column;gap:8px}.etp-modal-opt{grid-gap:12px;align-items:center;background:#ffffff08;border:1px solid var(--border-1);border-radius:8px;color:var(--text);color:var(--fg-1);display:grid;font-family:var(--font-body);font-size:14px;gap:12px;grid-template-columns:28px 1fr auto;padding:12px 14px}.etp-modal-opt.correct{background:#10b9810f;border-color:#10b98166}.etp-modal-opt-key{align-items:center;background:#ffffff0f;border-radius:6px;color:var(--text-3);color:var(--fg-3);display:inline-flex;font-family:var(--font-display);font-size:12px;font-weight:700;height:22px;justify-content:center;width:22px}.etp-modal-opt.correct .etp-modal-opt-key{background:#10b98133;color:#6ee7b7}.etp-modal-opt-mark{color:#6ee7b7}.etp-modal-solution{background:#4da3ff0f;border:1px solid #4da3ff2e;border-radius:10px;color:#c6cddd;font-family:var(--font-body);font-size:14px;line-height:1.6;padding:14px 16px}.etp-modal-figrow{display:flex;gap:12px}.etp-modal-figrow img{background:#fff;border-radius:8px;height:130px;object-fit:contain;width:180px}.etp-empty{align-items:center;border:1px dashed #ffffff24;border:1px dashed var(--border-2);border-radius:12px;color:var(--text-3);color:var(--fg-3);display:flex;flex-direction:column;font-family:var(--font-body);font-size:14px;gap:10px;justify-content:center;padding:64px 24px;text-align:center}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}:root{--brand-violet-50:#f1edff;--brand-violet-100:#ddd2ff;--brand-violet-200:#bfa8ff;--brand-violet-300:#9c7eff;--brand-violet-400:#8a66ff;--brand-violet-500:#7c5cff;--brand-violet-600:#6747e0;--brand-violet-700:#4f33b5;--brand-blue-300:#7cc0ff;--brand-blue-400:#4da3ff;--brand-blue-500:#2a85f0;--slate-0:#fff;--slate-50:#f3f5fa;--slate-100:#e6eaf2;--slate-200:#c6cddd;--slate-300:#9aa4bb;--slate-400:#6c7691;--slate-500:#4a5470;--slate-600:#2f3856;--slate-700:#1c2440;--slate-800:#131932;--slate-900:#0b0f1a;--slate-950:#060812;--success-300:#6ee7b7;--success-500:#10b981;--success-bg:#10b9811f;--warn-300:#fcd34d;--warn-500:#f59e0b;--warn-bg:#f59e0b24;--danger-300:#fca5a5;--danger-500:#ef4444;--danger-bg:#ef444424;--info-300:#7cc0ff;--info-500:#4da3ff;--info-bg:#4da3ff1f;--accent:#7c5cff;--accent-hover:#8a66ff;--accent-press:#6747e0;--accent-secondary:#4da3ff;--accent-ring:#7c5cff8c;--accent-soft:#7c5cff1f;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"Plus Jakarta Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",Menlo,Consolas,monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--lh-tight:1.12;--lh-snug:1.28;--lh-body:1.5;--tracking-tight:-0.02em;--tracking-caps:0.10em;--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:120ms;--dur-base:180ms;--dur-slow:280ms;--shadow-glow:0 0 0 4px #7c5cff2e;--shadow-modal:0 30px 80px -20px #0009,0 8px 24px -8px #0006;--shadow-popover:0 12px 32px -12px #00000080;--inset-highlight:inset 0 1px 0 #ffffff0f;--bg:#0b0f1a;--sb:#131932;--card:#ffffff0a;--card-solid:#131932;--modal-bg:#1c2440;--border:#ffffff14;--border-2:#ffffff24;--border-strong:#ffffff38;--border-focus:#7c5cff99;--text:#f3f5fa;--text-2:#c6cddd;--text-3:#9aa4bb;--muted:#6c7691;--asoft:#7c5cff1f;--scrollbar:#ffffff1f;--input-bg:#ffffff0f;--select-bg:#131932;--surface-1:#ffffff0a;--surface-2:#ffffff0f;--surface-hover:#ffffff0f;--surface-active:#ffffff14}:root.light{--bg:#f3f5fa;--sb:#e6eaf2;--card:#00000008;--card-solid:#fff;--modal-bg:#fff;--border:#0f172a1a;--border-2:#0f172a29;--border-strong:#0f172a47;--border-focus:#7c5cff80;--text:#0b0f1a;--text-2:#1c2440;--text-3:#2f3856;--muted:#4a5470;--asoft:#7c5cff1a;--scrollbar:#0f172a2e;--input-bg:#0000000d;--select-bg:#e6eaf2;--surface-1:#00000008;--surface-2:#0000000d;--surface-hover:#0000000d;--surface-active:#00000014;--inset-highlight:inset 0 1px 0 #0000000a}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#0b0f1a;background-color:var(--bg);font-family:Plus Jakarta Sans,system-ui,sans-serif;font-family:var(--font-body);font-size:15px;font-size:var(--text-base);line-height:1.5;line-height:var(--lh-body);text-rendering:optimizeLegibility;transition:background-color .25s,color .25s}body,h1,h2,h3,h4,h5,h6{color:#f3f5fa;color:var(--text)}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,system-ui,sans-serif;font-family:var(--font-display)}.app-bg{background:radial-gradient(ellipse at 0 0,#7c5cff14,#0000 55%),radial-gradient(ellipse at 100% 0,#4da3ff0d,#0000 50%),#0b0f1a;background:radial-gradient(ellipse at 0 0,#7c5cff14,#0000 55%),radial-gradient(ellipse at 100% 0,#4da3ff0d,#0000 50%),var(--bg)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#ffffff1f;background:var(--scrollbar);border-radius:4px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fu{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fu{animation:fu .2s cubic-bezier(.22,1,.36,1) forwards;animation:fu .2s var(--ease-out) forwards;min-height:100%;padding:24px}@media (max-width:768px){.fu{padding:12px 8px}}select{background-color:#131932!important;background-color:var(--select-bg)!important}select,select option{color:#f3f5fa;color:var(--text)}select option{background-color:#131932;background-color:var(--select-bg)}select option:checked{background-color:#7c5cff;background-color:var(--accent);color:#fff}input:focus,select:focus,textarea:focus{border-color:#7c5cff99!important;border-color:var(--border-focus)!important;box-shadow:0 0 0 3px #7c5cff1f;box-shadow:0 0 0 3px var(--asoft);outline:none}input,textarea{background-color:#ffffff0f;background-color:var(--input-bg);color:#f3f5fa;color:var(--text);font-family:Plus Jakarta Sans,system-ui,sans-serif;font-family:var(--font-body)}input::placeholder,textarea::placeholder{color:#6c7691;color:var(--muted);opacity:1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}button{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-family:var(--font-body)}.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0a;background:var(--surface-1);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 #ffffff0f;box-shadow:var(--inset-highlight)}.kanban-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}@media (max-width:640px){.kanban-grid{grid-template-columns:repeat(3,minmax(240px,1fr));overflow-x:auto;padding-bottom:8px}}.mobile-nav-scroll{-ms-overflow-style:none;scrollbar-width:none}.mobile-nav-scroll::-webkit-scrollbar{display:none}.modal-full{align-items:flex-start;background:#000000bf;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px 16px 40px;position:fixed;z-index:9999}.modal-box{background:#131932;background:var(--sb);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:18px;margin:auto;max-width:560px;padding:24px;width:100%}.modal-box-wide{max-width:760px}.modal-sheet{background:#131932;background:var(--sb);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px 20px 0 0;bottom:0;left:0;max-height:90vh;overflow-y:auto;padding:16px 20px 40px;position:fixed;right:0;z-index:9999}@media print{*,.fu{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}.print-mode,.print-mode *{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}
/*# sourceMappingURL=main.1d2b4a6a.css.map*/