@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap";:root{color-scheme:light;--ielts-red: #C8102E;--ielts-red-dark: #9A0C22;--ielts-red-soft: #FFF5F6;--ielts-red-medium: rgba(200, 16, 46, .06);--emerald: var(--ielts-red);--emerald-dark: var(--ielts-red-dark);--emerald-soft: var(--ielts-red-soft);--bg: #FAF9F5;--bg-gradient-start: #FFFFFF;--bg-gradient-middle: #FAF9F5;--bg-gradient-end: #F0EFEA;--surface: #ffffff;--surface-raised: #fcfbfa;--ink: #111827;--ink-soft: #374151;--muted: #6b7280;--faint: #f3f4f6;--line: rgba(200, 16, 46, .08);--line-strong: rgba(200, 16, 46, .16);--line-neutral: #e5e7eb;--red: #DC2626;--red-soft: #FEF2F2;--green: #059669;--green-soft: #ECFDF5;--amber: #D97706;--amber-soft: #FEF3C7;--blue: #2563EB;--blue-soft: #EFF6FF;--font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Lora", Georgia, Cambria, "Times New Roman", Times, serif;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(20, 20, 20, .02);--shadow-tight: 0 4px 14px rgba(200, 16, 46, .02), 0 2px 6px rgba(0, 0, 0, .02);--shadow-soft: 0 16px 48px rgba(169, 29, 34, .03), 0 4px 20px rgba(0, 0, 0, .02);--shadow-lg: 0 24px 60px rgba(169, 29, 34, .05), 0 8px 24px rgba(0, 0, 0, .03);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,var(--bg-gradient-start) 0,var(--bg-gradient-middle) 400px,var(--bg-gradient-end) 100%);color:var(--ink);font-family:var(--font-sans)}body.modal-open{overflow:hidden}button,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.app-shell{width:min(1360px,calc(100% - 40px));margin:0 auto;padding:0 0 72px}.top-nav{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;min-height:72px;padding:8px 0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#ffffffd9;transition:all .25s ease}.brand-lockup{display:inline-flex;align-items:center;width:fit-content;min-width:0;max-width:100%;gap:12px;color:var(--ielts-red);text-decoration:none;font-family:var(--font-serif);font-size:24px;font-weight:700;letter-spacing:-.02em;transition:opacity .2s ease}.brand-lockup:hover{opacity:.9}.brand-lockup span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border:1px solid rgba(200,16,46,.15);border-radius:50%;background:linear-gradient(135deg,var(--ielts-red-soft),#fff);box-shadow:var(--shadow-sm);color:var(--ielts-red)}.brand-mark svg{width:18px;height:18px}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.nav-pricing-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:14px;font-weight:700;text-decoration:none;transition:all .2s ease}.nav-pricing-link:hover,.nav-pricing-link.is-active{border-color:#c8102e2e;background:var(--ielts-red-soft);color:var(--ielts-red-dark)}.nav-resource-menu{position:relative}.nav-resource-trigger{appearance:none;background:transparent;cursor:pointer;font:inherit;gap:6px}.nav-resource-trigger svg{width:15px;height:15px;transition:transform .2s ease}.nav-resource-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:120;display:grid;gap:6px;width:min(340px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffffffa;box-shadow:var(--shadow-soft);padding:8px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.nav-resource-dropdown:before{position:absolute;right:0;bottom:100%;left:0;height:8px;content:""}.nav-resource-menu:hover .nav-resource-dropdown,.nav-resource-menu:focus-within .nav-resource-dropdown,.nav-resource-menu.is-open .nav-resource-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-resource-menu:hover .nav-resource-trigger svg,.nav-resource-menu:focus-within .nav-resource-trigger svg,.nav-resource-menu.is-open .nav-resource-trigger svg{transform:rotate(180deg)}.nav-resource-dropdown a{display:grid;gap:3px;border-radius:6px;color:var(--ink);padding:10px 11px;text-decoration:none}.nav-resource-dropdown a:hover,.nav-resource-dropdown a:focus-visible{background:var(--ielts-red-soft);color:var(--ielts-red-dark);outline:none}.nav-resource-dropdown span{font-size:14px;font-weight:800}.nav-resource-dropdown small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0 0 0 0);white-space:nowrap}.language-switcher{display:inline-flex;align-items:center;position:relative}.language-switcher-icon{position:absolute;left:12px;z-index:1;display:inline-flex;width:16px;height:16px;color:var(--muted);pointer-events:none}.language-switcher-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.language-switcher select{min-height:38px;width:180px;padding:0 36px 0 38px;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font-size:14px;font-weight:600;outline:none;appearance:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234B5563' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}.language-switcher select:hover{border-color:var(--line-strong);box-shadow:var(--shadow-tight)}.language-switcher select:focus-visible{border-color:var(--ielts-red);box-shadow:0 0 0 3px var(--ielts-red-soft)}.secondary-button,.google-auth-button,.account-button,.icon-button,.filter-group button,.topic-shelf button{min-height:38px;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.secondary-button{padding:0 16px;color:var(--ielts-red);border-color:#c8102e33;text-decoration:none}.secondary-button:hover{background:var(--ielts-red-soft);border-color:var(--ielts-red);color:var(--ielts-red-dark)}.account-button{width:38px;padding:0;border-radius:50%;background:var(--faint)}.google-auth-button{gap:10px;padding:0 16px;color:var(--ink-soft);border-color:var(--line-neutral)}.google-auth-button:hover{background:var(--faint);border-color:var(--line-strong)}.google-icon{stroke:none;width:18px;height:18px}.google-icon path:nth-child(1){fill:#4285f4}.google-icon path:nth-child(2){fill:#34a853}.google-icon path:nth-child(3){fill:#fbbc05}.google-icon path:nth-child(4){fill:#ea4335}.account-menu{position:relative;min-width:0}.account-menu-button{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:280px;min-height:38px;padding:4px 12px 4px 4px;border:1px solid var(--line-neutral);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm)}.account-menu-button:hover,.account-menu-button[aria-expanded=true]{border-color:#c8102e4d;box-shadow:var(--shadow-tight);transform:translateY(-1px)}.account-menu-button svg{flex:0 0 auto;width:14px;height:14px;color:var(--muted)}.account-avatar{display:grid;place-items:center;overflow:hidden;width:30px;height:30px;border-radius:50%;background:var(--ielts-red-soft);color:var(--ielts-red);font-size:13px;font-weight:700}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-email{max-width:150px;overflow:hidden;color:var(--ink-soft);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-dropdown{position:absolute;z-index:150;top:calc(100% + 8px);right:0;display:grid;min-width:220px;padding:8px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:slideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.account-dropdown button{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font-size:14px;font-weight:600;text-align:left;transition:all .15s ease}.account-dropdown button:hover,.account-dropdown button.is-active{background:var(--ielts-red-soft);color:var(--ielts-red-dark)}.account-dropdown button:hover svg{color:var(--ielts-red-dark)}.account-dropdown .danger-menu-item:hover{background:var(--red-soft);color:var(--red)}.account-dropdown .danger-menu-item:hover svg{color:var(--red)}.icon-button{width:32px;min-height:32px;padding:0;border-radius:50%;color:var(--muted);border-color:transparent;box-shadow:none}.icon-button:hover{background:var(--faint);color:var(--ink)}.icon-button:hover,.google-auth-button:hover,.secondary-button:hover,.topic-shelf button:hover,.filter-group button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-tight);transform:translateY(-1px)}.hero-workspace{padding:56px 0 0}.hero-copy{display:grid;gap:16px;max-width:800px;margin:0 auto 36px;text-align:center}.hero-copy h1{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:48px;font-weight:700;line-height:1.15;letter-spacing:-.01em}.hero-copy p{color:var(--muted);font-size:17px;line-height:1.65;max-width:600px;margin:0 auto}.composer-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1200px;margin:0 auto}.composer-panel{display:flex;flex-direction:column;gap:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);padding:24px;transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}.composer-panel:after{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--ielts-red),#e05260);opacity:.85}.composer-panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--faint);padding-bottom:14px}.panel-title-row>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.panel-title-row h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:20px;font-weight:700}.panel-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--ielts-red);background:var(--ielts-red-soft);border-radius:8px}.panel-icon svg{width:18px;height:18px}.task-type-controls{display:grid;justify-items:end;gap:8px;flex:0 0 auto}.task-switch{display:inline-flex;align-items:center;gap:4px;background:var(--faint);padding:4px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.02)}.task-switch span{display:none}.task-switch button{min-height:30px;padding:0 16px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;transition:all .2s ease;box-shadow:none}.task-switch button.is-active{background:var(--surface);color:var(--ielts-red-dark);box-shadow:var(--shadow-sm)}.task-module-switch{display:grid;justify-items:end;gap:4px}.task-module-switch>span{display:none}.task-module-switch>div{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line-neutral);border-radius:999px;background:#ffffffb8;padding:2px}.task-module-switch button{min-height:24px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;transition:all .2s ease;box-shadow:none}.task-module-switch button.is-active{background:var(--ielts-red-soft);color:var(--ielts-red-dark);box-shadow:none}textarea{width:100%;border:1px solid var(--line-neutral);border-radius:var(--radius);background:#fdfdfb;color:var(--ink);font-family:var(--font-sans);outline:none;resize:vertical;transition:all .2s cubic-bezier(.4,0,.2,1)}textarea::placeholder{color:#9ca3af}textarea:focus{border-color:var(--ielts-red);background:var(--surface);box-shadow:0 0 0 4px var(--ielts-red-soft)}.prompt-input{min-height:120px;overflow:hidden;padding:16px;font-size:15px;line-height:1.6}.task-image-upload{display:grid;gap:12px;border:1px dashed rgba(200,16,46,.26);border-radius:var(--radius);background:#fff8f8;padding:14px}.task-image-upload.has-image{border-style:solid;background:var(--surface-raised)}.task-image-upload:focus-visible{border-color:var(--ielts-red);box-shadow:0 0 0 4px var(--ielts-red-soft);outline:none}.task-image-upload-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.task-image-upload.has-image .task-image-upload-main{align-items:center;padding-top:10px;border-top:1px solid var(--faint)}.task-image-copy{display:grid;gap:3px;min-width:0}.task-image-copy strong{color:var(--ink);font-size:14px;font-weight:800}.task-image-copy span{color:var(--muted);font-size:12px;font-weight:600;line-height:1.45}.task-image-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.task-image-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.task-image-button{gap:8px}.task-image-button svg,.task-image-remove svg{width:16px;height:16px}.task-image-preview-row{display:grid;gap:8px;margin:0;min-width:0}.task-image-preview-frame{display:grid;width:100%;min-height:260px;place-items:center;overflow:visible;padding:10px;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-tight)}.task-image-preview-frame img{display:block;width:100%;max-width:100%;height:auto;max-height:min(62vh,620px);object-fit:contain}.task-image-error{margin:0;color:var(--red);font-size:13px;font-weight:700;line-height:1.45}.essay-input{min-height:210px;padding:20px;font-size:16px;line-height:1.65;font-family:var(--font-serif)}.topic-shelf{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.topic-shelf span{color:var(--muted);font-size:12px;font-weight:600}.topic-shelf button{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 10px;background:var(--surface-raised);border-color:var(--line-neutral);font-size:12px;font-weight:500;color:var(--ink-soft);border-radius:6px;box-shadow:none}.topic-shelf button svg{width:14px;height:14px}.topic-shelf button:hover{background:var(--ielts-red-soft);color:var(--ielts-red);border-color:var(--ielts-red)}.word-count{display:inline-flex;align-items:baseline;gap:4px;color:var(--muted);font-size:12px;font-weight:600}.word-count span{color:var(--ielts-red-dark);font-size:18px;font-weight:800}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;border-top:1px solid var(--faint);padding-top:18px}.composer-submit-group{display:grid;gap:8px}.composer-submit-group p{max-width:520px;margin:0;color:var(--muted);font-size:13px;font-weight:600;line-height:1.5}.evaluation-status{display:grid;gap:12px;width:100%;padding:14px 16px;border:1px solid rgba(200,16,46,.16);border-radius:var(--radius);background:linear-gradient(135deg,#fff5f6db,#fff)}.evaluation-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.evaluation-status-heading span{display:block;color:var(--ielts-red);font-size:11px;font-weight:800;text-transform:uppercase}.evaluation-status-heading strong{display:block;margin-top:3px;color:var(--ink);font-size:15px;font-weight:800;line-height:1.3}.evaluation-status-heading em{flex:0 0 auto;color:var(--ink-soft);font-size:12px;font-style:normal;font-weight:800;line-height:1.4}.evaluation-status p{margin:0;color:var(--ink-soft);font-size:13px;font-weight:600;line-height:1.5}.evaluation-progress{position:relative;overflow:hidden;height:8px;border-radius:999px;background:#c8102e1a}.evaluation-progress span{display:block;position:relative;overflow:hidden;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ielts-red),var(--blue));transition:width .45s ease}.evaluation-progress span:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);content:"";transform:translate(-100%);animation:evaluationProgressShine 1.35s ease-in-out infinite}.evaluation-status-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.45}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:46px;gap:10px;box-sizing:border-box;padding:0 22px;border:1px solid var(--ielts-red-dark);border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--ielts-red),#b00d26);color:#fff;font-size:15px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px #c8102e40;transition:all .2s cubic-bezier(.4,0,.2,1)}.primary-button:hover:not(:disabled){box-shadow:0 6px 20px #c8102e59;transform:translateY(-2px)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{border-color:#d1d5db;background:#d1d5db;box-shadow:none;color:#9ca3af}.primary-button.is-loading:disabled{border-color:var(--ielts-red-dark);background:linear-gradient(135deg,var(--ielts-red),#b00d26);color:#fff;box-shadow:0 4px 14px #c8102e33}.primary-button.is-loading svg{animation:evaluationIconPulse 1.2s ease-in-out infinite}@keyframes evaluationProgressShine{to{transform:translate(100%)}}@keyframes evaluationIconPulse{50%{transform:rotate(12deg) scale(1.08)}}.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;border:1px solid rgba(220,38,38,.8);border-radius:var(--radius-sm);background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:14px;font-weight:700;box-shadow:0 4px 12px #dc262626;transition:all .2s ease;padding:0 20px}.danger-button:hover:not(:disabled){box-shadow:0 6px 18px #dc262640;transform:translateY(-1px)}.danger-button:disabled{opacity:.6}.evaluation-error{max-width:1200px;margin:20px auto 0;padding:14px 18px;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius);background:var(--red-soft);color:var(--red);font-size:14px;font-weight:600;line-height:1.5;box-shadow:var(--shadow-sm)}.result-section{max-width:1200px;margin:48px auto 0;scroll-margin-top:24px}.section-heading{margin-bottom:24px}.section-heading h2{margin:0;font-family:var(--font-serif);font-size:32px;font-weight:700;line-height:1.2}.section-heading p,.review-control-row p,.details-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}.result-actions{display:flex;gap:12px}.result-footer-actions{justify-content:flex-end;margin-top:24px}.result-actions .secondary-button{min-height:40px;padding:0 18px;text-decoration:none;font-weight:700}.mock-review-section{margin-top:64px}.score-block{display:grid;grid-template-columns:280px 1fr;gap:24px;margin-bottom:28px}.review-prompt-panel{display:grid;gap:16px;margin-bottom:28px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.review-prompt-heading{display:flex;align-items:center;gap:14px;min-width:0}.review-prompt-icon{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--ielts-red-soft);color:var(--ielts-red)}.review-prompt-icon svg{width:20px;height:20px}.review-prompt-kicker{display:block;color:var(--ielts-red);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.review-prompt-heading h3{margin:2px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:22px;font-weight:700;line-height:1.25}.review-prompt-copy{display:grid;gap:10px;padding:16px 18px;border:1px solid var(--faint);border-radius:var(--radius);background:var(--surface-raised)}.review-prompt-copy p{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.65;overflow-wrap:break-word}.review-prompt-figure{display:grid;gap:10px;margin:0;padding:12px;border:1px solid var(--line-neutral);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-tight)}.review-prompt-figure img{display:block;width:100%;max-height:min(62vh,680px);object-fit:contain;border-radius:var(--radius-sm)}.review-prompt-figure figcaption{margin:0;color:var(--muted);font-size:12px;font-weight:600;line-height:1.45;text-align:center}.score-strip{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--ielts-red-soft) 0%,#ffffff 100%);box-shadow:var(--shadow-soft);padding:32px 24px;text-align:center;position:relative;overflow:hidden}.score-strip:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--ielts-red)}.overall-score{display:flex;flex-direction:column;align-items:center;gap:10px}.overall-score span{color:var(--ielts-red-dark);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.overall-score strong{color:var(--ielts-red);font-size:64px;font-family:var(--font-serif);font-weight:800;line-height:1;text-shadow:0 2px 10px rgba(200,16,46,.06)}.score-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.score-module-detail{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:all .2s ease;position:relative}.score-module-detail:hover{transform:translateY(-1px);box-shadow:var(--shadow-tight);border-color:#c8102e26}.score-module-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--faint);padding-bottom:10px}.score-module-heading div{min-width:0}.score-module-heading span,.score-module-copy span{display:block;color:var(--ielts-red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.score-module-heading h3{margin:2px 0 0;color:var(--ink);font-size:16px;font-weight:700;line-height:1.2}.score-module-heading strong{flex:0 0 auto;color:var(--ielts-red);font-size:28px;font-family:var(--font-serif);font-weight:700;line-height:1}.score-module-copy p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}.score-module-copy span+p{margin-top:4px}.score-module-signals ul{display:grid;gap:6px;margin:6px 0 0;padding:0;list-style:none}.score-module-signals li{position:relative;padding-left:14px;color:var(--ink-soft);font-size:13px;line-height:1.45}.score-module-signals li:before{position:absolute;top:.62em;left:0;width:5px;height:5px;border-radius:999px;background:var(--ielts-red);content:""}.review-access-frame.is-locked .review-workspace{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.55;transition:all .3s ease}.subscription-unlock-panel{display:flex;flex-direction:column;gap:24px;margin-top:8px;padding:32px;border:1px solid rgba(200,16,46,.18);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--ielts-red-soft) 0%,#ffffff 100%);box-shadow:var(--shadow-soft);position:relative;z-index:10}.subscription-eyebrow{display:inline-flex;margin-bottom:8px;color:var(--ielts-red);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.subscription-unlock-panel h3{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:24px;font-weight:700}.subscription-unlock-panel p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.subscription-note{color:var(--ink-soft)!important;font-weight:700;margin-top:10px!important}.subscription-plan-list{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;width:100%}.subscription-plan-card{display:flex;flex-direction:column;gap:8px;min-height:210px;padding:20px;border:1px solid var(--line-neutral);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;cursor:pointer;box-shadow:var(--shadow-sm)}.subscription-plan-card.is-recommended{border-color:#c8102e6b;background:linear-gradient(180deg,#c8102e14,#fffffffa 58%),var(--surface);box-shadow:var(--shadow-tight)}.subscription-plan-card:hover{transform:translateY(-2px);border-color:#c8102e66;box-shadow:var(--shadow-tight)}.subscription-plan-card.is-selected{border-color:var(--ielts-red);background:var(--ielts-red-soft);box-shadow:0 0 0 4px #c8102e1a}.subscription-plan-label{color:var(--ielts-red-dark);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.subscription-plan-badge{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:var(--ielts-red);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.subscription-plan-card strong{color:var(--ink);font-size:28px;font-family:var(--font-serif);font-weight:700;line-height:1.1}.subscription-plan-monthly{display:block;width:auto;padding:0;border-radius:0;background:transparent;color:var(--ielts-red-dark);font-size:12px;font-weight:800}.subscription-plan-card em{color:var(--muted);font-size:12px;font-style:normal;font-weight:600}.subscription-plan-card p{margin:2px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.45}.subscription-plan-card ul{display:grid;gap:6px;padding:0;margin:6px 0 0;list-style:none}.subscription-plan-card li{display:grid;grid-template-columns:14px 1fr;gap:8px;color:var(--ink-soft);font-size:12px;line-height:1.4}.subscription-plan-card li:before{content:"";width:6px;height:6px;margin-top:5px;border-radius:50%;background:var(--ielts-red)}.subscription-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;width:100%;border-top:1px solid var(--faint);padding-top:20px}.billing-notice,.billing-error{width:100%;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:1.5;box-shadow:var(--shadow-sm)}.billing-notice{border:1px solid rgba(37,99,235,.2);background:var(--blue-soft);color:var(--blue)}.billing-error{border:1px solid rgba(220,38,38,.2);background:var(--red-soft);color:var(--red)}.subscription-status-actions{display:flex;justify-content:flex-end;margin-top:-8px}.subscription-status-actions .secondary-button{min-height:40px;padding:0 16px;font-size:13px;font-weight:700}.review-access-frame{position:relative}.review-workspace{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start;margin-top:24px}.review-main-column{min-width:0}.review-side-column{display:grid;gap:16px;position:sticky;top:96px;align-content:start;max-height:calc(100vh - 128px);overflow-y:auto}.review-side-column .review-details{position:static;max-height:none;overflow:visible}.review-control-row{display:flex;justify-content:space-between;align-items:center;margin:0;padding:20px 48px 20px 96px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-sm)}.review-control-row h3,.details-heading h3{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:700;letter-spacing:-.01em}.details-heading{align-items:flex-start}.details-heading.compact h3{font-size:20px}.filter-group{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter-group button{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:var(--muted);min-height:34px;font-size:13px;font-weight:700;box-shadow:var(--shadow-sm);background:var(--surface);border-color:var(--line-neutral)}.filter-group button.is-active{border-color:#c8102e4d;background:var(--ielts-red-soft);color:var(--ielts-red);box-shadow:none}.filter-group button:nth-child(2){border-color:#dc262633;color:var(--red)}.filter-group button:nth-child(2).is-active{border-color:#dc262666;background:var(--red-soft);color:var(--red)}.filter-group button:nth-child(3){border-color:#05966933;color:var(--green)}.filter-group button:nth-child(3).is-active{border-color:#05966966;background:var(--green-soft);color:var(--green)}.document-panel{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.paper-canvas{overflow:hidden;min-height:460px;padding:44px 48px;background-color:var(--bg);background-image:linear-gradient(90deg,rgba(200,16,46,.08) 0px,rgba(200,16,46,.08) 1px,transparent 1px),repeating-linear-gradient(to bottom,transparent 0,transparent 55px,rgba(17,24,39,.045) 55px,rgba(17,24,39,.045) 56px);background-size:100% 100%,100% 56px;position:relative}.paper-canvas:before{content:"";position:absolute;top:0;left:64px;width:1px;height:100%;border-left:1px solid rgba(200,16,46,.15)}.paragraph-block{position:relative;padding:0 0 16px 48px}.paragraph-number{position:absolute;top:14px;left:4px;color:#c8102e59;font-family:var(--font-serif);font-size:15px;font-weight:700}.essay-text{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:18px;line-height:56px;overflow-wrap:break-word}.annotated-token{display:inline-flex;align-items:baseline;gap:1px;position:relative;margin:0 2px;padding:0 2px;border-radius:4px;cursor:pointer;outline:0;vertical-align:baseline;transition:all .2s ease;line-height:1.2}.annotated-token:hover{background:#c8102e0d;box-shadow:0 0 0 4px #c8102e0d}.annotation-number-badge,.annotation-pin{display:grid;place-items:center;width:20px;height:20px;min-width:20px;border:1px solid rgba(200,16,46,.3);border-radius:50%;background:#fff;color:var(--ielts-red);font-family:var(--font-sans);font-size:10px;font-style:normal;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 2px 6px #00000014}.annotation-pin{position:static;order:2;width:16px;height:16px;min-width:16px;font-size:8px;transform:translateY(-.45em);z-index:1}.annotated-token:focus-visible{border-radius:4px;box-shadow:0 0 0 4px #c8102e26}.interlinear-note{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);color:var(--blue);font-family:var(--font-serif);font-size:16px;font-style:italic;font-weight:650;line-height:1.1;white-space:nowrap;pointer-events:none;transition:all .2s ease;z-index:6}.action-insert .interlinear-note{bottom:calc(100% + 8px)}.action-insert .annotation-pin{margin-left:12px}.action-delete .interlinear-note{bottom:calc(100% + 4px);transform:translate(calc(-50% - 12px))}.severity-must_fix .interlinear-note{color:var(--red)}.severity-suggested .interlinear-note{color:var(--green)}.original-token{display:inline-block;order:1;position:relative;border-bottom:2px dashed currentColor;line-height:1.2;font-weight:500}.range-highlight{padding:2px 0;background:#2563eb14;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-bottom:2px solid rgba(37,99,235,.4)}.annotated-token.is-range-related{background:#2563eb0a}.annotated-token.is-range-related .annotation-pin{border-color:#2563eb66;color:var(--blue)}.action-delete .original-token{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;color:#9ca3af}.action-insert:after{content:none}.action-insert .original-token:after{content:"∨";position:absolute;bottom:calc(100% - 2px);left:calc(100% + 2px);color:var(--green);font-family:var(--font-serif);font-size:15px;font-style:normal;font-weight:900;line-height:1;pointer-events:none}.annotated-token.is-selected .original-token{background:var(--ielts-red-soft)}.annotated-token.is-selected .annotation-pin{background:var(--ielts-red);border-color:var(--ielts-red);color:#fff}.severity-must_fix .original-token{border-bottom-color:var(--red)}.severity-suggested .original-token{border-bottom-color:var(--green)}.paragraph-note,.sentence-note{display:flex;flex-direction:column;gap:8px;width:100%;max-width:720px;margin:20px 0;padding:16px 20px;border:1px solid var(--line-neutral);border-left:3px solid var(--amber);border-radius:var(--radius);background:var(--surface);text-align:left;box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1)}.sentence-note{border-left-color:var(--blue)}.paragraph-note span,.sentence-note span{display:inline-flex;align-items:center;width:fit-content;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.paragraph-note span{color:var(--amber);background:#d9770614}.sentence-note span{color:var(--blue);background:#2563eb14}.paragraph-note strong,.sentence-note strong{color:var(--ink-soft);font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:1.6;margin:4px 0 0}.paragraph-note:hover,.sentence-note:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000000a,0 2px 8px #00000005;border-color:var(--line-strong)}.paragraph-note.is-selected{border-color:var(--line-strong);border-left-color:var(--amber);box-shadow:0 0 0 4px #d977060f,var(--shadow-sm);background:var(--surface-raised)}.sentence-note.is-selected{border-color:var(--line-strong);border-left-color:var(--blue);box-shadow:0 0 0 4px #2563eb0f,var(--shadow-sm);background:var(--surface-raised)}.review-details{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px;align-content:start;margin-top:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.severity-summary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.severity-summary span,.severity-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.severity-summary .must_fix,.severity-chip.must_fix{background:var(--red-soft);color:var(--red)}.severity-summary .suggested,.severity-chip.suggested{background:var(--green-soft);color:var(--green)}.selected-detail{display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid rgba(220,38,38,.2);border-left:4px solid var(--red);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.contextual-detail{border-left-color:var(--blue);border-color:#2563eb26}.selected-detail.severity-must_fix{border-left-color:var(--red);border-color:#dc262626}.selected-detail.severity-suggested{border-left-color:var(--green);border-color:#05966926}.overall-detail{border-left-color:var(--blue);border-color:#2563eb26}.detail-title-row,.detail-field{padding:14px 16px}.detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--faint);background:var(--surface-raised)}.selected-detail h4{margin:0;font-family:var(--font-serif);font-size:18px;font-weight:700;line-height:1.3;color:var(--ink)}.detail-meta{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.detail-field{display:grid;gap:4px;min-width:0;border-top:1px solid var(--faint)}.detail-title-row+.detail-field{border-top:0}.detail-field span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.detail-field p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.6}.annotation-number-badge.is-selected{background:var(--ielts-red);border-color:var(--ielts-red);color:#fff}.admin-page{display:grid;gap:24px;max-width:1180px;margin:0 auto;padding:48px 0 72px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.admin-header h1{margin:6px 0 0;color:var(--ink);font-family:var(--font-serif);font-size:38px;line-height:1.15}.admin-header p{max-width:620px;margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.6}.admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-summary-card{display:grid;gap:8px;padding:18px 20px;border:1px solid var(--line-neutral);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.admin-summary-card span{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-summary-card strong{color:var(--ink);font-family:var(--font-serif);font-size:32px;line-height:1}.admin-data-panel{display:grid;gap:16px;padding:22px;border:1px solid var(--line-neutral);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.admin-panel-heading h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:22px}.admin-panel-heading p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.admin-table-shell{overflow-x:auto;border:1px solid var(--faint);border-radius:var(--radius)}.admin-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.admin-table th,.admin-table td{padding:13px 14px;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);text-align:left;vertical-align:top;font-size:13px;line-height:1.45}.admin-table th{color:var(--ink);background:var(--surface-raised);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.admin-table td{color:var(--ink-soft)}.admin-table tr:last-child td{border-bottom:0}.admin-table th:last-child,.admin-table td:last-child{border-right:0}.admin-user-cell{display:inline-grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:180px}.admin-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;overflow:hidden;border:1px solid rgba(200,16,46,.16);border-radius:50%;background:var(--ielts-red-soft);color:var(--ielts-red);font-size:13px;font-weight:800;line-height:1}.admin-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-user-copy{display:grid;gap:2px;min-width:0}.admin-user-copy strong{color:var(--ink);font-weight:700;word-break:break-word}.admin-user-copy em{color:var(--muted);font-style:normal;font-size:12px;word-break:break-word}.admin-status-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800;text-transform:lowercase;white-space:nowrap}.admin-status-badge.is-positive{color:var(--green);background:var(--green-soft)}.admin-status-badge.is-negative{color:var(--red);background:var(--red-soft)}.admin-status-badge.is-neutral{color:var(--muted);background:var(--faint)}.admin-table code{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;background:var(--faint);border-radius:6px;padding:2px 5px}.admin-inline-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border:1px solid rgba(200,16,46,.2);border-radius:6px;background:var(--surface);color:var(--ielts-red);font-size:12px;font-weight:800;text-decoration:none}.admin-inline-button:hover:not(:disabled){border-color:var(--ielts-red);background:var(--ielts-red-soft)}.admin-inline-button:disabled{color:var(--muted);background:var(--faint)}.review-list-page{max-width:1000px;margin:0 auto;padding:48px 0}.review-list-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.review-list-header h1{margin:0;font-family:var(--font-serif);font-size:36px;font-weight:700}.review-list-header p{margin:6px 0 0;color:var(--muted);font-size:15px}.review-quota-card{border:1px solid rgba(200,16,46,.12);border-radius:var(--radius);background:var(--ielts-red-soft);padding:16px 20px;margin-bottom:24px;box-shadow:var(--shadow-sm);position:relative}.review-quota-card span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--ielts-red);letter-spacing:.05em}.review-quota-card strong{display:block;margin-top:4px;color:var(--ink);font-size:18px;font-weight:700}.review-quota-card p{margin-top:4px;color:var(--muted);font-size:13px}.review-quota-card.is-limit-reached{border-color:#dc262633;background:var(--red-soft)}.review-quota-card.is-limit-reached span,.review-quota-card.is-limit-reached strong{color:var(--red)}.review-quota-inline{color:var(--muted);font-size:13px;font-weight:600}.review-quota-inline.is-limit-reached{color:var(--red)}.history-panel{display:flex;flex-direction:column;gap:20px;border:1px solid var(--line-neutral);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);padding:24px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--faint);padding-bottom:16px}.history-heading h2{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:700}.history-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.history-error{padding:12px 14px;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius);background:var(--red-soft);color:var(--red);font-size:13px;font-weight:600}.history-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.history-item{display:grid;grid-template-rows:auto 1fr auto;gap:12px;padding:20px;border:1px solid var(--line-neutral);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-sm)}.history-item:hover{transform:translateY(-2px);border-color:#c8102e40;box-shadow:var(--shadow-tight)}.history-score{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.history-score strong{font-size:20px;color:var(--ielts-red);font-family:var(--font-serif)}.history-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.history-copy strong{font-size:15px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-copy em{font-style:normal;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.history-meta{font-size:12px;color:var(--muted);border-top:1px solid var(--faint);padding-top:10px}.history-empty{text-align:center;padding:48px 0;color:var(--muted);font-size:15px}.cambridge-page{display:grid;gap:38px;max-width:1180px;margin:0 auto;padding:44px 0 72px}.cambridge-hero{display:grid;gap:16px;max-width:880px}.content-eyebrow{color:var(--ielts-red-dark);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cambridge-hero h1,.cambridge-index-panel h2,.cambridge-seo-note h2,.cambridge-book-heading h2,.cambridge-test-header h3,.cambridge-task-heading h4{margin:0;color:var(--ink);letter-spacing:0}.cambridge-hero h1{font-family:var(--font-serif);font-size:44px;line-height:1.14}.cambridge-hero p,.cambridge-index-panel p,.cambridge-seo-note p,.cambridge-book-heading p,.cambridge-test-header p{margin:0;color:var(--muted);line-height:1.65}.cambridge-hero p{max-width:760px;font-size:17px}.cambridge-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:660px;margin:10px 0 0}.cambridge-stats div{display:grid;gap:4px;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px}.cambridge-stats dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.cambridge-stats dd{margin:0;color:var(--ink);font-size:20px;font-weight:800}.cambridge-index-panel,.cambridge-seo-note,.cambridge-type-panel{display:grid;gap:18px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7;padding:22px;box-shadow:var(--shadow-tight)}.cambridge-index-panel h2,.cambridge-seo-note h2,.cambridge-type-panel h2{font-family:var(--font-serif);font-size:26px;line-height:1.25}.cambridge-type-panel p{margin:0;color:var(--muted);line-height:1.65}.cambridge-type-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.cambridge-type-nav a{display:grid;gap:6px;min-width:0;min-height:92px;border:1px solid rgba(200,16,46,.14);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:14px;text-decoration:none}.cambridge-type-nav a:hover{border-color:#c8102e47;background:var(--ielts-red-soft)}.cambridge-type-nav span{color:var(--ielts-red-dark);font-size:14px;font-weight:800;line-height:1.35}.cambridge-type-nav small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;font-weight:650;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cambridge-book-nav,.cambridge-test-jumps{display:flex;flex-wrap:wrap;gap:8px}.cambridge-book-nav a,.cambridge-test-jumps a{display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(200,16,46,.14);border-radius:var(--radius-sm);background:var(--surface);color:var(--ielts-red-dark);font-size:13px;font-weight:800;padding:0 12px;text-decoration:none}.cambridge-book-nav a:hover,.cambridge-test-jumps a:hover{border-color:#c8102e47;background:var(--ielts-red-soft)}.cambridge-book-list,.cambridge-book-section,.cambridge-test-list{display:grid;gap:24px}.cambridge-book-section{scroll-margin-top:96px;border-top:1px solid var(--line-strong);padding-top:30px}.cambridge-book-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px}.cambridge-book-heading h2{font-family:var(--font-serif);font-size:32px;line-height:1.2}.cambridge-test-card{display:grid;gap:22px;scroll-margin-top:96px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:24px;box-shadow:var(--shadow-soft)}.cambridge-test-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;border-bottom:1px solid var(--faint);padding-bottom:18px}.cambridge-test-header h3{font-family:var(--font-serif);font-size:24px;line-height:1.25}.cambridge-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px}.cambridge-task-grid-single{grid-template-columns:minmax(0,1fr)}.cambridge-task-block{display:grid;align-content:start;gap:16px;min-width:0;scroll-margin-top:96px}.cambridge-task-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.cambridge-task-heading h4{font-size:17px;font-weight:800}.cambridge-use-task-button{flex:0 0 auto;gap:8px;min-height:36px;padding:0 12px;font-size:13px}.cambridge-use-task-button svg{width:15px;height:15px}.cambridge-prompt-copy{display:grid;gap:12px;color:var(--ink-soft);font-size:14px;line-height:1.7}.cambridge-prompt-copy p{margin:0}.cambridge-prompt-copy p:first-child{color:var(--ink);font-weight:800}.cambridge-task-figure{display:grid;gap:8px;margin:0}.cambridge-task-figure img{width:100%;max-height:420px;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:#fff;object-fit:contain}.cambridge-task-figure figcaption{color:var(--muted);font-size:12px;font-weight:700;line-height:1.45}.pricing-page{max-width:1180px;margin:0 auto;padding:36px 0 72px;display:grid;gap:36px}.pricing-overview{display:grid;gap:44px}.home-pricing{max-width:1180px;margin:56px auto 0}.pricing-plan-card,.pricing-comparison-shell{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.pricing-page-heading{display:grid;gap:10px;max-width:760px}.pricing-page-heading h1{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:40px;line-height:1.15;font-weight:700;letter-spacing:0}.pricing-page-heading p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}.pricing-section-heading h2,.pricing-plan-card h3{margin:0;color:var(--ink);font-family:var(--font-serif);font-weight:700;letter-spacing:-.01em}.pricing-section-heading p,.pricing-plan-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.pricing-plan-section,.pricing-compare-section{display:grid;gap:22px}.pricing-plan-section{scroll-margin-top:92px}.pricing-section-heading{display:grid;gap:8px;max-width:720px}.pricing-section-heading h2{font-size:32px;line-height:1.2}.pricing-plan-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.07fr) minmax(0,1.12fr);gap:24px;align-items:stretch}.pricing-plan-card{display:flex;flex-direction:column;gap:18px;padding:24px;position:relative;overflow:hidden}.pricing-plan-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--line-strong)}.pricing-plan-card.is-free:before{background:linear-gradient(90deg,var(--line-strong),rgba(200,16,46,.24))}.pricing-plan-card.is-highlighted{border-color:#c8102e42;background:linear-gradient(180deg,var(--ielts-red-soft) 0%,#ffffff 42%)}.pricing-plan-card.is-highlighted:before{background:linear-gradient(90deg,var(--ielts-red),#e05260)}.pricing-plan-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:34px}.pricing-plan-card h3{font-size:24px;line-height:1.25}.pricing-plan-badges{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:58%}.pricing-plan-badges span{display:inline-flex;align-items:center;min-height:28px;flex:0 0 auto;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase}.pricing-plan-caption{color:var(--ielts-red);border:1px solid rgba(200,16,46,.16);border-radius:999px;background:var(--ielts-red-soft);text-align:right}.pricing-recommend-badge{color:#fff;border:1px solid var(--ielts-red);border-radius:999px;background:linear-gradient(135deg,var(--ielts-red),#b00d26);box-shadow:0 8px 18px #c8102e2e}.pricing-price-row{display:grid;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--faint)}.pricing-price-row strong{color:var(--ielts-red);font-family:var(--font-serif);font-size:42px;font-weight:800;line-height:1}.pricing-price-row span{color:var(--muted);font-size:13px;font-weight:700}.pricing-feature-list{display:grid;gap:10px;padding:0;margin:0 0 auto;list-style:none}.pricing-feature-list li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;color:var(--ink-soft);font-size:14px;line-height:1.5}.pricing-feature-list li:before{content:"";width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--ielts-red);box-shadow:0 0 0 4px var(--ielts-red-soft)}.pricing-plan-action{width:100%;min-width:0;margin-top:auto;gap:8px;text-decoration:none}.pricing-plan-card .secondary-button.pricing-plan-action{min-height:46px;font-weight:700}.pricing-billing-message{margin:0}.pricing-comparison-shell{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:var(--surface);margin-top:16px}.pricing-comparison-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.pricing-comparison-table th,.pricing-comparison-table td{padding:16px 20px;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);text-align:center;vertical-align:middle;transition:background-color .2s ease}.pricing-comparison-table th.pricing-col-feature,.pricing-comparison-table th.pricing-row-label{text-align:left;font-weight:700;color:var(--ink);background:var(--surface-raised)}.pricing-comparison-table th.pricing-row-label{font-size:14px;min-width:180px;width:220px}.pricing-comparison-table thead th.pricing-col-plan{background:var(--surface-raised);color:var(--ink);font-size:14px;font-weight:700;vertical-align:bottom}.pricing-comparison-table thead th.pricing-col-plan .plan-column-label{display:block;font-size:15px;font-weight:700;margin-bottom:4px}.pricing-comparison-table thead th.pricing-col-plan .plan-column-badge{display:inline-block;font-size:10px;font-weight:700;color:var(--surface);background:var(--ielts-red);padding:2px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.pricing-comparison-table th.is-highlighted,.pricing-comparison-table td.is-highlighted{background:var(--ielts-red-soft)}.pricing-comparison-table thead th.is-highlighted{border-top:3px solid var(--ielts-red)}.cell-status-locked{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-weight:500}.cell-status-locked .status-icon{width:14px;height:14px;stroke:var(--muted);flex-shrink:0}.cell-status-available{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--green);font-weight:700}.cell-status-available .status-icon{width:14px;height:14px;stroke:var(--green);flex-shrink:0}.pricing-comparison-table td:last-child,.pricing-comparison-table th:last-child{border-right:0}.pricing-comparison-table tbody tr:last-child th,.pricing-comparison-table tbody tr:last-child td{border-bottom:0}.legal-page{display:grid;gap:24px;max-width:800px;margin:0 auto;padding:48px 0 72px}.back-home-link{width:fit-content;color:var(--ielts-red);font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.back-home-link:before{content:"←"}.back-home-link:hover{text-decoration:underline}.legal-page-card{display:flex;flex-direction:column;gap:24px;padding:36px;border:1px solid var(--line-neutral);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.legal-page-header{display:grid;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--faint)}.legal-page h1,.legal-page h3,.legal-page p{margin:0}.legal-page h1{color:var(--ink);font-family:var(--font-serif);font-size:36px;font-weight:700;letter-spacing:-.01em}.legal-page-header span{display:block;color:var(--muted);font-size:13px;font-weight:600}.legal-intro{font-size:15px;line-height:1.6;color:var(--ink-soft);font-style:italic}.legal-list{display:grid;gap:20px}.legal-item{display:grid;gap:6px}.legal-item h3{color:var(--ielts-red-dark);font-family:var(--font-serif);font-size:18px;font-weight:700}.legal-item p{color:var(--ink-soft);font-size:14px;line-height:1.6}.site-footer{border-top:1px solid var(--line);background:#fbfbf9}.site-footer-inner{display:grid;gap:34px;width:min(1360px,calc(100% - 40px));margin:0 auto;padding:48px 0}.footer-brand-block{display:flex;flex-direction:column;gap:12px;max-width:500px}.footer-brand{font-size:20px}.footer-brand-block p,.footer-legal{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.footer-contact a,.footer-link-section a{color:var(--ielts-red);text-decoration:none;font-weight:600;transition:color .2s ease}.footer-contact a:hover,.footer-link-section a:hover{color:var(--ielts-red-dark);text-decoration:underline}.footer-link-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:34px 46px}.footer-link-section{display:grid;align-content:start;gap:14px;min-width:0}.footer-link-section h2{margin:0;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:0;line-height:1.25}.footer-link-section ul{display:grid;gap:11px;padding:0;margin:0;list-style:none}.footer-link-section a{display:inline-flex;color:var(--ink-soft);font-size:14px;line-height:1.45}.footer-friendly-links{display:grid;grid-column:1 / -1;gap:12px;overflow:hidden;border-top:1px solid var(--faint);padding-top:24px;margin-top:4px}.footer-friendly-links h2{margin:0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.footer-friendly-marquee{position:relative;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.footer-friendly-track{display:flex;width:max-content;animation:footer-friendly-marquee 70s linear infinite;will-change:transform}.footer-friendly-marquee:hover .footer-friendly-track,.footer-friendly-marquee:focus-within .footer-friendly-track{animation-play-state:paused}.footer-friendly-group{display:flex;flex:0 0 auto;gap:12px}.footer-friendly-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:176px;height:50px;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.footer-friendly-badge:hover,.footer-friendly-badge:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-tight);transform:translateY(-1px)}.footer-friendly-badge:focus-visible{outline:3px solid rgba(200,16,46,.18);outline-offset:3px}.footer-friendly-badge img{display:block;width:150px;height:auto;max-height:42px;object-fit:contain}.footer-friendly-text{color:var(--ielts-red-dark);font-size:15px;font-weight:800;letter-spacing:0}@keyframes footer-friendly-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.footer-friendly-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.footer-friendly-track{animation:none}.evaluation-progress span,.primary-button.is-loading svg{transition:none;animation:none}.evaluation-progress span:after{animation:none}}.footer-legal{grid-column:1 / -1;border-top:1px solid var(--faint);padding-top:24px;margin-top:12px;color:var(--muted);font-size:13px}.auth-modal-layer{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:#11182766;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-modal{position:relative;display:flex;flex-direction:column;width:min(460px,100%);gap:24px;padding:36px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:modalEnter .25s cubic-bezier(.16,1,.3,1)}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.auth-modal-close{position:absolute;top:16px;right:16px}.auth-modal-copy{display:flex;flex-direction:column;gap:8px;padding-right:16px}.auth-modal-copy h2,.auth-modal-copy p,.auth-draft-notice,.auth-agreement{margin:0}.auth-modal-copy h2{color:var(--ink);font-family:var(--font-serif);font-size:26px;font-weight:700;line-height:1.25}.auth-modal-copy p{color:var(--ink-soft);font-size:15px;line-height:1.6}.auth-draft-notice{padding:12px 16px;border:1px solid rgba(200,16,46,.15);border-radius:var(--radius);background:var(--ielts-red-soft);color:var(--ielts-red-dark);font-size:13px;font-weight:700;line-height:1.5}.auth-modal-actions{display:grid;gap:12px}.auth-modal-actions .primary-button,.auth-modal-actions .secondary-button{width:100%;min-height:46px}.auth-modal-google{min-width:0}.auth-agreement{font-size:12px;line-height:1.5;color:var(--muted);text-align:center}.auth-agreement a{color:var(--ielts-red);text-decoration:none;font-weight:600}.auth-agreement a:hover{text-decoration:underline}.confirm-modal{position:relative;display:flex;flex-direction:column;width:min(440px,100%);gap:20px;padding:32px;border:1px solid var(--line-neutral);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);animation:modalEnter .2s cubic-bezier(.16,1,.3,1)}.confirm-modal-copy h2{margin:0 0 8px;font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--ink)}.confirm-modal-copy p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.confirm-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.confirm-modal-actions .secondary-button,.confirm-modal-actions .danger-button{min-height:40px}.route-state-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;width:min(600px,100%);margin:64px auto;padding:40px 32px;border:1px solid var(--line-neutral);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.route-state-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--ielts-red-soft);color:var(--ielts-red);border:1px solid rgba(200,16,46,.15)}.route-state-card h1,.route-state-card p{margin:0}.route-state-card h1{font-family:var(--font-serif);font-size:26px;font-weight:700;color:var(--ink)}.route-state-card p{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.6}.route-state-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;width:100%;border-top:1px solid var(--faint);padding-top:20px}.route-state-actions .secondary-button{min-height:44px;padding:0 20px;font-weight:700}@media(max-width:1080px){.top-nav{grid-template-columns:1fr auto;padding:0 16px}.pricing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-detail{grid-template-columns:1fr}.detail-title-row,.detail-field{border-left:0;border-right:0;border-top:1px solid var(--faint)}.detail-title-row{border-top:0}}@media(max-width:900px){.admin-header{flex-direction:column}.admin-actions{justify-content:flex-start}.admin-summary-grid{grid-template-columns:repeat(2,1fr)}.composer-stack{grid-template-columns:1fr;gap:20px}.score-block{grid-template-columns:1fr;gap:16px}.score-strip{min-height:120px;padding:24px}.subscription-plan-list{grid-template-columns:1fr}.review-workspace{grid-template-columns:1fr;gap:20px}.history-list,.pricing-plan-grid,.cambridge-book-heading,.cambridge-test-header,.cambridge-task-grid{grid-template-columns:1fr}.cambridge-test-jumps{justify-content:flex-start}.site-footer-inner{grid-template-columns:1fr;gap:24px;padding:32px 0}.footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.review-details{position:static;max-height:none}.review-side-column{position:static;max-height:none;overflow:visible}}@media(max-width:760px){.app-shell{width:min(100% - 24px,1360px);padding-bottom:48px}.top-nav{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:64px}.nav-actions{gap:6px}.nav-pricing-link{min-height:34px;padding:0 10px;font-size:13px}.nav-plan-link{display:none}.brand-lockup{width:100%;gap:8px;font-size:clamp(13px,3.4vw,18px)}.top-nav>.brand-lockup span:last-child{display:none}.brand-mark{width:32px;height:32px}.brand-mark svg{width:16px;height:16px}.language-switcher select{width:136px;padding:0 28px 0 34px;font-size:13px}.language-switcher-icon{left:10px;width:15px;height:15px}.language-switcher-icon svg{width:15px;height:15px}.account-email{display:none}.account-menu-button{padding-right:8px}.account-dropdown{right:-44px}.google-auth-button{padding:0 10px;font-size:13px}.nav-actions .secondary-button{display:none}.admin-page{gap:18px;padding:32px 0 48px}.admin-header h1{font-size:32px}.admin-actions{width:100%}.admin-actions .primary-button,.admin-actions .secondary-button{flex:1 1 140px;min-width:0}.admin-summary-grid{grid-template-columns:1fr}.admin-data-panel{padding:18px}.admin-table{min-width:700px}.hero-workspace{padding-top:36px}.pricing-page{gap:32px;padding:32px 0 48px}.cambridge-page{gap:28px;padding:32px 0 48px}.cambridge-hero h1{font-size:34px}.cambridge-hero p{font-size:15px}.cambridge-stats{grid-template-columns:1fr}.cambridge-index-panel,.cambridge-type-panel,.cambridge-seo-note,.cambridge-test-card{padding:18px}.cambridge-type-nav{grid-template-columns:1fr}.cambridge-book-heading h2{font-size:26px}.cambridge-task-heading{align-items:stretch;flex-direction:column}.cambridge-use-task-button{justify-content:center;width:100%}.footer-link-grid{grid-template-columns:1fr;gap:24px}.pricing-plan-card{padding:22px}.pricing-section-heading h2{font-size:28px}.pricing-plan-topline{align-items:flex-start;flex-direction:column}.pricing-plan-badges{max-width:100%;justify-content:flex-start}.pricing-plan-badges span{text-align:left}.pricing-comparison-table{min-width:680px}.hero-copy{margin-bottom:24px;text-align:left}.hero-copy h1{font-size:36px}.hero-copy p{font-size:15px;margin:0}.footer-friendly-links{padding-top:20px}.footer-friendly-track,.footer-friendly-group{gap:10px}.footer-friendly-badge{width:164px;height:48px}.footer-friendly-badge img{width:140px;height:auto}.question-panel,.essay-panel,.route-state-card,.review-details{padding:16px}.panel-title-row,.composer-footer,.history-heading,.review-list-header,.section-heading,.subscription-unlock-panel,.review-control-row,.details-heading{align-items:stretch;flex-direction:column;gap:14px}.subscription-unlock-panel{padding:24px}.subscription-plan-list{grid-template-columns:1fr}.subscription-actions{justify-content:stretch}.subscription-actions .primary-button,.subscription-status-actions .secondary-button{flex:1 1 100%}.subscription-status-actions{justify-content:stretch}.detail-title-row{align-items:flex-start;flex-direction:column;gap:10px}.task-type-controls{width:100%;justify-items:stretch}.task-switch,.task-module-switch>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.prompt-input{min-height:100px}.task-image-upload-main,.task-image-actions{align-items:stretch;flex-direction:column}.task-image-actions,.task-image-button{width:100%}.task-image-remove{align-self:end}.task-image-preview-frame{min-height:0;padding:8px}.task-image-preview-frame img{max-height:none}.essay-input{min-height:220px}.primary-button{width:100%}.evaluation-status-heading,.evaluation-status-meta{align-items:flex-start;flex-direction:column}.evaluation-status-heading em{flex:0 1 auto}.review-list-page{padding:32px 0}.review-list-header h1{font-size:30px}.route-state-card{margin:32px auto}.route-state-card h1{font-size:24px}.route-state-actions{display:grid;width:100%}.auth-modal-layer{align-items:end;padding:16px}.auth-modal{padding:24px}.auth-modal-copy h2{font-size:22px}.confirm-modal{padding:24px}.confirm-modal-actions{display:grid;width:100%}.confirm-modal-actions .secondary-button,.confirm-modal-actions .danger-button{width:100%}.score-module-grid{grid-template-columns:1fr}.review-prompt-panel{padding:18px}.review-prompt-heading{align-items:flex-start}.review-prompt-copy{padding:14px}.review-prompt-figure{padding:8px}.review-prompt-figure img{max-height:none}.paper-canvas{padding:28px 24px;background-size:100% 100%,100% 48px;background-image:linear-gradient(90deg,rgba(200,16,46,.08) 0px,rgba(200,16,46,.08) 1px,transparent 1px),repeating-linear-gradient(to bottom,transparent 0,transparent 47px,rgba(17,24,39,.04) 47px,rgba(17,24,39,.04) 48px)}.paper-canvas:before{left:36px}.paragraph-block{padding-left:28px}.essay-text{font-size:16px;line-height:48px}.review-control-row{padding:16px 24px 16px 52px}.paragraph-note,.sentence-note{width:100%;margin:12px 0;padding:12px 14px}}@media(max-width:460px){.top-nav{grid-template-columns:1fr}.top-nav>.brand-lockup{display:none}.nav-actions{justify-content:stretch}.nav-resource-menu,.language-switcher{min-width:0}.nav-resource-dropdown{right:auto;left:0;width:min(280px,calc(100vw - 56px))}.nav-plan-link{display:none}.task-switch,.task-module-switch>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.filter-group,.result-actions,.severity-summary{justify-content:stretch;width:100%}.filter-group button,.result-actions .secondary-button{flex:1}}.band-descriptors-page{max-width:1200px;margin:0 auto;padding:4rem 1.5rem}.band-descriptors-page .page-hero{text-align:center;margin-bottom:4rem}.band-descriptors-page .page-hero h1{font-family:var(--font-serif);font-size:clamp(2.25rem,4vw,3rem);color:var(--ink);margin:0;line-height:1.15}.band-descriptors-page .hero-subtitle{font-size:1.15rem;color:var(--ink-soft);max-width:800px;margin:1rem auto 0;line-height:1.6}.descriptors-container{display:flex;flex-direction:column;gap:4rem}.source-verification-banner{display:flex;align-items:flex-start;gap:1rem;background:var(--green-soft);border:1px solid rgba(5,150,105,.2);border-left:4px solid var(--green);border-radius:var(--radius);padding:1.25rem 1.5rem}.source-banner-icon{display:flex;align-items:center;justify-content:center;color:var(--green);margin-top:.15rem;flex-shrink:0}.source-banner-content{font-size:.925rem;line-height:1.5;color:var(--ink-soft)}.source-banner-content strong{color:var(--ink)}.scoring-formula-card,.matrix-section,.calculator-section,.samples-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-soft)}.scoring-formula-card h2,.matrix-section h2,.calculator-section h2,.samples-section h2{font-family:var(--font-serif);font-size:1.75rem;margin-top:0;margin-bottom:.5rem;color:var(--ink)}.formula-intro{color:var(--ink-soft);margin-bottom:2rem;line-height:1.6}.formula-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.formula-item-card{background:var(--surface-raised);border:1px solid var(--line-neutral);border-radius:var(--radius);padding:2rem;position:relative;display:flex;flex-direction:column}.formula-item-card h3{font-size:1.25rem;margin-top:0;margin-bottom:.75rem}.weight-badge{position:absolute;top:1.25rem;right:1.25rem;font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:20px;background:#c8102e0f;color:var(--ielts-red)}.weight-badge.accent{background:#c8102e1f;border:1px solid rgba(200,16,46,.2)}.weight-badge.final{background:var(--ielts-red);color:#fff}.formula-math{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;font-weight:700;background:var(--bg);padding:.75rem 1rem;border-radius:var(--radius-sm);margin:1rem 0;color:var(--ielts-red-dark);text-align:center}.formula-desc{color:var(--ink-soft);font-size:.95rem;line-height:1.5;margin:0}.matrix-controls{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem;margin-bottom:2rem}.task-type-tabs{display:flex;background:var(--bg);border:1px solid var(--line-neutral);padding:.25rem;border-radius:var(--radius-sm);align-self:flex-start;gap:.25rem}.task-type-tabs button{background:transparent;border:none;padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--ink-soft);border-radius:calc(var(--radius-sm) - 2px);transition:all .2s ease}.task-type-tabs button.active{background:var(--surface);color:var(--ielts-red);box-shadow:var(--shadow-sm)}.criteria-selector-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.criteria-selector-tabs button{background:var(--surface);border:1px solid var(--line-neutral);padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;color:var(--ink-soft);border-radius:var(--radius-sm);transition:all .2s ease}.criteria-selector-tabs button.active{background:var(--ielts-red);border-color:var(--ielts-red);color:#fff}.criteria-info-pane{background:var(--ielts-red-soft);border-left:4px solid var(--ielts-red);padding:1.25rem 1.5rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:2.5rem}.criteria-full-desc{margin:0;color:var(--ink-soft);line-height:1.6;font-size:1rem}.matrix-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.band-card{background:var(--surface-raised);border:1px solid var(--line-neutral);border-radius:var(--radius);padding:1.5rem;transition:transform .2s ease,border-color .2s ease;position:relative;overflow:hidden}.band-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.band-card-header{border-bottom:1px solid var(--line-neutral);padding-bottom:.75rem;margin-bottom:1rem}.band-number{font-size:1.15rem;font-weight:700;color:var(--ink)}.band-card-body p{margin:0;font-size:.925rem;line-height:1.6;color:var(--ink-soft)}.calculator-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:3rem;margin-top:2rem}.calc-inputs-column{display:flex;flex-direction:column;gap:2rem}.calc-input-group{background:var(--surface-raised);border:1px solid var(--line-neutral);border-radius:var(--radius);padding:1.75rem}.calc-input-group h3{margin-top:0;margin-bottom:1.25rem;font-size:1.15rem;border-bottom:1px solid var(--line-neutral);padding-bottom:.75rem}.score-input-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.score-input-row:last-child{margin-bottom:0}.score-input-row label{font-size:.95rem;font-weight:600;color:var(--ink-soft)}.score-input-row select{padding:.4rem .75rem;border:1px solid var(--line-neutral);border-radius:var(--radius-sm);background:var(--surface);font-weight:600;min-width:100px}.calc-results-card{background:var(--ielts-red-soft);border:1px solid var(--line-strong);border-radius:var(--radius);padding:2.25rem;height:100%;display:flex;flex-direction:column}.calc-results-card h3{margin-top:0;margin-bottom:1.5rem;font-family:var(--font-serif);font-size:1.4rem;color:var(--ielts-red-dark);border-bottom:1px solid rgba(200,16,46,.1);padding-bottom:.75rem}.result-metric-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px dashed rgba(200,16,46,.08)}.result-metric-row span{font-size:1rem;color:var(--ink-soft)}.result-metric-row strong{font-size:1.25rem;color:var(--ink)}.result-metric-row.final-total{border-bottom:none;padding-top:1.25rem;margin-top:.5rem}.result-metric-row.final-total span{font-weight:700;color:var(--ielts-red-dark);font-size:1.15rem}.band-badge-highlight{font-size:1.75rem!important;color:var(--ielts-red)!important;background:#fff;padding:.4rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--ielts-red)}.calculation-breakdown{margin-top:2rem;background:var(--surface);border:1px solid var(--line-neutral);border-radius:var(--radius-sm);padding:1.25rem 1.5rem}.calculation-breakdown h4{margin-top:0;margin-bottom:.75rem;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.calculation-breakdown ul{list-style:none;padding:0;margin:0}.calculation-breakdown li{margin-bottom:1rem;font-size:.9rem}.calculation-breakdown li:last-child{margin-bottom:0}.formula-math-display{font-family:monospace;background:var(--bg);padding:.4rem .75rem;border-radius:4px;margin-top:.25rem;font-size:.85rem}.calculation-note{display:block;margin-top:.5rem;color:var(--muted);font-style:italic}.samples-tabs-container{margin-top:2rem}.samples-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--line-neutral);padding-bottom:1rem;margin-bottom:2rem}.samples-tabs button{background:transparent;border:none;padding:.75rem 1.25rem;font-size:1rem;font-weight:600;color:var(--ink-soft);border-bottom:2px solid transparent;transition:all .2s ease;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.samples-tabs button:hover{color:var(--ielts-red)}.samples-tabs button.active{color:var(--ielts-red);border-bottom-color:var(--ielts-red);background:var(--surface-raised)}.sample-display-card{display:flex;flex-direction:column;gap:2rem}.sample-prompt-box{background:var(--surface-raised);border:1px solid var(--line-neutral);border-radius:var(--radius);padding:1.5rem 2rem}.sample-prompt-box h4,.sample-essay-container h4,.sample-commentary-container h4{margin-top:0;margin-bottom:.75rem;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.sample-prompt-box p{margin:0;font-size:1.05rem;line-height:1.6;font-weight:500}.sample-body-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem}.paper-lined{background:#fff;background-image:linear-gradient(#e1e1e1 1px,transparent 1px);background-size:100% 2.2rem;line-height:2.2rem;padding:1.5rem 2rem;border-radius:var(--radius);box-shadow:0 4px 20px #00000008;border:1px solid var(--line-neutral);position:relative}.paper-lined:before{content:"";position:absolute;top:0;left:2.75rem;width:1px;height:100%;background:#c8102e40}.paper-lined p{margin:0 0 2.2rem 1.5rem;font-family:var(--font-sans);font-size:1.025rem;color:#222;position:relative;z-index:2}.paper-lined p:last-child{margin-bottom:0}.sample-commentary-container{background:var(--surface-raised);border:1px solid var(--line-neutral);border-radius:var(--radius);padding:2rem;align-self:flex-start}.commentary-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-neutral);padding-bottom:.75rem;margin-bottom:1.25rem}.commentary-header h4{margin-bottom:0}.sample-score-badge{background:var(--ielts-red);color:#fff;font-weight:700;font-size:.9rem;padding:.25rem .75rem;border-radius:20px}.commentary-body p{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin-top:0;margin-bottom:1rem}.commentary-body p:last-child{margin-bottom:0}@media(max-width:1024px){.calculator-grid,.sample-body-layout{grid-template-columns:1fr;gap:2rem}}@media(max-width:768px){.band-descriptors-page{padding:2rem 1rem}.scoring-formula-card,.matrix-section,.calculator-section,.samples-section{padding:1.5rem}.matrix-cards-grid{grid-template-columns:1fr}}.sample-image-box{background:#fff;border:1px solid var(--line-neutral);border-radius:var(--radius);padding:1rem;display:flex;justify-content:center;align-items:center;margin-top:1rem;box-shadow:var(--shadow-sm);max-width:600px}.sample-prompt-image{max-width:100%;height:auto;max-height:350px;object-fit:contain;border-radius:var(--radius-sm)}.matrix-nav-links{display:flex;justify-content:center;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}.matrix-nav-btn{background:var(--bg-card);color:var(--ink-deep);border:1px solid var(--line-neutral);padding:.6rem 1.5rem;border-radius:30px;font-weight:500;text-decoration:none;font-size:.95rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.matrix-nav-btn:hover{background:var(--bg-hover);border-color:var(--theme-secondary);color:var(--theme-secondary);transform:translateY(-1px)}.task-matrix-container{margin-bottom:3.5rem;scroll-margin-top:100px}.task-matrix-heading{font-size:1.8rem;color:var(--ink-deep);margin-bottom:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--theme-secondary-light);display:inline-block}.criterion-group{margin-bottom:2.5rem;background:var(--bg-base);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--line-neutral)}.criterion-name{font-size:1.25rem;color:var(--ink-deep);margin-top:0;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.criterion-name:before{content:"";display:inline-block;width:4px;height:18px;background:var(--ielts-red);border-radius:2px}.criterion-desc{font-size:.95rem;color:var(--ink-soft);margin-top:0;margin-bottom:1.5rem;line-height:1.5}.matrix-divider{border:0;height:1px;background:var(--line-neutral);margin:3rem 0}.hero-split-pill{display:inline-flex;align-items:center;margin:0 auto 20px;padding:4px;background:#fff9;border:1px solid rgba(200,16,46,.08);border-radius:30px;box-shadow:0 4px 16px #c8102e08,inset 0 1px #fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:fit-content;animation:fadeInDown .6s cubic-bezier(.16,1,.3,1);transition:all .3s cubic-bezier(.16,1,.3,1)}.hero-split-pill:hover{transform:translateY(-2px);border-color:#c8102e29;box-shadow:0 6px 20px #c8102e0d,inset 0 1px #ffffffe6}.pill-part-brand{padding:4px 12px;color:var(--ink-soft);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;letter-spacing:-.01em}.pill-divider{width:1px;height:14px;background:#c8102e26}.pill-part-action{padding:4px 12px;background:var(--ielts-red-soft);color:var(--ielts-red-dark);border-radius:20px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px;letter-spacing:.02em;text-transform:uppercase}.pulsing-dot{width:6px;height:6px;background:var(--ielts-red);border-radius:50%;position:relative;display:inline-block}.pulsing-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:var(--ielts-red);animation:dotPulse 1.8s infinite ease-in-out}@keyframes dotPulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.6);opacity:0}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.marketing-features-section{max-width:1200px;margin:80px auto;padding:0 24px}.marketing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:50px}.marketing-feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:flex-start}.marketing-feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--ielts-red)}.feature-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--ielts-red-soft);color:var(--ielts-red);margin-bottom:20px}.feature-icon{width:24px;height:24px}.marketing-feature-card h3{font-size:18px;font-weight:700;color:var(--ink);margin:0 0 12px}.marketing-feature-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0}.marketing-compare-box{margin-top:60px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-soft)}.marketing-compare-title{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 24px;text-align:center}.marketing-compare-table-shell{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--faint)}.marketing-compare-table{width:100%;border-collapse:collapse;min-width:700px;text-align:left}.marketing-compare-table th,.marketing-compare-table td{padding:16px 20px;border-bottom:1px solid var(--faint);font-size:14px;vertical-align:middle}.marketing-compare-table thead th{background:var(--surface-raised);color:var(--ink);font-weight:700;font-size:14px}.marketing-compare-table tbody th{font-weight:600;color:var(--ink);background:var(--surface-raised);width:180px}.marketing-compare-table td{color:var(--ink-soft)}.marketing-compare-table .app-column{font-weight:700;color:var(--ielts-red-dark)}.marketing-compare-table td.app-column.highlight-cell{background:var(--ielts-red-soft);border-left:2px solid rgba(200,16,46,.08);border-right:2px solid rgba(200,16,46,.08)}.marketing-compare-table thead th.app-column{background:var(--ielts-red-soft);border-left:2px solid rgba(200,16,46,.08);border-right:2px solid rgba(200,16,46,.08);color:var(--ielts-red);font-weight:800}.marketing-compare-table tbody tr:last-child th,.marketing-compare-table tbody tr:last-child td{border-bottom:0}.annotation-preview-section{display:grid;gap:88px;max-width:1200px;margin:92px auto;padding:0 24px;scroll-margin-top:92px}.annotation-preview-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:48px;align-items:center}.annotation-preview-row-reversed{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.annotation-preview-row-reversed .annotation-preview-visual{order:1}.annotation-preview-row-reversed .annotation-preview-copy-inline{order:2}.annotation-preview-copy{display:grid;gap:18px;min-width:0}.annotation-preview-copy-inline{justify-self:end}.annotation-preview-eyebrow{color:var(--ielts-red);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.annotation-preview-copy h2{max-width:560px;margin:0;color:var(--ink);font-family:var(--font-serif);font-size:38px;font-weight:700;line-height:1.14}.annotation-preview-copy p{max-width:540px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.7}.annotation-preview-points{display:grid;gap:12px;margin:4px 0 2px;padding:0;list-style:none}.annotation-preview-points li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;color:var(--ink-soft);font-size:14px;font-weight:700;line-height:1.5}.annotation-preview-points li:before{width:18px;height:18px;margin-top:2px;border:1px solid rgba(200,16,46,.24);border-radius:50%;background:linear-gradient(135deg,#c8102e24,#c8102e08),var(--surface);content:""}.annotation-preview-cta{width:fit-content;max-width:100%;min-height:48px;margin-top:6px;padding:0 26px;text-decoration:none}.annotation-preview-cta-mobile{display:none}.annotation-preview-visual{min-width:0;perspective:1200px}.annotation-browser-frame{overflow:hidden;border:1px solid rgba(200,16,46,.14);border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:0 28px 70px #5024281f,0 8px 24px #1118270d;transform:rotateX(1deg) rotateY(-3deg);transform-origin:center;transition:box-shadow .28s ease,transform .28s ease;animation:annotationPreviewIn .62s cubic-bezier(.16,1,.3,1) both}.annotation-preview-visual:hover .annotation-browser-frame{box-shadow:0 34px 80px #50242829,0 10px 26px #1118270f;transform:rotateX(0) rotateY(0) translateY(-4px)}.annotation-browser-bar{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-bottom:1px solid rgba(17,24,39,.06);background:linear-gradient(180deg,#fff,#faf9f5)}.annotation-browser-bar span{width:9px;height:9px;border-radius:50%;background:#11182729}.annotation-browser-bar span:first-child{background:#dc262680}.annotation-browser-bar span:nth-child(2){background:#d9770680}.annotation-browser-bar span:nth-child(3){background:#05966980}.annotation-browser-bar strong{margin-left:8px;color:var(--muted);font-size:12px;font-weight:800}.annotation-report-shot{display:grid;gap:14px;padding:14px;background:linear-gradient(120deg,#c8102e0b,#2563eb09),#fbfaf7}.annotation-report-shot-score,.annotation-report-shot-inline{padding:16px}.annotation-preview-score-strip{display:grid;grid-template-columns:148px minmax(0,1fr);gap:12px;align-items:stretch;min-width:0}.annotation-score-frame .annotation-preview-score-strip{grid-template-columns:132px minmax(0,1fr);gap:10px}.annotation-overall-shot{display:grid;place-items:center;min-height:118px;padding:18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--ielts-red-soft),#ffffff);box-shadow:var(--shadow-sm);text-align:center}.annotation-score-frame .annotation-overall-shot{min-height:106px;padding:14px 12px}.annotation-overall-shot span{color:var(--ielts-red-dark);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.annotation-overall-shot strong{color:var(--ielts-red);font-family:var(--font-serif);font-size:52px;font-weight:800;line-height:1}.annotation-score-frame .annotation-overall-shot strong{font-size:46px}.annotation-criteria-shot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.annotation-score-frame .annotation-criteria-shot{gap:10px}.annotation-criterion-shot{display:grid;align-content:start;gap:8px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.annotation-score-frame .annotation-criterion-shot{gap:6px;padding:11px 12px}.annotation-criterion-heading-shot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding-bottom:7px;border-bottom:1px solid var(--faint)}.annotation-score-frame .annotation-criterion-heading-shot{gap:8px;padding-bottom:5px}.annotation-criterion-heading-shot div{min-width:0}.annotation-criterion-heading-shot span,.annotation-criterion-copy-shot span{display:block;color:var(--ielts-red);font-size:9px;font-weight:900;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.annotation-criterion-heading-shot h3{display:-webkit-box;overflow:hidden;margin:2px 0 0;color:var(--ink);font-size:12px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.annotation-score-frame .annotation-criterion-heading-shot h3{font-size:11.5px;-webkit-line-clamp:1}.annotation-criterion-heading-shot strong{flex:0 0 auto;color:var(--ielts-red);font-family:var(--font-serif);font-size:26px;font-weight:800;line-height:1}.annotation-score-frame .annotation-criterion-heading-shot strong{font-size:24px}.annotation-criterion-copy-shot{display:grid;gap:3px;min-width:0}.annotation-criterion-copy-shot p{display:-webkit-box;overflow:hidden;margin:0;color:var(--ink-soft);font-size:10.5px;font-weight:650;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.annotation-score-frame .annotation-criterion-copy-shot p{font-size:10px;line-height:1.28;-webkit-line-clamp:1}.annotation-criterion-signal-shot p{-webkit-line-clamp:1}.annotation-inline-frame .annotation-workspace-shot{grid-template-columns:minmax(0,1fr) 230px}.annotation-workspace-shot{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start;min-width:0}.annotation-main-shot,.annotation-details-shot{min-width:0}.annotation-control-shot{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:14px 16px;border:1px solid var(--line);border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);box-shadow:var(--shadow-sm)}.annotation-control-shot strong,.annotation-details-heading strong{display:block;color:var(--ink);font-family:var(--font-serif);font-size:17px;font-weight:800;line-height:1.2}.annotation-control-shot span{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:700;line-height:1.35}.annotation-filter-shot{display:flex;gap:6px;flex:0 0 auto}.annotation-filter-shot span{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:0 9px;border:1px solid rgba(200,16,46,.22);border-radius:8px;background:#fff;color:var(--ielts-red);font-size:10px;font-weight:800}.annotation-filter-shot span:last-child{border-color:#0596693d;color:var(--green)}.annotation-paper-shot{overflow:hidden;border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.annotation-inline-frame .annotation-control-shot{min-height:64px;padding:12px 14px}.annotation-paper-body{display:grid;gap:0;min-height:344px;padding:28px 28px 26px 54px;background-color:var(--bg);background-image:linear-gradient(90deg,rgba(200,16,46,.08) 0,rgba(200,16,46,.08) 1px,transparent 1px),repeating-linear-gradient(to bottom,transparent 0,transparent 47px,rgba(17,24,39,.045) 47px,rgba(17,24,39,.045) 48px);background-position:42px 0,0 0;background-size:100% 100%,100% 48px}.annotation-inline-frame .annotation-paper-body{min-height:250px;padding:24px 22px 18px 46px}.annotation-preview-paragraph{position:relative;min-width:0;padding:0 0 14px 26px}.annotation-inline-frame .annotation-preview-paragraph{padding-bottom:8px}.annotation-preview-paragraph-number{position:absolute;top:15px;left:-2px;color:#c8102e6b;font-family:var(--font-serif);font-size:13px;font-weight:800}.annotation-preview-paragraph p{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:16px;line-height:48px}.preview-annotated-token{display:inline-flex;align-items:baseline;position:relative;margin:0 2px;padding:0 2px;border-radius:4px;line-height:1.2}.preview-original-token{display:inline-block;order:1;border-bottom:2px dashed currentColor;line-height:1.2;font-weight:600}.preview-rewrite-note{position:absolute;bottom:calc(100% + 4px);left:50%;color:var(--green);font-family:var(--font-serif);font-size:13px;font-style:italic;font-weight:800;line-height:1.1;white-space:nowrap;transform:translate(-50%);pointer-events:none}.preview-annotation-pin{display:grid;place-items:center;order:2;width:15px;height:15px;min-width:15px;margin-left:1px;border:1px solid rgba(200,16,46,.3);border-radius:50%;background:#fff;color:var(--ielts-red);font-family:var(--font-sans);font-size:8px;font-weight:900;line-height:1;transform:translateY(-.45em);box-shadow:0 2px 6px #00000014}.preview-annotated-token.tone-red{color:var(--red)}.preview-annotated-token.tone-green{color:var(--green)}.preview-annotated-token.tone-blue{color:var(--blue)}.preview-annotated-token.tone-red .preview-rewrite-note{color:var(--red)}.preview-annotated-token.tone-green .preview-rewrite-note{color:var(--green)}.annotation-note-shot{display:grid;gap:7px;max-width:500px;margin:8px 0 4px 26px;padding:13px 16px;border:1px solid var(--line-neutral);border-left:3px solid var(--amber);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}.annotation-note-shot span{display:inline-flex;width:fit-content;padding:3px 9px;border-radius:999px;background:#d9770614;color:var(--amber);font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.annotation-note-shot strong{color:var(--ink-soft);font-size:12px;font-weight:700;line-height:1.45}.annotation-details-shot{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.annotation-inline-frame .annotation-details-shot{gap:10px;padding:14px}.annotation-details-heading{min-width:0}.annotation-selected-shot{overflow:hidden;border:1px solid rgba(220,38,38,.18);border-left:4px solid var(--red);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm)}.annotation-selected-shot.tone-green{border-color:#0596692e;border-left-color:var(--green)}.annotation-selected-title,.annotation-detail-field-shot{padding:12px 14px}.annotation-inline-frame .annotation-selected-title,.annotation-inline-frame .annotation-detail-field-shot{padding:10px 12px}.annotation-selected-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--faint);background:var(--surface-raised)}.annotation-selected-title h3{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:16px;font-weight:800;line-height:1.2}.annotation-selected-title span{display:inline-flex;flex:0 0 auto;min-height:22px;align-items:center;padding:0 8px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:10px;font-weight:900;white-space:nowrap}.annotation-selected-shot.tone-green .annotation-selected-title span{background:var(--green-soft);color:var(--green)}.annotation-detail-field-shot{display:grid;gap:4px;min-width:0;border-top:1px solid var(--faint)}.annotation-selected-title+.annotation-detail-field-shot{border-top:0}.annotation-detail-field-shot span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.annotation-detail-field-shot p{margin:0;color:var(--ink-soft);font-size:12px;font-weight:650;line-height:1.45}.annotation-inline-frame .annotation-detail-field-shot p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}@keyframes annotationPreviewIn{0%{opacity:0;transform:rotateX(3deg) rotateY(-7deg) translateY(18px)}to{opacity:1;transform:rotateX(1deg) rotateY(-3deg) translateY(0)}}@keyframes annotationUnlockPulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 12px 28px #c8102e1f}}@media(prefers-reduced-motion:reduce){.annotation-browser-frame{animation:none}}@media(max-width:1080px){.annotation-preview-section{gap:68px}.annotation-preview-row,.annotation-preview-row-reversed{gap:32px}.annotation-details-shot{max-width:100%}}@media(max-width:900px){.annotation-preview-row,.annotation-preview-row-reversed{grid-template-columns:1fr}.annotation-preview-copy,.annotation-preview-copy-inline{max-width:680px;justify-self:start}.annotation-preview-row-reversed .annotation-preview-copy-inline{order:1}.annotation-preview-row-reversed .annotation-preview-visual{order:2}.annotation-preview-row-reversed .annotation-preview-cta-mobile{display:inline-flex;order:3}.annotation-preview-row-reversed .annotation-preview-cta-desktop{display:none}.annotation-browser-frame{transform:none}.annotation-preview-visual:hover .annotation-browser-frame{transform:translateY(-3px)}}@media(max-width:760px){.annotation-preview-section,.pricing-plan-section{scroll-margin-top:76px}.annotation-preview-section{margin:64px auto;padding:0;gap:56px}.annotation-preview-copy h2{font-size:30px}.annotation-preview-copy p{font-size:15px}.annotation-preview-cta{width:100%}.annotation-report-shot{padding:12px}.annotation-preview-score-strip,.annotation-workspace-shot,.annotation-score-frame .annotation-preview-score-strip,.annotation-inline-frame .annotation-workspace-shot{grid-template-columns:1fr}.annotation-criteria-shot{grid-template-columns:repeat(2,minmax(0,1fr))}.annotation-score-frame .annotation-criteria-shot{gap:8px}.annotation-score-frame .annotation-criterion-shot{padding:10px 12px}.annotation-score-frame .annotation-criterion-signal-shot,.annotation-score-frame .annotation-criterion-next-step-shot,.annotation-inline-frame .annotation-details-shot{display:none}.annotation-control-shot{display:grid;gap:12px;min-height:0;padding:14px 16px}.annotation-filter-shot{justify-content:start;flex-wrap:wrap}.annotation-paper-body{min-height:0;padding:28px 18px 24px 28px;background-position:18px 0,0 0}.annotation-inline-frame .annotation-paper-body{padding:24px 18px 22px 28px}.annotation-preview-paragraph{padding-left:18px}.annotation-preview-paragraph p{font-size:15px}.preview-rewrite-note{max-width:132px;white-space:normal;text-align:center}}.limit-visual-wrapper{display:inline-flex;flex-direction:column;align-items:center;gap:8px;width:100%}.limit-text{font-weight:700;font-size:14px}.limit-visual-wrapper.is-low .limit-text{color:var(--muted)}.limit-visual-wrapper.is-high .limit-text{color:var(--ink)}.limit-bar-track{width:70px;height:6px;background:var(--faint);border-radius:3px;overflow:hidden}.limit-visual-wrapper.is-low .limit-bar-fill{background:var(--muted);height:100%}.limit-visual-wrapper.is-high .limit-bar-fill{background:var(--ielts-red);height:100%;border-radius:3px}.pricing-comparison-table td.cell-trial-none{color:var(--muted)!important;font-weight:500!important}.pricing-comparison-table td.cell-trial-has{color:var(--ielts-red-dark)!important;font-weight:700!important}.cell-status-none{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-weight:500}.cell-status-none .status-icon{width:14px;height:14px;stroke:var(--muted);flex-shrink:0}.cell-status-trial{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ielts-red-dark);font-weight:700}.cell-status-trial .status-icon{width:14px;height:14px;stroke:var(--ielts-red-dark);flex-shrink:0}.hero-split-pill-link{text-decoration:none;display:block;width:fit-content;margin:0 auto}.pill-part-action.promo-highlight{background:linear-gradient(135deg,var(--ielts-red-soft),#fff0f1);color:var(--ielts-red-dark);font-weight:800;border:1px solid rgba(200,16,46,.12);display:inline-flex;align-items:center;gap:6px;box-shadow:inset 0 -1px #c8102e0d}.recommend-page{max-width:1180px;margin:0 auto;padding:40px 16px 80px;display:flex;flex-direction:column;gap:56px;animation:fadeIn .5s ease-out}.recommend-split-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;background:#fff6;border:1px solid var(--line);border-radius:var(--radius-lg);padding:48px;box-shadow:var(--shadow-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}@media(max-width:900px){.recommend-split-hero{grid-template-columns:1fr;padding:32px;gap:32px}}.hero-text-side{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.recommend-badge-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ielts-red-soft);color:var(--ielts-red-dark);font-size:12px;font-weight:700;padding:6px 16px;border-radius:30px;border:1px solid rgba(200,16,46,.1);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #c8102e0a}.recommend-title-gradient{font-family:var(--font-serif);font-size:46px;font-weight:850;line-height:1.15;letter-spacing:-.01em;margin:0;background:linear-gradient(135deg,var(--ink) 30%,var(--ielts-red-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(max-width:600px){.recommend-title-gradient{font-size:32px}}.recommend-subtitle-text{font-size:16.5px;line-height:1.65;color:var(--ink-soft);margin:0;font-weight:500}.hero-image-side{position:relative;display:flex;justify-content:center;align-items:center}.recommend-hero-img{width:100%;max-width:380px;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-lg),0 0 40px #c8102e0a;border:1px solid rgba(255,255,255,.6);z-index:2;transition:transform .5s cubic-bezier(.16,1,.3,1)}.recommend-hero-img:hover{transform:scale(1.03) rotate(1deg)}.hero-img-backdrop-glow{position:absolute;width:80%;height:80%;background:radial-gradient(circle,#c8102e1f,#fff0 70%);z-index:1;filter:blur(20px)}.recommend-timeline-section{display:flex;flex-direction:column;gap:36px}.timeline-header{text-align:center;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.timeline-header h2{font-family:var(--font-serif);font-size:28px;font-weight:700;color:var(--ink);margin:0}.timeline-header p{color:var(--muted);font-size:15px;margin:0}.recommend-timeline-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}@media(max-width:850px){.recommend-timeline-grid{grid-template-columns:1fr;gap:36px}}.timeline-step-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-soft);position:relative;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:16px}.timeline-step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.step-number-badge{position:absolute;top:-20px;left:32px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--ielts-red),var(--ielts-red-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;box-shadow:0 4px 12px #c8102e33;border:3px solid var(--bg)}.timeline-step-card h3{font-size:18px;font-weight:750;color:var(--ink);margin:8px 0 0}.step-desc-text{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0}.platform-badges-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.platform-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:-.01em}.step-info-badge{display:flex;align-items:flex-start;gap:8px;background:var(--amber-soft);border:1px solid rgba(217,119,6,.1);padding:10px 14px;border-radius:var(--radius-sm);margin-top:auto}.info-badge-icon{font-size:14px}.info-badge-text{font-size:12px;line-height:1.45;color:var(--amber);font-weight:600}.danger-badge{background:var(--ielts-red-soft);border-color:#c8102e14}.danger-badge .info-badge-text{color:var(--ielts-red-dark)}.recommend-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}@media(max-width:800px){.recommend-grid{grid-template-columns:1fr}}.reward-card-enhanced{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1)}.reward-card-enhanced:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.reward-visual{display:flex;justify-content:center;align-items:center;padding:32px 0;min-height:180px}.reward-ticket-stack{position:relative;width:260px;height:110px}.reward-ticket{position:absolute;width:220px;height:85px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:center;padding:16px 20px;box-shadow:0 12px 24px #0000001f;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.reward-ticket:before,.reward-ticket:after{content:"";position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:var(--surface);transform:translateY(-50%)}.reward-ticket:before{left:-7px}.reward-ticket:after{right:-7px}.ticket-1{background:linear-gradient(135deg,var(--ielts-red),var(--ielts-red-dark));color:#fff;z-index:1;transform:rotate(-8deg) translate(-15px,-15px)}.ticket-2{background:linear-gradient(135deg,#c8102e,#ff4d4d);color:#fff;z-index:2;transform:rotate(2deg) translate(0)}.ticket-3{background:linear-gradient(135deg,#111827,#2d3748);color:#fff;z-index:3;transform:rotate(10deg) translate(15px,15px);border:1px solid rgba(255,255,255,.08)}.reward-ticket-stack:hover .ticket-1{transform:rotate(-14deg) translate(-35px,-25px)}.reward-ticket-stack:hover .ticket-2{transform:rotate(0) translateY(-5px)}.reward-ticket-stack:hover .ticket-3{transform:rotate(16deg) translate(35px,25px)}.ticket-period{font-size:9px;font-weight:850;letter-spacing:.15em;opacity:.8;margin-left:8px}.ticket-vip{font-size:16px;font-weight:900;letter-spacing:.02em;margin-top:4px;margin-left:8px}.reward-description{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:16px 0 0;text-align:center}.submission-card-enhanced{background:var(--surface);border:1px solid rgba(37,99,235,.12);background:linear-gradient(180deg,var(--surface) 0%,rgba(37,99,235,.015) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1)}.submission-card-enhanced:hover{transform:translateY(-4px);border-color:#2563eb40;box-shadow:0 16px 40px #2563eb0d}.submission-text-enhanced{font-size:14.5px;line-height:1.65;color:var(--ink-soft);margin:0 0 20px;flex-grow:1}.submission-actions-enhanced{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.recommend-submit-btn-enhanced{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px 24px;font-size:14.5px;font-weight:750;text-decoration:none;box-shadow:0 4px 12px #2563eb26;transition:all .2s ease}.recommend-submit-btn-enhanced:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb40}.recommend-copy-btn-enhanced{background:var(--surface);border:1px solid var(--line-neutral);color:var(--ink-soft);border-radius:var(--radius-sm);padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s ease}.recommend-copy-btn-enhanced:hover{border-color:var(--ink-soft);background:var(--faint)}.recommend-page-footer{display:flex;justify-content:center;margin-top:16px}.back-home-link{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;transition:color .2s ease}.back-home-link:hover{color:var(--ielts-red)}.recommend-card .card-header{display:flex;align-items:center;gap:16px;margin-bottom:8px}.recommend-card .card-header h2{font-family:var(--font-serif);font-size:20px;font-weight:750;color:var(--ink);margin:0}.recommend-card .card-icon-wrapper{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex-shrink:0}.recommend-card .card-subtitle{font-size:13.5px;font-weight:600;color:var(--muted);margin:0 0 16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.recommend-responsible-banner{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ielts-red);padding:20px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);max-width:100%;animation:fadeIn .5s ease-out}.recommend-responsible-banner .banner-icon{font-size:24px;flex-shrink:0}.recommend-responsible-banner .banner-text{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;font-weight:550}@media(max-width:600px){.recommend-responsible-banner{flex-direction:column;align-items:flex-start;gap:12px;padding:18px}}.submission-disclaimer-text{font-size:11.5px;line-height:1.5;color:var(--muted);margin:20px 0 0;font-style:italic}
