:root{--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-500:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--red-50:#fef2f2;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-700:#b45309;}*, ::before, ::after{ box-sizing:border-box; border-width:0; border-style:solid; }html{ line-height:1.5; font-family:system-ui, sans-serif; }body{ margin:0; background-color:var(--gray-50); color:var(--gray-900); -webkit-font-smoothing:antialiased; }h1, h2, h3, h4, h5, h6{ font-size:inherit; font-weight:inherit; margin:0; }a{ text-decoration:inherit; color:inherit; }button, input, textarea{ font-family:inherit; font-size:100%; margin:0; padding:0; outline:none; }@keyframes ping{ 75%, 100%{ transform:scale(2); opacity:0; }}@keyframes pulse{ 50%{ opacity:.5; }}@keyframes shimmer{ 100%{ transform:translateX(100%); }}.container{ max-width:80rem; margin:0 auto; padding:0 1rem; }@media (min-width:640px){ .container{ padding:0 1.5rem; }}@media (min-width:1024px){ .container{ padding:0 2rem; }}.flex-center{ display:flex; align-items:center; justify-content:center; }.premium-loader{ position:fixed; inset:0; z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; background-color:rgba(255, 255, 255, 0.9); backdrop-filter:blur(4px); transition:opacity 0.5s; }.loader-ping{ position:absolute; display:inline-flex; height:5rem; width:5rem; border-radius:9999px; background-color:var(--blue-400); opacity:0.4; animation:ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; }.loader-icon-bg{ position:relative; display:inline-flex; height:3.5rem; width:3.5rem; border-radius:9999px; background:linear-gradient(to bottom right, var(--blue-600), #4338ca); box-shadow:0 10px 15px -3px rgba(0,0,0,0.1); }.loader-icon{ color:white; font-size:1.5rem; animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }.navbar{ position:sticky; top:0; z-index:100; background-color:rgba(255, 255, 255, 0.95); backdrop-filter:blur(24px); border-bottom:1px solid var(--gray-200); box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); }.nav-inner{ display:flex; justify-content:space-between; height:4rem; align-items:center; }.nav-logo{ display:flex; flex-shrink:0; items-center:center; gap:0.5rem; cursor:pointer; }.nav-logo-icon{ width:2rem; height:2rem; background-color:var(--blue-600); border-radius:0.5rem; color:white; font-weight:bold; font-size:1.125rem; box-shadow:0 4px 6px -1px rgba(59, 130, 246, 0.5); }.nav-links{ display:none; gap:2rem; align-items:center; }@media (min-width:768px){ .nav-links{ display:flex; }}.nav-link{ color:var(--gray-600); font-weight:500; font-size:0.875rem; padding:0.5rem 0.75rem; border-radius:0.5rem; transition:background-color 0.2s; }.nav-link:hover{ color:var(--blue-600); background-color:var(--gray-50); }.nav-link.active{ color:var(--blue-600); background-color:var(--blue-50); font-weight:bold; }.nav-actions{ display:flex; items-center:center; gap:1rem; }.mobile-menu{ display:none; position:absolute; top:4rem; left:0; width:100%; background-color:white; z-index:999; box-shadow:0 25px 50px -12px rgba(0,0,0,0.25); border-top:1px solid var(--gray-100); }.mobile-menu.active{ display:block; }.mobile-menu-header{ padding:1rem 1.25rem; background:linear-gradient(to right, var(--gray-50), white); border-bottom:1px solid var(--gray-200); display:flex; align-items:center; gap:1rem; }.mobile-menu-links{ padding:0.75rem; display:flex; flex-direction:column; gap:0.25rem; }.user-avatar-btn{ height:2.25rem; width:2.25rem; border-radius:9999px; background:linear-gradient(to top right, var(--blue-500), #4f46e5); color:white; font-weight:bold; font-size:0.875rem; box-shadow:0 4px 6px -1px rgba(0,0,0,0.1); cursor:pointer; transition:transform 0.1s; }.user-avatar-btn:active{ transform:scale(0.95); }.user-dropdown{ position:absolute; right:0; top:3rem; width:12rem; background-color:white; border-radius:0.75rem; box-shadow:0 25px 50px -12px rgba(0,0,0,0.25); padding:0.25rem 0; border:1px solid var(--gray-100); display:none; z-index:50; }.page-header{ background-color:white; border-bottom:1px solid var(--gray-200); }.header-layout{ display:flex; flex-direction:column; gap:1rem; padding:1rem 0; }@media (min-width:768px){ .header-layout{ flex-direction:row; align-items:center; justify-content:space-between; }}.search-bar{ position:relative; width:100%; }.search-input{ width:100%; padding:0.5rem 0.75rem 0.5rem 2.25rem; border:1px solid var(--gray-200); border-radius:0.5rem; background-color:var(--gray-50); font-size:0.875rem; transition:all 0.2s; }.search-input:focus{ border-color:var(--blue-500); background-color:white; box-shadow:0 0 0 1px var(--blue-500); }.resume-btn{ position:relative; overflow:hidden; background-color:var(--blue-600); color:white; padding:0.5rem 1.5rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; box-shadow:0 1px 3px 0 rgba(0,0,0,0.1); cursor:pointer; transition:transform 0.2s; }.resume-btn:hover{ transform:scale(1.05); }.premium-card{ position:relative; margin-bottom:1.5rem; padding:1.25rem; background:linear-gradient(to right, var(--amber-50), #fff7ed); border:1px solid var(--amber-100); border-radius:0.75rem; overflow:hidden; }.guest-card{ margin-bottom:1.5rem; padding:0.25rem; background-color:white; border:1px solid var(--gray-200); border-radius:0.75rem; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); }.progress-bar-bg{ width:100%; height:0.625rem; background-color:var(--gray-100); border-radius:9999px; overflow:hidden; margin-bottom:0.375rem; }.progress-bar-fill{ height:100%; border-radius:9999px; transition:width 0.7s ease-out; }.btn-upgrade{ padding:0.625rem 1.5rem; background:linear-gradient(to right, var(--blue-600), #4f46e5); color:white; font-size:0.75rem; font-weight:bold; border-radius:0.5rem; display:flex; align-items:center; gap:0.5rem; cursor:pointer; transition:transform 0.2s; }.section-title{ font-size:0.875rem; font-weight:bold; color:var(--gray-700); text-transform:uppercase; letter-spacing:0.05em; }.slider-wrapper{ display:flex; overflow-x:auto; scroll-behavior:smooth; gap:1rem; padding-bottom:1rem; }.slider-wrapper::-webkit-scrollbar{ display:none; }.slider-btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:10; width:2rem; height:2rem; background-color:white; border-radius:9999px; box-shadow:0 4px 6px -1px rgba(0,0,0,0.1); border:1px solid var(--gray-100); display:none; align-items:center; justify-content:center; color:var(--gray-600); cursor:pointer; transition:all 0.2s; opacity:0; }.slider-container:hover .slider-btn{ opacity:1; }@media (min-width:768px){ .slider-btn{ display:flex; }}.review-card{ background-color:white; padding:1.5rem; border-radius:0.75rem; border:1px solid var(--gray-200); box-shadow:0 4px 6px -1px rgba(0,0,0,0.1); margin-top:1.875rem; }.review-title-bar{ width:4px; height:24px; border-radius:2px; background-color:var(--blue-600); }.review-textarea{ width:100%; min-height:100px; padding:0.75rem; border-radius:0.5rem; border:1px solid var(--gray-300); font-size:1rem; transition:border-color 0.2s; resize:vertical; margin-bottom:1rem; }.review-textarea:focus{ border-color:var(--blue-600); }.review-submit{ background-color:var(--blue-600); color:white; padding:0.75rem 1.75rem; border-radius:0.375rem; font-weight:600; cursor:pointer; transition:background-color 0.2s; border:none; }.review-submit:hover{ background-color:var(--blue-700); }.star-rating input{ display:none; }.star-rating label{ color:var(--gray-300); font-size:1.5rem; cursor:pointer; transition:color 0.2s; }.star-rating input:checked ~ label, .star-rating label:hover, .star-rating label:hover ~ label{ color:var(--amber-400); }.site-footer{ background-color:white; border-top:1px solid var(--gray-200); margin-top:4rem; padding:3rem 0; }.footer-grid{ display:grid; grid-template-columns:repeat(1, minmax(0, 1fr)); gap:2rem; }@media (min-width:768px){ .footer-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }}.footer-heading{ font-size:0.75rem; font-weight:bold; color:var(--gray-900); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:1rem; }.mock-card{position:relative;display:flex;flex-direction:column;width:18rem;min-width:18rem;background-color:white;border-radius:0.75rem;padding:1.25rem;border:1px solid var(--gray-100);box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);transition:all 0.3s;scroll-snap-align:center;}.mock-card:hover{ box-shadow:0 10px 15px -3px rgba(0,0,0,0.1); }.mock-card-header{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.75rem; }.mock-card-icon{ width:2.5rem; height:2.5rem; border-radius:0.5rem; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }.mock-card-title{ font-weight:bold; color:var(--gray-800); font-size:1rem; line-height:1.25; margin-bottom:0.5rem; height:2.5rem; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.mock-card-meta{ display:flex; align-items:center; gap:0.5rem; margin-bottom:1rem; font-size:0.75rem; color:var(--gray-500); font-weight:500; border-bottom:1px solid var(--gray-50); padding-bottom:0.75rem; }.mock-card-stats{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0.5rem; margin-bottom:0.75rem; font-size:0.75rem; font-weight:600; color:var(--gray-500); margin-top:auto; }.stat-badge{ background-color:var(--gray-50); border-radius:0.25rem; padding:0.375rem 0.5rem; display:flex; align-items:center; justify-content:center; gap:0.375rem; }.fomo-alert{ margin-bottom:0.75rem; display:flex; align-items:center; gap:0.375rem; padding:0.25rem 0.5rem; background-color:var(--red-50); border-radius:0.25rem; width:fit-content; animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }.mock-btn-primary{ width:100%; padding:0.625rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:white; background-color:var(--blue-600); display:flex; align-items:center; justify-content:center; gap:0.5rem; transition:all 0.2s; border:none; cursor:pointer; }.mock-btn-primary:hover{ background-color:var(--blue-700); transform:translateY(-2px); }.mock-btn-premium{ width:100%; padding:0.625rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:white; background:linear-gradient(to right, #9333ea, #4f46e5); display:flex; align-items:center; justify-content:center; gap:0.5rem; transition:all 0.2s; border:none; cursor:pointer; }.mock-btn-premium:hover{ filter:brightness(1.1); transform:translateY(-2px); }.mock-btn-disabled{ width:100%; padding:0.625rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:var(--gray-500); background-color:var(--gray-100); border:1px solid var(--gray-200); display:flex; align-items:center; justify-content:center; gap:0.5rem; cursor:not-allowed; }.badge-locked{ background-color:var(--gray-200); color:var(--gray-600); font-size:0.625rem; font-weight:bold; text-transform:uppercase; padding:0.25rem 0.5rem; border-radius:0.25rem; letter-spacing:0.05em; }.badge-premium{ background-color:#f3e8ff; color:#7e22ce; font-size:0.625rem; font-weight:bold; text-transform:uppercase; padding:0.25rem 0.5rem; border-radius:0.25rem; letter-spacing:0.05em; }.badge-open{ background-color:#dcfce3; color:#15803d; font-size:0.625rem; font-weight:bold; text-transform:uppercase; padding:0.25rem 0.5rem; border-radius:0.25rem; letter-spacing:0.05em; }.border-locked{ border-left:4px solid var(--gray-300); }.border-premium{ border-left:4px solid #a855f7; }.border-open{ border-left:4px solid var(--blue-500); }.icon-locked{ background-color:var(--gray-100); color:var(--gray-500); }.icon-premium{ background-color:#f3e8ff; color:#9333ea; }.icon-open{ background-color:var(--blue-50); color:var(--blue-600); }.subject-grid{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));gap:1rem;padding-bottom:1rem;}@media (min-width:640px){ .subject-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }}@media (min-width:1024px){ .subject-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }}@media (min-width:1280px){ .subject-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }}.slider-wrapper{display:flex;flex-wrap:nowrap; overflow-x:auto;gap:1.5rem;padding-bottom:1.5rem;padding-top:0.5rem;scroll-behavior:smooth;scrollbar-width:none; -ms-overflow-style:none;}.slider-wrapper::-webkit-scrollbar{display:none;}.mock-card{flex:0 0 18rem; width:18rem;max-width:18rem;position:relative;display:flex;flex-direction:column;background-color:#ffffff;border-radius:0.75rem;padding:1.25rem;border:1px solid var(--gray-200);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:transform 0.2s, box-shadow 0.2s;scroll-snap-align:center;}.mock-card:hover{ transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1); }.mock-card-header{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1rem; }.mock-card-icon{ width:2.5rem; height:2.5rem; border-radius:0.5rem; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }.mock-card-title{ font-weight:bold; color:var(--gray-800); font-size:1.125rem; line-height:1.3; margin-bottom:0.75rem; height:2.8rem; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.mock-card-meta{ display:flex; align-items:center; gap:0.5rem; margin-bottom:1.25rem; font-size:0.75rem; color:var(--gray-500); font-weight:600; border-bottom:1px solid var(--gray-100); padding-bottom:0.75rem; }.mock-card-stats{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0.5rem; margin-bottom:1rem; font-size:0.75rem; font-weight:600; color:var(--gray-500); }.stat-badge{ background-color:var(--gray-50); border-radius:0.375rem; padding:0.5rem; display:flex; align-items:center; justify-content:center; gap:0.375rem; border:1px solid var(--gray-100); }.fomo-alert{ margin-bottom:1rem; display:flex; align-items:center; gap:0.5rem; padding:0.375rem 0.75rem; background-color:var(--red-50); border-radius:9999px; width:fit-content; border:1px solid #fee2e2; }.mock-btn-primary{ width:100%; padding:0.75rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:white; background-color:var(--blue-600); display:flex; align-items:center; justify-content:center; gap:0.5rem; transition:background-color 0.2s; border:none; cursor:pointer; }.mock-btn-primary:hover{ background-color:var(--blue-700); }.mock-btn-premium{ width:100%; padding:0.75rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:white; background:linear-gradient(to right, #9333ea, #4f46e5); display:flex; align-items:center; justify-content:center; gap:0.5rem; transition:opacity 0.2s; border:none; cursor:pointer; }.mock-btn-premium:hover{ opacity:0.9; }.mock-btn-disabled{ width:100%; padding:0.75rem; border-radius:0.5rem; font-weight:bold; font-size:0.875rem; color:var(--gray-500); background-color:var(--gray-100); border:1px solid var(--gray-200); display:flex; align-items:center; justify-content:center; gap:0.5rem; cursor:not-allowed; }.badge-locked{ background-color:var(--gray-200); color:var(--gray-600); font-size:0.625rem; font-weight:800; text-transform:uppercase; padding:0.25rem 0.625rem; border-radius:9999px; }.badge-premium{ background-color:#f3e8ff; color:#7e22ce; font-size:0.625rem; font-weight:800; text-transform:uppercase; padding:0.25rem 0.625rem; border-radius:9999px; border:1px solid #e9d5ff; }.badge-open{ background-color:#dcfce3; color:#15803d; font-size:0.625rem; font-weight:800; text-transform:uppercase; padding:0.25rem 0.625rem; border-radius:9999px; border:1px solid #bbf7d0; }.border-locked{ border-top:4px solid var(--gray-300); }.border-premium{ border-top:4px solid #a855f7; }.border-open{ border-top:4px solid var(--blue-500); }.icon-locked{ background-color:var(--gray-100); color:var(--gray-500); }.icon-premium{ background-color:#f3e8ff; color:#9333ea; }.icon-open{ background-color:var(--blue-50); color:var(--blue-600); }.mobile-only{ display:block; }.desktop-only{ display:none; }@media (min-width:768px){.mobile-only{ display:none !important; }.desktop-only{ display:flex !important; }}@media (min-width:768px){.mobile-menu{left:auto; right:0; width:20rem; border-left:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);border-bottom-left-radius:1rem; box-shadow:-10px 10px 15px -3px rgba(0,0,0,0.1); }}svg{display:block;}@media (max-width:767px){.desktop-only{display:none !important;}}@media (min-width:768px){.mobile-menu{left:auto;right:max(1.5rem, calc((100vw - 80rem) / 2 + 1.5rem)); top:4.5rem; width:18rem; border:1px solid var(--gray-200);border-radius:0.75rem;box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);}}.review-card{ background:linear-gradient(to bottom right, #ffffff, var(--gray-50)); padding:2rem; border-radius:1rem; border:1px solid var(--gray-200); box-shadow:0 10px 15px -3px rgba(0,0,0,0.05); margin-top:3rem; }.review-header{ display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }.review-icon-box{ width:3rem; height:3rem; background-color:var(--blue-50); color:var(--blue-600); border-radius:0.75rem; display:flex; align-items:center; justify-content:center; font-size:1.25rem; border:1px solid var(--blue-100); }.review-title{ margin:0; color:var(--gray-900); font-size:1.25rem; font-weight:800; letter-spacing:-0.025em; }.rating-container{ display:flex; flex-direction:column; gap:0.25rem; margin-bottom:1.5rem; background-color:white; padding:1rem 1.5rem; border-radius:0.75rem; border:1px solid var(--gray-100); width:fit-content; box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.02); }.rating-label{ color:var(--gray-600); font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; }.star-rating{ display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:0.25rem; }.star-rating input{ display:none; }.star-rating label{ color:var(--gray-200); font-size:2.25rem; cursor:pointer; transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1); line-height:1; }.star-rating label:hover{ transform:scale(1.15); }.star-rating input:checked ~ label, .star-rating label:hover, .star-rating label:hover ~ label{ color:var(--amber-400); text-shadow:0 0 12px rgba(251, 191, 36, 0.4); }.review-textarea{ width:100%; min-height:120px; padding:1rem 1.25rem; border-radius:0.75rem; border:1px solid var(--gray-200); background-color:white; font-size:0.9375rem; color:var(--gray-800); transition:all 0.2s; resize:vertical; margin-bottom:1.25rem; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); font-family:inherit; }.review-textarea:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }.review-textarea::placeholder{ color:var(--gray-500); }.review-footer{ display:flex; flex-direction:column; gap:1rem; align-items:flex-start; }@media (min-width:640px){ .review-footer{ flex-direction:row; justify-content:space-between; align-items:center; }}.review-submit{ background-color:var(--blue-600); color:white; padding:0.75rem 2rem; border-radius:0.5rem; font-weight:bold; font-size:0.9375rem; cursor:pointer; transition:all 0.2s; border:none; display:flex; align-items:center; justify-content:center; gap:0.5rem; box-shadow:0 4px 6px -1px rgba(37, 99, 235, 0.2); width:100%; }@media (min-width:640px){ .review-submit{ width:auto; }}.review-submit:hover{ background-color:var(--blue-700); transform:translateY(-2px); box-shadow:0 6px 8px -1px rgba(37, 99, 235, 0.3); }.review-submit:active{ transform:translateY(0); }.review-section{ margin-top:4rem; margin-bottom:4rem; padding:0 1rem; }.section-heading-container{ text-align:center; margin-bottom:2.5rem; }.section-heading{ font-size:1.875rem; font-weight:800; color:#111827; letter-spacing:-0.025em; line-height:1.2; }.section-heading-underline{ width:4rem; height:0.25rem; background-color:#2563eb; margin:1rem auto 0; border-radius:9999px; }.review-grid{ display:grid; grid-template-columns:repeat(1, minmax(0, 1fr)); gap:1.5rem; max-width:72rem; margin:0 auto; }@media (min-width:768px){ .review-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }}@media (min-width:1024px){ .review-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }}.user-review-card{ position:relative; background-color:white; padding:1.75rem; border-radius:1.5rem; border:1px solid #f3f4f6; box-shadow:0 4px 20px rgba(0,0,0,0.03); transition:all 0.3s; display:flex; flex-direction:column; height:100%; overflow:hidden; }.user-review-card:hover{ box-shadow:0 8px 30px rgba(0,0,0,0.08); }.quote-icon-bg{ position:absolute; bottom:-1rem; right:-0.5rem; font-size:6rem; color:#f9fafb; opacity:0.4; transition:transform 0.5s; z-index:0; }.user-review-card:hover .quote-icon-bg{ transform:scale(1.1) rotate(-6deg); }.review-card-content{ position:relative; z-index:10; flex:1; }.review-stars{ display:flex; align-items:center; gap:0.25rem; margin-bottom:1rem; font-size:0.875rem; }.review-text{ color:#4b5563; font-size:1rem; line-height:1.625; margin-bottom:1.5rem; font-style:italic; }.reviewer-info{ position:relative; z-index:10; display:flex; align-items:center; gap:1rem; padding-top:1rem; border-top:1px solid #f9fafb; margin-top:auto; }.reviewer-avatar{ width:2.5rem; height:2.5rem; border-radius:9999px; display:flex; align-items:center; justify-content:center; color:white; font-weight:bold; font-size:1.125rem; box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06); flex-shrink:0; }.reviewer-name{ font-weight:bold; color:#1f2937; font-size:0.875rem; margin:0; line-height:1.25; }.reviewer-meta{ display:flex; align-items:center; gap:0.5rem; margin-top:0.125rem; }.reviewer-badge{ background-color:#eff6ff; color:#2563eb; font-size:0.625rem; font-weight:bold; padding:0.125rem 0.5rem; border-radius:0.375rem; letter-spacing:0.05em; }.reviewer-date{ font-size:0.6875rem; color:#9ca3af; font-weight:500; }.empty-reviews{ background-color:white; padding:2.5rem; border-radius:1.5rem; border:1px solid #f3f4f6; text-align:center; max-width:42rem; margin:0 auto; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); }.empty-reviews-icon{ width:5rem; height:5rem; background-color:#f9fafb; border-radius:9999px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; color:#d1d5db; font-size:1.875rem; }.faq-section{ max-width:48rem; margin:5rem auto; padding:0 1rem; }.faq-list{ display:flex; flex-direction:column; gap:1rem; }.faq-item{ background-color:white; border:1px solid #f3f4f6; border-radius:1rem; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); transition:box-shadow 0.2s; overflow:hidden; }.faq-item:hover{ box-shadow:0 4px 6px -1px rgba(0,0,0,0.1); }.faq-btn{ width:100%; text-align:left; padding:1.25rem 1.5rem; font-weight:bold; color:#1f2937; display:flex; justify-content:space-between; align-items:center; background-color:transparent; border:none; cursor:pointer; }.faq-btn-text{ font-size:0.9375rem; transition:color 0.2s; }.faq-btn:hover .faq-btn-text{ color:#2563eb; }.faq-icon-wrapper{ width:2rem; height:2rem; border-radius:9999px; background-color:#eff6ff; color:#2563eb; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform 0.3s; }.faq-item.active .faq-icon-wrapper{ transform:rotate(45deg); }.faq-content{ padding:0 1.5rem; background-color:rgba(249, 250, 251, 0.5); color:#4b5563; font-size:0.875rem; line-height:1.625; border-top:1px solid #f9fafb; display:none; }.faq-content p{ padding:1rem 0; margin:0; }.bg-blue-500{ background-color:#3b82f6; }.bg-indigo-500{ background-color:#6366f1; }.bg-purple-500{ background-color:#a855f7; }.bg-pink-500{ background-color:#ec4899; }.bg-teal-500{ background-color:#14b8a6; }.faq-container{max-width:800px;margin:0 auto;font-family:system-ui, -apple-system, sans-serif;}details.faq-item{background-color:#ffffff;border:1px solid #f3f4f6;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.02);transition:all 0.3s ease;}details.faq-item:hover{box-shadow:0 4px 6px rgba(0, 0, 0, 0.05);border-color:#e5e7eb;}details.faq-item summary{padding:18px 20px;font-size:15px;font-weight:600;color:#1f2937;cursor:pointer;list-style:none; display:flex;justify-content:space-between;align-items:center;user-select:none;}details.faq-item summary::-webkit-details-marker{display:none;}details.faq-item summary::after{content:'+';color:#2563eb;background-color:#eff6ff;font-size:18px;font-weight:400;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;margin-left:15px;transition:all 0.2s ease;}details[open].faq-item summary::after{content:'−';background-color:#2563eb;color:#ffffff;}.faq-answer{padding:0 20px 20px 20px;color:#6b7280;font-size:14px;line-height:1.6;border-top:1px solid #f3f4f6;margin-top:5px;padding-top:15px;}.series-grid-container{ min-height:600px; }.series-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:20px;margin-top:20px;font-family:system-ui, -apple-system, sans-serif;}.series-card{background:#ffffff;border-radius:12px;padding:20px;box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);border:1px solid #f3f4f6;display:flex;flex-direction:column;position:relative;transition:transform 0.2s;}.series-card:hover{transform:translateY(-2px);}.card-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;}.trophy-icon{ font-size:22px; }.badge-status{font-size:11px;font-weight:700;padding:4px 8px;border-radius:4px;letter-spacing:0.5px;}.badge-open{ background-color:#dcfce7; color:#166534; }.badge-premium{ background-color:#f3e8ff; color:#7e22ce; }.series-title{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 12px 0;}.series-stats{font-size:13px;color:#4b5563;margin-bottom:15px;display:flex;gap:12px;}.stat-box{border:1px solid #e5e7eb;padding:4px 8px;border-radius:6px;display:flex;align-items:center;}.btn-action{width:100%;padding:12px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color 0.2s;margin-top:auto; }.btn-attempt{ background-color:#2563eb; color:white; }.btn-attempt:hover{ background-color:#1d4ed8; }.btn-unlock{ background-color:#7e22ce; color:white; }.btn-unlock:hover{ background-color:#6b21a8; }.load-more-wrapper{text-align:center;margin-top:30px;width:100%;}.btn-load-more{background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;padding:12px 28px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;transition:all 0.3s;}.btn-load-more:hover{background-color:#dbeafe;}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:20px;justify-content:center;justify-items:center;align-content:center;padding:0 16px; margin:0 auto;width:100%;box-sizing:border-box;}.subject-grid .mock-card{margin:0 auto; width:100%;max-width:340px; }.welcome-header{display:flex;flex-direction:column;align-items:center; justify-content:center;text-align:center;padding:0 16px; margin:0 auto 20px auto; width:100%;box-sizing:border-box;}.welcome-header button{margin:10px auto;display:inline-flex;justify-content:center;}.header-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:20px 15px;width:100%;box-sizing:border-box;}.welcome-text h1{font-size:1.25rem;font-weight:700;color:var(--gray-900, #111827);letter-spacing:-0.025em;margin:0;}.welcome-text h1 span{color:var(--blue-600, #2563eb);}.search-wrapper{width:100%;max-width:28rem; }.search-bar{position:relative;display:flex;align-items:center;}.search-icon{position:absolute;left:12px;color:var(--gray-500, #9ca3af);width:18px;height:18px;pointer-events:none;display:flex;}.search-input{width:100%;padding:10px 15px 10px 38px; border:1px solid var(--gray-300, #d1d5db);border-radius:8px; font-size:0.95rem;outline:none;transition:all 0.2s ease;}.search-input:focus{border-color:var(--blue-500, #3b82f6);box-shadow:0 0 0 3px rgba(59, 130, 246, 0.15); }@media (min-width:768px){.header-layout{flex-direction:row; justify-content:space-between; text-align:left;}.search-wrapper{margin:0 20px; }.action-btn-wrapper{display:block; }}@media (max-width:767px){.action-btn-wrapper{display:block; }}.slider-wrapper{min-height:250px; }.subject-grid{min-height:200px;}@font-face{font-display:swap;}