@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Barlow+Condensed:wght@700;800&display=swap";:root{--primary:#ffd200;--primary-hover:#e6bc00;--bg:#fff;--bg-subtle:#f8fafc;--card:#fff;--text:#000;--text-h:#000;--text-muted:#4c566a;--border:#000;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--shadow:4px 4px 0px #000;--shadow-sm:2px 2px 0px #000;--shadow-hover:2px 2px 0px #000}*{box-sizing:border-box}body{background-color:var(--bg-subtle);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-family:Inter,-apple-system,sans-serif}h1,h2,h3,.brand-font{text-transform:uppercase;letter-spacing:.05em;color:var(--text-h);margin-top:0;font-family:Barlow Condensed,sans-serif;font-weight:800}#root{width:100%}.app-container{max-width:1100px;margin:0 auto;padding:1.5rem}button{cursor:pointer;border:none;font-family:inherit}.primary-btn{background-color:var(--primary);color:#000;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm);border:2px solid #000;border-radius:4px;outline:none;justify-content:center;align-items:center;gap:8px;height:38px;padding:8px 20px;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:800;text-decoration:none;transition:all .1s ease-in-out;display:inline-flex}.primary-btn:hover{background-color:var(--primary-hover);transform:translate(1px,1px);box-shadow:1px 1px #000}.primary-btn:active{box-shadow:none;transform:translate(2px,2px)}.filter-btn,.back-link{color:#000;text-transform:uppercase;box-shadow:var(--shadow-sm);background-color:#fff;border:2px solid #000;border-radius:4px;align-items:center;gap:.5rem;height:38px;padding:8px 12px;font-size:.75rem;font-weight:700;transition:all .1s;display:flex}.filter-btn:hover,.back-link:hover{background-color:var(--bg-subtle);transform:translate(1px,1px);box-shadow:1px 1px #000}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-subtle)}::-webkit-scrollbar-thumb{border:2px solid var(--bg-subtle);background:#000}.login-page{text-align:center;background:#fff;border:2px solid #000;border-radius:4px;max-width:440px;margin:100px auto;padding:3.5rem 2.5rem;box-shadow:4px 4px #000}.login-header h1{color:var(--text-h);letter-spacing:.05em;margin-bottom:.75rem;font-size:3rem}.login-header p{color:var(--text-muted);margin-bottom:2.5rem;font-weight:500}.auth-toggle{background:#f8fafc;border:2px solid #000;border-radius:4px;margin-bottom:2.5rem;padding:.4rem;display:flex}.auth-toggle button{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:0 0;border:none;border-radius:2px;flex:1;padding:.75rem;font-size:.8125rem;font-weight:700}.auth-toggle button.active{background:var(--primary);color:var(--text-h)}.input-group{text-align:left;margin-bottom:1.75rem}.input-group label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.75rem;font-size:.8125rem;font-weight:700;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper svg{color:var(--text-muted);position:absolute;left:15px}.input-wrapper input,.login-page input,.login-page select{width:100%;color:var(--text);background:#f8fafc;border:2px solid #000;border-radius:4px;outline:none;padding:1rem;font-size:1rem}.input-wrapper input{padding-left:48px}.input-wrapper input:focus{border-color:var(--primary)}.role-selection{text-align:left;margin-bottom:2.5rem}.role-selection label{color:var(--text-muted);text-transform:uppercase;margin-bottom:1rem;font-size:.8125rem;font-weight:700;display:block}.role-cards{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.role-card{cursor:pointer;background:#f8fafc;border:2px solid #000;border-radius:4px;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;transition:all .2s;display:flex}.role-card:hover{border-color:var(--primary)}.role-card.selected{border-color:var(--primary);background:#fffdf0}.role-card.selected svg{color:var(--text-h)}.role-card span{font-size:.875rem;font-weight:700}.submit-btn{border-radius:4px;width:100%;padding:1.125rem;font-size:1.125rem}.auth-error{color:var(--error);background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:2rem;padding:1rem;font-size:.875rem;font-weight:500}.header-text h1{color:#000;margin-bottom:.25rem;font-size:2.25rem}.header-text p{color:var(--text-muted);font-size:.9375rem;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.stat-card{text-align:center;box-shadow:var(--shadow-sm);background:#fff;border:2px solid #000;border-radius:4px;flex-direction:column;align-items:center;padding:1.5rem;transition:all .1s;display:flex}.stat-card:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.stat-card svg{color:var(--primary);stroke-width:3px;width:24px;height:24px;margin-bottom:.75rem}.stat-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;font-size:.75rem}.stat-card p{color:#000;margin:0;font-family:Barlow Condensed,sans-serif;font-size:2.5rem;font-weight:900}.list-header{justify-content:space-between;align-items:center;margin:4rem 0 2rem;display:flex}.list-controls{gap:1rem;display:flex}.search-bar{background:#fff;border:2px solid #000;border-radius:4px;align-items:center;gap:.75rem;width:320px;padding:.5rem 1rem;display:flex;box-shadow:3px 3px #000}.search-bar input{color:#000;background:0 0;border:none;outline:none;width:100%;font-size:.875rem;font-weight:600}.mistake-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.mistake-item-card{box-shadow:var(--shadow-sm);background:#fff;border:2px solid #000;border-radius:4px;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:all .1s;display:flex}.mistake-item-card:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.item-subject{text-transform:uppercase;color:#000;background:var(--primary);letter-spacing:.05em;border:2px solid #000;border-radius:4px;padding:.35rem .75rem;font-size:.6875rem;font-weight:800}.item-status{text-transform:uppercase;border:2px solid #000;border-radius:4px;padding:.3rem .75rem;font-size:.625rem;font-weight:800}.item-content{color:#000;flex:1;font-size:1rem;font-weight:600;line-height:1.5}.item-footer{border-top:1.5px solid #000;justify-content:space-between;align-items:center;padding-top:1rem;font-size:.75rem;font-weight:700;display:flex}.item-difficulty{color:#000;letter-spacing:1px}.parent-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:3rem;display:flex}.header-actions{align-items:center;gap:.75rem;display:flex}.custom-dropdown{display:inline-block;position:relative}.dropdown-trigger{background:var(--primary);text-transform:uppercase;box-shadow:var(--shadow-sm);cursor:pointer;border:2px solid #000;border-radius:4px;align-items:center;gap:.5rem;height:38px;padding:8px 16px;font-size:.75rem;font-weight:800;transition:all .1s;display:flex}.dropdown-trigger:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.dropdown-menu{z-index:1000;background:#fff;border:2px solid #000;border-radius:4px;min-width:180px;position:absolute;top:110%;right:0;overflow:hidden;box-shadow:4px 4px #000}.dropdown-item{cursor:pointer;text-transform:uppercase;border-bottom:1px solid #000;padding:.625rem 1.25rem;font-size:.75rem;font-weight:700}.dropdown-item:hover{background:var(--bg-subtle)}.dropdown-item.active{background:var(--primary)}.meta-group select{text-transform:uppercase;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .75rem center no-repeat;border:2px solid #000;border-radius:4px;outline:none;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;font-weight:700}.add-mistake-form-polished{background:#fff;border:2px solid #000;border-radius:4px;margin-bottom:4rem;box-shadow:6px 6px #000}.form-header{background:var(--primary);border-bottom:2px solid #000;padding:1rem 1.5rem}.form-header h3{font-size:1.125rem}.form-body{padding:1.5rem}.add-mistake-form-polished textarea{border:2px solid #000;min-height:120px;padding:1rem;font-size:.9375rem}.metadata-row{gap:1.5rem;margin-top:1.5rem}.meta-group label{margin-bottom:.5rem;font-size:.75rem}.difficulty-stars{gap:.5rem;font-size:1.5rem}.item-answer-preview{border:2px solid #000;margin-top:.75rem;padding:1rem;font-size:.8125rem}.warning-banner{margin-bottom:2rem;padding:1rem 1.5rem;font-size:.875rem}.student-header{justify-content:space-between;align-items:center;margin-bottom:3.5rem;display:flex}.streak-badge{background:var(--primary);color:#000;border:2px solid #000;border-radius:4px;padding:.75rem 1.5rem;font-family:Barlow Condensed,sans-serif;font-size:.8125rem;font-weight:900;box-shadow:3px 3px #000}.practice-options{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-bottom:3rem;display:grid}.practice-card{text-align:center;background:#fff;border:2px solid #000;border-radius:4px;padding:2.5rem 1.5rem;transition:all .1s;box-shadow:4px 4px #000}.practice-card:hover{transform:translate(2px,2px);box-shadow:2px 2px #000}.card-icon{background:#f8fafc;border:2px solid #000;border-radius:4px;width:60px;height:60px;margin:0 auto 1.5rem;box-shadow:2px 2px #000}.practice-card h3{margin-bottom:.75rem;font-size:1.25rem}.practice-card p{margin-bottom:2rem;font-size:.875rem}.practice-session-page{flex-direction:column;max-width:800px;min-height:80vh;margin:0 auto;padding:1.5rem;display:flex}.session-loading{height:60vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;font-family:Barlow Condensed,sans-serif;font-size:1.25rem;font-weight:700;display:flex}.session-header{align-items:center;gap:2rem;margin-bottom:3rem;display:flex}.progress-container{background:#fff;border:2px solid #000;border-radius:4px;flex:1;height:12px;position:relative}.progress-fill{background:var(--primary);border-right:2px solid #000}.practice-card-active{text-align:center;background:#fff;border:2px solid #000;border-radius:4px;width:100%;padding:3rem 2rem;box-shadow:6px 6px #000}.mistake-text{color:#000;font-size:1.5rem;font-weight:600;line-height:1.5}.answer-form{width:100%;max-width:480px;margin:0 auto}.answer-form input{background:#fff;border:3px solid #000;border-radius:4px;width:100%;margin-bottom:1.5rem;padding:1rem;font-size:1.125rem;font-weight:700}.results-counters{gap:1.5rem;margin-bottom:3rem}.counter-item{min-width:140px;padding:1.5rem 2rem;box-shadow:4px 4px #000}.counter-value{font-size:2.5rem}.result-item{margin-bottom:1.5rem;padding:1.5rem;box-shadow:4px 4px #000}.profile-page{max-width:640px;margin:0 auto;padding:2rem 1rem}.profile-card{background:#fff;border:2px solid #000;border-radius:4px;margin-top:3rem;padding:4rem 3rem;box-shadow:4px 4px #000}.profile-avatar-large{width:96px;height:96px;color:var(--primary);border:2px solid var(--primary);background:#f8fafc;border-radius:4px;justify-content:center;align-items:center;margin:0 auto 3rem;display:flex}.profile-form .input-group label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.875rem;font-size:.8125rem;font-weight:700;display:block}.profile-form .input-group input{width:100%;color:var(--text);box-sizing:border-box;background:#f8fafc;border:2px solid #000;border-radius:4px;outline:none;padding:1rem 1.25rem;font-size:1rem}.profile-form .input-group input:focus{border-color:var(--primary)}.save-btn{border-radius:4px;margin-top:2rem;padding:1.125rem}.navbar{z-index:100;background:#fff;border-bottom:3px solid #000;justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:sticky;top:0}.nav-logo{color:#000;text-transform:uppercase;align-items:center;gap:.5rem;font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:900;text-decoration:none;display:flex}.nav-logo svg{color:var(--primary);stroke-width:3px;width:20px;height:20px}.user-menu{align-items:center;gap:.75rem;display:flex;position:relative}.user-info{flex-direction:column;align-items:flex-end;display:flex}.user-name{color:#000;font-size:.8125rem;font-weight:800}.user-role{color:var(--text-muted);text-transform:uppercase;font-size:.625rem;font-weight:700}.user-avatar{background:var(--primary);color:#000;cursor:pointer;border:2px solid #000;border-radius:4px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .1s;display:flex;box-shadow:2px 2px #000}.user-avatar:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.dropdown-content{z-index:110;background:#fff;border:2px solid #000;border-radius:4px;min-width:160px;margin-top:.5rem;display:none;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:4px 4px #000}.user-menu:after{content:"";width:160px;height:.5rem;display:none;position:absolute;top:100%;right:0}.user-menu:hover .dropdown-content,.user-menu:hover:after{display:block}.dropdown-content a,.dropdown-content button{text-align:left;color:#000;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.dropdown-content a:hover,.dropdown-content button:hover{background-color:var(--primary)}
