/* Monsters Exam Quest: Grown-ups. The passcode panel, and the grown-up area as the Grownups, Settings and PaperFinder boards draw
   it, in the Admin page's look (Jon, 27 Oct; mq-admin.css): their buddy's world behind the top of every page fading to navy, a
   frosted bar, a title with one line under it, and every part in a frosted card. Check answers follows the same pattern.
   Built on the kit in mq.css; parent mode turns its tokens dark (--white is the panel navy, --ink the ivory text). */

/* Light panels get light native controls (checkboxes, selects); the page itself is dark. */
.gg-sheet{color-scheme:light}
body[data-mode="parent"] #app{padding-top:0}
/* Grown-ups runs edge to edge, so their buddy's world reaches both sides; the bar, the top and the body each keep a 1180px column */
body[data-route="grownups"] #app{max-width:none;padding:0 0 var(--s7)}

/* ---- The bar (the Admin page's look): the logo, the gold Grown-ups label, the child, How they’re doing and Settings, and the way back to
   the child's screen. Frosted over their buddy's world. On a phone (the PhoneGrownupsB board) one row: the logo, the label, the
   other page and Done. */
.ga-bar{position:relative;z-index:2;padding:12px 0;background:rgba(11,18,54,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ga-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) 16px;min-height:var(--tap);width:100%;max-width:calc(1120px + 2 * var(--gut));margin:0 auto;padding-inline:var(--gut)}
.ga-title{display:inline-flex;align-items:center;gap:12px;margin:0}
.ga-logo{display:block;width:132px;height:auto}
.ga-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:rgba(232,196,106,.16);color:#f6dc95;font:800 14px/1 var(--fD);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.ga-gap{flex:999 1 auto}
.ga-who{display:inline-flex;align-items:center;gap:10px;margin:0;padding:5px 15px 5px 5px;border-radius:999px;background:rgba(255,255,255,.08);font:600 15px/1.2 var(--fD);color:#fffaf0}
.ga-who-pic{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;overflow:hidden;background:#16224c}
.ga-who-pic img{width:28px;height:28px;object-fit:contain}
.ga-nav{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 14px;border:0;border-bottom:2px solid transparent;background:none;color:#c9d2ee;font:600 16px/1.2 var(--fD);cursor:pointer;white-space:nowrap}
.ga-nav:hover{color:#fff}
.ga-nav[aria-current="page"]{color:#fffaf0;font-weight:700;border-bottom-color:#e8c46a}
.ga-out{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 16px;border-radius:12px;background:rgba(255,255,255,.07);color:#fffaf0;font:700 16px/1.2 var(--fD);text-decoration:none;white-space:nowrap}
.ga-out:hover{background:rgba(255,255,255,.11)}
.ga-out-s{display:none}
@media (max-width:719px){
.ga-bar-in{flex-wrap:nowrap;gap:6px}
.ga-who,.ga-nav:not(.is-phone){display:none}
/* One row, and the logo gives way first (as the app's own header does): it shrinks from 92px to 64px before anything else, then
   hides where even 64px would not fit beside the label, the other page and Done. The other page's name wraps onto a second line
   only as a last resort, at the narrowest phones, so nothing overlaps or is cut off. */
.ga-title{display:contents}
.ga-logo{flex:0 1000 auto;width:92px;min-width:64px}
.ga-pill,.ga-out{flex:0 0 auto}
.ga-pill{min-height:28px;padding:0 9px;font-size:12px;letter-spacing:.04em}
.ga-nav{flex:0 1 auto;padding:0 10px;font-size:15px;line-height:1.15;white-space:normal;text-align:center}
.ga-nav[aria-current="page"]{border-bottom-color:transparent}
.ga-out{padding:0 14px}
.ga-out-l{display:none}
.ga-out-s{display:inline}
}
/* Where the logo fits at 64px or more (measured, with a few px to spare): beside "How they’re doing" from 440px; beside "Settings"
   (the overview) from 370px; on the lock, with no page to go to, from 360px. Without :has(), it simply hides below 440px. */
@media (max-width:439px){.ga-logo{display:none}}
@media (min-width:370px) and (max-width:439px){.ga-bar-in:has(.ga-nav.is-phone[data-section="settings"]) .ga-logo,.ga-bar-in:not(:has(.ga-nav)) .ga-logo{display:block}}
@media (min-width:360px) and (max-width:369px){.ga-bar-in:not(:has(.ga-nav)) .ga-logo{display:block}}
@media (max-width:359px){.ga-logo{display:none}}

/* ---- Passcode panel (also embedded by onboarding without the header) */
/* The lock in their buddy's world (the GrownupsLock board): the habitat behind the whole screen and the panel on it, no monster */
.gg{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100dvh;overflow:hidden}
.gg>.ui-scene{z-index:-2}
.gg>.ui-scene .ui-scene-img{object-position:center 70%}
.gg-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(8,12,34,.55) 0%,rgba(8,12,34,.25) 30%,rgba(8,12,34,.4) 100%)}
/* On the lock the panel is a frosted navy card like every grown-up card (the GrownupsLock board, 27 Oct); onboarding's keeps its ivory */
body[data-mode="parent"] .gg .gg-sheet{--white:rgba(255,255,255,.05);--ink:#fffaf0;--ink2:#c9d2ee;--hair:rgba(169,180,220,.35);--hair2:rgba(169,180,220,.2);--sel:rgba(255,255,255,.1);--ivory2:rgba(255,255,255,.07);background:rgba(8,12,34,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(169,180,220,.22);color:#fffaf0;color-scheme:dark}
body[data-mode="parent"] .gg .gg-seal{background:rgba(232,196,106,.16);color:#f6dc95}
body[data-mode="parent"] .gg .gg-dot.is-on{border-color:#e8c46a}
body[data-mode="parent"] .gg .gg-dots:not(.is-shown) .gg-dot.is-on::after{background:#fffaf0}
body[data-mode="parent"] .gg .gg-sheet .gg-key{border-color:transparent;background:rgba(255,255,255,.07);color:#fffaf0}
body[data-mode="parent"] .gg .gg-sheet .gg-key:hover{background:rgba(255,255,255,.12)}
body[data-mode="parent"] .gg .gg-sheet :is(.gg-forgot,.mq-link){color:#c9d2ee}
body[data-mode="parent"] .gg .gg-code{border-color:#e8c46a}
.gg-main{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--s5) var(--gut) var(--s6)}
.gg-sheet{width:100%;max-width:480px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;align-items:stretch;gap:var(--s4);text-align:center}
.gg-back{align-self:flex-start;margin:-8px 0 -4px -6px;font-size:17px}
.gg-seal{align-self:center;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sel);color:var(--navy2)}
.gg-seal svg{width:28px;height:28px}
.gg-seal.is-ok{background:var(--okTint);color:var(--ok)}
.gg-h{margin:0;font:600 clamp(26px,3vw,32px)/1.15 var(--fH);color:var(--ink);text-wrap:balance}
.gg-ask{margin:-8px 0 0;font:500 18px/1.45 var(--fD);color:var(--ink2)}
.pc-step{align-self:center;margin-bottom:-8px}
.gg-dots{display:flex;justify-content:center;gap:clamp(10px,3vw,16px)}
.gg-dot{width:clamp(52px,14vw,60px);height:clamp(60px,16vw,68px);border-radius:var(--rK);display:flex;align-items:center;justify-content:center;background:var(--white);border:2px solid var(--hair);color:var(--ink);font:600 30px/1 var(--fH);transition:border-color .12s ease}
.gg-dot.is-on{border-color:var(--navy2)}
.gg-dots:not(.is-shown) .gg-dot.is-on::after{content:"";width:18px;height:18px;border-radius:50%;background:var(--navy)}
.gg-dots.shake-a{animation:gg-shake-a .4s ease both}
.gg-dots.shake-b{animation:gg-shake-b .4s ease both}
@keyframes gg-shake-a{20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
@keyframes gg-shake-b{20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.pc-show{align-self:center;color:var(--ink)}
.gg-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.gg-sheet .gg-key{min-height:64px;padding:0 8px;gap:8px;border-color:var(--hair);background:#f6f2e8;font:600 28px/1 var(--fH)}
.gg-sheet .gg-key:hover{background:var(--sel)}
.gg-sheet .gg-key.is-word{font:700 18px/1.1 var(--fD)}
.gg-sheet .gg-key:disabled{opacity:.55}
.gg-say:empty{display:none}
.gg-msg{margin:0;display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--rK);font:600 17px/1.4 var(--fD);text-align:left}
.gg-msg svg{width:24px;height:24px;flex:0 0 auto}
.gg-msg.is-wrong{background:var(--errTint);color:var(--err)}
.gg-msg.is-ok{background:var(--okTint);color:var(--ok)}
.pc-tip{margin:0;padding:12px 16px;border-radius:var(--rK);background:var(--ivory2);font:500 16px/1.45 var(--fD);color:var(--ink);text-align:left}
.gg-forgot{align-self:center;color:var(--ink);font-size:17px}
/* Signing in with Google again: Google's own button (an iframe it draws), centred, or a line while it loads and checks */
.gg-google{display:flex;align-items:center;justify-content:center;min-height:48px;font:500 17px/1.4 var(--fD);color:var(--ink2)}
.gg-wait{margin:0}
.gg-code{margin:0;padding:16px;border-radius:var(--rK);background:var(--white);border:2px dashed var(--goldDeep);font:600 clamp(30px,8vw,40px)/1 var(--fH);letter-spacing:.14em;color:var(--ink);overflow-wrap:anywhere}
.gg-rec input{width:100%;min-height:64px;padding:0 16px;border:2px solid var(--hair);border-radius:var(--rF);background:var(--white);color:var(--ink);font:600 28px/1 var(--fH);letter-spacing:.12em;text-align:center;text-transform:uppercase}
.gg-rec input:focus-visible{outline:3px solid var(--navy2);outline-offset:1px;border-color:var(--navy2)}
@media (max-width:639px){.gg-main{padding-top:0}.gg-sheet{padding:20px 16px;gap:var(--s3)}.gg-sheet .gg-key{min-height:60px}}
@media (prefers-reduced-motion:reduce){.gg-dots.shake-a,.gg-dots.shake-b{animation:none}.gg-dot{transition:none}}

/* ---- The area: their buddy's world behind the top of every page, fading to navy before the lists (the Admin page's look) */
.ga{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.ga>.ui-scene{inset:0 0 auto 0;height:1100px;z-index:-2}
.ga>.ui-scene .ui-scene-img{object-position:center 72%}
.ga-scrim{position:absolute;left:0;right:0;top:0;height:1100px;z-index:-1;pointer-events:none;background:linear-gradient(92deg,rgba(8,12,34,.86) 0%,rgba(8,12,34,.5) 45%,rgba(8,12,34,.12) 100%),linear-gradient(180deg,rgba(8,12,34,.2) 0%,rgba(8,12,34,.35) 50%,#080c22 100%)}
.ga-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;max-width:calc(1120px + 2 * var(--gut));width:100%;margin:0 auto;padding:30px var(--gut) var(--s7)}
.ga-head{display:flex;flex-direction:column}
.ga-h1-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ga-h1{margin:0;font:700 44px/1.1 var(--fH);letter-spacing:-.01em;color:#fffaf0;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.ga-h1:focus{outline:none}
.ga-lead-top{margin:8px 0 0;max-width:70ch;font:500 18px/1.55 var(--fD);color:#c9d2ee;text-shadow:0 1px 10px rgba(5,8,23,.9)}
.ga-week-y{display:none;font:600 15px/1.3 var(--fD);color:#c9d2ee}
@media (max-width:719px){.ga-body{padding-top:96px}.ga-h1{font-size:36px}.ga-week-y{display:inline}}
.ga-sec-settings{gap:20px}
.ga-h2{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:700 25px/1.2 var(--fH);color:var(--ink)}
.ga-h3{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:700 19px/1.3 var(--fD);color:var(--ink)}
.ga-h4{margin:0;font:700 18px/1.3 var(--fD);color:var(--ink)}
.ga-lead{margin:0;font:500 16px/1.5 var(--fD);color:#8e9bd0}
.ga-help{margin:0;font:500 16px/1.45 var(--fD);color:var(--ink2)}
.ga-help a{color:inherit}
.ga-none{margin:0;display:flex;align-items:center;gap:10px;font:600 18px/1.4 var(--fD);color:var(--ink)}
.ga-none svg{width:24px;height:24px;color:#7ed08c;flex:0 0 auto}
.ga-panel{padding:clamp(18px,2.2vw,28px);display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.ga-stars{display:inline-flex;gap:3px;flex:0 0 auto}
.ga-stars svg{width:18px;height:18px;fill:rgba(169,180,220,.26)}
.ga-stars svg.is-on{fill:#e8c46a}

/* The overview, How they're doing (the Grownups board): one range for the page, scores, what to work on, practice, close calls,
   everything they have done in the range, the settings and the archive. The charts are MQ_CHARTS' (mc-*, in mq.css). */
.ga-range{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.ga-chips{display:flex;flex-wrap:wrap;gap:8px}
.ga-rchip{min-height:48px;display:inline-flex;align-items:center;padding:0 18px;border:0;border-radius:12px;background:rgba(8,12,34,.8);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#c9d2ee;font:600 16px/1.2 var(--fD);cursor:pointer;transition:background .11s,box-shadow .11s}
.ga-rchip:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(169,180,220,.5)}
.ga-rchip[aria-pressed="true"]{background:rgba(232,196,106,.18);box-shadow:inset 0 0 0 2px #e8c46a;color:#fffaf0}
.ga-dates{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:6px;border-radius:16px;background:rgba(8,12,34,.8);box-shadow:inset 0 0 0 1px rgba(169,180,220,.22)}
.ga-date-l{display:inline-flex;align-items:center;gap:8px;font:500 15px/1.2 var(--fD);color:#c9d2ee}
.ga-date{min-height:48px;box-sizing:border-box;padding:0 12px;border:0;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#fffaf0;font:500 16px/1.2 var(--fD);color-scheme:dark}
.ga-apply{min-height:48px;padding:0 20px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffd97a,#f0b429 82%);color:#1b1403;font:700 16px/1.2 var(--fD);cursor:pointer;transition:box-shadow .14s,transform .11s}
.ga-apply:hover{box-shadow:0 0 0 4px rgba(240,180,41,.2)}
.ga-apply:active{transform:translateY(1px)}
.ga-kick{margin:0;font:700 14px/1.3 var(--fD);letter-spacing:.1em;text-transform:uppercase;color:#8e9bd0}
.ga-say{margin:8px 0 0;font:700 30px/1.2 var(--fH);color:#fffaf0}
.ga-subjs{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ga-subj{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:0;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(169,180,220,.16);color:#fffaf0;font-family:var(--fD);text-align:left;cursor:pointer;transition:background .11s,box-shadow .11s}
.ga-subj:hover{background:rgba(255,255,255,.07)}
.ga-subj[aria-pressed="true"]{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 2px var(--c)}
.ga-subj-n{display:flex;align-items:center;gap:8px;font:700 16px/1.2 var(--fD)}
.ga-subj-dot{width:10px;height:10px;border-radius:50%;background:var(--c)}
.ga-subj-v{font:800 40px/1.05 var(--fH);color:#fffaf0}
.ga-subj-v.is-none{color:#8e9bd0}
.ga-subj-s{font:600 14px/1.3 var(--fD);color:#c9d2ee}
.ga-subj-s.is-up{color:#7ed08c}
.ga-chart{margin-top:18px;min-width:0}
.ga-chart-note{margin:6px 0 0;font:500 14px/1.4 var(--fD);color:#8e9bd0}
.ga-try-in{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px}
.ga-try-t{flex:999 1 420px;min-width:0}
.ga-try-t .ga-say{margin:0}
.ga-try-t p{margin:10px 0 0;max-width:56ch;font:500 18px/1.5 var(--fD);color:#c9d2ee}
.ga-topic{color:#f6dc95}
.ga-gold.ga-find-topic{padding:0 24px;font-size:17px}
.ga-also{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(169,180,220,.14);font:500 16px/1.5 var(--fD);color:#c9d2ee}
.ga-also b{color:#fffaf0}
.ga-try-none{margin:10px 0 0;font:500 18px/1.5 var(--fD);color:#c9d2ee}
.ga-prac{margin-top:14px;min-width:0}
.ga-chart-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px}
.ga-h3c{margin:0;font:700 18px/1.3 var(--fD);color:#fffaf0}
.ga-h3c span{font-weight:600;color:#8e9bd0}
.ga-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font:600 15px/1.2 var(--fD);color:#c9d2ee}
.ga-legend>span{display:inline-flex;align-items:center;gap:8px}
.ga-key{display:inline-block;width:14px;height:3px;border-radius:2px}
.ga-key.is-papers{background:#e8c46a}
.ga-key.is-app{background:#8e9bd0}
.ga-key.is-right,.ga-key.is-wrong{width:12px;height:12px;border-radius:3px}
.ga-key.is-right{background:#5fc9b8}
.ga-key.is-wrong{background:rgba(169,180,220,.42)}
.ga-time .mc{margin-top:10px}
.ga-qs .mc{margin-top:14px}
.ga-time-wait{margin:10px 0 0;min-height:160px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;border-radius:16px;background:rgba(255,255,255,.03);font:600 16px/1.4 var(--fD);color:#c9d2ee}
.ga-time-wait p{margin:0}
.ga-since{margin:10px 0 0;font:500 14px/1.4 var(--fD);color:#8e9bd0}
.ga-pick{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(169,180,220,.14)}
.ga-pick-t{flex:999 1 260px;min-width:0;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px}
.ga-pick-t b{font:700 18px/1.3 var(--fD);color:#fffaf0}
.ga-pick-m{font:700 16px/1.3 var(--fD);color:#f6dc95}
.ga-pick-q{font:700 16px/1.3 var(--fD);color:#8fe0d2}
.ga-pick-w{flex:999 1 200px;min-width:0;font:500 16px/1.4 var(--fD);color:#c9d2ee}
.ga-pick-go{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px}
.ga-quiet.ga-move{min-height:48px;padding:0 16px}
.ga-quiet.ga-move:disabled{opacity:.45;cursor:default;background:rgba(255,255,255,.07)}
.ga-sec-overview>.ga-calls{margin-top:14px}
.ga-card.ga-calls{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;box-shadow:inset 0 0 0 1.5px rgba(240,180,41,.5)}
.ga-calls-ic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:rgba(240,180,41,.2);color:#f0b429}
.ga-calls-ic svg{width:26px;height:26px;stroke-width:2.6}
.ga-calls-t{flex:999 1 320px;min-width:0}
.ga-calls-t h2{margin:0;font:700 20px/1.3 var(--fD);color:#fffaf0}
.ga-calls-t p{margin:3px 0 0;font:500 16px/1.45 var(--fD);color:#c9d2ee}
.ga-gold{flex:0 0 auto;min-height:56px;display:inline-flex;align-items:center;padding:12px 26px;border:0;border-radius:12px;background:linear-gradient(180deg,#ffd97a,#f0b429 82%);color:#1b1403;font:700 18px/1.2 var(--fD);cursor:pointer;transition:box-shadow .14s,transform .11s}
.ga-gold:hover{box-shadow:0 0 0 4px rgba(240,180,41,.2)}
.ga-gold:active{transform:translateY(1px)}
.ga-calls-ic.is-sliders svg{stroke-width:2.4}
.ga-first-acts{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ga-first .ga-keep{min-height:56px;padding:12px 20px;font-size:17px}
.ga-sel{position:relative;display:inline-flex;align-items:center}
.ga-sel select{appearance:none;-webkit-appearance:none;min-height:var(--tap);padding:0 40px 0 16px;border:0;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#c9d2ee;font:600 15px/1.2 var(--fD);cursor:pointer}
.ga-sel select:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(169,180,220,.5)}
.ga-sel select option{background:#0e1430;color:#fffaf0}
.ga-sel>svg{position:absolute;right:12px;width:18px;height:18px;color:#8e9bd0;pointer-events:none}
.ga-card.ga-done{gap:14px}
.ga-done>.mq-btn2{align-self:flex-start}
.ga-table{width:100%;border-collapse:collapse;font:500 16px/1.35 var(--fD);color:#fffaf0}
.ga-table th{padding:10px 16px;text-align:left;font:600 14px/1.3 var(--fD);color:#8e9bd0}
.ga-table td{padding:14px 16px;vertical-align:middle;color:#c9d2ee}
.ga-table th:first-child,.ga-table td:first-child{padding-left:4px}
.ga-table th:last-child,.ga-table td:last-child{padding-right:4px}
.ga-table tbody tr{border-top:1px solid rgba(169,180,220,.14);transition:background .11s}
.ga-table tbody tr:hover{background:rgba(255,255,255,.045)}
.ga-table td:first-child b{display:block;font:700 17px/1.3 var(--fD);color:#fffaf0}
.ga-table td:first-child span{font:500 14px/1.3 var(--fD);color:#8e9bd0}
.ga-table th:first-child{width:38%}
.ga-table td:nth-child(3){font-weight:600;color:#fffaf0}
.ga-table td:nth-child(4) b{font:800 24px/1 var(--fH);color:#fffaf0;white-space:nowrap}
.ga-wait{font:600 15px/1.2 var(--fD);color:#8e9bd0;white-space:nowrap}
.ga-table td:nth-child(5){font:700 21px/1 var(--fH)}
.ga-pair{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}
.ga-sum{flex:999 1 460px;min-width:0}
.ga-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px}
.ga-arc{min-width:0}
/* How it works: the explainer video, a quiet block under the archive (the Grownups board) */
.ga-vid{min-width:0}
.ga-vid .ga-h2{margin-bottom:10px}
.ga-vid p{margin:0 0 16px;font:500 15px/1.55 var(--fD);color:#8e9bd0}
.ga-chip.ga-watch{padding-left:10px}
.ga-watch-i{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--gold)}
.ga-chip .ga-watch-i svg{width:14px;height:14px;margin-left:2px;color:var(--navy)}
.ga-watch-t{font-weight:600;color:#8e9bd0}
.ga-sum-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ga-sum-list{list-style:none;margin:0;padding:0}
.ga-sum-list li{display:flex;align-items:center;gap:14px;padding:13px 8px 13px 4px;border-top:1px solid rgba(169,180,220,.14)}
.ga-sum-list li>span{flex:999 1 auto;min-width:0}
.ga-sum-list li>span b{display:block;font:700 16px/1.3 var(--fD);color:#fffaf0}
.ga-sum-list li>span span{display:block;font:500 14px/1.35 var(--fD);color:#8e9bd0}
.ga-val{flex:0 0 auto;padding:5px 15px;border-radius:999px;background:rgba(169,180,220,.16);color:#c9d2ee;font:700 15px/1.2 var(--fD);white-space:nowrap}
.ga-val.is-on{background:rgba(126,208,140,.18);color:#bdefc7}
.ga-arc .ga-h2{margin-bottom:10px}
.ga-arc p{margin:0 0 16px;font:500 15px/1.55 var(--fD);color:#8e9bd0}
.ga-chip{min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:0 18px;border:0;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#fffaf0;font:700 16px/1.2 var(--fD);text-decoration:none;cursor:pointer;transition:background .11s,box-shadow .11s}
.ga-chip:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(169,180,220,.5)}
.ga-chip svg{width:20px;height:20px;color:#f6dc95}
@media (max-width:719px){
.ga-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ga-table,.ga-table tbody{display:block}
.ga-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 4px}
.ga-table td{padding:0}
.ga-table td:first-child{flex:1 1 100%}
.ga-table td[data-l]::before{content:attr(data-l) " ";font:600 13px/1.3 var(--fD);color:#8e9bd0}
.ga-table td:nth-child(4) b{font-size:20px}
.ga-say{font-size:25px}
.ga-pick{padding:12px 14px}
.ga-pick-go{flex:1 1 100%}
.ga-pick-go .ga-move{flex:1 1 0;justify-content:center}
.ga-gold{flex:1 1 100%;justify-content:center}
.ga-first-acts{flex:1 1 100%}
.ga-first .ga-keep{flex:1 1 100%;justify-content:center}
}

/* Settings: one card per part, saved as they change */
.ga-card{display:flex;flex-direction:column;padding:24px 26px;border:1px solid rgba(169,180,220,.22);border-radius:22px;background:rgba(8,12,34,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ga-card>.ga-h2{margin-bottom:6px}
.ga-card>.ga-lead{margin-bottom:18px}
.ga-card>.ga-h2+.ga-child{margin-top:12px}
.ga-child{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
/* The child's card (the Settings board): frosted, the buddy standing on the right; their world is behind the whole page now.
   On a phone the words sit on top and the buddy under them. */
.ga-card.ga-kid-card{position:relative;overflow:hidden;padding:0}
.ga-kid-in{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px}
.ga-kid-t{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px;padding:24px 26px}
.ga-kid-card .ga-child{align-items:flex-end}
.ga-kid-card .ga-name{flex:1 1 260px}
.ga-kid-card .ga-field>span,.ga-kid-card .ga-note{color:#c9d2ee}
.ga-kid-card .ga-note{flex:none;max-width:46ch}
.ga-kid-buddy{flex:1 1 280px;display:flex;align-items:flex-end;justify-content:center;padding:18px 18px 0}
.ga-kid-buddy img{display:block;width:100%;max-width:300px;height:230px;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.6))}
@media (max-width:719px){.ga-kid-t{padding:20px 18px}.ga-kid-buddy img{height:170px}}
.ga-note{flex:1 1 240px;min-width:0;margin:0;font:500 15px/1.5 var(--fD);color:#8e9bd0}
.ga-note b{color:#fffaf0}
.ga-field{flex:0 0 auto}
.ga-field>span{display:block;margin-bottom:6px;font:500 15px/1.3 var(--fD);color:#8e9bd0}
.ga-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.07)}
.ga-seg-b{min-height:48px;padding:10px 20px;border:0;border-radius:12px;background:transparent;color:#c9d2ee;font:700 16px/1.2 var(--fD);cursor:pointer;transition:background .11s,color .11s}
.ga-field .ga-seg-b{padding-inline:22px;font-size:17px}
.ga-seg-b:hover{color:#fff;background:rgba(255,255,255,.05)}
.ga-seg-b[aria-pressed="true"]{background:#16224c;color:#fff}
.ga-sets{list-style:none;margin:0;padding:0}
/* When they see their marks: the Admin page's door tiles, the one in force lit */
.ga-tiles{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:12px}
.ga-tile{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:var(--tap);padding:16px 18px;border:0;border-radius:16px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(169,180,220,.26);color:#fffaf0;font-family:var(--fD);text-align:left;cursor:pointer}
.ga-tile:hover{background:rgba(255,255,255,.08)}
.ga-tile b{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}
.ga-tile>span{font-size:15px;line-height:1.45;color:#a9b4dc}
.ga-dot{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 2px #e8c46a}
.ga-tile[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #e8c46a}
.ga-tile[aria-pressed="true"] .ga-dot{background:#e8c46a}
.ga-set{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:18px 0;border-top:1px solid rgba(169,180,220,.14)}
.ga-set-t{flex:999 1 300px;min-width:0}
.ga-set-t b{display:block;font:700 18px/1.3 var(--fD);color:#fffaf0}
.ga-set-t>span{display:block;font:500 15px/1.45 var(--fD);color:#8e9bd0}
.ga-set.is-big{padding:0 0 20px;border-top:0;border-bottom:1px solid rgba(169,180,220,.14)}
.ga-set.is-big .ga-set-t{flex-basis:280px}
.ga-stepper{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.07)}
.ga-step{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;cursor:pointer;transition:background .11s}
.ga-set.is-big .ga-step{width:52px;height:52px}
.ga-step:hover{background:rgba(255,255,255,.07)}
.ga-step svg{width:21px;height:21px;fill:none;stroke:#f6dc95;stroke-width:2.6;stroke-linecap:round}
.ga-step-v{min-width:76px;text-align:center;font:800 26px/1 var(--fH);color:#fffaf0}
.ga-step-v.is-big{min-width:104px;font-size:30px}
.ga-ladder{padding-top:20px}
.ga-ladder-h{display:block;margin-bottom:4px;font:700 18px/1.3 var(--fD);color:#fffaf0}
.ga-ladder .ga-lead{font-size:15px}
.ga-ladder ul{list-style:none;margin:16px 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}
.ga-band{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 16px;border-radius:12px;background:rgba(240,180,41,.08);box-shadow:inset 0 0 0 1px rgba(240,180,41,.32)}
.ga-band .ga-stars svg{width:19px;height:19px}
.ga-band-n{flex:0 0 76px;font:700 17px/1.3 var(--fD);color:#fffaf0}
.ga-band-t{flex:999 1 60px;min-width:0;font:500 16px/1.3 var(--fD);color:#8e9bd0}
.ga-band .ga-stepper{padding:3px}
/* The switch: a 66 by 38 track, inside a 48px-tall control */
.ga-switch{position:relative;flex:0 0 auto;width:66px;height:48px;padding:0;border:0;background:none;cursor:pointer}
.ga-switch::before{content:"";position:absolute;left:0;top:5px;width:66px;height:38px;border-radius:22px;background:#5c6788;transition:background .16s}
.ga-switch[aria-checked="true"]::before{background:#2c8a3e}
.ga-switch>span{position:absolute;top:9px;left:4px;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .16s}
.ga-switch[aria-checked="true"]>span{transform:translateX(28px)}
.ga-warn{margin:18px 0 0;padding:14px 18px;border-radius:12px;background:rgba(240,180,41,.1);box-shadow:inset 0 0 0 1px rgba(240,180,41,.4);font:500 15px/1.55 var(--fD);color:#f6dc95}
.ga-acts{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
/* The account row (Settings board): Google's G, the one sign-in, Sign out */
.ga-acct{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid rgba(169,180,220,.14)}
.ga-acct-g{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.07);font:700 23px/1 var(--fD);color:#8ab4f8}
.ga-acct .ga-set-t{flex:999 1 240px}
.ga-acct .ga-set-t b{font-size:17px;overflow-wrap:anywhere}
.ga-out-btn{color:#c9d2ee}
.ga-quiet{min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border:0;border-radius:12px;background:rgba(255,255,255,.07);color:#fffaf0;font:700 16px/1.2 var(--fD);cursor:pointer;transition:background .11s}
.ga-quiet:hover{background:rgba(255,255,255,.12)}
.ga-quiet svg{width:20px;height:20px;color:#f6dc95}
.ga-card .ga-acts+.ga-lead{margin:0;font-size:15px}
:is(.ga-seg-b,.ga-step,.ga-switch,.ga-quiet,.ga-pchip,.ga-tchip-x,.ga-chip,.ga-tile,.ga-nav,.ga-gold,.ga-out,.ga-clear,.ga-go,.ga-pdf,.ga-rchip,.ga-subj,.ga-apply,.ga-date):focus-visible,.ga-sel select:focus-visible,.ga-search input:focus-visible{outline:3px solid #f6dc95;outline-offset:3px}
/* More settings: closed; what the board does not draw */
.ga-more{border:1px solid rgba(169,180,220,.22);border-radius:22px;background:rgba(8,12,34,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ga-more>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 26px;list-style:none;cursor:pointer;font:700 19px/1.3 var(--fD);color:#fffaf0;border-radius:22px}
.ga-more>summary::-webkit-details-marker{display:none}
.ga-more>summary svg{width:22px;height:22px;color:#8e9bd0;transition:transform .2s ease}
.ga-more[open]>summary svg{transform:rotate(180deg)}
.ga-more>summary:focus-visible{outline:3px solid #f6dc95;outline-offset:3px}
.ga-more[open]>.ga-form{padding:0 26px 24px}
.ga-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--s5)}
.ga-block{display:flex;flex-direction:column;gap:var(--s3);padding-top:var(--s4);border-top:1px solid rgba(169,180,220,.14)}
.ga-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:var(--s3)}
.ga-form .ui-field,.ga-form .ui-check{color:var(--ink)}
.ga-form .ui-field select,.ga-form .ui-field input{width:100%}
.ga-form .ga-help{color:#8e9bd0}
/* The kit's fields are drawn for ivory panels; on the dark page they are dark, as the boards draw their inputs */
.ga-form .ui-field :is(input:not([type="checkbox"]):not([type="radio"]),select){border:0;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#fffaf0;color-scheme:dark}
.ga-form .ui-field :is(input,select):focus-visible{outline:3px solid #f6dc95;outline-offset:2px;box-shadow:inset 0 0 0 1px rgba(169,180,220,.5)}
.ga-form .ui-field :is(input,select):disabled{background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px rgba(169,180,220,.16);color:#8e9bd0}
.ga-form .ui-field :is(input,select)[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #e58a93;background:rgba(229,138,147,.08)}
.ga-form .ui-field select option{background:#0e1430;color:#fffaf0}
.ga-form .ui-select>svg{color:#8e9bd0}
.ga-form .ui-check input{accent-color:#e8c46a;color-scheme:dark}
.ga-src{border-top:1px solid rgba(169,180,220,.14);padding-top:var(--s2)}
.ga-src summary{display:flex;align-items:center;gap:10px;min-height:var(--tap);list-style:none;cursor:pointer;font:700 17px/1.3 var(--fD);color:var(--ink)}
.ga-src summary::-webkit-details-marker{display:none}
.ga-src summary svg{width:22px;height:22px;transition:transform .2s ease}
.ga-src[open] summary svg{transform:rotate(180deg)}
.ga-src>:not(summary){margin-top:var(--s2)}
.ga-src a{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 2px;color:#c9d2ee}
.ga-save{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5)}
.ga-save [role="status"]{margin:0;font:700 17px/1.3 var(--fD);color:#7ed08c}
.ga-save [role="status"]:empty{display:none}
.ga-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:var(--s3) var(--s4);border-radius:12px;background:var(--white);border:1.5px solid #304d80}
.ga-chosen b{font:700 18px/1.3 var(--fD)}
.ga-chosen small{flex-basis:100%;font:500 16px/1.4 var(--fD);color:#8e9bd0}
.ga-block>.ga-pdf{align-self:flex-start}
.ga-pickpaper[open]{display:flex;flex-direction:column;gap:var(--s3)}
.ga-picklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}
.ga-pickrow{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--tap);padding:8px 12px;border:1.5px solid rgba(169,180,220,.3);border-radius:12px;background:var(--white);color:var(--ink);text-align:left;cursor:pointer}
.ga-pickrow:hover{border-color:rgba(169,180,220,.6)}
.ga-pickrow[aria-pressed="true"]{border-color:#e8c46a;background:#16224c}
.ga-pickrow>span:last-child{display:flex;flex-direction:column;min-width:0}
.ga-pickrow small{font:500 15px/1.35 var(--fD);color:#8e9bd0}
.ga-own{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}
.ga-own legend{padding:0;margin-bottom:6px;font:700 17px/1.3 var(--fD);color:var(--ink)}
.ga-form .ga-count{margin:0;font:700 16px/1.3 var(--fD);color:#8e9bd0}
.ga-block .lb-search{max-width:520px}
@media (max-width:1023px){.ga-form{grid-template-columns:minmax(0,1fr)}}
@media (max-width:639px){.ga-card{padding:20px 16px}.ga-more>summary{padding-inline:16px}.ga-more[open]>.ga-form{padding:0 16px 20px}.ga-band{gap:10px 12px}.ga-band-n{flex:0 0 auto}.ga-band-t{flex:1 1 auto}.ga-set:has(>.ga-switch){flex-wrap:nowrap}.ga-set:has(>.ga-switch) .ga-set-t{flex:1 1 auto}.ga-quiet{flex:1 1 100%;justify-content:center}}

/* Find a paper: the search is the hero; schools and the year narrow it; rows, not cards */
.ga-search{position:relative;display:block}
.ga-search>svg{position:absolute;left:24px;top:50%;width:28px;height:28px;margin-top:-14px;color:#8e9bd0;stroke-width:2.2;pointer-events:none}
.ga-card.ga-find{gap:20px}
.ga-search input{width:100%;min-height:86px;padding:16px 24px 16px 66px;border:0;border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(169,180,220,.2),0 2px 4px rgba(11,18,54,.05);color:#fffaf0;font:600 25px/1.2 var(--fD)}
.ga-search input::placeholder{color:#8e9bd0;opacity:1}
.ga-narrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 26px}
.ga-schools{flex:999 1 420px;min-width:0}
.ga-schools>p,.ga-fyear>span:first-child{display:block;margin:0 0 8px;font:600 14px/1.3 var(--fD);letter-spacing:.02em;color:#8e9bd0}
.ga-schools>div{display:flex;flex-wrap:wrap;gap:8px}
.ga-pchip{min-height:var(--tap);display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px rgba(169,180,220,.2);color:#0b1236;font:600 15px/1.2 var(--fD);cursor:pointer;transition:background .11s,box-shadow .11s}
.ga-pchip span{font-size:13px;color:#465074}
.ga-pchip:hover{box-shadow:inset 0 0 0 2px rgba(169,180,220,.6)}
.ga-pchip[aria-pressed="true"]{background:#16224c;color:#fff;box-shadow:inset 0 0 0 2px #e8c46a}
.ga-pchip[aria-pressed="true"] span{color:#c9d2ee}
.ga-pchip.is-more{background:none;box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#8e9bd0}
.ga-tchip{align-self:flex-start;max-width:100%;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 4px 0 16px;border-radius:12px;background:#16224c;box-shadow:inset 0 0 0 2px #e8c46a;color:#fff;font:600 16px/1.25 var(--fD)}
.ga-tchip-t{min-width:0;padding:6px 8px 6px 0;overflow-wrap:anywhere}
.ga-tchip-t b{color:#f6dc95}
.ga-tchip-x{flex:0 0 auto;width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:none;color:#c9d2ee;cursor:pointer}
.ga-tchip-x:hover{color:#fff;background:rgba(255,255,255,.1)}
.ga-tchip-x svg{width:18px;height:18px;stroke-width:2.6}
.ga-frow-t>.ga-frow-n{color:#f6dc95;font-weight:700}
.ga-fyear{flex:0 0 auto}
.ga-fyear .ga-sel select{min-width:160px;color:#fffaf0}
.ga-fcount{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid rgba(169,180,220,.2)}
.ga-fcount p{margin:0;font:700 21px/1.3 var(--fD);color:#fffaf0}
.ga-clear{min-height:var(--tap);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:0;border-radius:12px;background:none;color:#8e9bd0;font:600 15px/1.2 var(--fD);cursor:pointer}
.ga-clear:hover{color:#fffaf0}
.ga-clear svg{width:17px;height:17px}
.ga-flist{list-style:none;margin:0;padding:0}
.ga-frow{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 14px;border-bottom:1px solid rgba(169,180,220,.18);transition:background .11s}
.ga-frow:hover{background:rgba(255,255,255,.04)}
.ga-frow-t{flex:999 1 260px;min-width:0}
.ga-frow-t b{display:block;font:700 20px/1.25 var(--fD);color:#fffaf0}
.ga-frow-t>span{display:block;margin-top:2px;font:500 15px/1.35 var(--fD);color:#8e9bd0}
.ga-frow .ga-stars{min-width:70px}
.ga-fstate{flex:0 0 96px;font:700 15px/1.3 var(--fD);color:#8e9bd0}
.ga-fstate.is-done{color:#7ed08c}
.ga-fstate.is-later{color:#f6dc95}
.ga-pdf{flex:0 0 auto;min-height:var(--tap);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#c9d2ee;font:600 15px/1.2 var(--fD);text-decoration:none}
.ga-pdf:hover{color:#fffaf0;background:rgba(255,255,255,.06)}
.ga-pdf svg{width:18px;height:18px;color:#f6dc95}
.ga-go{flex:0 0 auto;min-width:118px;justify-content:center;min-height:52px;display:inline-flex;align-items:center;gap:9px;padding:11px 22px;border-radius:12px;background:linear-gradient(180deg,#2b3c75,#192750 84%);box-shadow:inset 0 1px rgba(255,255,255,.2);color:#fff;font:700 16px/1.2 var(--fD);text-decoration:none;transition:transform .11s}
.ga-go:active{transform:translateY(1px)}
.ga-go svg{width:18px;height:18px;stroke-width:2.6}
.ga-fnone{padding:34px 14px;text-align:center;font:500 19px/1.4 var(--fD);color:#8e9bd0}
.ga-fmore{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:14px 0 0;font:500 15px/1.4 var(--fD);color:#8e9bd0}
@media (max-width:639px){.ga-search input{min-height:72px;padding-left:56px;padding-right:16px;font-size:19px}.ga-search>svg{left:18px;width:26px;height:26px;margin-top:-13px}.ga-frow{padding-inline:4px}.ga-fstate{flex:1 0 calc(100% - 92px)}.ga-go{margin-left:auto}}

/* Check answers: one frosted card per paper. What the child wrote or typed, and a question's picture, stay on white so the
   ink and the drawing read; everything else is the dark page's. */
.ga-card.ga-group{padding:clamp(18px,2.2vw,28px);gap:var(--s4)}
.ga-group .ga-typed,.ga-group .ga-ink,.ga-group .ga-fig{background-color:#fff;border-color:#cfd6e0;color:#0b1236}
.ga-group .ga-opt[aria-pressed="true"]{border-color:#e8c46a;background:rgba(232,196,106,.12)}
.ga-group .ga-opt[aria-pressed="true"] .ga-radio{border-color:#e8c46a}
.ga-group .ga-opt[aria-pressed="true"] .ga-radio::after{background:#e8c46a}
.ga-group .ga-passage{border-color:rgba(169,180,220,.3)}
.ga-group .ga-unsent{color:#f6dc95}
.ga-ghead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.ga-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s4)}
.ga-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:var(--s5);padding-top:var(--s4);border-top:1px solid var(--hair)}
.ga-rows>.ga-row:first-child{border-top:0;padding-top:0}
.ga-src-col{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.ga-qhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.ga-qh{margin:0;display:flex;align-items:baseline;gap:8px;font:600 24px/1.2 var(--fH);color:var(--ink)}
.ga-qh .mq-num{font:600 26px/1 var(--fH)}
.ga-q{margin:0;font:700 21px/1.45 var(--fR);color:var(--ink);overflow-wrap:anywhere}
.ga-passage{border-radius:var(--rK);background:var(--sel);border:1px solid #c9d1e8}
.ga-passage summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 16px;list-style:none;cursor:pointer;font:700 18px/1.3 var(--fD);color:var(--ink)}
.ga-passage summary::-webkit-details-marker{display:none}
.ga-passage summary svg{width:24px;height:24px;flex:0 0 auto}
.ga-chev{margin-left:auto;transition:transform .2s ease}
.ga-passage[open] .ga-chev{transform:rotate(180deg)}
.ga-passage-in{padding:4px 16px 16px;font:400 19px/1.6 var(--fR);color:var(--ink)}
.ga-passage-in p{margin:0 0 .8em}
.ga-passage-in p:last-child{margin-bottom:0}
.ga-fig{margin:0;align-self:flex-start;max-width:min(100%,520px);padding:8px;border-radius:var(--rK);background:var(--white);border:1px solid var(--hair2)}
.ga-fig img{display:block;max-width:100%;height:auto}
.ga-typed{margin:0;min-height:72px;padding:14px 18px;border-radius:var(--rK);background:var(--white);border:2px solid var(--hair);background-image:repeating-linear-gradient(180deg,transparent 0 46px,#e7ebf2 46px 47px);font:400 24px/1.5 var(--fR);color:var(--ink);overflow-wrap:anywhere}
.ga-ink{display:block;width:min(100%,520px);aspect-ratio:8/3;object-fit:contain;border-radius:var(--rK);background:var(--white);border:2px solid var(--hair)}
.ga-exp{margin:0;padding:14px 18px;border-radius:var(--rK);background:var(--sel);font:400 21px/1.5 var(--fR);color:var(--ink);overflow-wrap:anywhere}
.ga-mark{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border-radius:var(--rC);background:var(--white);border:1px solid var(--hair2)}
.ga-opts{display:flex;flex-direction:column;gap:var(--s2)}
.ga-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:8px 16px;border:2px solid var(--hair);border-radius:var(--rK);background:var(--white);color:var(--ink);font:700 19px/1.2 var(--fD);text-align:left}
.ga-opt:hover{background:var(--sel)}
.ga-radio{position:relative;width:26px;height:26px;flex:0 0 auto;border-radius:50%;border:2px solid var(--ink2);background:var(--white)}
.ga-opt[aria-pressed="true"]{border-color:var(--navy);background:var(--sel)}
.ga-opt[aria-pressed="true"] .ga-radio{border-color:var(--navy)}
.ga-opt[aria-pressed="true"] .ga-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--navy)}
.ga-gfoot{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:var(--s3) var(--s5);padding-top:var(--s4);border-top:1px solid var(--hair)}
.ga-score{margin:0;align-self:center;font:600 18px/1.3 var(--fD);color:var(--ink)}
.ga-score .mq-num{font-size:24px}
.ga-send{display:flex;flex-direction:column;gap:var(--s2)}
.ga-count{margin:0;font:600 17px/1.3 var(--fD);color:var(--ink)}
.ga-count .mq-num{font-size:21px}
.ga-unsent{margin:0;display:flex;align-items:center;gap:10px;font:600 17px/1.3 var(--fD);color:var(--later)}

@media (min-width:1024px){.ga-mark{position:sticky;top:var(--s4)}}
@media (max-width:1023px){.ga-row,.ga-gfoot{grid-template-columns:minmax(0,1fr)}.ga-score{order:2}}
@media (max-width:639px){.ga-group{padding:var(--s4)}.ga-typed{font-size:22px}.ga-q{font-size:20px}}
@media (prefers-reduced-motion:reduce){.ga-chev,.ga-src summary svg,.ga-more>summary svg,.ga-switch::before,.ga-switch>span,.ga-rchip,.ga-subj,.ga-apply{transition:none}.ga-apply:active{transform:none}}
/* Whose settings (profiles): one pill per child, the lit one is whose settings these are, and Add a child. */
.ga-kids{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.ga-kid{min-height:56px;display:inline-flex;align-items:center;gap:11px;padding:7px 18px 7px 7px;border:0;border-radius:999px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(169,180,220,.28);color:#c9d2ee;font:700 17px/1.2 var(--fD);cursor:pointer;transition:background .13s,box-shadow .13s}
.ga-kid:hover{background:rgba(255,255,255,.09)}
.ga-kid[aria-pressed="true"]{background:#16224c;box-shadow:inset 0 0 0 2px #e8c46a;color:#fff}
.ga-kid:focus-visible,.ga-kid-add:focus-visible{outline:3px solid #f6dc95;outline-offset:3px}
.ga-kid>span:last-child{font-size:14px;font-weight:600;opacity:.7}
.ga-kid-pic{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#16301f;box-shadow:inset 0 0 0 2px #e8c46a;overflow:hidden}
.ga-kid-pic img{width:38px;height:38px;object-fit:contain}
.ga-kid-add{min-height:48px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#8e9bd0;font:600 15px/1.2 var(--fD);text-decoration:none}
.ga-kid-add .ui-icon{width:18px;height:18px}
.ga-kid-add:hover{color:#fff}
.ga-h2-of{font-weight:500;color:#8e9bd0}
.ga-name{flex:1 1 240px;min-width:0}
.ga-name input{width:100%;box-sizing:border-box;min-height:56px;padding:12px 16px;border:0;border-radius:12px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(169,180,220,.2);color:#fffaf0;font:600 19px/1.2 var(--fD)}
.ga-name input:focus{outline:3px solid #f6dc95;outline-offset:2px}
.ga-child .ga-note{flex:1 1 200px;min-width:0}
/* This household (the Settings board): its Google grown-ups by name, Add a grown-up, and the Remove that asks once
   (MQ_UI.confirm, dark here, its safe choice first). */
.ga-gups{margin:0;padding:0;list-style:none}
.ga-gup{padding:14px 0;border-top:1px solid rgba(169,180,220,.14)}
.ga-gup .ga-acct{margin:0;padding:0;border:0;gap:16px}
.ga-gadd{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:14px;border-top:1px solid rgba(169,180,220,.14)}
.ga-gadd .ga-field{flex:1 1 300px;min-width:0}
.ga-gadd input{width:100%;box-sizing:border-box;min-height:52px;padding:12px 16px;border:0;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(169,180,220,.3);color:#fffaf0;font:600 17px/1.2 var(--fD)}
.ga-gadd input::placeholder{color:#8e9bd0}
.ga-gadd input:focus{outline:3px solid #f6dc95;outline-offset:2px}
.ga-gmsg{margin:12px 0 0;font:600 15px/1.45 var(--fD);color:#f6dc95}
.ga-gmsg:empty{display:none}
.ga-home-acts{margin:18px 0 16px;padding-top:18px;border-top:1px solid rgba(169,180,220,.14)}
.ga-bad{color:#ffb4b8;box-shadow:inset 0 0 0 1px rgba(255,138,143,.42)}
.ga .ui-confirm{margin-top:12px;padding:18px 20px;border-radius:16px;background:#0b1236;box-shadow:inset 0 0 0 2px rgba(255,138,143,.5);color:#c9d2ee}
.ga .ui-confirm p{font:500 16px/1.5 var(--fD);color:#c9d2ee}
.ga .ui-confirm .mq-btn2{border-color:transparent;background:rgba(163,38,48,.34);box-shadow:inset 0 0 0 1px rgba(255,138,143,.6);color:#ffd3d5}
.ga .ui-confirm .mq-btn2:hover{background:rgba(163,38,48,.5)}
.ga-gup .is-invited{color:#f6dc95}
.ga .ui-confirm .mq-row>*{flex:0 1 auto}
.ga .ui-confirm .mq-btn{border-color:#ffffffcc;background:linear-gradient(180deg,#fff,#e7ebf7 78%,#d3daee);color:#0b1236;font-size:17px;min-height:52px}
.ga .ui-confirm .mq-btn2{font-size:17px;min-height:52px}
/* Start again or remove (the Settings board): last in Settings, a faint warning ring, and each box asking once in place. */
.ga-reset{box-shadow:inset 0 0 0 1px rgba(255,138,143,.22)}
.ga-resets{margin:0;padding:0;list-style:none}
.ga-resets>li:last-child .ga-rrow{padding-bottom:0}
.ga-rrow .ga-quiet{flex:0 0 auto}
.ga-rbox{margin:14px 0 4px}
.ga .ga-rbox .ga-rbox-q{font:700 22px/1.25 var(--fH);color:#fffaf0}
.ga-rbox-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.ga-rbox-fields .ga-name input{min-height:52px;font-size:18px}
.ga-rbox-dl{align-self:flex-start;min-height:48px;color:#c9d2ee;font-size:15px}
.ga-rdone{margin:14px 0 0;padding:16px 20px;border-radius:16px;background:rgba(31,107,44,.22);box-shadow:inset 0 0 0 1px rgba(110,190,120,.5);font:500 16px/1.5 var(--fD);color:#d6f0d9}
.ga-rdone.is-warn{background:rgba(240,180,41,.1);box-shadow:inset 0 0 0 1px rgba(240,180,41,.4);color:#f6dc95}
.ga-rdone:empty{display:none}
