:root{--primary: #010c4d;--primary-container: #1a2461;--on-primary: #ffffff;--secondary: #745b00;--secondary-container: #fdcc22;--on-secondary: #ffffff;--on-secondary-fixed: #261a00;--surface: #f9f9f9;--surface-container-low: #f3f3f3;--surface-container-lowest: #ffffff;--surface-container: #ededed;--surface-container-high: #e8e8e8;--surface-container-highest: #e2e2e2;--surface-dim: #dadada;--on-surface: #1a1c1c;--on-surface-variant: #454650;--outline: rgba(1, 12, 77, .2);--outline-variant: rgba(1, 12, 77, .12);--primary-fixed: #dee0ff;--error: #ba1a1a;--error-container: #ffdad6;--on-error: #ffffff;--success: #1a7f37;--success-container: #d4f0dc;--font-display: "Manrope", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-sm: 4px;--radius: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-float: 0 8px 40px rgba(1, 12, 77, .12);--shadow-card: 0 2px 8px rgba(1, 12, 77, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--surface);color:var(--on-surface);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}img,svg{display:block;max-width:100%}button{cursor:pointer;border:none;background:none;font:inherit}a{color:inherit;text-decoration:none}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle;line-height:1;-webkit-user-select:none;user-select:none}#root,.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-header{position:sticky;top:0;z-index:100;background:var(--primary);height:56px;display:flex;align-items:center;padding:0 20px;gap:16px}.app-header-logo{font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--on-primary);letter-spacing:-.01em;display:flex;align-items:center;gap:6px;flex:1;text-decoration:none}.app-header-logo-badge{background:var(--secondary-container);color:var(--on-secondary-fixed);font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:2px 5px;border-radius:3px;text-transform:uppercase}.app-header-nav{display:none;gap:4px}@media(min-width:768px){.app-header-nav{display:flex}}.app-header-nav a{color:#ffffffbf;font-size:.875rem;font-weight:500;padding:6px 12px;border-radius:var(--radius);transition:color .15s,background .15s;text-decoration:none}.app-header-nav a:hover,.app-header-nav a.active{color:#fff;background:#ffffff1a}.app-header-avatar-wrap{position:relative;flex-shrink:0}.app-header-avatar{width:32px;height:32px;border-radius:50%;background:var(--secondary-container);color:var(--on-secondary-fixed);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);flex-shrink:0;cursor:pointer;transition:opacity .15s}.app-header-avatar:hover{opacity:.85}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);box-shadow:var(--shadow-float);padding:12px;z-index:200}.avatar-dropdown-name{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--on-surface)}.avatar-dropdown-email{font-size:.78rem;color:var(--on-surface-variant);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-dropdown-divider{border:none;border-top:1px solid var(--outline-variant);margin:10px 0}.avatar-dropdown-signout{display:flex;align-items:center;gap:8px;width:100%;padding:6px 0;font-size:.88rem;font-weight:600;color:var(--error);cursor:pointer;background:none;border:none}.avatar-dropdown-signout .material-symbols-outlined{font-size:1rem}.avatar-dropdown-signout:hover{opacity:.75}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface-container-lowest);border-top:1px solid var(--outline-variant);display:flex;height:64px;padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:768px){.bottom-nav{display:none}}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--on-surface-variant);font-size:.65rem;font-weight:500;letter-spacing:.02em;padding:8px 4px;transition:color .15s;text-decoration:none}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.main-content{flex:1;padding-bottom:80px}@media(min-width:768px){.main-content{padding-bottom:0}}.page{max-width:760px;margin:0 auto;padding:24px 16px}@media(min-width:768px){.page{padding:32px 24px}}.text-muted{color:var(--on-surface-variant)}.text-error{color:var(--error)}.text-success{color:var(--success)}.text-sm{font-size:.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-body);font-size:.9rem;font-weight:600;padding:10px 20px;border-radius:var(--radius);transition:background .15s,opacity .15s;white-space:nowrap;cursor:pointer}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-container)}.btn-secondary{background:var(--surface-container-high);color:var(--on-surface)}.btn-secondary:hover{background:var(--surface-container-highest)}.btn-gold{background:var(--secondary-container);color:var(--on-secondary-fixed);font-weight:700}.btn-gold:hover{opacity:.9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{font-size:.8rem;padding:7px 14px}.btn-link{background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{opacity:.75}.card{background:var(--surface-container-lowest);border-radius:var(--radius-md);padding:20px}.card-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--on-surface);margin-bottom:16px}.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header-row .card-title{margin-bottom:0}.link-sm{font-size:.8rem;color:var(--primary);font-weight:600;text-decoration:none}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.upgrade-banner{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-container) 100%);border-radius:var(--radius-md);padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:24px}.upgrade-banner-compact{padding:12px 16px;margin-bottom:16px}.upgrade-banner-icon{font-size:1.5rem;flex-shrink:0}.upgrade-banner-body{flex:1}.upgrade-banner-title{font-family:var(--font-display);font-weight:700;color:var(--on-primary);font-size:.95rem;margin-bottom:4px}.upgrade-banner-msg{color:#ffffffbf;font-size:.82rem;line-height:1.4}.login-page{min-height:100dvh;background:linear-gradient(160deg,var(--primary) 0%,var(--primary-container) 100%);display:flex;align-items:center;justify-content:center;padding:24px 16px;position:relative;overflow:hidden}.login-deco{position:absolute;font-family:var(--font-display);font-weight:800;font-size:6rem;color:#ffffff0a;letter-spacing:-.04em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;top:50%;left:50%;transform:translate(-50%,-50%)}.login-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);padding:36px 32px;width:100%;max-width:400px;position:relative;z-index:1;box-shadow:var(--shadow-float)}.login-logo{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--primary);text-align:center;margin-bottom:6px}.login-tagline{text-align:center;color:var(--on-surface-variant);font-size:.85rem;margin-bottom:24px}.login-divider{height:2px;background:var(--secondary-container);border-radius:2px;margin-bottom:24px}.login-title{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--on-surface);margin-bottom:20px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;background:var(--surface-container-low);border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;color:var(--on-surface);outline:2px solid transparent;transition:outline-color .15s,background .15s}.form-input:focus{outline-color:var(--primary);background:var(--surface-container-lowest)}.form-input::placeholder{color:var(--on-surface-variant);opacity:.6}.form-error{color:var(--error);font-size:.8rem;margin-top:8px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--on-surface);line-height:1.2}.page-header .text-muted{margin-top:4px;font-size:.875rem}.header-actions{flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:var(--primary-container);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:4px}.stat-card--highlight{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-container) 100%)}.stat-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--on-primary);line-height:1;letter-spacing:-.02em}.stat-sub{font-size:.72rem;color:#ffffff8c}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:640px){.quick-links{grid-template-columns:repeat(2,1fr)}}.quick-link-card{background:var(--surface-container-lowest);border-radius:var(--radius-md);padding:18px 20px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;text-decoration:none;border:1px solid var(--outline-variant);border-left:4px solid var(--primary);box-shadow:var(--shadow-card)}.quick-link-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float);background:var(--primary-fixed)}.quick-link-card--primary{border-left-color:var(--primary)}.quick-link-card--gold{border-left-color:var(--secondary-container)}.quick-link-card--gold:hover{background:#fffbea}.quick-link-icon{font-size:1.75rem;margin-bottom:4px}.quick-link-label{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--on-surface)}.quick-link-sub{font-size:.78rem;color:var(--on-surface-variant);line-height:1.35}.quick-link-arrow{margin-top:8px;font-weight:700;font-size:1rem;color:var(--primary)}.scores-table{width:100%;border-collapse:collapse}.scores-table th{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);padding:0 0 10px;text-align:left}.scores-table td{font-size:.875rem;color:var(--on-surface);padding:10px 0}.scores-table tr:not(:last-child) td{border-bottom:1px solid var(--outline-variant)}.score-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.78rem;font-weight:700}.score-pass{background:var(--success-container);color:var(--success)}.score-fail{background:var(--error-container);color:var(--error)}.ai-allowance-card{margin-top:24px}.ai-allowance-bar-wrap{display:flex;align-items:center;gap:12px;margin-bottom:8px}.ai-allowance-bar{flex:1;height:6px;background:var(--surface-container-high);border-radius:3px;overflow:hidden}.ai-allowance-fill{height:100%;background:var(--secondary-container);border-radius:3px;transition:width .4s ease}.ai-allowance-count{font-size:.8rem;font-weight:600;color:var(--on-surface-variant);white-space:nowrap}.progress-bar-wrap{height:4px;background:var(--surface-container-high);border-radius:2px;overflow:hidden;margin-bottom:20px}.progress-bar{height:100%;background:var(--secondary-container);border-radius:2px;transition:width .3s ease}.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.quiz-header h2{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--on-surface)}.quiz-counter{font-size:.8rem;font-weight:600;color:var(--on-surface-variant)}.quiz-timer{background:var(--primary);color:var(--on-primary);font-size:.85rem;font-weight:700;font-family:var(--font-display);padding:5px 14px;border-radius:20px;letter-spacing:.03em;display:inline-flex;align-items:center;gap:5px}.quiz-timer.timer-warning{background:var(--error)}.question-card{background:var(--surface-container-lowest);border-radius:var(--radius-md);padding:20px;margin-bottom:16px}.question-category{font-size:.7rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:8px}.passage-panel{border:1px solid var(--outline-variant);border-left:4px solid var(--secondary-container);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow-card)}.passage-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--surface-container-low);color:var(--on-surface);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-align:left;border:none;border-bottom:1px solid var(--outline-variant);cursor:pointer;transition:background .15s}.passage-toggle:hover{background:var(--surface-container)}.passage-toggle .material-symbols-outlined{font-size:1rem;color:var(--primary)}.passage-toggle-icon{margin-left:auto;color:var(--on-surface-variant)}.passage-body{background:var(--surface-container-lowest);padding:20px 22px;max-height:380px;overflow-y:auto}.passage-body p{font-size:.93rem;line-height:1.75;color:var(--on-surface);margin-bottom:12px}.passage-body p:last-child{margin-bottom:0}.passage-body ul{margin:0 0 12px 18px;padding:0}.passage-body li{font-size:.93rem;line-height:1.65;color:var(--on-surface);margin-bottom:4px}.data-context-panel{margin-bottom:16px;border:1px solid var(--outline-variant);border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--surface-container-lowest);overflow:hidden}.data-context-title{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);padding:10px 16px 6px;margin:0;border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low)}.data-context-description{font-size:.88rem;line-height:1.65;color:var(--on-surface);padding:12px 16px;margin:0}.data-context-chart-wrap{padding:12px 8px 8px;overflow-x:auto}.data-context-table-wrap{overflow-x:auto;padding:0 0 4px}.data-table-name{font-size:.8rem;font-weight:600;color:var(--on-surface-variant);padding:8px 16px 4px;margin:0}.data-context-table-scroll{overflow-x:auto;padding:0 4px 8px}.data-context-table{width:100%;border-collapse:collapse;font-size:.8rem}.data-context-table th{background:var(--surface-container);color:var(--on-surface);font-weight:700;padding:6px 10px;text-align:left;border-bottom:2px solid var(--outline-variant);white-space:nowrap}.data-context-table td{padding:5px 10px;border-bottom:1px solid var(--outline-variant);color:var(--on-surface);white-space:nowrap}.data-context-table tr:last-child td{border-bottom:none}.data-context-table tr:nth-child(2n) td{background:var(--surface-container-lowest)}.question-chart{margin:0 -4px 16px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--outline-variant);background:#fff}.question-chart-img{width:100%;height:auto;display:block}.question-context{background:var(--surface-container-low);border-left:3px solid var(--secondary-container);padding:10px 14px;border-radius:0 var(--radius) var(--radius) 0;font-size:.875rem;color:var(--on-surface-variant);line-height:1.55;margin-bottom:14px}.question-text{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--on-surface);line-height:1.4;margin-bottom:20px}.options-list{display:flex;flex-direction:column;gap:8px}.option-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-container-lowest);border-radius:var(--radius);outline:1px solid var(--outline-variant);text-align:left;font-size:.9rem;color:var(--on-surface);transition:outline-color .12s,background .12s;width:100%;cursor:pointer}.option-btn:hover:not(:disabled){outline-color:var(--outline);background:var(--surface-container-low)}.option-btn:disabled{cursor:default}.option-btn.option-selected{outline:2px solid var(--primary);background:var(--primary-fixed)}.option-btn.option-correct{outline:2px solid var(--success);background:var(--success-container)}.option-btn.option-wrong{outline:2px solid var(--error);background:var(--error-container)}.option-btn.option-dim{opacity:.5}.option-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface-container-high);border-radius:50%;font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--on-surface);flex-shrink:0}.option-btn.option-correct .option-letter{background:var(--success);color:#fff}.option-btn.option-wrong .option-letter{background:var(--error);color:#fff}.option-btn.option-selected .option-letter{background:var(--primary);color:#fff}.feedback-box{margin-top:16px;padding:14px 16px;border-radius:var(--radius);font-size:.875rem;line-height:1.5}.feedback-correct{background:var(--success-container);color:var(--success)}.feedback-wrong{background:var(--error-container);color:var(--error)}.feedback-open{background:var(--surface-container);color:var(--on-surface)}.feedback-box strong{display:block;font-weight:700;margin-bottom:4px}.feedback-box p{color:var(--on-surface);margin:4px 0 0}.feedback-answer-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);margin-bottom:4px!important}.feedback-answer{font-size:1rem;font-weight:700;color:var(--on-surface);margin-bottom:0!important}.feedback-selfmark-label{font-size:.85rem;color:var(--on-surface-variant);margin-top:14px!important;margin-bottom:6px!important}.selfmark-btns{display:flex;gap:10px}.btn-correct{background:var(--success);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius);font-weight:600;cursor:pointer}.btn-wrong{background:var(--error);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius);font-weight:600;cursor:pointer}.free-text-input{width:100%;box-sizing:border-box;padding:12px 14px;border:2px solid var(--outline);border-radius:var(--radius);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--on-surface);resize:vertical;margin-top:8px}.free-text-input:focus{outline:none;border-color:var(--primary)}.free-text-input:disabled{background:var(--surface-container-low);color:var(--on-surface-variant)}.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;margin-bottom:24px}.result-icon{font-size:3rem;margin-bottom:12px}.result-card h1{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--on-surface);margin-bottom:8px}.result-score{font-family:var(--font-display);font-size:3.5rem;font-weight:800;color:var(--primary);letter-spacing:-.03em;line-height:1;margin:8px 0}.result-pass{color:var(--success)}.result-fail{color:var(--error)}.result-detail{color:var(--on-surface-variant);font-size:.9rem;margin-bottom:20px}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.result-breakdown{text-align:left;margin:16px 0 20px;display:flex;flex-direction:column;gap:10px}.result-breakdown-row{display:flex;align-items:center;gap:10px}.result-breakdown-label{font-size:.8rem;color:var(--on-surface-variant);width:160px;flex-shrink:0;text-transform:capitalize}.result-breakdown-bar-wrap{flex:1;height:8px;background:var(--surface-container-high);border-radius:4px;overflow:hidden}.result-breakdown-bar{height:100%;border-radius:4px;transition:width .4s ease}.result-breakdown-pct{font-size:.82rem;font-weight:700;color:var(--on-surface);width:36px;text-align:right;flex-shrink:0}.review-item{padding:16px 0}.review-item:not(:last-child){border-bottom:1px solid var(--outline-variant)}.review-question{font-size:.9rem;color:var(--on-surface);line-height:1.4;margin-bottom:10px}.review-options{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.review-option{font-size:.82rem;color:var(--on-surface-variant);padding:4px 10px;border-radius:4px}.review-correct{background:var(--success-container);color:var(--success);font-weight:600}.review-open-answer{margin-bottom:8px}.review-your-answer{font-size:.82rem;color:var(--on-surface-variant);margin-bottom:4px}.review-answer-label{font-size:.82rem}.review-answer-text{font-weight:600;color:var(--success)}.review-explanation{font-size:.82rem;color:var(--on-surface-variant);line-height:1.5;padding:8px 12px;background:var(--surface-container-low);border-radius:var(--radius)}.mock-intro{max-width:500px;margin:0 auto}.mock-intro-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.mock-intro-title{font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:var(--on-surface)}.pro-badge{background:var(--secondary-container);color:var(--on-secondary-fixed);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:20px}.mock-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.mock-info-item{background:var(--primary-container);border-radius:var(--radius);padding:14px;text-align:center}.mock-info-value{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--on-primary);line-height:1}.mock-info-label{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff9;margin-top:4px}.mock-rules{background:var(--surface-container-lowest);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:20px}.mock-rules li{list-style:none;padding:6px 0;font-size:.875rem;color:var(--on-surface-variant);display:flex;align-items:flex-start;gap:8px}.mock-rules li:before{content:"·";color:var(--secondary-container);font-size:1.2rem;line-height:1.2;flex-shrink:0}.mock-gold-bar{height:3px;background:var(--secondary-container);border-radius:2px;margin-bottom:20px}.question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:6px;margin-bottom:20px}.q-dot{width:36px;height:36px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;background:var(--surface-container-high);color:var(--on-surface-variant);cursor:pointer;transition:background .12s}.q-dot.q-current{background:var(--primary);color:#fff}.q-dot.q-answered{background:var(--success-container);color:var(--success)}.q-dot.q-wrong{background:var(--error-container);color:var(--error)}.mock-select-header{margin-bottom:24px}.mock-select-title{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--on-surface);margin-bottom:6px}.mock-select-sub{color:var(--on-surface-variant);font-size:.9rem;line-height:1.5}.mock-paper-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:540px){.mock-paper-grid{grid-template-columns:1fr 1fr}}@media(min-width:900px){.mock-paper-grid{grid-template-columns:1fr 1fr 1fr}}.mock-paper-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:18px 16px;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer}.mock-paper-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card);transform:translateY(-2px)}.mock-paper-number{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant)}.mock-paper-label{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--on-surface)}.mock-paper-meta{font-size:.8rem;color:var(--on-surface-variant);display:flex;gap:6px}.mock-paper-cats{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.mock-cat-badge{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:100px;background:var(--primary-fixed);color:var(--primary);white-space:nowrap}.mock-paper-cta{margin-top:8px;font-size:.85rem;font-weight:700;color:var(--primary)}.mock-paper-card--locked{opacity:.55;position:relative}.mock-paper-card--locked:hover{opacity:.75;border-color:var(--outline-variant);box-shadow:none}.mock-paper-tier-label{margin-top:8px;font-size:.75rem;font-weight:600;color:var(--on-surface-variant)}.upsell-block{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:12px;padding:20px;text-align:left;width:100%;display:flex;flex-direction:column;gap:10px;margin-top:8px}.upsell-block-title{font-family:var(--font-display);font-size:1rem;font-weight:700;margin:0}.upsell-block-body{font-size:.875rem;color:var(--on-surface-variant);margin:0}.upsell-block-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.upsell-block-bullets li{display:flex;align-items:center;gap:6px;font-size:.85rem}.upsell-block-bullets .material-symbols-outlined{font-size:16px!important;color:var(--success)}.guide-layout{display:grid;grid-template-columns:1fr;min-height:calc(100dvh - 56px);position:relative}@media(min-width:768px){.guide-layout{grid-template-columns:280px 1fr}}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199}@media(min-width:768px){.guide-overlay{display:none}}.guide-sidebar{background:var(--surface-container-low);padding:8px 16px 20px;overflow-y:auto;position:fixed;bottom:0;left:0;right:0;top:auto;height:72dvh;width:100%;z-index:200;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:18px 18px 0 0;box-shadow:0 -4px 24px #0000002e}.guide-layout.sidebar-open .guide-sidebar{transform:translateY(0)}.guide-sidebar-drag-handle{width:40px;height:4px;background:var(--outline-variant);border-radius:2px;margin:0 auto 16px}@media(min-width:768px){.guide-sidebar{position:sticky;top:56px;height:calc(100dvh - 56px);width:280px;border-radius:0;box-shadow:none;padding:20px 16px;transform:none!important;transition:none}.guide-sidebar-drag-handle{display:none}}.guide-sidebar-header{margin-bottom:16px}.guide-sidebar-header h2{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--on-surface);margin-bottom:10px}.guide-sidebar-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.guide-progress-pct{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--primary)}.guide-progress{margin-bottom:4px}.guide-progress-bar{width:100%;height:8px;background:var(--surface-container-highest);border-radius:4px;overflow:hidden}.guide-progress-fill{height:100%;background:var(--secondary-container);border-radius:4px;transition:width .4s ease}.guide-progress-detail{font-size:.75rem;color:var(--on-surface-variant);margin-bottom:10px}.guide-progress-label{font-size:.72rem;font-weight:600;color:var(--on-surface-variant);white-space:nowrap}.guide-nav{display:flex;flex-direction:column;gap:20px}.guide-group-title{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);padding:0 8px;margin-bottom:4px}.guide-chapter-title{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.02em;color:var(--on-surface);padding:6px 8px 4px;margin-bottom:2px;border-top:1px solid var(--outline-variant)}.guide-group:first-child .guide-chapter-title{border-top:none;padding-top:0}.guide-section-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius);font-size:.875rem;color:var(--on-surface-variant);text-align:left;transition:background .12s,color .12s;background:none}.guide-section-btn:hover{background:var(--surface-container);color:var(--on-surface)}.guide-section-active{background:var(--primary)!important;color:var(--on-primary)!important;font-weight:600}.guide-section-read{color:var(--on-surface)}.guide-check{font-size:.7rem;color:var(--success);font-weight:700}.guide-section-active .guide-check{color:#fffc}.guide-mobile-bar{display:flex;align-items:center;gap:12px;padding:10px 0 18px;border-bottom:1px solid var(--outline-variant);margin-bottom:20px}@media(min-width:768px){.guide-mobile-bar{display:none}}.guide-contents-btn{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--primary);background:var(--primary-fixed);border-radius:var(--radius);padding:6px 12px;flex-shrink:0}.guide-contents-btn .material-symbols-outlined{font-size:1rem}.guide-mobile-section{font-size:.8rem;font-weight:500;color:var(--on-surface-variant);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guide-content{padding:28px 24px;overflow-y:auto;max-width:720px}.guide-content-header{margin-bottom:28px}.guide-breadcrumb{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:6px}.guide-content-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:800;color:var(--on-surface);line-height:1.2;letter-spacing:-.02em}.guide-body{font-size:.95rem;line-height:1.7;color:var(--on-surface)}.guide-body h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin:28px 0 10px}.guide-body h3{font-family:var(--font-display);font-size:1rem;font-weight:700;margin:22px 0 8px}.guide-body p{margin-bottom:12px}.guide-body ul,.guide-body ol{margin:0 0 14px 20px}.guide-body li{margin-bottom:6px}.guide-card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:14px}.guide-card p:last-child{margin-bottom:0}.guide-card-title{font-family:var(--font-display);font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--secondary-container)}.guide-chart-img{width:100%;border-radius:var(--radius);margin:4px 0;display:block}.guide-chart-figure{margin:16px 0;border:1px solid var(--outline-variant);border-radius:var(--radius-md);overflow:hidden;background:#fff}.guide-chart-img{width:100%;height:auto;display:block}.guide-chart-caption{font-size:.78rem;color:var(--on-surface-variant);padding:8px 12px;background:var(--surface-container-low);border-top:1px solid var(--outline-variant)}.guide-chart-note{background:var(--surface-container-low);border-radius:var(--radius);padding:12px 16px;margin:14px 0;font-size:.875rem;color:var(--on-surface-variant);display:flex;align-items:flex-start;gap:8px}.guide-next{margin-top:32px;padding-top:24px;border-top:1px solid var(--outline-variant);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ai-page-header{margin-bottom:24px}.ai-page-header h1{font-family:var(--font-display);font-size:1.4rem;font-weight:800;color:var(--on-surface);margin-bottom:4px}.ai-layout{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.ai-layout{grid-template-columns:1fr 280px;align-items:start}}.ai-topic-section-title{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:10px}.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}@media(min-width:480px){.topic-grid{grid-template-columns:repeat(3,1fr)}}.topic-btn{padding:12px 10px;border-radius:var(--radius);outline:1px solid var(--outline-variant);background:var(--surface-container-lowest);font-size:.8rem;font-weight:600;color:var(--on-surface);text-align:center;transition:outline-color .12s,background .12s;cursor:pointer;line-height:1.3}.topic-btn:hover{outline-color:var(--outline);background:var(--surface-container-low)}.topic-btn.topic-selected{outline:2px solid var(--primary);background:var(--primary-fixed);color:var(--primary)}.ai-select{width:100%;padding:10px 14px;background:var(--surface-container-lowest);border:none;outline:1px solid var(--outline-variant);border-radius:var(--radius);font-family:var(--font-body);font-size:.9rem;color:var(--on-surface);margin-bottom:16px;cursor:pointer}.ai-credits-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-container) 100%);border-radius:var(--radius-md);padding:20px}.ai-credits-title{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb3;margin-bottom:8px}.ai-credits-count{font-family:var(--font-display);font-size:2.5rem;font-weight:800;color:var(--on-primary);line-height:1;letter-spacing:-.03em;margin-bottom:4px}.ai-credits-sub{font-size:.78rem;color:#ffffff8c;margin-bottom:16px}.ai-credits-bar{height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin-bottom:8px}.ai-credits-fill{height:100%;background:var(--secondary-container);border-radius:2px}.ai-credits-reset{font-size:.72rem;color:#ffffff80}.how-it-works{background:var(--surface-container-lowest);border-radius:var(--radius-md);padding:16px 20px;margin-top:16px}.how-it-works-title{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:12px}.how-it-works ol{list-style:none;counter-reset:steps}.how-it-works li{counter-increment:steps;display:flex;gap:10px;font-size:.82rem;color:var(--on-surface-variant);margin-bottom:8px;line-height:1.4}.how-it-works li:before{content:counter(steps);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--primary-fixed);color:var(--primary);font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:1px}.filter-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--surface-container-low);padding:4px;border-radius:var(--radius-md)}.filter-tab{flex:1;padding:7px 12px;border-radius:var(--radius);font-size:.82rem;font-weight:600;color:var(--on-surface-variant);transition:background .12s,color .12s;text-align:center;cursor:pointer;background:none;border:none}.filter-tab.active{background:var(--surface-container-lowest);color:var(--primary);box-shadow:var(--shadow-card)}.learn-section{margin-bottom:32px}.learn-section-title{font-family:var(--font-display);font-size:.78rem;font-weight:700;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.learn-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px}@media(min-width:560px){.learn-grid{grid-template-columns:1fr 1fr}.learn-grid--odd{grid-template-columns:repeat(3,1fr)}}.learn-card{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--surface-container-lowest);border-radius:var(--radius-md);border:1px solid var(--outline-variant);text-align:left;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s;width:100%}.learn-card:hover{box-shadow:var(--shadow-float);border-color:var(--outline);transform:translateY(-1px)}.learn-card-icon{width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--lesson-colour) 12%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.learn-card-icon .material-symbols-outlined{color:var(--lesson-colour);font-size:22px}.learn-card-body{flex:1;min-width:0}.learn-card-title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--on-surface);margin-bottom:3px}.learn-card-subtitle{font-size:.8rem;color:var(--on-surface-variant);line-height:1.4;margin-bottom:10px}.learn-card-meta{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--on-surface-variant)}.learn-card-arrow{font-size:16px!important;color:var(--lesson-colour)}.lesson-page{max-width:680px}.lesson-back-link{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;color:var(--on-surface-variant);background:none;border:none;cursor:pointer;padding:0;margin-bottom:20px;transition:color .15s}.lesson-back-link:hover{color:var(--on-surface)}.lesson-back-link .material-symbols-outlined{font-size:18px}.lesson-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.lesson-header-icon{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--lesson-colour) 12%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lesson-header-icon .material-symbols-outlined{font-size:26px;color:var(--lesson-colour)}.lesson-header-title{font-family:var(--font-display);font-size:1.4rem;font-weight:800;line-height:1.2;margin-bottom:2px}.lesson-header-subtitle{font-size:.85rem}.lesson-progress-bar-wrap{display:flex;align-items:center;gap:10px;margin-bottom:20px}.lesson-progress-bar-track{flex:1;height:6px;background:var(--surface-container-high);border-radius:99px;overflow:hidden}.lesson-progress-bar-fill{height:100%;border-radius:99px;transition:width .3s ease}.lesson-progress-label{white-space:nowrap;flex-shrink:0}.lesson-card{padding:24px;margin-bottom:20px;border:1px solid var(--outline-variant);box-shadow:var(--shadow-card)}.lesson-step-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--on-surface);margin-bottom:14px}.lesson-step-body{color:var(--on-surface-variant);font-size:.9rem;line-height:1.65}.lesson-body-para{margin-bottom:10px}.lesson-body-para:last-child{margin-bottom:0}.lesson-body-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.lesson-body-bullet{padding-left:14px;position:relative}.lesson-body-bullet:before{content:"•";position:absolute;left:0;color:var(--primary)}.lesson-example{margin-top:18px;background:var(--surface-container-low);border-radius:var(--radius-md);padding:16px;border-left:3px solid var(--primary)}.lesson-example-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--primary);margin-bottom:12px}.lesson-example-lines{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.lesson-example-line{font-size:.875rem;font-family:Courier New,monospace;color:var(--on-surface);line-height:1.5;transition:opacity .3s ease,transform .3s ease}.lesson-example-line.visible{opacity:1;transform:translateY(0)}.lesson-example-line.hidden{opacity:0;height:0;overflow:hidden;pointer-events:none;transform:translateY(-4px)}.lesson-reveal-btn{display:inline-flex;align-items:center;gap:4px;margin-top:4px}.lesson-example-done{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--success);font-weight:600;margin-top:4px}.lesson-example-done .material-symbols-outlined{font-size:18px}.lesson-tip{display:flex;gap:10px;margin-top:16px;background:color-mix(in srgb,var(--secondary-container) 40%,transparent);border-radius:var(--radius);padding:12px 14px}.lesson-tip-icon{font-size:18px!important;color:var(--secondary);flex-shrink:0;margin-top:1px}.lesson-tip p{font-size:.85rem;color:var(--on-surface-variant);line-height:1.5}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-step-dots{display:flex;gap:6px}.lesson-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-container-high);transition:background .2s}.lesson-dot.active{background:var(--primary);width:20px;border-radius:4px}.lesson-dot.done{background:var(--success)}.lesson-complete{text-align:center;padding:40px 16px}.lesson-complete-icon{width:72px;height:72px;border-radius:50%;background:var(--secondary-container);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.lesson-complete-icon .material-symbols-outlined{font-size:36px;color:var(--on-secondary-fixed)}.lesson-complete h1{font-family:var(--font-display);font-size:1.6rem;font-weight:800;margin-bottom:10px}.lesson-complete p{color:var(--on-surface-variant);margin-bottom:28px}.lesson-complete-actions{display:flex;flex-direction:column;gap:10px;align-items:center}@media(min-width:480px){.lesson-complete-actions{flex-direction:row;justify-content:center}}.learn-progress-chip{display:inline-flex;align-items:center;gap:6px;background:var(--success-container);color:var(--success);font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:99px}.learn-progress-chip .material-symbols-outlined{font-size:16px}.learn-card-done{background:color-mix(in srgb,var(--success-container) 30%,var(--surface-container-lowest));border-color:color-mix(in srgb,var(--success) 30%,var(--outline-variant))}.learn-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.learn-card-tick .material-symbols-outlined{font-size:18px;color:var(--success)}.learn-card-done-label{font-size:.78rem;color:var(--success);font-weight:600}.lesson-table-wrap{margin-top:18px;overflow-x:auto;border-radius:var(--radius);border:1px solid var(--outline-variant)}.lesson-table{width:100%;border-collapse:collapse;font-size:.875rem}.lesson-table th{background:var(--primary);color:var(--on-primary);font-weight:600;text-align:left;padding:10px 14px;white-space:nowrap}.lesson-table td{padding:9px 14px;border-bottom:1px solid var(--outline-variant);color:var(--on-surface-variant)}.lesson-table tr:last-child td{border-bottom:none}.lesson-table tbody tr:nth-child(2n) td{background:var(--surface-container-low)}.lesson-chart-wrap{margin-top:18px;background:var(--surface-container-lowest);border-radius:var(--radius-md);border:1px solid var(--outline-variant);padding:16px 8px 8px}.lesson-chart-title{font-size:.8rem;font-weight:600;color:var(--on-surface-variant);text-align:center;margin-bottom:8px;letter-spacing:.01em}.mock-paper-latest{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;margin-top:10px;padding:6px 10px;border-radius:var(--radius)}.mock-paper-latest .material-symbols-outlined{font-size:15px}.mock-latest-pass{background:var(--success-container);color:var(--success)}.mock-latest-fail{background:var(--surface-container);color:var(--on-surface-variant)}.guide-read-badge{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--success);margin-top:6px}.guide-read-badge .material-symbols-outlined{font-size:16px}.guide-check{font-size:14px!important;color:var(--success);flex-shrink:0;vertical-align:middle;margin-right:2px}.guide-check-placeholder{display:inline-block;width:16px;flex-shrink:0}.guide-section-locked{color:var(--on-surface-variant);opacity:.6;cursor:pointer}.guide-section-locked:hover{opacity:.85;background:var(--surface-container);color:var(--on-surface-variant)}.guide-lock{font-size:14px!important;color:var(--on-surface-variant);flex-shrink:0;vertical-align:middle;margin-right:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{background:var(--surface);border-radius:16px;padding:32px 28px 28px;max-width:420px;width:100%;position:relative;box-shadow:0 8px 32px #0000003d;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;color:var(--on-surface-variant);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:var(--surface-container)}.modal-lock-icon .material-symbols-outlined{font-size:40px;color:var(--primary)}.modal-title{font-size:1.2rem;font-family:var(--font-display);margin:0}.modal-tier-badge{font-size:.75rem;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:2px 10px;border-radius:12px;margin:0}.modal-preview{background:var(--surface-container-low);border-radius:8px;padding:12px 14px;text-align:left;font-size:.85rem;color:var(--on-surface-variant);line-height:1.5;max-height:120px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%);width:100%}.modal-preview p{margin:0}.modal-unlock-label{font-size:.875rem;color:var(--on-surface-variant);margin:0}.modal-dismiss{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--on-surface-variant);text-decoration:underline;padding:4px 0}.modal-dismiss:hover{color:var(--on-surface)}.guide-subsection-nav{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:20px}.guide-subsection-nav-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:8px}.guide-subsection-nav-links{display:flex;flex-wrap:wrap;gap:6px}.guide-subsection-link{font-size:.8rem;color:var(--primary);background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:99px;padding:4px 12px;cursor:pointer;transition:background .15s,border-color .15s}.guide-subsection-link:hover{background:var(--primary-fixed);border-color:var(--primary)}.guide-subsection-link-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.guide-subsection-link-active:hover{background:var(--primary);border-color:var(--primary)}.guide-scroll-prompt{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;color:var(--on-surface-variant);padding:10px;margin-top:12px;opacity:.7}.guide-scroll-prompt .material-symbols-outlined{font-size:16px;animation:bounce-down 1.5s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.guide-section-label{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.guide-reading-time{font-size:.68rem;font-weight:500;color:var(--on-surface-variant);opacity:.75}.guide-section-active .guide-reading-time{color:#ffffffa6;opacity:1}.guide-toast{position:fixed;bottom:88px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;background:var(--on-surface);color:var(--surface);font-size:.85rem;font-weight:600;padding:10px 18px;border-radius:99px;box-shadow:0 4px 16px #00000047;z-index:500;animation:toast-in .25s ease,toast-out .3s ease 2.5s forwards;pointer-events:none;white-space:nowrap}.guide-toast .material-symbols-outlined{font-size:18px;color:var(--success)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.quiz-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:600px){.quiz-cat-grid{grid-template-columns:repeat(3,1fr)}}.quiz-cat-card{display:flex;flex-direction:column;align-items:flex-start;padding:18px;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:box-shadow .15s,border-color .15s,transform .1s;gap:6px;width:100%}.quiz-cat-card:hover{box-shadow:var(--shadow-float);border-color:var(--outline);transform:translateY(-1px)}.quiz-cat-all{grid-column:1 / -1;flex-direction:row;align-items:center;background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.quiz-cat-all .quiz-cat-icon{color:var(--on-primary)}.quiz-cat-all .quiz-cat-name{color:var(--on-primary);font-size:1rem}.quiz-cat-all .quiz-cat-desc{color:#ffffffb3}.quiz-cat-icon{font-size:22px!important;color:var(--primary);margin-bottom:4px}.quiz-cat-name{font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--on-surface)}.quiz-cat-desc{font-size:.78rem;color:var(--on-surface-variant)}.quiz-cat-label{font-size:.78rem;color:var(--on-surface-variant);margin-top:2px}.quiz-cat-change{color:var(--primary);text-decoration:underline;cursor:pointer;font-size:.78rem;background:none;border:none;padding:0}.app-header-nav-locked{color:#ffffff59;font-size:.875rem;font-weight:500;padding:6px 12px;border-radius:var(--radius);cursor:default;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:4px}.bottom-nav-item--locked{opacity:.4;cursor:default;position:relative}.nav-lock-badge{position:absolute;top:6px;right:calc(50% - 16px);background:var(--primary);color:var(--on-primary);border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;line-height:1}.sample-test-cta{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-container) 100%);border-radius:var(--radius-md);padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.sample-test-cta-content{flex:1;display:flex;align-items:center;gap:14px;min-width:0}.sample-test-cta-icon{font-size:1.75rem;flex-shrink:0}.sample-test-cta-title{font-family:var(--font-display);font-weight:700;color:var(--on-primary);font-size:1rem;margin-bottom:3px}.sample-test-cta-desc{color:#ffffffbf;font-size:.82rem;line-height:1.4}.upsell-section{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:24px;margin-bottom:24px}.upsell-section-title{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--on-surface);margin-bottom:4px}.upsell-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.feature-showcase-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:20px}@media(min-width:500px){.feature-showcase-grid{grid-template-columns:1fr 1fr}}.feature-card-locked{display:flex;align-items:flex-start;gap:12px;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius);padding:14px;position:relative}.feature-card-icon{font-size:1.4rem;flex-shrink:0;margin-top:1px}.feature-card-body{flex:1;min-width:0}.feature-card-title{font-family:var(--font-display);font-weight:700;font-size:.875rem;color:var(--on-surface);margin-bottom:3px}.feature-card-desc{font-size:.78rem;color:var(--on-surface-variant);line-height:1.4}.feature-lock-icon{color:var(--on-surface-variant);font-size:1rem!important;flex-shrink:0;opacity:.5;margin-top:2px}.chart-locked-wrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--outline-variant);background:var(--surface-container-lowest)}.chart-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#f9f9f9e0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;padding:16px;text-align:center}.chart-locked-icon{font-size:1.75rem!important;color:var(--on-surface-variant);margin-bottom:8px}.chart-locked-title{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--on-surface);margin-bottom:4px}.chart-locked-msg{font-size:.8rem;color:var(--on-surface-variant);line-height:1.4;max-width:220px}.chart-locked-bars{display:flex;align-items:flex-end;gap:8px;padding:24px 16px 16px;height:120px}.chart-locked-bar{flex:1;background:var(--outline-variant);border-radius:3px 3px 0 0;min-height:8px}
