.chr-page { min-height: 100vh; }
.chr-container { width: min(100% - 2rem, 92rem); margin: 0 auto; padding: 2rem 0 5rem; }

.chr-review > .celpip-results-card { width: 100%; }
.chr-review .celpip-results-actions .celpip-objective-fresh-action {
    align-items: center;
    background: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font: 700 .86rem/1 Poppins, sans-serif;
    justify-content: center;
    min-height: 44px;
    padding: .75rem 1rem;
    text-decoration: none;
}
.chr-review .celpip-results-hero-action { margin-left: auto; }
.chr-review .celpip-results-hero-action .celpip-objective-fresh-action {
    align-items: center;
    background: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font: 700 .86rem/1 Poppins, sans-serif;
    justify-content: center;
    min-height: 44px;
    padding: .75rem 1rem;
    text-decoration: none;
    white-space: nowrap;
}
.chr-back { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: 1.6rem; color: var(--ch-accent); font: 650 .82rem/1 Poppins, sans-serif; text-decoration: none; }
.chr-back svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.chr-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.3rem; }
.chr-header h1 { max-width: 52rem; margin: 0; font: 400 clamp(2.35rem, 6vw, 4rem)/1 'Instrument Serif', Georgia, serif; overflow-wrap: anywhere; }
.chr-meta { display: flex; flex-wrap: wrap; gap: .45rem .8rem; margin-top: .8rem; color: var(--ch-muted); font: 500 .78rem/1.4 Inter, sans-serif; }
.chr-result { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; border: 1px solid var(--ch-border); border-radius: 14px; background: var(--ch-card); }
.chr-result span { display: block; color: var(--ch-muted); font: 600 .72rem/1.2 Poppins, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.chr-result strong { display: block; margin-top: .35rem; font: 700 1.8rem/1 Poppins, sans-serif; }
.chr-result p { margin: 0; color: var(--ch-muted); font: 500 .78rem/1.4 Inter, sans-serif; text-align: right; }
.chr-notice { margin-top: 1rem; padding: .9rem 1rem; border: 1px solid #dcc58c; border-radius: 10px; background: #fff5db; color: #62460e; font: 500 .85rem/1.5 Inter, sans-serif; }
html.dark-mode .chr-notice { border-color: #66552d; background: #3b321f; color: #f0d498; }
.chr-panel { margin-top: 1rem; padding: 1.25rem; border: 1px solid var(--ch-border); border-radius: 14px; background: var(--ch-card); }
.chr-panel h2 { margin: 0 0 .9rem; font: 650 1.15rem/1.3 Poppins, sans-serif; }
.chr-panel h3 { margin: 1rem 0 .4rem; font: 650 .92rem/1.35 Poppins, sans-serif; }
.chr-panel p, .chr-panel li, .chr-response { color: var(--ch-text); font: 400 .9rem/1.65 Inter, sans-serif; }
.chr-response { margin: 0; padding: 1rem; border-radius: 10px; background: var(--ch-soft); white-space: pre-wrap; overflow-wrap: anywhere; }
.chr-criteria { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.chr-criterion { padding: .9rem; border-radius: 10px; background: var(--ch-soft); }
.chr-criterion span { display: block; color: var(--ch-muted); font: 550 .7rem/1.3 Poppins, sans-serif; }
.chr-criterion strong { display: block; margin-top: .35rem; font: 700 1.1rem/1.2 Poppins, sans-serif; }
.chr-question-list { display: grid; gap: .7rem; padding: 0; list-style: none; }
.chr-question { padding: 1rem; border: 1px solid var(--ch-border); border-radius: 10px; }
.chr-question.correct { border-left: 4px solid #18845c; }.chr-question.incorrect { border-left: 4px solid #c44a4a; }
.chr-question p { margin: .35rem 0 0; }
.chr-audio { width: 100%; margin-top: .6rem; }
.chr-feedback-list { margin: 0; padding-left: 1.25rem; }
.chr-feedback-list li + li { margin-top: .45rem; }
.chr-error { padding: 3rem 1.5rem; border: 1px solid var(--ch-border); border-radius: 14px; background: var(--ch-card); text-align: center; }
.chr-error h1 { margin: 0; font: 400 2.2rem/1 'Instrument Serif', Georgia, serif; }.chr-error p { color: var(--ch-muted); }
.chr-loading { display: grid; gap: 1rem; }.chr-skeleton { border-radius: 12px; background: linear-gradient(90deg, var(--ch-soft), var(--ch-card), var(--ch-soft)); background-size: 200% 100%; animation: ch-pulse 1.4s ease-in-out infinite; }
.chr-skeleton-title { width: 65%; height: 68px; }.chr-skeleton-summary { height: 90px; }.chr-skeleton-panel { height: 260px; }
@media (prefers-reduced-motion: reduce) { .chr-skeleton { animation: none; } }
@media (max-width: 700px) { .chr-container { width: calc(100% - 1.25rem); }.chr-header { display: block; }.chr-header .ch-primary-button { margin-top: 1rem; width: 100%; }.chr-result { align-items: flex-start; flex-direction: column; }.chr-result p { text-align: left; }.chr-criteria { grid-template-columns: repeat(2, 1fr); }.chr-review .celpip-results-hero-main { flex-wrap: wrap; }.chr-review .celpip-results-hero-action { margin-left: 0; width: 100%; }.chr-review .celpip-results-hero-action .celpip-objective-fresh-action { width: 100%; } }
