.cp-page{gap:28px;min-width:0;display:grid}.cp-page h1,.cp-page h2,.cp-page h3,.cp-page p,.cp-panel-heading h2,.cp-panel-heading p,.cp-page-heading h1,.cp-page-heading p{margin:0}.cp-page-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.cp-page-heading>div:first-child{gap:12px;max-width:760px;display:grid}.cp-page-heading h1{font-family:var(--cc-font-sans);letter-spacing:-.04em;font-size:clamp(29px,3.2vw,39px);font-weight:620;line-height:1.16}.cp-page-heading p{color:var(--cc-body)}.cp-eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--cc-coach-text);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.cp-eyebrow:before{content:"";background:currentColor;width:18px;height:1px}.cp-panel{border:1px solid var(--cc-line);border-radius:var(--cc-radius-card);background:var(--cc-card);min-width:0;padding:24px}.cp-panel-heading{gap:8px;display:grid}.cp-panel-heading h2{letter-spacing:-.025em;font-size:21px}.cp-panel-heading p{color:var(--cc-muted);font-size:14px}.cp-button{border:1px solid var(--cc-line);border-radius:var(--cc-radius-btn);background:var(--cc-card);min-height:44px;color:var(--cc-ink);font:600 14px var(--cc-font-sans);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;display:inline-flex}.cp-button-primary{background:var(--cc-ink);color:var(--cc-bg);border-color:var(--cc-ink)}.cp-button-danger{color:var(--cc-wrong-text)}.cp-button-quiet{background:0 0;border-color:#0000;padding-inline:8px}.cp-button:hover:not(:disabled){filter:brightness(.94)}.cp-button:disabled{opacity:.55;cursor:default}.cp-input{border:1px solid var(--cc-line);width:100%;min-width:0;min-height:42px;color:var(--cc-ink);background-color:var(--cc-card);font:inherit;border-radius:8px;padding:9px 12px;font-size:14px}.cp-input:hover:not(:disabled){border-color:var(--cc-muted)}select.cp-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23807d88' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:36px}.cp-input:is([type=checkbox],[type=radio]){width:20px;min-height:20px;accent-color:var(--cc-coach-text)}textarea.cp-input{resize:vertical;min-height:110px}.cp-field{gap:8px;min-width:0;display:grid}.cp-field label{gap:8px;font-size:14px;font-weight:600;display:grid}.cp-field small,.cp-muted{color:var(--cc-muted);font-size:13px}.cp-field .cp-field-error{color:var(--cc-wrong-text)}.cp-notice{border-radius:var(--cc-radius-sm);color:var(--cc-coach-text);background:var(--cc-coach-bg);overflow-wrap:anywhere;padding:16px;font-size:14px}.cp-notice-error{color:var(--cc-wrong-text);background:var(--cc-wrong-bg)}.cp-notice-success{color:var(--cc-correct-text);background:var(--cc-correct-bg)}.cp-empty{border:1px dashed var(--cc-line);border-radius:var(--cc-radius-card);background:var(--cc-card);gap:16px;padding:36px;display:grid}.cp-empty h2{margin:0;font-size:24px}.cp-empty p{max-width:680px;color:var(--cc-body)}.cp-metric{align-content:start;gap:7px;min-width:0;display:grid}.cp-metric>span,.cp-metric small{color:var(--cc-muted);font-size:12px}.cp-metric>strong{color:var(--cc-ink);font-size:27px;line-height:1.2}.cp-dialog{border:1px solid var(--cc-line);border-radius:var(--cc-radius-card);background:var(--cc-card);max-width:min(760px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--cc-ink);padding:28px;overflow-y:auto}.cp-dialog::backdrop{background:#10122399}.cp-dialog-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.cp-dialog-heading h2{margin:0;font-size:25px}.cp-actions,.cp-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cp-filters>.cp-input{flex:0 auto;width:auto}.cp-stack{gap:20px;display:grid}.cp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.cp-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}.cp-table-scroll{min-width:0;overflow-x:auto}.cp-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.cp-table th,.cp-table td{border-bottom:1px solid var(--cc-line);vertical-align:top;padding:14px 12px}.cp-table th{color:var(--cc-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.cp-table th:first-child,.cp-table td:first-child{padding-left:0}.cp-badge{border-radius:var(--cc-radius-pill);background:var(--cc-soft);color:var(--cc-body);padding:4px 10px;font-size:12px;display:inline-flex}.cp-segment[aria-pressed=true]{border-color:var(--cc-coach-text);color:var(--cc-coach-text);background:var(--cc-coach-bg)}.cp-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.cp-chart{width:100%;min-width:0;height:auto;display:block;overflow:visible}.cp-chart text{fill:var(--cc-muted);font:11px var(--cc-font-sans)}.cp-chart .grid{stroke:var(--cc-line)}.cp-chart .target{stroke:var(--cc-muted);stroke-dasharray:5 5}.cp-chart .dot{fill:var(--cc-coach-text);opacity:.75}.cp-chart .line{fill:none;stroke-width:2.5px}.cp-series-Overall{color:var(--cc-ink)}.cp-series-Math{color:var(--cc-math-text)}.cp-series-Verbal{color:var(--cc-verbal-text)}.cp-series-Logic{color:var(--cc-logic-text)}.cp-series-Spatial{color:var(--cc-spatial-text)}.cp-card-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:auto;display:flex}.cp-family-card{flex-direction:column;gap:18px;display:flex}.cp-family-card h3{font-size:21px}.cp-family-tip{border-radius:var(--cc-radius-sm);background:var(--cc-soft);padding:16px;font-size:14px}.cp-review-row{--review-tone:var(--cc-muted);--review-bg:var(--cc-soft);border-left:3px solid var(--review-tone);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:16px 20px 16px 22px;display:grid}.cp-review-row[data-status=Missed]{--review-tone:var(--cc-wrong-text);--review-bg:var(--cc-wrong-bg)}.cp-review-row[data-status=Guessed],.cp-review-row[data-status=Timed\ out]{--review-tone:var(--cc-amber)}.cp-review-row[data-status=Saved]{--review-tone:var(--cc-coach-text);--review-bg:var(--cc-coach-bg)}.cp-review-row[data-status=Correct]{--review-tone:var(--cc-correct-text);--review-bg:var(--cc-correct-bg)}.cp-review-main{gap:6px;min-width:0;display:grid}.cp-review-head{color:var(--cc-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.cp-review-status{border-radius:var(--cc-radius-pill);background:var(--review-bg);color:var(--review-tone);padding:2px 8px;font-size:12px;font-weight:650}.cp-review-row h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.cp-review-main>p{color:var(--cc-muted);font-size:12px}.cp-review-actions{align-items:center;gap:8px;display:flex}.cp-review-actions .cp-button{white-space:nowrap;min-height:36px;padding:7px 14px;font-size:13px}.cp-review-actions .cp-review-dismiss{color:var(--cc-muted);font-weight:500}@media (width<=720px){.cp-page-heading{flex-direction:column}.cp-panel{padding:20px 16px}.cp-grid{grid-template-columns:1fr}.cp-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cp-review-row{grid-template-columns:1fr}.cp-review-actions{flex-wrap:wrap}.cp-dialog{padding:20px}.cp-empty{padding:24px}}@media (prefers-reduced-motion:reduce){.cp-page *,.cp-dialog *{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important}}.cp-session-row{border-bottom:1px solid var(--cc-line);grid-template-columns:minmax(0,1fr) auto;gap:24px;padding-block:20px;display:grid}.cp-session-row:last-child{border-bottom:0}.cp-session-row>.cp-stack{gap:8px}.cp-session-metrics{grid-template-columns:repeat(3,minmax(70px,1fr));gap:20px;display:grid}.cp-session-metrics .cp-metric strong{font-size:20px}@media (width<=720px){.cp-session-row{grid-template-columns:1fr}}.cp-insights{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.cp-sort{width:auto;max-width:260px}.cp-dialog>.cp-stack{padding-top:24px}@media (width<=900px){.cp-insights{grid-template-columns:1fr}}@media (width<=520px){.cp-row{flex-direction:column;align-items:flex-start}.cp-sort{width:100%;max-width:100%}}
