/* Student surfaces only. Shared rules follow PRODUCT.md and DESIGN.md. */
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page,.cg-topic-dialog,.cg-session-dialog,.qw-dialog,.friend-finder,.qs-dialog:not(.qs-editor)) {
  --brand:#b4d9ff; --accent:var(--brand); --student-action:#223e68;
  --bg:#101b2c; --panel:#17253a; --panel2:#213c58; --stroke:#516f8f;
  --text:#f1f5fb; --muted:#b8c7dc; --student-radius:12px;
  color:var(--text); font-family:"Segoe UI",Arial,sans-serif;
}
html[data-theme=light] body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page,.cg-topic-dialog,.cg-session-dialog,.qw-dialog,.friend-finder,.qs-dialog:not(.qs-editor)) {
  --brand:#223e68; --bg:#f0f7ff; --panel:#fff; --panel2:#e0f1ff;
  --stroke:#adcce8; --text:#1b2d48; --muted:#45617d;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) {
  font-size:16px; line-height:1.6;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) :is(h1,h2,h3) {
  line-height:1.25; letter-spacing:-.02em; overflow-wrap:break-word;
}
body.dd-pro :is(.cg-home-heading,.cg-centered,.learning-heading,.wheel-result-hero,.wrongsHeader) h1 {
  font-size:24px; font-weight:700;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page,.cg-topic-dialog,.cg-session-dialog) :focus-visible {
  outline:3px solid var(--brand); outline-offset:3px;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) :is(button,select,summary) {
  font-family:inherit; touch-action:manipulation;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page,.cg-topic-dialog,.cg-session-dialog) :is(.cg-home-start,.qq-primary,.qq-next-hint,.btn.primary,.wheel-primary) {
  min-height:48px; border:1px solid transparent; border-radius:10px;
  background:var(--student-action); color:#fff; box-shadow:none;
  font-size:15px; font-weight:650; line-height:1.4; padding:12px 16px;
  transform:none; filter:none;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page,.cg-topic-dialog,.cg-session-dialog) :is(.qq-secondary,.btn.ghost,.wheel-secondary,.cg-text-button,.wheel-text-button) {
  min-height:44px; min-width:44px; padding:10px 12px; border:1px solid var(--stroke);
  border-radius:10px; color:var(--text); background:var(--panel);
  box-shadow:none; font-size:14px; font-weight:600; line-height:1.4; transform:none;
}
body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) :is(.cg-text-button,.wheel-text-button) {
  border-color:transparent; background:transparent; color:var(--brand);
}
@media(hover:hover) {
  body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) :is(.cg-home-start,.qq-primary,.qq-next-hint,.btn.primary,.wheel-primary):enabled:hover { background:#182e50; filter:none; }
  body.dd-pro :is(.dashHome--pro,.cg-page,.cw-page,.learning-page,.wheel-page) :is(.qq-secondary,.btn.ghost,.wheel-secondary):enabled:hover { border-color:var(--brand); background:var(--panel2); }
}
/* One starting point; smaller supporting navigation without shrinking targets. */
body.dd-pro .dashHome.dashHome--pro { gap:16px!important; }
body.dd-pro .cg-home-entry.cg-home-entry--compact { padding:16px; border:1px solid var(--stroke); border-radius:12px; }
body.dd-pro .cg-home-entry--compact .cg-home-heading h1 { font-size:24px; letter-spacing:-.02em; }
body.dd-pro .cg-home-entry--compact .cg-home-heading { margin-bottom:4px; }
body.dd-pro .cg-home-test-meta { font-size:13px; color:var(--muted); }
body.dd-pro .cg-entry { margin-block:12px; }
body.dd-pro .cg-entry .cg-test-modes>.cg-entry-mode { min-height:108px; border-radius:10px; padding:12px 8px 10px; box-shadow:none; }
body.dd-pro .cg-entry .cg-entry-mode-copy strong { font-size:14px; line-height:1.4; }
body.dd-pro .cg-entry-pro-status { font-size:11px; line-height:1.2; color:var(--brand); }
body.dd-pro .cg-entry-check { background:var(--student-action); color:#fff; }
body.dd-pro .cg-entry .cg-topic-inline { margin-top:16px; padding:16px 0 0; border:0; border-top:1px solid var(--stroke); border-radius:0; background:none; }
body.dd-pro .cg-topic-inline>header { margin-bottom:12px; }
body.dd-pro .cg-topic-inline>header h2 { flex:1; min-width:0; }
body.dd-pro .cg-topic-inline [data-topic-close] { margin:0; }
body.dd-pro .cg-entry .cg-entry-lessons { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.dd-pro .cg-entry .cg-entry-lessons>button { min-height:96px; padding:10px 4px; gap:4px; border-radius:10px; background:var(--panel); }
body.dd-pro .cg-entry .cg-entry-lessons .lesson-icon { width:28px; height:28px; background:none; border-radius:0; }
body.dd-pro .cg-entry .cg-entry-lessons .lesson-icon svg { width:24px; height:24px; }
body.dd-pro .cg-entry .cg-entry-lessons strong { font-size:12px; line-height:1.4; overflow-wrap:normal; word-break:normal; }
body.dd-pro .cg-entry .cg-entry-lessons small { font-size:12px; color:var(--muted); }
body.dd-pro .cg-entry .cg-entry-lessons>button[aria-pressed=true] { background:color-mix(in srgb,var(--brand) 8%,var(--panel)); }
body.dd-pro .cg-entry-count { margin-top:12px; padding:8px 0; }
body.dd-pro .cg-entry-count>div { padding:0; border:0; background:none; }
body.dd-pro .cg-entry-count button { color:var(--muted); }
body.dd-pro .cg-entry-count button[aria-pressed=true] { color:var(--brand); border-color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,var(--panel)); }
body.dd-pro .cg-entry-topic-head { margin-top:16px; }
body.dd-pro .cg-entry-topic-head>span,body.dd-pro .cg-entry .cg-entry-topic-list small { font-size:12px; color:var(--muted); }
body.dd-pro .cg-entry .cg-entry-topic-list>.cg-entry-topic { min-height:64px; grid-template-columns:minmax(0,1fr) auto; padding:12px 0; border:0; border-bottom:1px solid var(--stroke); border-radius:0; background:none; }
body.dd-pro .cg-entry-topic-action { width:auto; min-width:44px; height:44px; padding:0 4px; border:0; background:none; font-size:12px; font-weight:650; }
body.dd-pro .wheel-challenge-entry .wheel-challenge-trigger { border:1px solid var(--stroke); border-radius:12px; box-shadow:none; background:var(--panel); padding:12px 16px; }
body.dd-pro .learning-entry-wrap { border-radius:12px; margin-block:0; }
body.dd-pro .learning-entry-wrap>.learning-entry { min-height:80px; padding:12px 16px; transform:none; }
body.dd-pro .daily-quest-card { flex-wrap:wrap; padding-block:12px; gap:12px; }
body.dd-pro .daily-quest-icon { flex:none; width:28px; height:32px; background:none; font-size:24px; }
body.dd-pro .daily-quest-copy { flex:1 1 130px; }
body.dd-pro .daily-quest-copy strong { overflow-wrap:anywhere; }
body.dd-pro .daily-quest-reward { flex-wrap:wrap; max-width:100%; margin-left:auto; font-size:16px; }
body.dd-pro .homeToday { padding-block:12px; }
body.dd-pro .homeActions { gap:8px; }
body.dd-pro .homeAction { min-height:76px; padding:10px 4px; gap:6px; border:1px solid var(--stroke); border-radius:10px; font-size:13px; }
body.dd-pro .homeAction__icon { width:24px; height:24px; background:none; border-radius:0; }
body.dd-pro .homeAction__icon svg { width:23px; height:23px; }
body.dd-pro .homeAction__chevron { top:8px; right:7px; width:12px; }
body.dd-pro .homeAction__count { top:4px; left:4px; }
body.dd-pro .homeAction>span:nth-child(2) { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:center; }
body.dd-pro .dd-learning-book-entry--compact .learning-entry-copy :is(strong,small) { min-width:0; white-space:normal; overflow-wrap:anywhere; }
/* Subscription controls remain available; study screens do not need a device ad. */
body.dd-pro .energy-subscription.pro-library-card { display:block; margin:0; padding:16px; border:1px solid var(--stroke); border-radius:12px; background:var(--panel); }
body.dd-pro .pro-library-intro { display:block; margin:0; }
body.dd-pro .energy-subscription h2 { font-size:18px; margin:0 0 8px; color:var(--text); }
body.dd-pro .energy-subscription-copy { min-width:0; }
body.dd-pro .energy-subscription-copy :is(p,small,a) { font-size:13px; line-height:1.6; color:var(--muted); }
body.dd-pro .energy-subscription-copy a { display:inline-flex; align-items:center; min-height:44px; color:var(--brand); }
body.dd-pro .subscription-details { margin-top:12px; border-top:1px solid var(--stroke); }
body.dd-pro .subscription-details summary { display:list-item; min-height:44px; padding-block:10px; cursor:pointer; font-size:14px; color:var(--text); }
body.dd-pro .energy-library { padding-block:4px 12px; border:0; gap:6px; font-size:13px; }
body.dd-pro .energy-library strong { font-size:16px; letter-spacing:0; }
body.dd-pro .energy-benefits { display:grid; grid-template-columns:1fr; gap:8px; margin:0 0 12px; font-size:13px; color:var(--muted); }
body.dd-pro .energy-subscription-actions { margin-top:12px; }
body.dd-pro .energy-subscription-actions:empty { display:none; }
body.dd-pro .energy-subscription-actions:not(:has(button)) { display:none; }
body.dd-pro .dashHome--pro+.footer { margin-top:32px; padding-top:16px; background:none; color:#b8c7dc; }
body.dd-pro .dashHome--pro+.footer .footer-inner { display:flex; flex-wrap:wrap; gap:12px; padding:16px; align-items:center; }
body.dd-pro .dashHome--pro+.footer .footer-logo-img { width:24px; height:24px; }
body.dd-pro .dashHome--pro+.footer .footer-logo-text { font-size:16px; background:none; -webkit-text-fill-color:currentColor; color:#aac7ec; }
body.dd-pro .dashHome--pro+.footer .footer-social { display:flex; flex-wrap:wrap; gap:0 12px; }
body.dd-pro .dashHome--pro+.footer .socialLink { min-height:44px; padding:8px 0; border:0; border-radius:0; box-shadow:none; background:none; color:inherit; }
body.dd-pro .dashHome--pro+.footer :is(.footer-brand-section,.footer-contact-section,.footer-social,.socialLink,.socialLink>span) { min-width:0; max-width:100%; }
body.dd-pro .dashHome--pro+.footer .socialLink>span { white-space:normal; overflow-wrap:anywhere; }
body.dd-pro .dashHome--pro+.footer .socialIcon { flex:none; }
body.dd-pro .dashHome--pro+.footer .footer-bottom { background:none; border:0; padding:0 16px 16px; }
body.dd-pro .dashHome--pro+.footer .footer-copyright { margin:0; color:inherit; font-size:12px; }
html[data-theme=light] body.dd-pro .dashHome--pro+.footer { color:#51647f; }
html[data-theme=light] body.dd-pro .dashHome--pro+.footer .footer-logo-text { color:#223e68; }
body.dd-pro .dashHome--pro+.footer :focus-visible { outline:3px solid #aac7ec; outline-offset:3px; }
html[data-theme=light] body.dd-pro .dashHome--pro+.footer :focus-visible { outline-color:#223e68; }
/* Preserve the question grid, image binding and stable answer slots. */
body.dd-pro .cg-page { grid-template-columns:minmax(0,1fr); min-width:0; }
body.dd-pro .cg-page>*,body.dd-pro .cg-page .qq-stage,body.dd-pro .cg-page .qq-card { min-width:0; max-width:100%; }
body.dd-pro .cg-page .qq-header { padding-block:8px; min-height:64px; flex-wrap:wrap; }
body.dd-pro .cg-page .qq-brand { flex:1 1 120px; min-width:0; font-size:16px; letter-spacing:0; }
body.dd-pro .cg-page .qq-brand strong { min-width:0; font-size:18px; overflow-wrap:anywhere; letter-spacing:-.02em; }
body.dd-pro .cg-brand-mark { flex:none; width:24px; height:24px; border-radius:0; background:none; }
body.dd-pro .cg-page .cg-progress { font-size:17px; padding:6px 10px; background:none; border:0; }
body.dd-pro .cg-page .cg-progress-track { height:4px; }
body.dd-pro .cg-page .qq-stage { padding:12px 12px max(12px,env(safe-area-inset-bottom)); }
body.dd-pro .cg-page .qq-card { padding:16px; border:1px solid var(--stroke); border-radius:12px; gap:12px; }
body.dd-pro .cg-question-meta { flex-wrap:wrap; gap:8px; min-width:0; padding-bottom:8px; margin-bottom:8px; font-size:13px; }
body.dd-pro .cg-page .cg-question-head { display:flex; flex-wrap:wrap; gap:8px; }
body.dd-pro .cg-page .cg-question-head .cg-question-meta { flex:1 1 100px; max-width:100%; }
body.dd-pro .cg-page .cg-writing-action { min-width:0; max-width:100%; }
body.dd-pro .cg-page .cg-writing-action button { white-space:normal; overflow-wrap:anywhere; max-width:100%; }
body.dd-pro .cg-page .qq-tools { flex-wrap:wrap; max-width:100%; }
body.dd-pro .cg-page .qq-choice-text { min-width:0; overflow-wrap:break-word; }
body.dd-pro .cg-page .qq-choice { border-width:1px; border-radius:10px; min-height:52px; }
body.dd-pro .cg-page .qq-choices:not(.has-text) { gap:4px; }
body.dd-pro .cg-page .cg-report-question,body.dd-pro .cg-page .cg-hide-question { min-height:44px; min-width:44px; padding:10px 0; line-height:1.4; font-size:13px; }
body.dd-pro .cg-page .qq-icon-btn,body.dd-pro .wheel-back { width:44px; height:44px; min-width:44px; min-height:44px; }
body.dd-pro .cg-session-nav .qq-next-hint { min-height:50px; border-bottom-width:1px; }
body.dd-pro .cg-page .cg-result { min-width:0; width:min(100%,700px); padding-block:16px; gap:16px; }
body.dd-pro .cg-result .cg-result-meta { margin:0; color:var(--muted); font-size:13px; }
body.dd-pro .cg-result h1 { margin:0; }
body.dd-pro .cg-totals { grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px 4px; }
body.dd-pro .cg-totals>span { min-width:0; overflow-wrap:break-word; }
body.dd-pro .cg-area-results { border:0; border-radius:0; background:none; }
body.dd-pro .cg-area-results>div { flex-wrap:wrap; gap:4px 12px; }
body.dd-pro .cg-area-results :is(span,b) { min-width:0; max-width:100%; overflow-wrap:break-word; }
body.dd-pro .cg-primary-actions { flex-wrap:wrap; gap:8px; margin-top:8px; }
body.dd-pro .cg-analysis { margin-block:20px; }
body.dd-pro .cg-analysis-summary>div { border:1px solid var(--stroke); border-radius:10px; background:var(--panel); padding:12px; }
body.dd-pro .cg-analysis-track { display:none; }
body.dd-pro .cg-analysis-answer { border:1px solid var(--stroke); background:var(--panel); }
/* Same catalog, reading and correction hierarchy. */
body.dd-pro .learning-entry-panel { padding:16px; }
body.dd-pro .learning-page { padding-inline:16px; }
body.dd-pro .learning-top { padding-block:8px; gap:8px; background:var(--bg); }
body.dd-pro .learning-top>button { min-width:44px; min-height:44px; padding:8px 12px; border-radius:10px; color:var(--text); }
body.dd-pro :is(.learning-page,.learning-entry-panel) .lesson-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
body.dd-pro :is(.learning-page,.learning-entry-panel) .learning-lesson { min-height:96px; padding:10px 4px; gap:4px; border:1px solid var(--stroke); border-radius:10px; background:var(--panel); overflow:visible; }
body.dd-pro :is(.learning-page,.learning-entry-panel) .learning-lesson strong { font-size:12px; overflow-wrap:normal; word-break:normal; line-height:1.4; }
body.dd-pro :is(.learning-page,.learning-entry-panel) .learning-lesson small { font-size:12px; color:var(--muted); }
body.dd-pro .learning-lesson .lesson-icon { width:28px; height:28px; background:none; }
body.dd-pro .learning-lesson .lesson-icon svg { width:24px; height:24px; }
body.dd-pro .learning-lesson[aria-pressed=true] { outline:none; border-color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,var(--panel)); }
body.dd-pro .learning-lesson[aria-pressed=true]:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
body.dd-pro .learning-lesson-check { position:absolute; top:4px; right:4px; width:14px; height:14px; color:var(--brand); }
body.dd-pro .learning-lesson[aria-pressed=false] .learning-lesson-check { visibility:hidden; }
body.dd-pro .learning-lesson::before { content:none; }
body.dd-pro .learning-unit-list-heading { margin-bottom:8px; }
body.dd-pro .learning-unit-list-heading h2 { font-size:18px; }
body.dd-pro .learning-units>button { min-height:64px; padding:12px 0; border:0; border-bottom:1px solid var(--stroke); border-radius:0; background:none; }
body.dd-pro .learning-units .learning-number { width:28px; height:28px; background:none; }
body.dd-pro .learning-heading { margin-block:20px 16px; }
body.dd-pro .ln-reader .learning-heading h1 { font-size:24px; color:var(--text); }
body.dd-pro .ln-tabs { margin-block:16px; }
body.dd-pro .ln-tabs button { min-height:44px; font-size:13px; color:var(--muted); }
body.dd-pro .ln-tabs button[aria-selected=true] { color:var(--brand); border-color:var(--brand); }
body.dd-pro .ln-card { padding:16px; border:1px solid var(--stroke); border-radius:12px; background:var(--panel); }
body.dd-pro .ln-card h3 { font-size:18px; color:var(--brand); }
body.dd-pro .ln-paragraph { color:var(--text); line-height:1.8; }
body.dd-pro :is(.ln-warning,.ln-solution) { border:1px solid var(--stroke); border-radius:10px; padding:12px; background:var(--panel2); }
body.dd-pro .ln-warning>strong { color:var(--text); }
body.dd-pro .cw-page { padding-inline:16px; }
body.dd-pro .cw-page .wrongsHeader { flex-wrap:wrap; gap:8px; }
body.dd-pro .cw-page .wrongsHeader>div { flex:1 1 120px; min-width:0; }
body.dd-pro .cw-page .wrongsHeader h1 { overflow-wrap:anywhere; }
body.dd-pro .cw-page .wrongsCount { flex:none; }
body.dd-pro .cw-card { padding:16px; border:1px solid var(--stroke); border-radius:12px; box-shadow:none; background:var(--panel); }
body.dd-pro .cw-choices li { line-height:1.6; padding-block:8px; }
body.dd-pro .cw-choices li.cw-correct { color:var(--answer-good-ink); background:var(--answer-good-bg); }
body.dd-pro .cw-choices li.cw-wrong { color:var(--answer-bad-ink); background:var(--answer-bad-bg); }
body.dd-pro .cw-card .cg-solution-button { min-height:44px; border-radius:10px; }
/* Real match statistics stay intact; decoration no longer precedes the result. */
body.dd-pro .wheel-page { padding-inline:16px; }
body.dd-pro .wheel-header { padding-block:8px; }
body.dd-pro .wheel-header-all,body.dd-pro .wheel-person-link { min-width:44px; min-height:44px; }
body.dd-pro .wheel-person strong { overflow-wrap:anywhere; }
body.dd-pro .wheel-sector b { max-width:100%; overflow-wrap:anywhere; line-height:1.25; text-align:center; }
body.dd-pro .wheel-result-hero { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; padding:20px 0 16px; text-align:left; }
body.dd-pro .wheel-result-emblem { width:32px; height:32px; margin:0; border:0; border-radius:0; background:none; }
body.dd-pro .wheel-result-emblem svg { width:28px; height:28px; }
body.dd-pro .wheel-result-hero h1 { flex:1; min-width:0; margin:0; font-size:24px; }
body.dd-pro .wheel-result-kicker { order:3; width:100%; margin:0; color:var(--muted); }
body.dd-pro .wheel-result-player { padding:12px; border:1px solid var(--stroke); border-radius:12px; background:var(--panel); }
body.dd-pro .wheel-result-accuracy { margin-top:12px; }
body.dd-pro .wheel-result-accuracy strong { font-size:24px; }
body.dd-pro .wheel-result-accuracy>span { color:var(--muted); font-size:12px; }
body.dd-pro .wheel-result-counts { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding-top:12px; }
body.dd-pro .wheel-result-counts>div { flex:1 0 auto; }
body.dd-pro .wheel-result-counts dd { font-size:20px; }
body.dd-pro .wheel-result-counts dt { font-size:12px; }
body.dd-pro .wheel-result-players { gap:12px; margin-block:16px; }
body.dd-pro .wheel-result-areas th,body.dd-pro .wheel-result-areas td { font-size:13px; white-space:normal; }
html[data-theme=light] body.dd-pro .wheel-page { --wheel-other:#a24f40; }
body.dd-pro .wheel-result-section-title h2 { font-size:18px; }
body.dd-pro .wheel-result-section-title { flex-wrap:wrap; }
body.dd-pro .wheel-result-section-title>span { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
body.dd-pro .wheel-turn-label { margin-block:16px; }
body.dd-pro .wheel-scoreboard { border:1px solid var(--stroke); border-radius:12px; background:var(--panel); }
@media(min-width:700px) {
  body.dd-pro :is(.learning-page,.learning-entry-panel,.cg-entry) .lesson-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:360px) {
  body.dd-pro :is(.learning-page,.learning-entry-panel,.cg-entry) .lesson-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.dd-pro .cg-home-entry.cg-home-entry--compact { padding:12px; }
  body.dd-pro .homeAction { font-size:12px; }
  body.dd-pro .wheel-result-player { padding:10px 8px; }
}
@media(prefers-reduced-motion:reduce) {
  body.dd-pro .wheel-result-hero.is-celebrating .wheel-result-emblem { animation:none; }
  body.dd-pro :is(.cg-entry,.learning-entry-panel) { animation:none; }
}

.friend-finder { width:min(420px,calc(100% - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:20px; color:var(--text); background:var(--panel); border:1px solid var(--stroke); border-radius:12px; overflow:auto; }
.friend-finder::backdrop { background:rgba(12,17,29,.55); }
.friend-finder-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.friend-finder-head h2 { margin:0; font-size:20px; line-height:1.3; }
.friend-finder-close { display:grid; place-items:center; width:44px; height:44px; padding:10px; background:transparent; color:inherit; border:0; border-radius:10px; }
.friend-finder-close svg { width:24px; height:24px; }
.friend-finder-form label { display:block; margin-bottom:8px; }
.friend-finder-search { display:flex; gap:8px; align-items:center; }
.friend-finder-search input { min-width:0; flex:1; height:48px; padding:10px 12px; border:1px solid var(--stroke); border-radius:10px; color:var(--text); background:var(--bg); font:inherit; font-size:16px; }
.friend-finder-search button { width:auto; flex:0 0 auto; min-height:48px; padding:12px 16px; }
body.dd-pro .friend-finder .qq-primary { background:#223e68; color:#fff; box-shadow:none; }
.friend-finder-status { margin:12px 0 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.friend-finder-status:empty { display:none; }
.friend-finder-result:not(:empty) { display:grid; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--stroke); }
.friend-finder-player { display:flex; align-items:center; gap:12px; min-width:0; }
.friend-finder-player strong { overflow-wrap:anywhere; min-width:0; }
.friend-finder-avatar { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; font-size:30px; }
.friend-finder-avatar :is(svg,img) { display:block; width:44px; height:44px; }
.friend-finder-pending { margin:0; color:var(--muted); }
.friend-finder :is(button,input):focus-visible { outline:3px solid var(--accent,#223e68); outline-offset:3px; }

/* Authorized narrow palette/pass fixes; published layout remains unchanged. */
body.dd-pro .authPage .authBtn.primary { background:var(--dd-primary)!important; color:#fff; }
body.dd-pro .cg-page .qq-feedback.skipped { background:var(--panel2); color:var(--text); border:1px solid var(--stroke); }
body.dd-pro .cg-page .qq-feedback.skipped :is(strong,p,span) { color:inherit; }
body.dd-pro .cg-page .qq-feedback.skipped .qq-reward-mark { color:var(--muted); }
body.dd-pro .cg-page .qq-feedback.skipped .qq-reward-mark svg { width:18px; height:18px; }
body.dd-pro .cg-page .cg-error { color:var(--danger); }
html[data-theme=light] body.dd-pro .cg-page .cg-error { color:#b91c1c; }
body.dd-pro .friend-finder .qq-primary { background:#223e68; color:#fff; }
.friend-finder :is(button,input):focus-visible { outline-color:var(--brand,#223e68); }

/* Daily question shares the energy heading: 36px artwork in a 44px touch target. */
body.dd-pro .cg-home-heading>.cg-home-status { display:flex; align-items:center; flex:none; gap:4px; margin-left:auto; }
body.dd-pro .cg-home-status>.daily-quest-card.daily-question-shortcut { position:relative; display:grid; place-items:center; flex:none; width:44px; min-width:44px; height:44px; min-height:44px; margin:0; padding:4px; gap:0; border:0; border-radius:50%; background:none; color:#fff; box-shadow:none; transform:none; cursor:pointer; }
body.dd-pro .cg-home-status .daily-question-circle { position:relative; display:grid; place-items:center; width:36px; height:36px; border:1px solid transparent; border-radius:50%; background:#223e68; color:#fff; transition:background-color 120ms ease; }
body.dd-pro .cg-home-status .daily-question-bolt { display:block; color:inherit; font:24px/1 'Segoe UI Symbol','Noto Sans Symbols 2',sans-serif; }
body.dd-pro .cg-home-status .daily-question-dot { position:absolute; top:-1px; right:-1px; width:9px; height:9px; border:2px solid var(--panel,#fff); border-radius:50%; background:#dc2626; }
body.dd-pro .cg-home-status>.daily-question-shortcut:focus-visible { outline:3px solid var(--brand,#223e68); outline-offset:2px; }
body.dd-pro .cg-home-status>.daily-question-shortcut:active .daily-question-circle { background:#182e50; }
[data-theme=dark] body.dd-pro .cg-home-status .daily-question-circle { border-color:#89a7d0; }
@media(hover:hover) and (pointer:fine) {
  body.dd-pro .cg-home-status>.daily-question-shortcut:hover .daily-question-circle { background:#182e50; }
}
@media(prefers-reduced-motion:reduce) {
  body.dd-pro .cg-home-status .daily-question-circle { transition:none; }
}


/* Daily question: the same navy reading surface, with local theme tokens. */
body.dd-pro #dailyQOverlay {
  --brand:#aac7ec; --student-action:#223e68; --panel:#17253a; --panel2:#20324a;
  --stroke:#435675; --text:#f1f5fb; --muted:#b8c7dc;
  --daily-good:#a3e2bc; --daily-good-bg:#183729; --daily-bad:#ffb4ac; --daily-bad-bg:#3a2630;
  color:var(--text); font:16px/1.5 "Segoe UI",Arial,sans-serif;
}
html[data-theme=light] body.dd-pro #dailyQOverlay {
  --brand:#223e68; --panel:#fff; --panel2:#eaf0f8; --stroke:#cbd6e6; --text:#1b2d48; --muted:#51647f;
  --daily-good:#17603b; --daily-good-bg:#e9f5ef; --daily-bad:#9c342f; --daily-bad-bg:#fbedeb;
}
body.dd-pro #dailyQOverlay .dailyQ__backdrop {
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));
  background:rgb(12 25 45 / 58%); backdrop-filter:none; animation:none;
}
body.dd-pro #dailyQOverlay .dailyQ__modal {
  display:flex; flex-direction:column; width:100%; max-width:580px;
  max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));
  overflow:hidden; border:0; border-radius:16px; background:var(--panel); color:var(--text);
  box-shadow:0 16px 48px rgb(10 23 42 / 24%); animation:none;
}
body.dd-pro #dailyQOverlay .dailyQ__header {
  flex:none; gap:8px; padding:12px 12px 12px 16px; border-bottom:1px solid var(--stroke);
}
body.dd-pro #dailyQOverlay .dailyQ__headerLeft { min-width:0; gap:10px; }
body.dd-pro #dailyQOverlay .dailyQ__headerLeft>div { min-width:0; }
body.dd-pro #dailyQOverlay .dailyQ__headerIcon {
  display:grid; place-items:center; flex:none; width:32px; height:32px;
  border-radius:50%; background:var(--student-action); color:#fff;
}
body.dd-pro #dailyQOverlay .dailyQ__headerIcon svg { display:block; width:20px; height:20px; }
body.dd-pro #dailyQOverlay .dailyQ__title { margin:0; font:700 19px/1.3 "Segoe UI",Arial,sans-serif; letter-spacing:-.02em; }
body.dd-pro #dailyQOverlay .dailyQ__subtitle { margin:3px 0 0; font-size:13px; line-height:1.4; color:var(--muted); overflow-wrap:anywhere; }
body.dd-pro #dailyQOverlay button { font-family:inherit; touch-action:manipulation; }
body.dd-pro #dailyQOverlay .dailyQ__close {
  flex:none; width:44px; height:44px; padding:12px; border:0; border-radius:8px;
  background:none; color:var(--text); box-shadow:none;
}
body.dd-pro #dailyQOverlay .dailyQ__close svg { display:block; width:20px; height:20px; }
body.dd-pro #dailyQOverlay :focus-visible { outline:3px solid var(--brand); outline-offset:2px; }
body.dd-pro #dailyQOverlay .dailyQ__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:12px 16px 16px; scrollbar-color:var(--stroke) var(--panel); scrollbar-width:thin; }
body.dd-pro #dailyQOverlay .duelDrawTools {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; padding:0;
  border:0; border-radius:0; background:none; box-shadow:none;
}
body.dd-pro #dailyQOverlay .duelDrawTools>.btn.ghost {
  min-height:44px; padding:10px 12px; border:1px solid var(--stroke); border-radius:8px;
  background:var(--panel); color:var(--text); font-size:14px; line-height:1.4; font-weight:600;
  box-shadow:none; transform:none;
}
body.dd-pro #dailyQOverlay .daily-energy-prize {
  margin-left:auto; color:var(--brand); font-size:13px; line-height:1.4; font-weight:650;
}
body.dd-pro #dailyQOverlay .daily-energy-prize[hidden] { display:none; }
body.dd-pro #dailyQOverlay .dailyQ__imgWrap { margin:0 0 12px; border:0; border-radius:8px; background:#fff; }
body.dd-pro #dailyQOverlay .dailyQ__imgWrap:empty { display:none; }
body.dd-pro #dailyQOverlay .dailyQ__img { border-radius:0; }
body.dd-pro #dailyQOverlay .dailyQ__imgLoader { color:#51647f; padding:24px 12px; font-size:14px; }
body.dd-pro #dailyQOverlay .dailyQ__text { margin:0 0 16px; color:var(--text); font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
body.dd-pro #dailyQOverlay .dailyQ__choicesGrid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(44px,1fr)); gap:8px;
  margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
}
body.dd-pro #dailyQOverlay .dailyQ__choicesGrid--text { grid-template-columns:minmax(0,1fr); }
body.dd-pro #dailyQOverlay .qbChoiceBtn {
  display:flex; align-items:center; justify-content:center; gap:10px; width:auto; height:auto;
  min-width:44px; min-height:48px; padding:10px 12px; border:1px solid var(--stroke); border-radius:8px;
  background:var(--panel); color:var(--text); box-shadow:none; transform:none; opacity:1;
  font-size:15px; line-height:1.5; text-align:left; overflow:visible; transition:background-color 120ms ease,border-color 120ms ease;
}
body.dd-pro #dailyQOverlay .dailyQ__choicesGrid--text .qbChoiceBtn { justify-content:flex-start; }
body.dd-pro #dailyQOverlay .dailyQ__choicesGrid:not(.dailyQ__choicesGrid--text) .qbChoiceBtn b { width:20px; }
body.dd-pro #dailyQOverlay .qbChoiceBtn b { display:grid; place-items:center; flex:none; width:24px; height:24px; border-radius:4px; background:var(--panel2); color:inherit; font-size:14px; }
body.dd-pro #dailyQOverlay .qbChoiceBtn>span { flex:1; min-width:0; white-space:normal; overflow-wrap:anywhere; }
body.dd-pro #dailyQOverlay .qbChoiceBtn::before { display:none; }
body.dd-pro #dailyQOverlay .qbChoiceBtn.selected { border-color:var(--brand); background:var(--panel2); }
body.dd-pro #dailyQOverlay .qbChoiceBtn.correct { color:var(--daily-good); border-color:var(--daily-good); background:var(--daily-good-bg); }
body.dd-pro #dailyQOverlay .qbChoiceBtn.wrong { color:var(--daily-bad); border-color:var(--daily-bad); background:var(--daily-bad-bg); }
body.dd-pro #dailyQOverlay .qbChoiceBtn.dim { color:var(--muted); opacity:1; background:var(--panel); }
body.dd-pro #dailyQOverlay .qbChoiceBtn:is(.correct,.wrong):not(.loading)::after {
  content:""; display:block; flex:none; position:static; width:18px; height:18px; margin-left:auto;
  border:0; border-radius:0; animation:none; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317603b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}
body.dd-pro #dailyQOverlay .qbChoiceBtn.wrong:not(.loading)::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239c342f' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E"); }
body.dd-pro #dailyQOverlay .dailyQ__choicesGrid:not(.dailyQ__choicesGrid--text) .qbChoiceBtn:is(.correct,.wrong)::after { width:14px; height:14px; margin-left:0; }
html[data-theme=dark] body.dd-pro #dailyQOverlay .qbChoiceBtn.correct::after { filter:brightness(0) saturate(100%) invert(85%) sepia(10%) saturate(1110%) hue-rotate(88deg); }
html[data-theme=dark] body.dd-pro #dailyQOverlay .qbChoiceBtn.wrong::after { filter:brightness(0) saturate(100%) invert(85%) sepia(18%) saturate(946%) hue-rotate(309deg); }
body.dd-pro #dailyQOverlay .dailyQ__result {
  margin:16px 0 0; padding:12px; gap:8px; border:0; border-radius:8px; text-align:left;
  background:var(--daily-bad-bg); color:var(--daily-bad);
}
body.dd-pro #dailyQOverlay .dailyQ__result.correct { background:var(--daily-good-bg); color:var(--daily-good); }
body.dd-pro #dailyQOverlay .dailyQ__resultIcon { width:24px; height:24px; background:none; color:inherit; }
body.dd-pro #dailyQOverlay .dailyQ__resultIcon svg { width:22px; height:22px; }
body.dd-pro #dailyQOverlay .dailyQ__resultText { min-width:0; color:inherit; font-size:14px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
body.dd-pro #dailyQOverlay .dailyQ__retryWrap { flex-wrap:wrap; }
body.dd-pro #dailyQOverlay .dailyQ__retryBtn { min-height:44px; padding:10px 12px; border:1px solid currentColor; border-radius:8px; background:var(--panel); color:var(--daily-bad); font-size:14px; box-shadow:none; }
body.dd-pro #dailyQOverlay .dailyQ__doneBtn {
  flex:none; width:auto; min-height:48px; margin:0 16px 16px; padding:12px 16px;
  border:0; border-radius:8px; background:var(--student-action); color:#fff; box-shadow:none; transform:none;
  font-size:15px; line-height:1.4; font-weight:650;
}
body.dd-pro #dailyQOverlay .dailyQ__rateBox { margin:20px 0 0; padding:16px 0 0; border:0; border-top:1px solid var(--stroke); border-radius:0; background:none; }
body.dd-pro #dailyQOverlay .dailyQ__rateHeader { gap:8px; margin-bottom:12px; }
body.dd-pro #dailyQOverlay .dailyQ__rateIcon { color:var(--brand); }
body.dd-pro #dailyQOverlay .dailyQ__rateTitle { color:var(--muted); font-size:13px; font-weight:600; line-height:1.4; text-transform:none; letter-spacing:0; }
body.dd-pro #dailyQOverlay .dailyQ__rateStats { justify-content:flex-start; gap:24px; margin:0 0 12px; }
body.dd-pro #dailyQOverlay .dailyQ__rateStat { flex:none; text-align:left; }
body.dd-pro #dailyQOverlay .dailyQ__rateStatValue { color:var(--text); font-size:20px; font-weight:700; line-height:1.3; font-variant-numeric:tabular-nums; }
body.dd-pro #dailyQOverlay .dailyQ__rateStatLabel { margin-top:2px; color:var(--muted); font-size:12px; text-transform:none; letter-spacing:0; }
body.dd-pro #dailyQOverlay .dailyQ__rateDivider { display:none; }
body.dd-pro #dailyQOverlay .dailyQ__rateBar { margin:0 0 12px; height:4px; background:var(--panel2); }
body.dd-pro #dailyQOverlay .dailyQ__rateBarFill { background:var(--brand); transition:none; }
body.dd-pro #dailyQOverlay .dailyQ__answerList { gap:0; margin-top:8px; }
body.dd-pro #dailyQOverlay .dailyQ__answerRow { padding:8px 0; border-radius:0; background:none; gap:10px; }
body.dd-pro #dailyQOverlay .dailyQ__answerAvatar { display:grid; place-items:center; width:28px; height:28px; color:var(--text); }
body.dd-pro #dailyQOverlay .dailyQ__answerName { color:var(--text); font-size:14px; font-weight:600; }
body.dd-pro #dailyQOverlay .dailyQ__answerIcon { color:var(--daily-bad); font-size:18px; font-weight:700; }
body.dd-pro #dailyQOverlay .dailyQ__answerRow.is-correct .dailyQ__answerIcon { color:var(--daily-good); }
body.dd-pro #dailyQOverlay :is(.dailyQ__rateLoading,.dailyQ__loadingFull) { color:var(--muted); font-size:14px; }
body.dd-pro #dailyQOverlay .dailyQ__loadingFull { padding:32px 12px; gap:12px; }
body.dd-pro #dailyQOverlay .dailyQ__spinner { width:28px; height:28px; border-color:var(--stroke); border-top-color:var(--brand); }
body.dd-pro #dailyQOverlay ::selection { background:var(--brand); color:var(--panel); }
@media(hover:hover) {
  body.dd-pro #dailyQOverlay :is(.dailyQ__close,.duelDrawTools>.btn.ghost,.qbChoiceBtn):enabled:hover { color:var(--text); background:var(--panel2); border-color:var(--brand); box-shadow:none; transform:none; }
  body.dd-pro #dailyQOverlay .dailyQ__doneBtn:enabled:hover { background:#182e50; }
}
@media(max-width:360px) {
  body.dd-pro #dailyQOverlay .dailyQ__header { padding-inline:12px 8px; }
  body.dd-pro #dailyQOverlay .dailyQ__body { padding-inline:12px; }
  body.dd-pro #dailyQOverlay .dailyQ__choicesGrid:not(.dailyQ__choicesGrid--text) .qbChoiceBtn { padding-inline:4px; gap:2px; }
}
@media(prefers-reduced-motion:reduce) {
  body.dd-pro #dailyQOverlay :is(.qbChoiceBtn,.dailyQ__close,.dailyQ__spinner) { transition:none; animation:none; }
}

/* Auth verification feedback only; existing actions and navigation stay in place. */
body.dd-pro .verify-email-grid { --brand:#aac7ec; --student-action:#223e68; --panel:#17253a; --stroke:#435675; --text:#f1f5fb; --muted:#b8c7dc; --verify-error:#ffb4ac; --verify-success:#a3e2bc; color:var(--text); }
html[data-theme=light] body.dd-pro .verify-email-grid { --brand:#223e68; --panel:#fff; --stroke:#cbd6e6; --text:#1b2d48; --muted:#51647f; --verify-error:#9c342f; --verify-success:#17603b; }
body.dd-pro .verify-email-grid>.card { min-width:0; background:var(--panel); color:var(--text); border:1px solid var(--stroke); border-radius:12px; box-shadow:none; }
body.dd-pro .verify-email-grid :is(.h1,.h2) { color:var(--text); font-family:"Segoe UI",Arial,sans-serif; line-height:1.3; }
body.dd-pro .verify-email-grid .h1 { margin:0; font-size:24px; }
body.dd-pro .verify-email-grid .h2 { margin:0 0 12px; font-size:18px; }
body.dd-pro .verify-email-grid .small { font:14px/1.6 "Segoe UI",Arial,sans-serif; overflow-wrap:anywhere; }
body.dd-pro .verify-email-grid .muted { color:var(--muted); }
body.dd-pro .verify-email-intro { margin:0 0 12px; }
body.dd-pro .verify-email-address { margin:0; color:var(--text); font:600 15px/1.5 "Segoe UI",Arial,sans-serif; overflow-wrap:anywhere; }
body.dd-pro .verify-email-actions { margin-top:16px; gap:8px; flex-wrap:wrap; }
body.dd-pro .verify-email-actions .btn { min-height:44px; min-width:44px; padding:10px 12px; border:1px solid var(--stroke); border-radius:8px; background:var(--panel); color:var(--text); font:600 14px/1.5 "Segoe UI",Arial,sans-serif; box-shadow:none; transform:none; }
body.dd-pro .verify-email-actions .btn.primary { background:var(--student-action); color:#fff; border-color:transparent; min-height:48px; }
body.dd-pro .verify-email-actions .btn.ghost { background:none; border-color:transparent; }
body.dd-pro .verify-email-actions .btn:disabled { cursor:default; opacity:1; color:var(--muted); background:var(--panel); border-color:var(--stroke); }
body.dd-pro .verify-email-grid :focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
body.dd-pro .verify-email-status { margin:12px 0 0; color:var(--text); }
body.dd-pro .verify-email-status:empty,body.dd-pro #verifyResendCountdown:empty { display:none; }
body.dd-pro .verify-email-status[data-tone=error] { color:var(--verify-error); }
body.dd-pro .verify-email-status[data-tone=success] { color:var(--verify-success); }
body.dd-pro #verifyResendCountdown { margin:10px 0 0; font-variant-numeric:tabular-nums; }
body.dd-pro .verify-email-inbox { margin:12px 0 0; }
body.dd-pro .verify-email-help p { margin:0; }
@media(hover:hover) { body.dd-pro .verify-email-actions .btn.primary:enabled:hover { background:#182e50; } }


/* Approved study release: navigation color stays on text and icons. */
body.dd-pro .homeAction[data-action="goWrongs"] { color:#ffb9bf; background:transparent; }
body.dd-pro .homeAction[data-action="openStats"] { color:#ffc48a; background:transparent; }
body.dd-pro .homeAction:is([data-action="goWrongs"],[data-action="openStats"]) :is(.homeAction__icon,.homeAction__label) { color:inherit; background:transparent; }
html[data-theme=light] body.dd-pro .homeAction[data-action="goWrongs"] { color:#9f2936; }
html[data-theme=light] body.dd-pro .homeAction[data-action="openStats"] { color:#954300; }
@media(hover:hover) { body.dd-pro .homeAction:is([data-action="goWrongs"],[data-action="openStats"]):hover { background:transparent; } }
/* Rankings are separate destinations, grouped in the existing menu. */
.mobileMenuNav .student-menu-heading { margin:8px 0 2px; padding:4px 16px; color:var(--muted); font-size:13px; font-weight:600; }
