:root{--primary: #1a237e;--secondary: #ffc107;--accent: #00bcd4;--bg: #f8f9fa;--surface: #ffffff;--text: #212121;--text-light: #757575;--success: #4caf50;--error: #f44336;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--header-height: 64px;--nav-height: 72px;--badge-bg: #f0f0f0;--icon-muted: #ddd;--history-color: #aaa;--glass: rgba(255, 255, 255, .8);--surface-muted: #f1f3f5;--primary-muted: #e8eaf6;--error-muted: #ffebee;--success-muted: #e8f5e9;--border-color: rgba(0, 0, 0, .1);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;--mastery-text: var(--primary)}@media (prefers-color-scheme: dark){:root{--bg: #0f1117;--surface: #1a1d26;--text: #f1f5f9;--text-light: #94a3b8;--primary: #818cf8;--accent: #22d3ee;--glass: rgba(26, 29, 38, .8);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .6);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .7);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .8);--badge-bg: #2d3343;--icon-muted: #475569;--history-color: #94a3b8;--surface-muted: #242936;--primary-muted: #2d3343;--error-muted: #451a1a;--success-muted: #1a4525;--border-color: rgba(255, 255, 255, .1);--mastery-text: #1a237e}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body{height:100vh;height:100dvh;margin:0;overflow:hidden;background-color:var(--bg)}#app{height:100vh;height:100dvh;width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;position:relative;background:var(--bg);box-shadow:0 0 40px #0000001a}.app-container{height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}header{height:var(--header-height);padding:0 20px;display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-bottom:1px solid var(--border-color);z-index:100;flex-shrink:0}.main-content{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(var(--nav-height) + 20px);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.full-content{padding-bottom:20px}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;justify-content:space-around;align-items:center;border-top:1px solid rgba(0,0,0,.05);padding-bottom:env(safe-area-inset-bottom);z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-light);font-size:.7rem;font-weight:600;text-decoration:none;width:25%;transition:color .2s}.nav-item.active{color:var(--primary)}.nav-icon{width:24px;height:24px}.group-list{display:grid;gap:16px;animation:slideUp .4s ease-out}.group-card{background:var(--surface);padding:20px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:transform .2s}.group-card:active{transform:scale(.98)}.quiz-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:200;display:flex;flex-direction:column}.quiz-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.card-wrapper{width:100%;max-width:320px;aspect-ratio:.7;perspective:1000px}.card{width:100%;height:100%;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);-webkit-transition:-webkit-transform .6s cubic-bezier(.4,0,.2,1)}.card.flipped{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.card-back{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.card-question{font-size:clamp(1rem,4vw,1.75rem);font-weight:800;color:var(--primary);padding-top:24px;overflow-y:auto;word-break:break-word;max-height:60%;line-height:1.4}.card-answer{font-size:1.5rem;font-weight:600;color:var(--text)}.quiz-footer{padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));display:flex;gap:16px}.quiz-btn{flex:1;height:64px;border-radius:32px;border:none;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-md)}.quiz-btn-fail{background:var(--error-muted);color:var(--error)}.quiz-btn-success{background:var(--success);color:#fff}.group-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:4px}.priority-section{display:flex;flex-direction:column;gap:6px}.priority-header{font-size:.8rem;font-weight:800;color:var(--primary);padding-left:4px}.priority-filters{display:flex;flex-wrap:wrap;gap:6px}.stat-badge{flex-shrink:0;padding:6px 12px;border-radius:12px;font-size:.7rem;font-weight:700;background:var(--surface-muted)}.badge-fail{background:var(--error-muted);color:var(--error);border:1px solid var(--border-color)}.badge-priority{background:var(--primary-muted);color:var(--primary);border:1px solid var(--border-color)}.badge-untried{background:var(--surface-muted);color:var(--text-light);border:1px solid var(--border-color)}.badge-circle{background:#e0f7fa;color:#00838f;border:1px solid var(--border-color)}@media (prefers-color-scheme: dark){.badge-circle{background:#004d40;color:#80cbc4}}.badge-mastery{background:#fff8e1;color:#ff8f00;border:1px solid #ffecb3}.star-rating{position:absolute;top:16px;font-size:1rem;color:var(--secondary);letter-spacing:2px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}textarea,input,select{font-size:1rem!important;padding:16px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--surface)}textarea:focus,input:focus{outline:2px solid var(--primary);border-color:transparent}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-light);font-size:.7rem;font-weight:600;background:transparent;border:none;padding:8px 16px;cursor:pointer;transition:color .2s}.bottom-nav button.active{color:var(--primary)}.bottom-nav button span{font-size:.65rem}.back-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:8px 0}.dashboard{animation:slideUp .4s ease-out}.empty-message{text-align:center;color:var(--text-light);padding:40px 20px;font-size:1rem}.group-list{list-style:none;display:flex;flex-direction:column;gap:12px}.group-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:16px 20px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.group-info{display:flex;flex-direction:column;gap:4px}.group-info strong{font-size:1rem;color:var(--text)}.group-info span{font-size:.85rem;color:var(--text-light)}.group-actions{display:flex;gap:8px}.play-btn,.delete-btn{width:40px;height:40px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background .2s}.play-btn{background:var(--success);color:#fff}.play-btn:active{transform:scale(.95)}.delete-btn{background:var(--error-muted);color:var(--error)}.delete-btn:active{transform:scale(.95)}.import-view{animation:slideUp .4s ease-out}.import-view label{font-weight:600;font-size:.9rem;color:var(--text)}.import-btn{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.import-btn:active{transform:scale(.98);background:#0d1466}.quiz-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:20px;animation:slideUp .4s ease-out}.progress{font-size:.9rem;font-weight:600;color:var(--text-light);margin-bottom:20px}.quiz-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 30px;text-align:center;width:100%;max-width:350px;min-height:250px;display:flex;flex-direction:column;justify-content:center;gap:20px}.question{font-size:1.2rem;font-weight:700;color:var(--text);line-height:1.6}.answer{font-size:1.4rem;font-weight:800;color:var(--primary);padding:16px;background:var(--primary-muted);border-radius:var(--radius-sm)}.show-answer-btn{margin-top:20px;padding:16px 32px;background:var(--accent);color:#fff;border:none;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s}.show-answer-btn:active{transform:scale(.95)}.result-buttons{display:flex;gap:16px;margin-top:20px;width:100%;max-width:350px}.correct-btn,.incorrect-btn{flex:1;padding:16px;border:none;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s}.correct-btn{background:var(--success);color:#fff}.incorrect-btn{background:var(--error-muted);color:var(--error)}.correct-btn:active,.incorrect-btn:active{transform:scale(.95)}.btn-start{width:100%;margin-top:20px;padding:16px;border-radius:12px;border:none;background:var(--primary);color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:opacity .2s}.btn-start:active{opacity:.8}.mastery-label{position:absolute;top:-15px;right:-15px;background:var(--secondary);color:var(--mastery-text);padding:6px 12px;border-radius:8px;font-weight:900;font-size:.8rem;box-shadow:var(--shadow-md);z-index:10;transform:rotate(15deg)}.btn-icon{background:none;border:none;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer}.view-container{display:flex;flex-direction:column;height:100%}.card-face.card-front{z-index:2}.card-face.card-back{background:var(--primary-muted)}.progress-container{height:8px;background:var(--surface-muted);border-radius:4px;overflow:hidden}.progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.mistake-tag{position:absolute;top:16px;right:16px;padding:4px 10px;background:var(--error);color:#fff;font-size:.75rem;font-weight:800;border-radius:20px;box-shadow:var(--shadow-sm)}@keyframes goldBurst{0%{transform:scale(1);box-shadow:0 0 #ffd70066}50%{transform:scale(1.05);box-shadow:0 0 30px 10px #ffd70099}to{transform:scale(1);box-shadow:0 0 50px 20px #ffd70000}}.mastery-burst{animation:goldBurst .8s cubic-bezier(.4,0,.2,1);border:4px solid var(--secondary)!important}.heatmap{display:flex;gap:4px;padding:12px;background:var(--surface);border-radius:var(--radius-sm);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}.heatmap::-webkit-scrollbar{display:none}.heatmap-day{width:12px;height:12px;border-radius:2px;background:#0000000d;flex-shrink:0}@media (prefers-color-scheme: dark){.heatmap-day{background:#ffffff1a}}.heatmap-day.active-1{background:#c8e6c9}.heatmap-day.active-2{background:#81c784}.heatmap-day.active-3{background:#4caf50}.heatmap-day.active-4{background:#2e7d32}@media (prefers-color-scheme: dark){.heatmap-day.active-1{background:#1b4332}.heatmap-day.active-2{background:#2d6a4f}.heatmap-day.active-3{background:#40916c}.heatmap-day.active-4{background:#52b788}}.quick-start{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:24px;border-radius:var(--radius-md);margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.quick-start h3{font-size:1.2rem;font-weight:800;margin-bottom:4px}.quick-start p{font-size:.85rem;opacity:.9}.btn-quick{background:#fff;color:var(--primary);border:none;padding:12px 20px;border-radius:20px;font-weight:800;font-size:.9rem;box-shadow:var(--shadow-sm)}
