:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{background-color:#0000;width:100%;min-width:320px;min-height:100vh;margin:0;display:block}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.stats-charts{grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.stats-chart{background:radial-gradient(circle at 0 0,#0f172ae6,#020617);border:1px solid #1f2937e6;border-radius:1rem;padding:.6rem .8rem .9rem}.stats-chart h3{margin:0 0 .4rem;font-size:.95rem}@media (min-width:900px){.stats-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}:root{color:#e5e7eb;background:radial-gradient(circle at top,#1f2937 0,#020617 45%,#000 100%);font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}body{background:0 0;margin:0}.app{background:radial-gradient(circle at top,#111827 0,#020617 45%,#000 100%);flex-direction:column;min-height:100vh;display:flex}.auth-screen{justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 0 0,#3b82f617,#0000),linear-gradient(145deg,#0f172af2,#0f172acc);border-radius:1.5rem;width:100%;max-width:420px;padding:2.25rem 2.5rem;box-shadow:0 32px 80px #000000b3,0 0 0 1px #94a3b826}.auth-card h1{letter-spacing:.02em;margin:0 0 .35rem;font-size:1.6rem}.auth-subtitle{color:#9ca3af;margin-bottom:1.75rem;font-size:.9rem}.auth-tabs{background:#0f172acc;border:1px solid #94a3b840;border-radius:999px;margin-bottom:1rem;padding:.125rem;display:inline-flex}.auth-tabs button{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:999px;flex:1;padding:.4rem .95rem;font-size:.85rem;transition:all .18s ease-out}.auth-tabs button.active{color:#f9fafb;background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 0 0 1px #3b82f699}.auth-form label{flex-direction:column;gap:.25rem;margin-bottom:.85rem;font-size:.9rem;display:flex}.auth-form input{color:#e5e7eb;background:radial-gradient(circle at 0 0,#020617,#020617);border:1px solid #1f2937e6;border-radius:.8rem;outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .15s ease-out,box-shadow .15s ease-out,background .15s ease-out}.auth-form input:focus{background:#020617;border-color:#3b82f6e6;box-shadow:0 0 0 1px #3b82f680}.auth-form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#4f46e5);border:none;border-radius:.9rem;width:100%;margin-top:.75rem;padding:.65rem .75rem;font-size:.95rem;font-weight:500;transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out;box-shadow:0 12px 25px #2563eb59}.auth-form button:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 18px 35px #2563eb73}.auth-form button:active{transform:translateY(0);box-shadow:0 10px 20px #2563eb4d}.auth-error{color:#fecaca;margin-top:.25rem;margin-bottom:-.25rem;font-size:.85rem}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:linear-gradient(120deg,#0f172af2,#0f172ae6);border-bottom:1px solid #0f172ae6;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;display:flex;position:sticky;top:0;box-shadow:0 18px 40px #000000bf}.topbar-left{flex-direction:column;gap:.15rem;display:flex}.topbar-left h1{letter-spacing:.03em;margin:0;font-size:1.25rem}.topbar-subtitle{color:#9ca3af;font-size:.8rem}.progress-bar-container{align-items:center;gap:.35rem;margin-top:.25rem;display:flex}.progress-bar-track{background:#0f172ae6;border:1px solid #1f2937e6;border-radius:999px;flex:1;height:.35rem;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:999px;height:100%;transition:width .25s ease-out}.progress-bar-label{color:#9ca3af;text-align:right;min-width:2.5rem;font-size:.75rem}.topbar-right{align-items:center;gap:.6rem;display:flex}.icon-button{background:#3b82f626;border:1px solid #3b82f673;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .1s ease-out,box-shadow .15s ease-out,border-color .15s ease-out;display:inline-flex}.icon-button:hover{border-color:#3b82f6e6;transform:translateY(-1px);box-shadow:0 8px 18px #3b82f659}.icon-button svg{display:block}.topbar-user{color:#cbd5f5;font-size:.9rem}.topbar-right button{color:#e5e7eb;cursor:pointer;background:radial-gradient(circle at top,#020617,#020617);border:1px solid #1f2937e6;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;transition:all .15s ease-out}.topbar-right button:hover{color:#bfdbfe;border-color:#3b82f699}.topbar-right button.active{color:#f9fafb;background:linear-gradient(135deg,#2563eb,#4f46e5);border-color:#0000;box-shadow:0 4px 14px #2563eb66}.logout-btn{box-shadow:0 4px 14px #b91c1c8c;background:linear-gradient(135deg,#b91c1c,#7f1d1d)!important;border-color:#7f1d1de6!important}.logout-btn:hover{filter:brightness(1.05)}.layout{flex:1;width:100%;min-height:0;display:flex;position:relative}.sidebar{background:radial-gradient(circle at 0 0,#0f172ae6,#020617);border-right:1px solid #0f172af2;flex-direction:column;gap:1rem;width:320px;padding:1rem 1.25rem;transition:width .18s,padding .18s;display:flex}.layout.sidebar-collapsed .sidebar{align-items:center;width:68px;padding:.75rem .55rem}.layout.sidebar-collapsed .sidebar .card{display:none}.sidebar-toggle-container{z-index:5;transition:left .18s;position:absolute;top:.75rem;left:300px}.layout.sidebar-collapsed .sidebar-toggle-container{left:72px}.sidebar-toggle{color:#e5e7eb;cursor:pointer;background:linear-gradient(135deg,#0b1220,#0e172a);border:1px solid #1f2937e6;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;box-shadow:0 10px 18px #00000073}.sidebar-toggle:hover{border-color:#3b82f6b3}.card{background:radial-gradient(circle at 0 0,#1e40af29,#0000),linear-gradient(135deg,#0f172afa,#0f172aeb);border:1px solid #1f2937f2;border-radius:1.2rem;padding:.9rem 1rem;box-shadow:0 18px 40px #000000e6,0 0 0 1px #0f172ae6}.card h2{align-items:center;gap:.35rem;margin-top:0;margin-bottom:.75rem;font-size:1rem;display:flex}.card h3{margin-top:.5rem}.badge{color:#bfdbfe;background:#1e40af59;border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.sidebar label{flex-direction:column;gap:.25rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.sidebar select,.sidebar input[type=text],.sidebar input:not([type=checkbox]){color:#e5e7eb;background:radial-gradient(circle at 0 0,#020617,#020617);border:1px solid #1f2937e6;border-radius:.7rem;outline:none;padding:.4rem .5rem;font-size:.9rem;transition:border-color .15s ease-out,box-shadow .15s ease-out}.sidebar select:focus,.sidebar input:focus{border-color:#3b82f6bf;box-shadow:0 0 0 1px #2563eb66}.checkbox-row{align-items:center;margin-top:.6rem;font-size:.88rem;flex-direction:row!important;gap:.5rem!important}.filter-block{margin-top:.6rem}.filter-label{color:#9ca3af;margin-bottom:.2rem;font-size:.82rem}.difficulty-chips{flex-wrap:wrap;gap:.35rem;display:flex}.difficulty-chip{color:#e5e7eb;cursor:pointer;background:#020617;border:1px solid #1f2937e6;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;transition:all .15s ease-out}.difficulty-chip:hover{color:#bfdbfe;border-color:#3b82f6b3}.difficulty-chip.active{color:#f9fafb;background:radial-gradient(circle at top,#2563eb,#1d4ed8);border-color:#0000;box-shadow:0 4px 12px #2563eb80}.tag-picker{flex-direction:column;gap:.4rem;display:flex}.tag-picker-toggle{color:#e5e7eb;cursor:pointer;background:linear-gradient(135deg,#0b1220,#0e172a);border:1px solid #1f2937e6;border-radius:.85rem;justify-content:space-between;align-items:center;width:100%;padding:.5rem .7rem;font-size:.85rem;transition:all .15s ease-out;display:flex}.tag-picker-toggle:hover{border-color:#3b82f6b3;box-shadow:0 8px 22px #2563eb1f}.tag-picker-toggle .chevron{color:#9ca3af;font-size:.8rem}.selected-tag-chips{flex-wrap:wrap;gap:.35rem;display:flex}.tag-picker-panel{background:#0f172ab3;border:1px dashed #334155e6;border-radius:.9rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.35rem;max-height:220px;padding:.45rem;display:grid;overflow:auto}.tag-picker-empty{color:#94a3b8;font-size:.85rem}.tag-option{color:#e5e7eb;cursor:pointer;background:#0f172a80;border:1px solid #334155cc;border-radius:.75rem;align-items:center;gap:.35rem;padding:.35rem .4rem;font-size:.82rem;transition:all .12s ease-out;display:flex}.tag-option:hover{border-color:#3b82f699}.tag-option input{accent-color:#3b82f6}.tag-option.active{background:linear-gradient(135deg,#3b82f61f,#0f172a);border-color:#3b82f6e6;box-shadow:0 6px 14px #2563eb40}.filter-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.filter-actions button{color:#e5e7eb;cursor:pointer;background:#020617;border:1px solid #1f2937e6;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;transition:all .15s ease-out}.filter-actions button:hover{border-color:#3b82f6b3}.stats-summary{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.stats-summary span{color:#9ca3af}.stats-summary strong{margin-left:.25rem}.stats-difficulty ul{margin:.25rem 0 0;padding-left:1.25rem;font-size:.85rem}.main-content{flex:1;width:100%;min-width:0;padding:1rem 1.25rem 1.5rem}.questions-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1.45fr);gap:1rem;display:grid}.active-filters{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.6rem;display:flex}.active-filters-label{color:#9ca3af;font-size:.8rem}.active-filter-chip{color:#bfdbfe;cursor:pointer;background:#2563eb1f;border:1px solid #2563ebb3;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .7rem;font-size:.78rem;display:inline-flex}.active-filter-chip span{opacity:.8}.clear-filters-link{color:#93c5fd;cursor:pointer;background:0 0;border:none;margin-left:.2rem;font-size:.78rem}.questions-list h2{justify-content:space-between;align-items:center}.questions-scroll{max-height:calc(100vh - 230px);padding-right:.2rem;overflow:auto}.question-row{cursor:pointer;background:#0f172acc;border:1px solid #0000;border-radius:.9rem;margin-bottom:.35rem;padding:.5rem .7rem;transition:background .14s ease-out,border-color .14s ease-out,transform 80ms ease-out,box-shadow .12s ease-out}.question-row:hover{background:#111827f2;border-color:#1e40afb3;transform:translateY(-1px);box-shadow:0 12px 25px #0f172acc}.question-row.selected{border-color:#2563ebe6;box-shadow:0 0 0 1px #2563eba6,0 14px 36px #0f172ae6}.question-row.solved{background:linear-gradient(135deg,#16a34a29,#0f172ae6);border-color:#16a34a99}.question-row.solved-pulse{animation:1s ease-out solvedPulse}@keyframes solvedPulse{0%{transform:translateY(-1px);box-shadow:0 0 #22c55e59}50%{box-shadow:0 0 0 8px #22c55e1f}to{transform:translateY(0);box-shadow:0 0 #22c55e00}}.confetti-layer{pointer-events:none;z-index:999;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:2px;animation-name:confettiFall;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;top:-12px}@keyframes confettiFall{0%{opacity:1;transform:translate(0,0)rotate(0)}to{opacity:0;transform:translate3d(var(--drift,0px),120vh,0)rotate(360deg)}}.question-row-main{align-items:center;gap:.4rem;margin-bottom:.15rem;display:flex}.question-title{font-size:.94rem;font-weight:500}.question-row-meta{color:#9ca3af;flex-wrap:wrap;gap:.3rem;font-size:.8rem;display:flex}.meta-item{align-items:center;gap:.2rem;display:inline-flex}.chip{color:#9ca3af;background:#0f172ae6;border:1px solid #1f2937e6;border-radius:999px;align-items:center;padding:.05rem .5rem;font-size:.78rem;display:inline-flex}.chip-difficulty{color:#fed7aa;background:#7c2d1259;border-color:#f97316e6}.chip-topic{color:#bfdbfe;background:#1e40af66;border-color:#3b82f6d9}.chip-clickable{cursor:pointer;transition:all .15s ease-out}.chip-clickable:hover{filter:brightness(1.1);box-shadow:0 0 0 1px #3b82f699}.meta-text{color:#9ca3af;margin-left:.25rem;font-size:.75rem}.question-detail{min-height:300px}.question-body h3{margin-top:0;margin-bottom:.65rem}.question-tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.question-text{background:radial-gradient(circle at 0 0,#020617,#020617);border:1px solid #1f2937e6;border-radius:.9rem;margin-bottom:.85rem;padding:.75rem .85rem;font-size:.9rem}.question-text p{margin:.25rem 0}.question-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;display:flex}.question-actions button{color:#e5e7eb;cursor:pointer;background:#020617;border:1px solid #1f2937e6;border-radius:999px;padding:.3rem .8rem;font-size:.8rem;transition:all .15s ease-out}.question-actions button:hover{border-color:#3b82f6b3}.answer-input-block{flex-direction:column;gap:.4rem;margin:.6rem 0 .4rem;display:flex}.answer-input-block label{color:#e5e7eb;flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.answer-input-block input{color:#e5e7eb;background:#0f172ab3;border:1px solid #1f2937e6;border-radius:.7rem;padding:.45rem .65rem;font-size:.9rem}.answer-actions{flex-wrap:wrap;gap:.5rem;display:flex}.answer-check{color:#c7d2fe;font-size:.85rem}.reveal-block{background:#0f172af2;border:1px dashed #374151f2;border-radius:.9rem;margin-bottom:.6rem;padding:.6rem .75rem}.reveal-block h4{color:#9ca3af;margin:0 0 .25rem;font-size:.85rem}.reveal-block .formatted-text,.reveal-block pre{white-space:pre-wrap;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.84rem}.formatted-text-wrapper{display:block}.question-footer{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.btn-success{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:999px;padding:.38rem .9rem;font-size:.82rem;transition:transform .1s ease-out,box-shadow .1s ease-out,filter .1s ease-out;box-shadow:0 10px 20px #16a34a73}.btn-success:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 28px #16a34a99}.btn-success:active{transform:translateY(0);box-shadow:0 9px 16px #16a34a80}.btn-secondary{color:#e5e7eb;cursor:pointer;background:#020617;border:1px solid #1f2937e6;border-radius:999px;padding:.38rem .9rem;font-size:.82rem;transition:all .15s ease-out}.btn-secondary:hover{border-color:#3b82f6b3}.info-message{color:#a5b4fc;font-size:.8rem}.stats-page{width:100%;max-width:none;padding:1.4rem}.stats-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.reset-progress-btn{color:#fecdd3;border-color:#ef4444e6}.reset-progress-btn:hover{color:#ffe4e6;border-color:#f87171e6}.stats-body{flex-direction:column;gap:1.1rem;display:flex}.stats-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.kpi-card{background:linear-gradient(135deg,#3b82f61a,#0b1220);border:1px solid #334155e6;border-radius:1rem;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.kpi-card span{color:#9ca3af;font-size:.85rem}.kpi-card strong{font-size:1.2rem}.kpi-card small{color:#c7d2fe;font-size:.78rem}.stats-charts{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.stats-chart{background:#0a0f1d;border:1px solid #1f2937e6;border-radius:1rem;padding:.85rem 1rem;box-shadow:inset 0 1px #ffffff05,0 14px 30px #00000059}.stats-chart.wide{grid-column:span 2}.stats-chart-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.stats-chart h3{margin:0}.chart-meta{color:#94a3b8;font-size:.82rem}.stats-hint{color:#9ca3af;margin-top:.9rem;font-size:.85rem}.empty-state{color:#9ca3af;margin-top:.75rem;font-size:.85rem}@media (max-width:1000px){.layout{flex-direction:column}.sidebar{border-bottom:1px solid #0f172af2;border-right:none;width:100%}.questions-layout{grid-template-columns:1fr}.stats-chart.wide{grid-column:span 1}}@media (max-width:640px){.topbar{flex-wrap:wrap;gap:.6rem;padding-inline:1rem}.topbar-left h1{font-size:1.05rem}.topbar-subtitle{font-size:.75rem}.topbar-right{flex-wrap:wrap;justify-content:flex-start;width:100%}.topbar-right button{text-align:center;flex:auto;min-width:120px}.sidebar{padding-inline:1rem;padding-top:.75rem}.main-content{padding-inline:1rem}.auth-card{padding-inline:1.75rem}.sidebar-toggle-container{top:.5rem;left:.75rem}.layout{gap:.75rem}.questions-list h2,.question-detail h2,.stats-header h2{font-size:1rem}.question-actions button,.btn-success,.btn-secondary,.btn-training{width:100%}.training-actions-primary{flex-direction:column}.stats-kpis,.stats-charts{grid-template-columns:1fr}}.training-card{max-width:960px;margin:0 auto}.training-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.training-subtitle{color:#9ca3af;margin:.1rem 0 0;font-size:.82rem}.training-timer{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.training-timer-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.training-timer-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:600}.training-meta-row{flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;display:flex}.training-question-text{max-height:none}.training-actions-primary{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .6rem;display:flex}.btn-training{color:#e5e7eb;cursor:pointer;background:#020617;border:1px solid #1f2937e6;border-radius:999px;padding:.38rem .9rem;font-size:.82rem;transition:all .15s ease-out}.btn-training:hover{color:#bfdbfe;border-color:#3b82f6b3}.training-footer{flex-direction:column;gap:.4rem;margin-top:.7rem;display:flex}.training-btn-wide{text-align:center;justify-content:center;width:100%}.training-exit-btn{align-self:flex-start;font-size:.8rem}.training-info{margin-top:.2rem}@media (max-width:1000px){.training-card{max-width:100%}.training-header{flex-direction:column;align-items:flex-start}.training-timer{align-items:flex-start}}@media (max-width:640px){.training-header h2{font-size:1rem}.training-timer-value{font-size:1.1rem}}
