@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";.admin-btn[data-v-745fd1e5]{border:1px solid var(--blue);border-radius:var(--radius-sm);color:var(--blue-light);cursor:pointer;background:#2563eb26;padding:5px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.admin-btn[data-v-745fd1e5]:hover{background:#2563eb4d}.logout-btn[data-v-745fd1e5]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:5px 12px;font-family:inherit;font-size:.8rem;font-weight:500;transition:border-color .15s,color .15s}.logout-btn[data-v-745fd1e5]:hover{border-color:var(--red);color:var(--red)}.tab[data-v-b592cbf4]{flex-direction:column;align-items:center;gap:2px;display:flex}.tab-icon[data-v-b592cbf4]{font-size:1.1rem;line-height:1}.premium-lock[data-v-b592cbf4]{vertical-align:super;opacity:.85;font-size:.55rem}.modal-fade-enter-active[data-v-01252293],.modal-fade-leave-active[data-v-01252293]{transition:opacity .3s}.modal-fade-enter-from[data-v-01252293],.modal-fade-leave-to[data-v-01252293]{opacity:0}.auth-bg[data-v-cf2a7153]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card[data-v-cf2a7153]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;width:100%;max-width:420px;padding:40px 36px;display:flex}.auth-logo[data-v-cf2a7153]{letter-spacing:-.02em;color:#fff;margin-bottom:4px;font-family:DM Serif Display,serif;font-size:2rem}.logo-text[data-v-cf2a7153]{color:#fff}.logo-dot[data-v-cf2a7153]{color:var(--blue-light)}.auth-subtitle[data-v-cf2a7153]{color:var(--text-dim);margin-bottom:20px;font-size:.9rem}.auth-form[data-v-cf2a7153]{flex-direction:column;gap:16px;display:flex}.field[data-v-cf2a7153]{flex-direction:column;gap:6px;display:flex}.field label[data-v-cf2a7153]{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.optional[data-v-cf2a7153]{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.field input[data-v-cf2a7153]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .15s}.field input[data-v-cf2a7153]:focus{border-color:var(--blue)}.field input[data-v-cf2a7153]::placeholder{color:var(--text-muted)}.auth-error[data-v-cf2a7153]{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);padding:10px 14px;font-size:.85rem}.btn-primary[data-v-cf2a7153]{background:var(--blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;min-height:44px;margin-top:4px;padding:12px;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.btn-primary[data-v-cf2a7153]:hover:not(:disabled){background:var(--blue-light)}.btn-primary[data-v-cf2a7153]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-cf2a7153]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin-cf2a7153}@keyframes spin-cf2a7153{to{transform:rotate(360deg)}}.auth-switch[data-v-cf2a7153]{text-align:center;color:var(--text-dim);margin-top:12px;font-size:.875rem}.link-btn[data-v-cf2a7153]{color:var(--blue-light);font-size:inherit;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-family:inherit;text-decoration:underline}.link-btn[data-v-cf2a7153]:hover{color:var(--text)}.reset-bg[data-v-3b60830f]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.reset-card[data-v-3b60830f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;width:100%;max-width:400px;padding:40px 36px;display:flex}.reset-logo[data-v-3b60830f]{letter-spacing:-.02em;color:#fff;margin-bottom:8px;font-family:DM Serif Display,serif;font-size:1.8rem}.logo-dot[data-v-3b60830f]{color:var(--blue-light)}.reset-title[data-v-3b60830f]{color:#fff;margin:4px 0 0;font-family:DM Serif Display,serif;font-size:1.2rem}.reset-sub[data-v-3b60830f]{color:var(--text-dim);margin-bottom:12px;font-size:.875rem;line-height:1.5}.reset-form[data-v-3b60830f]{flex-direction:column;gap:14px;display:flex}.field[data-v-3b60830f]{flex-direction:column;gap:5px;display:flex}.field label[data-v-3b60830f]{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.field input[data-v-3b60830f]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.field input[data-v-3b60830f]:focus{border-color:var(--blue)}.reset-error[data-v-3b60830f]{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);padding:9px 13px;font-size:.84rem}.btn-primary[data-v-3b60830f]{background:var(--blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;min-height:44px;margin-top:4px;padding:12px;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.btn-primary[data-v-3b60830f]:hover:not(:disabled){background:var(--blue-light)}.btn-primary[data-v-3b60830f]:disabled{opacity:.6;cursor:not-allowed}.success-icon[data-v-3b60830f]{border:2px solid var(--green);width:52px;height:52px;color:var(--green);background:#10b98126;border-radius:50%;justify-content:center;align-items:center;margin:8px 0 4px;font-size:1.4rem;font-weight:700;display:flex}.spinner[data-v-3b60830f]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin-3b60830f}@keyframes spin-3b60830f{to{transform:rotate(360deg)}}.admin-overlay[data-v-aebe4679]{z-index:200;background:#000000b3;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-panel[data-v-aebe4679]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;max-width:1100px;min-height:500px;display:flex}.admin-header[data-v-aebe4679]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.admin-title[data-v-aebe4679]{align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.admin-icon[data-v-aebe4679]{font-size:1.2rem}.close-btn[data-v-aebe4679]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:5px 12px;font-family:inherit;font-size:.82rem;transition:border-color .15s,color .15s}.close-btn[data-v-aebe4679]:hover{border-color:var(--red);color:var(--red)}.admin-tabs[data-v-aebe4679]{border-bottom:1px solid var(--border);gap:0;padding:0 28px;display:flex}.tab-btn[data-v-aebe4679]{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:14px 18px;font-family:inherit;font-size:.88rem;font-weight:500;transition:color .15s,border-color .15s}.tab-btn[data-v-aebe4679]:hover{color:var(--text)}.tab-btn.active[data-v-aebe4679]{color:var(--blue-light);border-bottom-color:var(--blue-light)}.error-bar[data-v-aebe4679]{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);margin:12px 28px;padding:10px 14px;font-size:.85rem}.loading-row[data-v-aebe4679]{justify-content:center;padding:48px;display:flex}.spinner-lg[data-v-aebe4679]{border:3px solid var(--border);border-top-color:var(--blue-light);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin-aebe4679}@keyframes spin-aebe4679{to{transform:rotate(360deg)}}.tab-content[data-v-aebe4679]{padding:24px 28px}.stat-grid[data-v-aebe4679]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card[data-v-aebe4679]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:24px 20px}.stat-value[data-v-aebe4679]{color:var(--blue-light);font-size:2.2rem;font-weight:700;line-height:1}.stat-label[data-v-aebe4679]{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:8px;font-size:.8rem}.cases-toolbar[data-v-aebe4679]{margin-bottom:16px}.table-wrap[data-v-aebe4679]{overflow-x:auto}table[data-v-aebe4679]{border-collapse:collapse;width:100%;font-size:.875rem}th[data-v-aebe4679]{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:.75rem;font-weight:600}td[data-v-aebe4679]{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}tr:last-child td[data-v-aebe4679]{border-bottom:none}tr:hover td[data-v-aebe4679]{background:var(--surface2)}tr.row-admin td[data-v-aebe4679]{background:#2563eb0f}.dim[data-v-aebe4679]{color:var(--text-dim)}.actions-cell[data-v-aebe4679]{flex-wrap:nowrap;gap:6px}.avatar-sm[data-v-aebe4679]{background:var(--blue-glow);border:1px solid var(--blue);width:26px;height:26px;color:var(--blue-light);border-radius:50%;justify-content:center;align-items:center;margin-right:6px;font-size:.65rem;font-weight:700;display:inline-flex}.badge[data-v-aebe4679]{border-radius:100px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.badge-green[data-v-aebe4679]{background:var(--green-dim);color:var(--green)}.badge-yellow[data-v-aebe4679]{background:var(--yellow-dim);color:var(--yellow)}.badge-red[data-v-aebe4679]{background:var(--red-dim);color:var(--red)}.badge-admin[data-v-aebe4679]{color:var(--blue-light);background:#2563eb2e;border-radius:100px;margin-left:6px;padding:1px 7px;font-size:.7rem}.badge-premium[data-v-aebe4679]{color:var(--yellow);background:#f59e0b26;border-radius:100px;margin-left:6px;padding:1px 7px;font-size:.7rem}.badge-free[data-v-aebe4679]{background:var(--surface2);color:var(--text-muted);border-radius:100px;margin-left:6px;padding:1px 7px;font-size:.7rem}.btn-primary-sm[data-v-aebe4679]{background:var(--blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:600}.btn-primary-sm[data-v-aebe4679]:hover{background:var(--blue-light)}.btn-edit-sm[data-v-aebe4679]{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-family:inherit;font-size:.78rem}.btn-edit-sm[data-v-aebe4679]:hover{border-color:var(--blue);color:var(--blue-light)}.btn-premium-sm[data-v-aebe4679]{color:var(--yellow);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b66;padding:4px 10px;font-family:inherit;font-size:.78rem;font-weight:600}.btn-premium-sm[data-v-aebe4679]:hover{background:#f59e0b38}.btn-premium-revoke-sm[data-v-aebe4679]{border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-family:inherit;font-size:.78rem}.btn-premium-revoke-sm[data-v-aebe4679]:hover{border-color:var(--yellow);color:var(--yellow)}.btn-reset-sm[data-v-aebe4679]{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-family:inherit;font-size:.78rem}.btn-reset-sm[data-v-aebe4679]:hover{border-color:var(--teal);color:var(--teal)}.btn-danger-sm[data-v-aebe4679]{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 10px;font-family:inherit;font-size:.78rem}.btn-danger-sm[data-v-aebe4679]:hover{border-color:var(--red);color:var(--red)}.modal-backdrop[data-v-aebe4679]{z-index:300;background:#0009;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal[data-v-aebe4679]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:760px}.modal-header[data-v-aebe4679]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;font-size:1rem;font-weight:700;display:flex}.modal-form[data-v-aebe4679]{flex-direction:column;gap:12px;padding:20px 24px;display:flex}.form-row[data-v-aebe4679]{flex-wrap:wrap;gap:12px;display:flex}.field[data-v-aebe4679]{flex-direction:column;flex:1;gap:5px;min-width:160px;display:flex}.field-sm[data-v-aebe4679]{min-width:120px;max-width:200px}label[data-v-aebe4679]{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}input[data-v-aebe4679],select[data-v-aebe4679],textarea[data-v-aebe4679]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:vertical;outline:none;padding:8px 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s}input[data-v-aebe4679]:focus,select[data-v-aebe4679]:focus,textarea[data-v-aebe4679]:focus{border-color:var(--blue)}.modal-actions[data-v-aebe4679]{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.btn-cancel[data-v-aebe4679]{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 18px;font-family:inherit;font-size:.875rem}.btn-cancel[data-v-aebe4679]:hover{color:var(--text)}.admin-toast[data-v-aebe4679]{z-index:400;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;padding:12px 24px;font-size:.88rem;font-weight:500;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0006}.admin-toast--success[data-v-aebe4679]{background:var(--green-dim);border:1px solid var(--green);color:var(--green)}.admin-toast--error[data-v-aebe4679]{background:var(--red-dim);border:1px solid var(--red);color:var(--red)}.toast-enter-active[data-v-aebe4679],.toast-leave-active[data-v-aebe4679]{transition:opacity .25s,transform .25s}.toast-enter-from[data-v-aebe4679],.toast-leave-to[data-v-aebe4679]{opacity:0;transform:translate(-50%)translateY(10px)}.confirm-dialog[data-v-aebe4679]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:28px 32px}.confirm-dialog p[data-v-aebe4679]{margin-bottom:20px;font-size:.95rem;line-height:1.5}.confirm-actions[data-v-aebe4679]{justify-content:flex-end;gap:10px;display:flex}.reveal-enter-active[data-v-44e5f645]{animation:.4s revealHint-44e5f645}@keyframes revealHint-44e5f645{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.diff-easy[data-v-44e5f645]{color:var(--green);background:#10b9811f;border:1px solid #10b98140}.diff-medium[data-v-44e5f645]{color:var(--yellow);background:#f59e0b1f;border:1px solid #f59e0b40}.diff-hard[data-v-44e5f645]{color:var(--red);background:#ef44441f;border:1px solid #ef444440}.case-skeleton[data-v-44e5f645]{padding:20px}.skeleton-line[data-v-44e5f645]{background:var(--surface2);border-radius:4px;animation:1.5s infinite shimmer-44e5f645}@keyframes shimmer-44e5f645{0%,to{opacity:.4}50%{opacity:.8}}.slide-enter-active[data-v-d8448859]{animation:.3s slideIn-d8448859}@keyframes slideIn-d8448859{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.gate-wrap[data-v-e6b17e6b]{justify-content:center;padding:40px 0;display:flex}.gate-card[data-v-e6b17e6b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px;padding:40px 36px;display:flex}.gate-icon[data-v-e6b17e6b]{font-size:2.8rem;line-height:1}.gate-title[data-v-e6b17e6b]{color:#fff;margin:0;font-family:DM Serif Display,serif;font-size:1.4rem}.gate-desc[data-v-e6b17e6b]{color:var(--text-dim);margin:0;font-size:.9rem;line-height:1.6}.gate-perks[data-v-e6b17e6b]{text-align:left;flex-direction:column;gap:8px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:flex}.gate-perks li[data-v-e6b17e6b]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 16px;font-size:.875rem}.gate-badge[data-v-e6b17e6b]{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;border-radius:100px;margin-top:8px;padding:4px 14px;font-size:.75rem;font-weight:600}.premium-active-badge[data-v-e6b17e6b]{color:var(--yellow);text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:100px;align-items:center;gap:6px;margin-bottom:20px;padding:4px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.archive-list[data-v-e6b17e6b]{flex-direction:column;gap:10px;display:flex}.archive-row[data-v-e6b17e6b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .2s;display:flex}.archive-row[data-v-e6b17e6b]:hover{border-color:var(--blue)}.archive-row.won[data-v-e6b17e6b]{background:#10b9810a;border-color:#10b9814d}.archive-row.attempted[data-v-e6b17e6b]{border-color:#f59e0b4d}.case-status[data-v-e6b17e6b]{flex-shrink:0;justify-content:center;align-items:center;width:28px;padding-top:2px;display:flex}.status-icon[data-v-e6b17e6b]{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.status-icon.won[data-v-e6b17e6b]{color:var(--green);background:#10b98126;border:1.5px solid #10b98166}.status-icon.attempted[data-v-e6b17e6b]{color:var(--yellow);background:#f59e0b1f;border:1.5px solid #f59e0b59}.status-icon.empty[data-v-e6b17e6b]{color:var(--text-muted);border:1.5px solid var(--border)}.case-info[data-v-e6b17e6b]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.case-top[data-v-e6b17e6b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.date-chip[data-v-e6b17e6b]{color:var(--blue-light);background:#3b82f61a;border:1px solid #3b82f640;border-radius:4px;padding:2px 8px;font-family:DM Mono,monospace;font-size:.72rem}.diff-badge[data-v-e6b17e6b]{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-family:DM Mono,monospace;font-size:.68rem;font-weight:700}.diff-easy[data-v-e6b17e6b]{color:var(--green);background:#10b9811f;border:1px solid #10b98140}.diff-medium[data-v-e6b17e6b]{color:var(--yellow);background:#f59e0b1f;border:1px solid #f59e0b40}.diff-hard[data-v-e6b17e6b]{color:var(--red);background:#ef44441f;border:1px solid #ef444440}.patient-chips[data-v-e6b17e6b]{flex-wrap:wrap;gap:4px;display:flex}.chip[data-v-e6b17e6b]{color:var(--text-dim);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 7px;font-size:.72rem}.case-complaint[data-v-e6b17e6b]{color:var(--text);font-size:.845rem;line-height:1.4}.case-meta[data-v-e6b17e6b]{font-size:.74rem}.solved-label[data-v-e6b17e6b]{color:var(--green)}.attempted-label[data-v-e6b17e6b]{color:var(--yellow)}.play-btn[data-v-e6b17e6b]{background:var(--blue);border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-self:center;padding:7px 16px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.play-btn[data-v-e6b17e6b]:hover{background:var(--blue-light)}.play-btn.replay[data-v-e6b17e6b]{border:1px solid var(--green);color:var(--green);background:0 0}.play-btn.replay[data-v-e6b17e6b]:hover{background:#10b9811a}.game-header[data-v-e6b17e6b]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.back-btn[data-v-e6b17e6b]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 12px;font-family:inherit;font-size:.8rem;transition:all .15s}.back-btn[data-v-e6b17e6b]:hover{border-color:var(--blue);color:var(--blue-light)}.archive-date-badge[data-v-e6b17e6b]{color:var(--blue-light);background:#3b82f61a;border:1px solid #3b82f640;border-radius:4px;padding:4px 10px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:600}.archive-nav[data-v-e6b17e6b]{align-items:center;gap:6px;margin-left:auto;display:flex}.nav-btn[data-v-e6b17e6b]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1;transition:all .15s;display:flex}.nav-btn[data-v-e6b17e6b]:hover:not(:disabled){border-color:var(--blue);color:var(--blue-light)}.nav-btn[data-v-e6b17e6b]:disabled{opacity:.3;cursor:not-allowed}.nav-pos[data-v-e6b17e6b]{color:var(--text-dim);text-align:center;min-width:44px;font-family:DM Mono,monospace;font-size:.72rem}@media (width<=500px){.archive-row[data-v-e6b17e6b]{flex-direction:column;gap:10px}.play-btn[data-v-e6b17e6b]{align-self:flex-start}.archive-nav[data-v-e6b17e6b]{margin-left:0}}.subject-card.locked[data-v-4c67b7d3]{opacity:.5;cursor:not-allowed}.subject-prog-label[data-v-4c67b7d3]{color:var(--text-dim);margin-top:2px;font-family:DM Mono,monospace;font-size:.68rem}.locked-label[data-v-4c67b7d3]{color:var(--text-muted)}.lock[data-v-4c67b7d3]{font-size:.75rem}.fc-wrap[data-v-dd1790e5]{perspective:800px;cursor:pointer;flex:0 0 220px;height:140px}.fc-inner[data-v-dd1790e5]{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1);position:relative}.fc-wrap.flipped .fc-inner[data-v-dd1790e5]{transform:rotateY(180deg)}.fc-face[data-v-dd1790e5]{backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .2s;display:flex;position:absolute;inset:0}.fc-wrap:hover .fc-face[data-v-dd1790e5]{border-color:var(--blue)}.fc-back[data-v-dd1790e5]{background:#3b82f60f;border-color:#3b82f666;transform:rotateY(180deg)}.fc-label-row[data-v-dd1790e5]{justify-content:space-between;align-items:center;display:flex}.fc-actions[data-v-dd1790e5]{align-items:center;gap:6px;display:flex}.fc-delete-btn[data-v-dd1790e5]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:1px 4px;font-size:.65rem;line-height:1;transition:color .15s,background .15s}.fc-delete-btn[data-v-dd1790e5]:hover{color:#f87171;background:#ef44441a}.fc-tag[data-v-dd1790e5]{text-transform:uppercase;letter-spacing:.07em;color:var(--blue-light);background:#3b82f61a;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.fc-hint[data-v-dd1790e5]{color:var(--text-muted);font-size:.6rem;font-style:italic}.fc-q[data-v-dd1790e5]{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.fc-a[data-v-dd1790e5]{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.82rem;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.fc-study-btn[data-v-dd1790e5]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;align-self:flex-start;margin-top:auto;padding:3px 10px;font-family:inherit;font-size:.72rem;transition:all .15s}.fc-study-btn[data-v-dd1790e5]:hover{border-color:var(--blue);color:var(--blue-light)}.study-overlay[data-v-48f32aa4]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#040814e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.study-modal[data-v-48f32aa4]{flex-direction:column;gap:16px;width:100%;max-width:520px;display:flex}.study-header[data-v-48f32aa4]{justify-content:space-between;align-items:center;display:flex}.study-close[data-v-48f32aa4]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:4px 10px;font-size:.85rem;transition:all .15s}.study-close[data-v-48f32aa4]:hover{border-color:var(--blue);color:var(--blue-light)}.study-progress[data-v-48f32aa4]{color:var(--text-dim);font-family:DM Mono,monospace;font-size:.8rem}.study-bar[data-v-48f32aa4]{background:var(--surface2);border-radius:100px;height:3px;overflow:hidden}.study-bar-fill[data-v-48f32aa4]{background:var(--blue);border-radius:100px;height:100%;transition:width .3s}.study-card-wrap[data-v-48f32aa4]{perspective:1000px;cursor:pointer;height:clamp(280px,55vh,480px)}.study-card-inner[data-v-48f32aa4]{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.study-card-wrap.flipped .study-card-inner[data-v-48f32aa4]{transform:rotateY(180deg)}.study-card-face[data-v-48f32aa4]{backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;gap:0;padding:44px 28px;display:flex;position:absolute;inset:0;overflow:hidden}.study-back[data-v-48f32aa4]{background:#3b82f60f;border-color:#3b82f666;transform:rotateY(180deg)}.study-face-label[data-v-48f32aa4]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap;font-size:.65rem;font-weight:700;position:absolute;top:16px;left:50%;transform:translate(-50%)}.study-card-body[data-v-48f32aa4]{scrollbar-width:thin;scrollbar-color:var(--border) transparent;cursor:auto;flex:1;justify-content:center;align-items:center;width:100%;padding:8px 4px;display:flex;overflow-y:auto}.study-front .study-card-body[data-v-48f32aa4]{text-align:center}.study-back .study-card-body[data-v-48f32aa4]{text-align:left;justify-content:flex-start;align-items:flex-start}.study-card-text[data-v-48f32aa4]{color:var(--text);max-width:400px;font-size:1.05rem;font-weight:500;line-height:1.55}.study-back .study-card-body[data-v-48f32aa4] p{color:var(--text);margin:0 0 .6em;font-size:.9rem;line-height:1.6}.study-back .study-card-body[data-v-48f32aa4] p:last-child{margin-bottom:0}.study-back .study-card-body[data-v-48f32aa4] ul,.study-back .study-card-body[data-v-48f32aa4] ol{color:var(--text);margin:0 0 .6em 1.2em;padding:0;font-size:.88rem}.study-back .study-card-body[data-v-48f32aa4] li{margin-bottom:.25em}.study-back .study-card-body[data-v-48f32aa4] strong{color:var(--blue-light);font-weight:700}.study-back .study-card-body[data-v-48f32aa4] em{color:var(--text-dim)}.study-back .study-card-body[data-v-48f32aa4] h1,.study-back .study-card-body[data-v-48f32aa4] h2,.study-back .study-card-body[data-v-48f32aa4] h3{color:var(--text);margin:0 0 .4em;font-size:.95rem}.study-back .study-card-body[data-v-48f32aa4] code{background:var(--surface2);color:var(--blue-light);border-radius:3px;padding:1px 5px;font-size:.82rem}.study-flip-hint[data-v-48f32aa4]{color:var(--text-muted);white-space:nowrap;font-size:.72rem;font-style:italic;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.study-tag[data-v-48f32aa4]{text-transform:uppercase;letter-spacing:.07em;color:var(--blue-light);background:#3b82f61a;border-radius:4px;padding:2px 8px;font-size:.65rem;font-weight:700;position:absolute;bottom:16px;right:16px}.study-nav[data-v-48f32aa4]{justify-content:space-between;align-items:center;gap:10px;display:flex}.study-nav-btn[data-v-48f32aa4]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;flex:none;padding:8px 16px;font-family:inherit;font-size:.82rem;transition:all .15s}.study-nav-btn[data-v-48f32aa4]:hover:not(:disabled){border-color:var(--blue);color:var(--blue-light)}.study-nav-btn[data-v-48f32aa4]:disabled{opacity:.3;cursor:default}.study-flip-btn[data-v-48f32aa4]{background:var(--blue);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;flex:1;padding:10px 20px;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s}.study-flip-btn[data-v-48f32aa4]:hover{background:var(--blue-light)}.study-keyboard-hint[data-v-48f32aa4]{text-align:center;color:var(--text-muted);font-size:.68rem;font-style:italic}@media (width<=640px){.study-card-wrap[data-v-48f32aa4]{height:clamp(240px,52vh,420px)}.study-card-face[data-v-48f32aa4]{padding:40px 16px}.study-card-text[data-v-48f32aa4]{font-size:.92rem}.study-keyboard-hint[data-v-48f32aa4]{display:none}}.case-list-view[data-v-f610f26e]{flex-direction:column;gap:16px;display:flex}.case-list-header[data-v-f610f26e]{align-items:center;gap:14px;margin-bottom:4px;display:flex}.back-btn[data-v-f610f26e]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 12px;font-family:inherit;font-size:.8rem;transition:all .15s}.back-btn[data-v-f610f26e]:hover{border-color:var(--blue);color:var(--blue-light)}.subject-heading[data-v-f610f26e]{color:var(--text);align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.subject-icon[data-v-f610f26e]{font-size:1.3rem}.cases-state[data-v-f610f26e]{color:var(--text-dim);padding:20px 0;font-size:.85rem}.cases-state.error[data-v-f610f26e]{color:var(--red)}.cases-list[data-v-f610f26e]{flex-direction:column;gap:10px;display:flex}.case-row[data-v-f610f26e]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .2s;display:flex}.case-row[data-v-f610f26e]:hover{border-color:var(--blue)}.case-row.won[data-v-f610f26e]{background:#10b9810a;border-color:#10b9814d}.case-row.attempted[data-v-f610f26e]{border-color:#f59e0b4d}.case-status[data-v-f610f26e]{flex-shrink:0;justify-content:center;align-items:center;width:28px;padding-top:2px;display:flex}.status-icon[data-v-f610f26e]{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.status-icon.won[data-v-f610f26e]{color:var(--green);background:#10b98126;border:1.5px solid #10b98166}.status-icon.attempted[data-v-f610f26e]{color:var(--yellow);background:#f59e0b1f;border:1.5px solid #f59e0b59}.status-icon.empty[data-v-f610f26e]{color:var(--text-muted);border:1.5px solid var(--border)}.case-info[data-v-f610f26e]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.case-top[data-v-f610f26e]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.diff-badge[data-v-f610f26e]{text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-family:DM Mono,monospace;font-size:.68rem;font-weight:700}.diff-easy[data-v-f610f26e]{color:var(--green);background:#10b9811f;border:1px solid #10b98140}.diff-medium[data-v-f610f26e]{color:var(--yellow);background:#f59e0b1f;border:1px solid #f59e0b40}.diff-hard[data-v-f610f26e]{color:var(--red);background:#ef44441f;border:1px solid #ef444440}.patient-chips[data-v-f610f26e]{flex-wrap:wrap;gap:4px;display:flex}.chip[data-v-f610f26e]{color:var(--text-dim);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:1px 7px;font-size:.72rem}.case-complaint[data-v-f610f26e]{color:var(--text);font-size:.845rem;line-height:1.4}.case-meta[data-v-f610f26e]{font-size:.74rem}.solved-label[data-v-f610f26e]{color:var(--green)}.attempted-label[data-v-f610f26e]{color:var(--yellow)}.play-btn[data-v-f610f26e]{background:var(--blue);border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;align-self:center;padding:7px 16px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.play-btn[data-v-f610f26e]:hover{background:var(--blue-light)}.play-btn.replay[data-v-f610f26e]{border:1px solid var(--green);color:var(--green);background:0 0}.play-btn.replay[data-v-f610f26e]:hover{background:#10b9811a}@media (width<=500px){.case-row[data-v-f610f26e]{flex-direction:column;gap:10px}.play-btn[data-v-f610f26e]{align-self:flex-start}}.gate-wrap[data-v-c9750dca]{justify-content:center;padding:40px 0;display:flex}.gate-card[data-v-c9750dca]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:480px;padding:40px 36px;display:flex}.gate-icon[data-v-c9750dca]{filter:drop-shadow(0 0 12px #f59e0b80);font-size:2.8rem;line-height:1}.gate-title[data-v-c9750dca]{color:#fff;margin:0;font-family:DM Serif Display,serif;font-size:1.4rem}.gate-desc[data-v-c9750dca]{color:var(--text-dim);margin:0;font-size:.9rem;line-height:1.6}.gate-perks[data-v-c9750dca]{text-align:left;flex-direction:column;gap:8px;width:100%;margin:8px 0 0;padding:0;list-style:none;display:flex}.gate-perks li[data-v-c9750dca]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 16px;font-size:.875rem}.gate-badge[data-v-c9750dca]{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;border-radius:100px;margin-top:8px;padding:4px 14px;font-size:.75rem;font-weight:600}.premium-active-badge[data-v-c9750dca]{color:var(--yellow);text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:100px;align-items:center;gap:6px;margin-bottom:20px;padding:4px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.game-header[data-v-c9750dca]{align-items:center;gap:12px;margin-bottom:14px;display:flex}.back-btn[data-v-c9750dca]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:6px 12px;font-family:inherit;font-size:.8rem;transition:all .15s}.back-btn[data-v-c9750dca]:hover{border-color:var(--blue);color:var(--blue-light)}.training-badge[data-v-c9750dca]{letter-spacing:.06em;text-transform:uppercase;color:var(--blue-light);background:#3b82f61f;border:1px solid #3b82f64d;border-radius:4px;padding:3px 10px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.lb-tabs[data-v-12d1994c]{gap:8px;margin-bottom:16px;display:flex}.lb-tab[data-v-12d1994c]{border:1px solid var(--border,#333);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px 0;font-size:.8rem;transition:all .15s}.lb-tab.active[data-v-12d1994c]{background:var(--accent,#4f8ef7);color:#fff;border-color:var(--accent,#4f8ef7)}.lb-separator[data-v-12d1994c]{text-align:center;color:var(--text-dim);letter-spacing:4px;padding:6px 0;font-size:.9rem}.profile-header[data-v-2ded7dea]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:20px;margin-bottom:16px;padding:24px;display:flex}.profile-avatar-wrap[data-v-2ded7dea]{flex-shrink:0;position:relative}.profile-avatar[data-v-2ded7dea]{background:linear-gradient(135deg, var(--blue), var(--teal));color:#fff;border:2px solid #3b82f666;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.6rem;font-weight:700;display:flex}.profile-level-badge[data-v-2ded7dea]{background:var(--blue);color:#fff;border:2px solid var(--bg);border-radius:99px;padding:2px 7px;font-family:DM Mono,monospace;font-size:.62rem;font-weight:700;position:absolute;bottom:-4px;right:-4px}.profile-info[data-v-2ded7dea]{flex:1;min-width:0}.profile-name[data-v-2ded7dea]{color:#fff;margin-bottom:4px;font-family:DM Serif Display,serif;font-size:1.4rem}.profile-role[data-v-2ded7dea]{color:var(--blue-light);margin-bottom:8px;font-size:.82rem;font-weight:600}.profile-meta[data-v-2ded7dea]{flex-wrap:wrap;gap:10px;display:flex}.profile-meta-item[data-v-2ded7dea]{color:var(--text-dim);font-size:.75rem}.xp-card[data-v-2ded7dea]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:18px}.xp-card-top[data-v-2ded7dea]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.xp-label[data-v-2ded7dea]{color:var(--blue-light);font-family:DM Mono,monospace;font-size:1.1rem;font-weight:500}.xp-sublabel[data-v-2ded7dea]{color:var(--text-dim);margin-top:2px;font-size:.75rem}.xp-next[data-v-2ded7dea]{text-align:right}.xp-next-label[data-v-2ded7dea]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:2px;font-size:.68rem;display:block}.xp-next-val[data-v-2ded7dea]{color:var(--teal);font-family:DM Mono,monospace;font-size:.85rem;font-weight:500}.xp-bar-wrap[data-v-2ded7dea]{background:var(--border);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.xp-bar[data-v-2ded7dea]{background:linear-gradient(90deg, var(--blue), var(--teal));border-radius:4px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.xp-bar-labels[data-v-2ded7dea]{color:var(--text-muted);justify-content:space-between;font-family:DM Mono,monospace;font-size:.65rem;display:flex}.achievements-grid[data-v-2ded7dea]{flex-direction:column;gap:8px;margin-bottom:28px;display:flex}.achievement-card[data-v-2ded7dea]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 16px;transition:border-color .2s;display:flex}.achievement-card[data-v-2ded7dea]:not(.locked):hover{border-color:var(--blue)}.achievement-card.locked[data-v-2ded7dea]{opacity:.45}.achievement-icon[data-v-2ded7dea]{text-align:center;flex-shrink:0;width:36px;font-size:1.5rem}.achievement-body[data-v-2ded7dea]{flex:1;min-width:0}.achievement-label[data-v-2ded7dea]{color:var(--text);margin-bottom:2px;font-size:.88rem;font-weight:600}.achievement-desc[data-v-2ded7dea]{color:var(--text-dim);font-size:.74rem}.achievement-earned[data-v-2ded7dea]{width:24px;height:24px;color:var(--green);background:#10b98126;border:1px solid #10b9814d;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.achievement-locked[data-v-2ded7dea]{font-size:.85rem}.settings-card[data-v-2ded7dea]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.setting-row[data-v-2ded7dea]{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.setting-divider[data-v-2ded7dea]{background:var(--border);height:1px;margin:0 18px}.setting-name[data-v-2ded7dea]{color:var(--text);margin-bottom:2px;font-size:.88rem;font-weight:600}.setting-desc[data-v-2ded7dea]{color:var(--text-dim);font-size:.74rem}.toggle[data-v-2ded7dea]{background:var(--border);cursor:pointer;border:none;border-radius:99px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .25s;position:relative}.toggle.on[data-v-2ded7dea]{background:var(--blue)}.toggle-knob[data-v-2ded7dea]{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:block;position:absolute;top:3px;left:3px}.toggle.on .toggle-knob[data-v-2ded7dea]{transform:translate(20px)}.lang-toggle[data-v-2ded7dea]{gap:4px;display:flex}.lang-btn[data-v-2ded7dea]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;letter-spacing:.05em;background:0 0;padding:4px 12px;font-family:DM Mono,monospace;font-size:.75rem;font-weight:700;transition:all .15s}.lang-btn[data-v-2ded7dea]:hover{border-color:var(--blue);color:var(--blue-light)}.lang-btn.active[data-v-2ded7dea]{background:var(--blue);border-color:var(--blue);color:#fff}.account-actions[data-v-2ded7dea]{gap:10px;margin-bottom:8px;display:flex}.account-btn[data-v-2ded7dea]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;flex:1;padding:11px 16px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}.account-btn[data-v-2ded7dea]:hover{border-color:var(--blue);color:var(--blue-light)}.account-btn.danger[data-v-2ded7dea]:hover{border-color:var(--red);color:var(--red)}@media (width<=500px){.profile-header[data-v-2ded7dea]{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.profile-meta[data-v-2ded7dea]{flex-direction:column;gap:4px}.account-actions[data-v-2ded7dea]{flex-direction:column}}.modal-backdrop[data-v-2ded7dea]{z-index:200;background:#000000a6;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.edit-modal[data-v-2ded7dea]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px}.edit-modal-header[data-v-2ded7dea]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;font-size:.95rem;font-weight:700;display:flex}.edit-close[data-v-2ded7dea]{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:.9rem;transition:color .15s}.edit-close[data-v-2ded7dea]:hover{color:var(--red)}.edit-form[data-v-2ded7dea]{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.edit-error[data-v-2ded7dea]{background:var(--red-dim);border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--red);padding:9px 13px;font-size:.84rem}.edit-success[data-v-2ded7dea]{border-radius:var(--radius-sm);color:var(--green);background:#10b9811a;border:1px solid #10b98159;padding:9px 13px;font-size:.84rem}.edit-field[data-v-2ded7dea]{flex-direction:column;gap:5px;display:flex}.edit-field label[data-v-2ded7dea]{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.optional[data-v-2ded7dea]{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.edit-field input[data-v-2ded7dea]{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:9px 13px;font-family:inherit;font-size:.9rem;transition:border-color .15s}.edit-field input[data-v-2ded7dea]:focus{border-color:var(--blue)}.edit-actions[data-v-2ded7dea]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.edit-cancel[data-v-2ded7dea]{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 18px;font-family:inherit;font-size:.875rem}.edit-cancel[data-v-2ded7dea]:hover{color:var(--text)}.edit-save[data-v-2ded7dea]{background:var(--blue);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;min-width:80px;padding:8px 22px;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,opacity .15s;display:flex}.edit-save[data-v-2ded7dea]:hover:not(:disabled){background:var(--blue-light)}.edit-save[data-v-2ded7dea]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-2ded7dea]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin-2ded7dea}@keyframes spin-2ded7dea{to{transform:rotate(360deg)}}:root{--bg:#0a0f1e;--surface:#111827;--surface2:#1a2236;--border:#1e2d4a;--blue:#2563eb;--blue-light:#3b82f6;--blue-glow:#2563eb2e;--teal:#0d9488;--green:#10b981;--green-dim:#064e3b;--red:#ef4444;--red-dim:#450a0a;--yellow:#f59e0b;--yellow-dim:#451a03;--text:#e2e8f0;--text-dim:#64748b;--text-muted:#334155;--purple:#722ed1;--orange:#fa8c16;--radius:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#2563eb0a 1px,#0000 1px),linear-gradient(90deg,#2563eb0a 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}nav{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#0a0f1ed9;justify-content:space-between;align-items:center;height:58px;padding:0 28px;display:flex;position:sticky;top:0}.logo{letter-spacing:-.02em;color:#fff;align-items:center;gap:8px;font-family:DM Serif Display,serif;font-size:1.5rem;display:flex}.logo-dot{color:var(--blue-light)}.logo-badge{background:var(--blue);color:#fff;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;border-radius:99px;padding:2px 7px;font-family:DM Mono,monospace;font-size:.6rem}.nav-right{align-items:center;gap:14px;display:flex}.streak-badge{color:var(--yellow);background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:99px;align-items:center;gap:5px;padding:4px 12px;font-size:.78rem;font-weight:600;display:flex}.xp-badge{color:var(--blue-light);background:#2563eb1f;border:1px solid #2563eb40;border-radius:99px;align-items:center;gap:5px;padding:4px 12px;font-size:.78rem;font-weight:600;display:flex}.avatar{background:linear-gradient(135deg, var(--blue), var(--teal));color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.app-shell{flex-direction:column;display:flex}.app{z-index:1;order:2;width:100%;max-width:780px;margin:0 auto;padding:20px 20px 40px;position:relative}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);order:1;gap:4px;width:100%;max-width:780px;margin:28px auto 20px;padding:4px;display:flex}.tab{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.tab-icon{font-size:1rem;line-height:1}.tab-label{font-size:.8rem}.tab.active{background:var(--blue);color:#fff;box-shadow:0 0 20px #2563eb59}.fade-up-enter-active{animation:.3s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.game-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.game-title{color:#fff;font-family:DM Serif Display,serif;font-size:1.8rem;line-height:1.1}.game-title span{color:var(--blue-light)}.timer-block{text-align:right}.timer-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.timer-val{color:var(--yellow);font-family:DM Mono,monospace;font-size:1.2rem}.attempts-bar{gap:6px;margin-bottom:20px;display:flex}.attempt-pip{background:var(--border);border-radius:3px;flex:1;height:5px;transition:background .3s}.attempt-pip.used{background:var(--red)}.attempt-pip.active{background:var(--blue-light);animation:1.2s infinite pulse}.attempt-pip.success{background:var(--green)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.case-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.case-header{border-bottom:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.case-title{text-transform:uppercase;letter-spacing:.1em;color:var(--blue-light);font-size:.7rem;font-weight:700}.case-diff{border-radius:99px;padding:2px 9px;font-size:.7rem;font-weight:600}.diff-medium{color:var(--yellow);background:#f59e0b1f;border:1px solid #f59e0b40}.case-patient{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;padding:14px 18px;display:flex}.patient-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:99px;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;display:flex}.case-body{padding:18px}.hint-block{margin-bottom:14px}.hint-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);align-items:center;gap:6px;margin-bottom:6px;font-size:.68rem;font-weight:700;display:flex}.hint-label .dot{background:var(--blue-light);border-radius:50%;width:6px;height:6px}.hint-content{color:var(--text);font-size:.9rem;line-height:1.6}.hint-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.hint-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.hint-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue-light)}.hint-btn:disabled{opacity:.35;cursor:not-allowed}.hint-btn.revealed{border-color:var(--green);color:var(--green);background:#10b9810f}.attempts-log{margin-bottom:16px}.log-entry{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;font-size:.85rem;display:flex}.log-entry.wrong{background:var(--red-dim);border:1px solid #ef444433}.log-entry.close{background:var(--yellow-dim);border:1px solid #f59e0b33}.log-entry.correct{background:var(--green-dim);border:1px solid #10b98133}.log-num{color:var(--text-dim);min-width:20px;font-family:DM Mono,monospace;font-size:.7rem}.log-answer{flex:1;font-weight:500}.log-sim{border-radius:99px;padding:2px 8px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.sim-wrong{color:var(--red);background:#ef444426}.sim-close{color:var(--yellow);background:#f59e0b26}.sim-correct{color:var(--green);background:#10b98126}.answer-section{margin-bottom:16px}.input-wrap{position:relative}.diagnosis-input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:13px 50px 13px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.diagnosis-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.diagnosis-input::placeholder{color:var(--text-muted)}.diagnosis-input:disabled{opacity:.5;cursor:not-allowed}.submit-btn{background:var(--blue);border-radius:var(--radius-sm);cursor:pointer;color:#fff;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s,transform .1s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.submit-btn:hover:not(:disabled){background:var(--blue-light)}.submit-btn:active{transform:translateY(-50%)scale(.95)}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.submit-error{color:#f87171;background:#ef44441f;border:1px solid #ef444459;border-radius:8px;margin-top:6px;padding:8px 12px;font-size:.8rem}.autocomplete{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #00000080}.autocomplete-item{cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.88rem;transition:background .15s;display:flex}.autocomplete-item:hover{background:var(--surface2)}.ac-icd{color:var(--text-dim);font-family:DM Mono,monospace;font-size:.7rem}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.show{animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:460px;padding:32px;animation:.35s cubic-bezier(.34,1.56,.64,1) scaleIn;box-shadow:0 24px 80px #0009}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.modal-icon{margin-bottom:16px;font-size:3.5rem}.modal-title{color:#fff;margin-bottom:8px;font-family:DM Serif Display,serif;font-size:1.8rem}.modal-subtitle{color:var(--text-dim);margin-bottom:24px;font-size:.9rem}.modal-stats{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.modal-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.modal-stat-val{color:var(--blue-light);font-family:DM Mono,monospace;font-size:1.4rem;font-weight:500}.modal-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:.7rem}.modal-explanation{text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);margin-bottom:20px;padding:14px;font-size:.85rem;line-height:1.65}.modal-explanation strong{color:var(--blue-light)}.modal-btn{background:var(--blue);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;width:100%;padding:12px;font-family:inherit;font-size:.92rem;font-weight:700;transition:background .2s,transform .1s}.modal-btn:hover{background:var(--blue-light)}.modal-btn:active{transform:scale(.98)}.modal-btn-secondary{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;margin-top:8px;padding:10px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}.modal-btn-secondary:hover:not(:disabled){border-color:var(--blue);color:var(--blue-light)}.modal-btn-secondary:disabled{opacity:.5;cursor:default}.section-title{color:#fff;margin-bottom:6px;font-family:DM Serif Display,serif;font-size:1.4rem}.section-subtitle{color:var(--text-dim);margin-bottom:20px;font-size:.85rem}.premium-banner{border-radius:var(--radius);background:linear-gradient(135deg,#2563eb2e,#0d94881f);border:1px solid #2563eb4d;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:20px;display:flex}.premium-text h4{color:#fff;margin-bottom:3px;font-size:.95rem;font-weight:700}.premium-text p{color:var(--text-dim);font-size:.78rem}.premium-btn{background:linear-gradient(135deg, var(--blue), var(--teal));border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:.82rem;font-weight:700}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:28px;display:grid}.subject-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:18px 16px;transition:all .2s}.subject-card:hover{border-color:var(--blue);background:var(--surface2);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb1f}.subject-icon{margin-bottom:8px;font-size:1.6rem}.subject-name{color:var(--text);margin-bottom:4px;font-size:.9rem;font-weight:600}.subject-count{color:var(--text-dim);font-family:DM Mono,monospace;font-size:.72rem}.subject-bar-wrap{background:var(--border);border-radius:2px;height:3px;margin-top:8px}.subject-bar{background:var(--blue);border-radius:2px;height:3px;transition:width .6s}.flashcard-row-header{justify-content:flex-end;align-items:center;margin-bottom:10px;display:flex}.study-all-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s}.study-all-btn:hover{border-color:var(--blue);color:var(--blue-light)}.flashcard-row{gap:10px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.flashcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-shrink:0;min-width:200px;padding:14px;transition:all .2s}.flashcard:hover{border-color:var(--blue);transform:translateY(-2px)}.fc-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:6px;font-size:.65rem}.fc-q{color:var(--text);margin-bottom:8px;font-size:.85rem;font-weight:600}.fc-tag{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);border-radius:99px;padding:2px 7px;font-size:.68rem;display:inline-block}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.stat-card.wide{grid-column:1/-1}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.7rem}.stat-value{color:var(--blue-light);font-family:DM Mono,monospace;font-size:2rem;font-weight:500}.stat-sub{color:var(--text-dim);margin-top:2px;font-size:.75rem}.stat-trend{color:var(--green);font-size:.75rem;font-weight:600}.mini-chart{align-items:flex-end;gap:4px;height:60px;margin-top:12px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.bar-fill{background:var(--blue);border-radius:3px 3px 0 0;width:100%;min-height:3px;transition:height .6s cubic-bezier(.34,1.56,.64,1)}.bar-day{color:var(--text-dim);font-family:DM Mono,monospace;font-size:.6rem}.lb-row{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);align-items:center;gap:12px;margin-bottom:4px;padding:11px 14px;transition:background .15s;display:flex}.lb-row.you{border-color:var(--blue);background:#2563eb12}.lb-rank{color:var(--text-dim);text-align:right;min-width:24px;font-family:DM Mono,monospace;font-size:.8rem}.lb-rank.gold{color:gold}.lb-rank.silver{color:silver}.lb-rank.bronze{color:#cd7f32}.lb-name{flex:1;font-size:.88rem;font-weight:500}.lb-xp{color:var(--blue-light);font-family:DM Mono,monospace;font-size:.78rem}.lb-streak{color:var(--yellow);font-size:.75rem}@media (width<=640px){nav{gap:0;padding:0 14px}.nav-right{gap:8px}.xp-badge,.logout-btn{display:none}.streak-badge{padding:4px 9px;font-size:.72rem}.admin-btn{padding:5px 9px}.admin-btn .admin-label{display:none}.app-shell{height:100svh;overflow:hidden}nav{z-index:10;flex-shrink:0;position:relative}.app{-webkit-overflow-scrolling:touch;flex:1;order:1;max-width:none;min-height:0;margin:0;padding:20px 16px;overflow-y:auto}.tabs{border-top:1px solid var(--border);max-width:none;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(20px);background:#0a0f1ef7;border-bottom:none;border-left:none;border-right:none;border-radius:0;flex-shrink:0;order:2;gap:2px;margin:0;position:static}.tab{border-radius:8px;flex-direction:column;gap:3px;padding:8px 2px 6px}.tab-icon{font-size:1.35rem}.tab-label{letter-spacing:.01em;font-size:.6rem}.modal-stats{grid-template-columns:1fr 1fr}.modal-stats .modal-stat:last-child{grid-column:1/-1}.stats-grid{grid-template-columns:1fr}}
