.review-page{--ash:#dee0db;--bg-raised:#263c3e;--border-medium:rgba(61,87,89,.4);--border-subtle:rgba(61,87,89,.2);--charcoal:#1f1f26;--forrest:#1f2e30;--gum:#3d5759;--mist:#b0b5bd;--font-body:var(--font-sans);--font-heading:var(--font-sans);--font-display:var(--font-serif);--section-pad-h:var(--gutter);--section-pad-v:140px;--text-2xl:clamp(28px,3vw,38px);--text-md:15px;--text-muted:hsla(84,7%,87%,.55);--text-primary:var(--ash);--text-secondary:var(--mist);--text-sm:13px;--text-xl:clamp(28px,4vw,52px);--text-xs:11px;--transition-base:0.3s ease;--transition-fast:0.2s ease;background:var(--charcoal);color:var(--text-primary);padding-block:72px 120px}.review-intro{text-align:center;padding:48px var(--section-pad-h) 40px;max-width:860px;margin:0 auto}.review-intro-label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:24px}.review-intro-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:300;color:var(--text-primary);line-height:1.1;margin-bottom:20px}.review-intro-body{font-size:var(--text-md);color:var(--text-secondary);line-height:1.9;max-width:560px;margin:0 auto}.review-wizard-wrap{display:flex;justify-content:center;padding:0 var(--section-pad-h) var(--section-pad-v)}.review-wizard{width:100%;max-width:640px}.review-steps{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:40px}.review-step-dot{width:8px;height:8px;border-radius:50%;background-color:var(--border-medium);transition:background-color var(--transition-base),transform var(--transition-fast)}.review-step-dot.active{background-color:var(--mist)}.review-step-dot.current{background-color:var(--ash);transform:scale(1.4)}.review-panel{background-color:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:12px;padding:48px}.review-step-label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.review-panel-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;color:var(--text-primary);line-height:1.15;margin-bottom:12px}.review-panel-body{font-size:var(--text-md);color:var(--text-secondary);line-height:1.7;margin-bottom:36px}.review-stars{display:flex;gap:8px;margin-bottom:16px}.review-star{background:none;border:none;padding:4px;font-size:48px;line-height:1;color:var(--border-medium);cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast)}.review-star.lit{color:#e8a020}.review-star:hover{transform:scale(1.1)}.review-star-label{font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--mist);min-height:20px;margin-bottom:32px}.review-highlight-section{margin-bottom:28px}.review-highlight-heading{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px}.review-highlights{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:10px;gap:10px;margin-bottom:0}.review-chip{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border-subtle);border-radius:6px;padding:10px 16px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.review-chip:hover{border-color:var(--gum);color:var(--text-primary)}.review-chip.selected{background-color:var(--gum);border-color:var(--gum);color:var(--ash)}.review-chip-tick{font-size:11px;opacity:.85;flex-shrink:0}.review-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.review-actions--right{justify-content:flex-end}.review-btn-ghost,.review-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:4px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);white-space:nowrap}.review-btn-primary{background-color:var(--ash);color:var(--charcoal);border:1px solid var(--ash)}.review-btn-primary:hover{background-color:#f0f2ed;border-color:#f0f2ed}.review-btn-primary.disabled,.review-btn-primary:disabled{opacity:.35;cursor:not-allowed}.review-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.review-btn-ghost:hover{color:var(--text-primary);border-color:var(--border-medium)}.review-btn-ghost.copied{color:#52c07a;border-color:rgba(82,192,122,.4)}.review-output{width:100%;background-color:var(--forrest);border:1px solid var(--border-medium);border-radius:6px;padding:20px;font-family:var(--font-body);font-size:var(--text-md);color:var(--ash);line-height:1.75;resize:vertical;margin-bottom:12px;transition:border-color var(--transition-fast)}.review-output:focus{outline:none;border-color:var(--gum)}.review-hint{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:28px}.review-regen-inline{background:none;border:none;font-family:inherit;font-size:inherit;color:var(--mist);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.review-regen-inline:hover{color:var(--text-primary)}.review-regenerate{display:inline-block;margin-top:20px;background:none;border:none;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.review-regenerate:hover{color:var(--text-secondary)}@media (max-width:600px){.review-wizard-wrap{padding-left:24px;padding-right:24px}.review-panel{padding:32px 24px}.review-star{font-size:40px}.review-highlights{grid-template-columns:1fr 1fr}.review-actions{flex-direction:column;align-items:stretch}.review-btn-ghost,.review-btn-primary{justify-content:center;text-align:center}}