*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a1a url(/mathbuddy-bg.gif) center center fixed;background-size:cover;color:#fff;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#1a1a1ab3;z-index:-1}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600}h1{font-size:48px}h2{font-size:32px}h3{font-size:24px}h4{font-size:20px}.text-primary{color:#fff}.text-secondary{color:#ffffffb3}.text-muted{color:#ffffff80}.btn-primary{background:#10b981;color:#fff;border-radius:16px;padding:12px 24px;font-size:16px;font-weight:500;border:none;box-shadow:0 4px 6px -1px #10b9814d;transition:all .2s ease;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 6px 8px -1px #10b98166}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#ffffff1a;color:#fff;border-radius:16px;padding:12px 24px;font-size:16px;font-weight:500;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.btn-secondary:hover{background:#ffffff26;transform:translateY(-1px)}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:16px 32px;font-size:18px}.input-field{width:100%;background:#ffffff0d;border-radius:12px;padding:16px;font-size:16px;color:#fff;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.input-field:focus{outline:none;background:#ffffff1a;border-color:#10b981;box-shadow:0 0 0 3px #10b98133}.input-field::placeholder{color:#ffffff80}.input-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#ffffffb3}.card{background:#2d2d2dcc;border-radius:20px;padding:24px;box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}.card-subtle{background:#2d2d2d99;border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.error-message{background:#ef44441a;color:#ef4444;border-radius:12px;padding:16px;border:1px solid rgba(239,68,68,.3);margin:16px 0}.success-message{background:#10b9811a;color:#10b981;border-radius:12px;padding:16px;border:1px solid rgba(16,185,129,.3);margin:16px 0}.nav{background:#2d2d2de6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center}.container{max-width:1200px;padding:0 16px;margin:0 auto}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;transition:width .3s ease;border-radius:4px}.progress-complete{background:linear-gradient(90deg,#10b981,#059669)}.progress-partial{background:linear-gradient(90deg,#14b8a6,#06b6d4)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#2d2d2dcc;border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);text-align:center}.stat-value{font-size:32px;font-weight:700;color:#10b981;margin-bottom:8px;display:block}.stat-label{font-size:14px;color:#ffffffb3}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-16{gap:16px}.gap-24{gap:24px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-center{text-align:center}.w-full{width:100%}.spinner{border:3px solid rgba(255,255,255,.1);border-top:3px solid #10b981;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-container{min-height:100vh;display:flex;flex-direction:column}.nav-content{max-width:1200px;margin:0 auto;padding:0 16px;width:100%;display:flex;justify-content:space-between;align-items:center}.nav-left,.nav-right{display:flex;align-items:center;gap:16px}.nav-title{font-size:24px;font-weight:600;color:#10b981}.nav-subtitle{font-size:14px;color:#ffffff80}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:32px 16px;width:100%}.content-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.task-card{cursor:pointer;transition:all .2s ease}.task-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #00000080}.task-card-header{margin-bottom:16px}.task-card-header h3{margin-bottom:8px}.operation-badges{display:flex;gap:8px;flex-wrap:wrap}.operation-badge{background:#10b98133;color:#10b981;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500;border:1px solid rgba(16,185,129,.3)}.task-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0;padding:16px;background:#0003;border-radius:12px}.stat-item{text-align:center}.stat-item .stat-label{display:block;font-size:12px;color:#ffffff80;margin-bottom:4px}.stat-item .stat-value{display:block;font-size:24px;font-weight:600;color:#fff}.correct-count{color:#10b981}.wrong-count{color:#ef4444}.task-card-actions{display:flex;gap:8px;margin-top:16px}.empty-state{text-align:center;padding:64px 16px}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:#2d2d2df2;border-radius:20px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000080;border:1px solid rgba(255,255,255,.1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px}.modal-close{background:none;border:none;color:#ffffffb3;font-size:32px;cursor:pointer;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#fff}.operation-selector{margin-bottom:16px}.operation-checkboxes{display:flex;flex-direction:column;gap:12px;margin-top:12px}.checkbox-label{display:flex;align-items:center;padding:12px;background:#ffffff0d;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.1)}.checkbox-label:hover{background:#ffffff1a}.checkbox-label.read-only{cursor:default;opacity:.8}.checkbox-input{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:#10b981}.checkbox-input:disabled{cursor:not-allowed}.checkbox-text{font-size:16px;color:#fff}.stats-table-container{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse}.stats-table th{text-align:left;padding:12px;font-size:14px;font-weight:500;color:#ffffffb3;border-bottom:2px solid rgba(255,255,255,.1)}.stats-table td{padding:16px 12px;border-bottom:1px solid rgba(255,255,255,.05);font-size:16px}.stats-table tbody tr:hover{background:#ffffff08}.stats-table .operation-name{font-weight:500}.stats-table .correct-count{color:#10b981;font-weight:600}.stats-table .wrong-count{color:#ef4444;font-weight:600}.stats-table .accuracy{font-weight:600;color:#10b981}@media(max-width:768px){.task-grid{grid-template-columns:1fr}.content-header{flex-direction:column;gap:16px}.content-header>div{width:100%}.content-header button{width:100%}.task-stats-summary{grid-template-columns:1fr}.stats-table{font-size:14px}.stats-table th,.stats-table td{padding:8px}}
