:root{--font-display: "Fraunces", serif;--font-body: "DM Sans", sans-serif;--ink: #1a1a2e;--ink-2: #3d3d5c;--ink-3: #7a7a9a;--paper: #faf9f6;--paper-2: #f2f0eb;--paper-3: #e8e4dc;--leaf: #2d6a4f;--leaf-mid: #52b788;--leaf-light: #d8f3dc;--amber: #e76f51;--amber-light: #fde8df;--gold: #f4a261;--gold-light: #fef3e0;--sky: #1d6fa4;--sky-light: #dbeafe;--red: #c1121f;--red-light: #ffe0e2;--border: rgba(26, 26, 46, .1);--border-strong: rgba(26, 26, 46, .2);--radius: 10px;--radius-sm: 6px;--radius-pill: 100px}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#162033;background:linear-gradient(180deg,#eef4ff,#f8fbff 35%,#fff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--border: #d7e2f2;--border-strong: #b7c7de;--card: rgba(255, 255, 255, .9);--card-strong: #ffffff;--primary: #1756d3;--primary-dark: #0f45ab;--text-muted: #5a6783;--success-bg: #e7f8ee;--success-border: #97d2ae;--danger-bg: #fff0f0;--danger-border: #efb3b3;--info-bg: #edf4ff;--info-border: #b8cff8;--shadow: 0 24px 56px rgba(47, 74, 118, .12)}:root{--border: rgba(26, 26, 46, .1);--border-strong: rgba(26, 26, 46, .2);--card: #ffffff;--card-strong: #ffffff;--primary: var(--ink);--primary-dark: #0f172a;--text-muted: var(--ink-3);--success-bg: var(--leaf-light);--success-border: rgba(45, 106, 79, .28);--danger-bg: var(--red-light);--danger-border: rgba(193, 18, 31, .22);--info-bg: var(--sky-light);--info-border: rgba(29, 111, 164, .2);--shadow: 0 18px 42px rgba(26, 26, 46, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:linear-gradient(rgba(26,26,46,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(26,26,46,.02) 1px,transparent 1px),var(--paper);background-size:28px 28px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(183,199,222,.5);background:#f8fbffcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{margin:0;font-size:1.5rem}.topbar-subtitle,.micro-copy{margin:.3rem 0 0;color:var(--text-muted);font-size:.92rem}.eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.topbar-actions,.nav-links,.user-chip,.stats-inline,.summary-values,.action-row{display:flex;align-items:center;gap:.85rem}.nav-links a{color:var(--text-muted);font-weight:600}.nav-links a.active{color:var(--primary)}.user-chip{flex-wrap:wrap;justify-content:flex-end}.page-container{width:min(1160px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.app-footer{width:min(1160px,calc(100% - 2rem));margin:0 auto;padding:0 0 2rem;color:var(--text-muted);font-size:.92rem}.app-footer-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.page,.stack-xl,.stack-lg,.stack-md{display:flex;flex-direction:column}.stack-xl{gap:1.5rem}.stack-lg{gap:1rem}.stack-md{gap:.75rem}.page-header,.card-header,.summary-row,.sticky-footer{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.card,.auth-card,.state-card{background:var(--card);border:1px solid rgba(215,226,242,.9);border-radius:22px;padding:1.4rem;box-shadow:var(--shadow)}.auth-card,.state-card{width:min(460px,calc(100vw - 2rem));background:var(--card-strong)}.card h2,.card h3,.card h4,.auth-card h2,.state-card h2{margin:0 0 .5rem}.card p,.auth-card p,.state-card p,.field span,.fieldset legend{margin:0}.muted-text{color:var(--text-muted)}.full-page-state{min-height:100vh;display:grid;place-items:center;padding:1rem}.entry-banner{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:#f8fbff}.pill-row{display:flex;flex-wrap:wrap;gap:.6rem}.two-column-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card strong{font-size:1.6rem}.inset-card{padding:1rem;box-shadow:none;background:#f8fbff}.stat-label{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:flex;flex-direction:column;gap:.45rem}.fieldset{border:1px solid var(--border);border-radius:18px;padding:1rem}.input{width:100%;min-height:2.9rem;border-radius:14px;border:1px solid var(--border-strong);background:#fff;padding:.75rem .9rem;color:inherit}.input-textarea{min-height:8rem;resize:vertical}.input:disabled{background:#f5f8fd;color:var(--text-muted)}.checkbox-grid{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-item{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:999px;background:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.85rem;padding:.75rem 1.2rem;border-radius:999px;border:none;cursor:pointer;background:var(--primary);color:#fff;font-weight:700}.button:hover{background:var(--primary-dark)}.button:disabled{opacity:.7;cursor:progress}.button-secondary,.button-ghost{background:#fff;color:var(--primary);border:1px solid var(--border-strong)}.button-ghost:hover,.button-secondary:hover{background:#f0f5ff}.text-link{color:var(--primary);font-weight:700}.message{padding:.85rem 1rem;border-radius:16px;border:1px solid transparent}.message-error{background:var(--danger-bg);border-color:var(--danger-border)}.message-info{background:var(--info-bg);border-color:var(--info-border)}.message-success{background:var(--success-bg);border-color:var(--success-border)}.simple-list{margin:0;padding-left:1.15rem;color:var(--text-muted)}.pill,.stat-chip{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border-radius:999px;font-size:.85rem;font-weight:700;background:#eef4ff;color:var(--primary)}.pill-success{background:var(--success-bg);color:#207448}.pill-danger{background:var(--danger-bg);color:#b14545}.pill-warning{background:#fff5dd;color:#9b6a00}.question-card,.result-card{gap:1rem}.result-correct{border-color:var(--success-border);background:#fbfffd}.result-wrong{border-color:var(--danger-border);background:snow}.question-text{margin:0;font-weight:600}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.question-actions{display:flex;justify-content:flex-end}.option-button{display:flex;align-items:flex-start;gap:.75rem;border-radius:18px;border:1px solid var(--border);background:#fff;padding:.95rem 1rem;text-align:left}button.option-button{cursor:pointer}.option-selected{border-color:#7aa1ee;background:#edf4ff}.option-correct{border-color:var(--success-border);background:var(--success-bg)}.option-wrong{border-color:var(--danger-border);background:var(--danger-bg)}.option-key{flex:0 0 auto;display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#1756d31a;color:var(--primary);font-weight:700}.sticky-footer{position:sticky;bottom:1rem;border-radius:20px;border:1px solid rgba(183,199,222,.75);padding:1rem 1.2rem;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-row{padding:.85rem 0;border-bottom:1px solid rgba(215,226,242,.8)}.summary-row:last-child{border-bottom:none}.result-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.choice-grid,.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.choice-card,.template-card{display:flex;flex-direction:column;gap:.85rem;width:100%;border-radius:18px;border:1px solid var(--border);background:#fff;padding:1rem;text-align:left}button.choice-card,button.template-card{cursor:pointer}.choice-card-active,.template-card-active{border-color:#7aa1ee;background:#edf4ff}.template-card-header,.template-meta,.result-answer-grid{display:grid;gap:.75rem}.template-meta{grid-template-columns:repeat(3,minmax(0,1fr));color:var(--text-muted);font-size:.92rem}.section-card{box-shadow:none;background:#f8fbff}.answer-panel{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:16px;background:#fff}.answer-panel-block strong{white-space:pre-wrap}.result-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-partial{border-color:#e8cf91;background:#fffdf6}.action-row{flex-wrap:wrap}.section-heading{padding:.25rem 0}.section-heading h3{margin:0}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:640px}.data-table th,.data-table td{padding:.8rem .9rem;border-bottom:1px solid var(--border);text-align:left}.data-table th{color:var(--text-muted);font-size:.86rem;text-transform:uppercase}.table-row-weak{background:var(--danger-bg)}.table-row-strong{background:var(--success-bg)}.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.rubric-panel{padding:.9rem 1rem;border:1px solid var(--border);border-radius:16px;background:#fff}.rubric-panel-success{border-color:var(--success-border);background:var(--success-bg)}.rubric-panel-danger{border-color:var(--danger-border);background:var(--danger-bg)}.guide-card{padding:.9rem 1rem;border:1px solid var(--border);border-radius:16px;background:#fff}.guide-card summary{cursor:pointer;font-weight:700}.guide-card p{margin-top:.75rem;color:var(--text-muted)}.progress-item{display:flex;flex-direction:column;gap:.45rem}.progress-track{height:.55rem;overflow:hidden;border-radius:999px;background:#e6edf8}.progress-fill{height:100%;border-radius:inherit;background:var(--primary)}.timer-chip{background:#fff5dd;color:#9b6a00}.timer-expired{background:var(--danger-bg);color:#b14545}.plan-card{padding:1.2rem}@media (max-width: 960px){.topbar,.page-header,.card-header,.sticky-footer,.summary-row,.app-footer-row{flex-direction:column;align-items:stretch}.topbar-actions,.nav-links,.user-chip,.stats-inline,.summary-values,.action-row{flex-wrap:wrap;justify-content:flex-start}.two-column-grid,.stats-grid,.form-grid,.option-grid,.choice-grid,.plan-grid,.template-meta,.result-answer-grid,.compact-grid,.rubric-grid{grid-template-columns:1fr}}@media (max-width: 640px){.topbar{padding:1.2rem 1rem}.page-container{width:min(100% - 1rem,1160px);padding:1rem 0 2rem}.app-footer{width:min(100% - 1rem,1160px)}.card,.auth-card,.state-card{padding:1.1rem;border-radius:18px}}h1,h2,h3,.brand,.stat-card strong,.ui-stat-card strong,.score-orb strong,.score-circle-small strong{font-family:var(--font-display);font-weight:600;letter-spacing:0}.topbar{border-bottom:1px solid var(--border);background:#faf9f6eb}.brand{color:var(--ink)}.nav-links a.active{color:var(--leaf)}.eyebrow{color:var(--leaf);letter-spacing:.06em}.card,.auth-card,.state-card{border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.button,.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 18px;transition:opacity .15s ease,transform .15s ease,border-color .15s ease}.button:hover,.ui-button:hover{opacity:.85}.button:active,.ui-button:active{transform:scale(.97)}.button:disabled,.ui-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-secondary,.ui-button-outline{background:transparent;border-color:var(--border-strong);color:var(--ink)}.button-ghost,.ui-button-ghost{background:transparent;color:var(--sky);padding:6px 10px}.ui-button-leaf{background:var(--leaf);color:#fff}.ui-button-primary{background:var(--ink);color:#fff}.ui-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.ui-card-default{background:#fff}.ui-card-success{background:var(--leaf-light);border-color:#2d6a4f33}.ui-card-paper,.ui-stat-card{background:var(--paper-2)}.ui-badge,.pill,.stat-chip{display:inline-flex;align-items:center;border-radius:var(--radius-pill);font-size:11px;font-weight:500;padding:3px 10px}.ui-badge.badge-free{background:var(--leaf-light);color:var(--leaf)}.ui-badge.badge-pro{background:var(--gold-light);color:#b45309}.ui-badge.badge-locked{background:var(--paper-2);color:var(--ink-3)}.ui-badge.badge-info,.pill,.stat-chip{background:var(--sky-light);color:var(--sky)}.pill-success{background:var(--leaf-light);color:var(--leaf)}.pill-warning,.message-warning{background:var(--gold-light);color:#9a5b10;border-color:#f4a26140}.pill-danger{background:var(--red-light);color:var(--red)}.ui-stat-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.ui-stat-card span{color:var(--ink-3);display:block;font-size:11px;margin-bottom:.35rem}.ui-stat-card strong{color:var(--ink);display:block;font-size:26px;line-height:1}.ui-progress-track{background:var(--paper-3);border-radius:var(--radius-pill);height:6px;overflow:hidden}.ui-progress-fill{border-radius:inherit;height:100%}.progress-green{background:var(--leaf)}.progress-amber{background:var(--gold)}.progress-red{background:var(--red)}.score-summary-card{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:1.2rem;grid-template-columns:auto minmax(0,1fr);padding:1.5rem;box-shadow:var(--shadow)}.score-orb,.score-circle-small{align-items:center;border-radius:999px;display:inline-flex;justify-content:center;text-align:center}.score-orb{border:2px solid var(--leaf);color:var(--ink);flex-direction:column;height:132px;width:132px}.score-orb strong{font-size:34px;line-height:1}.score-orb span{color:var(--ink-3);font-size:12px}.score-circle-small{border:2px solid var(--leaf);flex:0 0 auto;flex-direction:column;height:72px;width:72px}.score-full{border-color:var(--leaf)}.score-partial{border-color:var(--gold)}.score-zero{border-color:var(--red)}.section-results-table tr.section-row-strong{background:var(--leaf-light);color:var(--leaf)}.section-results-table tr.section-row-mid{background:var(--gold-light);color:#8a540f}.section-results-table tr.section-row-weak{background:var(--red-light);color:var(--red)}.section-total-line{margin:1rem 0 0}.rubric-feedback-card{display:flex;flex-direction:column;gap:1rem}.rubric-feedback-top{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.student-answer-block{background:var(--paper-2);border-left:3px solid var(--ink);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem}.student-answer-block span{color:var(--ink-3);font-size:11px;font-weight:500}.rubric-list li{align-items:center;display:flex;gap:.45rem}.rubric-dot{border-radius:999px;display:inline-block;height:8px;width:8px}.rubric-dot-green{background:var(--leaf)}.rubric-dot-red{background:var(--red)}.upgrade-gate-inline{color:var(--ink-3);font-size:.92rem}.inline-button{background:transparent;border:0;cursor:pointer;padding:0}.upgrade-gate-banner{align-items:center;background:var(--ink);border-radius:var(--radius);color:#fff;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.upgrade-gate-blur{position:relative}.upgrade-blurred{filter:blur(2px);opacity:.45;pointer-events:none}.upgrade-overlay{align-items:center;background:#faf9f6e0;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:.75rem;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.exam-timer{background:var(--leaf-light);border:1px solid rgba(45,106,79,.2);border-radius:var(--radius-pill);color:var(--leaf);font-family:var(--font-display);font-weight:600;min-width:92px;padding:.45rem .9rem;text-align:center}.exam-timer-warning{background:var(--gold-light);border-color:#f4a2614d;color:#9a5b10}.exam-timer-critical,.exam-timer-expired{animation:timerPulse 1.2s infinite;background:var(--red-light);border-color:#c1121f40;color:var(--red)}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.test-runner{margin:-2rem auto 0;min-height:calc(100vh - 120px)}.test-topbar{align-items:center;background:#faf9f6f2;border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:.9rem 1rem;position:sticky;top:1rem;z-index:8}.test-counter{justify-self:end}.test-card-wrap{margin:1.5rem auto;max-width:640px}.progress-dots{display:flex;gap:.35rem;justify-content:center;margin-bottom:1rem}.progress-dot{background:var(--paper-3);border-radius:999px;height:8px;width:8px}.progress-dot-active{background:var(--ink);width:22px}.progress-dot-answered{background:var(--leaf-mid)}.test-bottom-bar{align-items:center;background:#fffffff5;border:1px solid var(--border);border-radius:var(--radius);bottom:1rem;display:flex;gap:.75rem;justify-content:space-between;margin:1rem auto 0;max-width:760px;padding:.9rem 1rem;position:sticky}.test-actions{display:flex;gap:.75rem}.question-text{color:var(--ink);font-size:1.05rem}.option-button{border-radius:var(--radius)}.option-selected{background:var(--leaf-light);border-color:var(--leaf)}.option-key{background:var(--paper-2);color:var(--ink)}.creation-card{margin:0 auto;max-width:560px}.step-block{border-top:1px solid var(--border);padding-top:1rem}.step-label{color:var(--ink-3);display:block;font-size:11px;font-weight:500;margin-bottom:.5rem;text-transform:uppercase}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip-button{background:var(--paper-2);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--ink-2);cursor:pointer;font-size:13px;padding:.45rem .8rem}.chip-button-active{background:var(--ink);border-color:var(--ink);color:#fff}@media (max-width: 760px){.score-summary-card,.test-topbar{grid-template-columns:1fr}.score-orb{height:112px;width:112px}.test-counter{justify-self:start}.test-bottom-bar{align-items:stretch;flex-direction:column}}
