@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}.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-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:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-2px}.task-module-switch>span{color:var(--muted);font-size:13px;font-weight:700}.task-module-switch>div{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(0,0,0,.02);border-radius:var(--radius-sm);background:var(--faint);padding:4px}.task-module-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-module-switch button.is-active{background:var(--surface);color:var(--ielts-red-dark);box-shadow:var(--shadow-sm)}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;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-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;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.task-image-preview-row img{width:84px;height:60px;border:1px solid var(--line-neutral);border-radius:6px;background:#fff;object-fit:contain}.task-image-preview-row span{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.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}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;min-height:46px;gap:10px;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;text-decoration:none;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}.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-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}.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}.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}.score-block.is-locked .score-module-copy{opacity:.72}.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:repeat(3,1fr);gap:16px;width:100%}.subscription-plan-card{display:flex;flex-direction:column;gap:8px;min-height:110px;padding:18px;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: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-card span{color:var(--ielts-red-dark);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.subscription-plan-card strong{color:var(--ink);font-size:28px;font-family:var(--font-serif);font-weight:700;line-height:1.1}.subscription-plan-card em{color:var(--muted);font-size:12px;font-style:normal;font-weight:600}.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}.subscription-actions .secondary-button{min-height:46px;font-weight:700;padding:0 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)}.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-block;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:absolute;top:-12px;right:-8px;z-index:10}.annotated-token:focus-visible{border-radius:4px;box-shadow:0 0 0 4px #c8102e26}.interlinear-note{position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);color:var(--blue);font-family:var(--font-sans);font-size:13px;font-style:normal;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none;transition:all .2s ease;z-index:5}.action-insert .interlinear-note{bottom:calc(100% + 14px)}.severity-must_fix .interlinear-note{color:var(--red)}.severity-suggested .interlinear-note{color:var(--green)}.original-token{display:inline-block;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:"^";position:absolute;bottom:calc(100% - 4px);left:50%;color:var(--green);font-family:var(--font-sans);font-size:14px;font-weight:900;line-height:1;transform:translate(-50%);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}.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-plan-topline span{color:var(--ielts-red);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.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-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:repeat(4,minmax(0,1fr));gap:18px}.pricing-plan-card{display:grid;gap:18px;align-content:start;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}.pricing-plan-card h3{font-size:24px;line-height:1.25}.pricing-plan-topline span{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(200,16,46,.16);border-radius:999px;background:var(--ielts-red-soft);text-align:right}.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;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:4px;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}.pricing-comparison-table{width:100%;min-width:760px;border-collapse:collapse;background:var(--surface)}.pricing-comparison-table th,.pricing-comparison-table td{padding:16px 18px;border-right:1px solid var(--faint);border-bottom:1px solid var(--faint);text-align:left;vertical-align:top}.pricing-comparison-table th:last-child,.pricing-comparison-table td:last-child{border-right:0}.pricing-comparison-table tr:last-child th,.pricing-comparison-table tr:last-child td{border-bottom:0}.pricing-comparison-table thead th{background:var(--surface-raised);color:var(--ielts-red-dark);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.pricing-comparison-table tbody th{width:220px;color:var(--ink);font-size:14px;font-weight:800}.pricing-comparison-table td{color:var(--ink-soft);font-size:14px;font-weight:600;line-height:1.5}.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}}.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){.composer-stack{grid-template-columns:1fr;gap:20px}.score-block{grid-template-columns:1fr;gap:16px}.score-strip{min-height:120px;padding:24px}.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}.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-topline 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-actions .secondary-button{flex:1 1 100%}.detail-title-row{align-items:flex-start;flex-direction:column;gap:10px}.task-switch{grid-template-columns:1fr 1fr}.task-module-switch{align-items:stretch;flex-direction:column}.task-module-switch>div{display:grid;grid-template-columns:1fr 1fr}.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}.essay-input{min-height:220px}.primary-button{width:100%}.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}.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{grid-template-columns:1fr 1fr}.task-module-switch>div{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}
