/* Worksheet Studio, "One site" restyle: the photonresources.com look.
   Loaded last on every Studio page so it sits over the older component rules.
   Colours come from theme.css tokens; the school's own colour reaches the UI only
   through --sca / --scs (active tab, selected chips, avatar, step marker). */

/* ---- Base ---------------------------------------------------------------- */
html,body{background:var(--bg);color:var(--text);font-family:var(--body);font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--head);letter-spacing:-.02em;color:var(--text)}
h1{font-weight:800}
p{color:var(--dim)}
a{color:inherit}
.muted,.kick{color:var(--mute)}
.kick{font-family:var(--head);letter-spacing:.09em}
:focus-visible{outline-color:var(--gold)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
::placeholder{color:var(--mute);opacity:1}
.skip-link{background:var(--card);color:var(--text);border-color:var(--sca)}

/* ---- Buttons and fields -------------------------------------------------- */
.btn{min-height:44px;border-radius:var(--r-btn);background:var(--card);color:var(--text);border:1px solid var(--line2);box-shadow:0 1px 2px rgba(27,42,74,.06);font-family:var(--body);font-weight:600;transition:border-color .15s,box-shadow .15s}
.btn:hover:not(:disabled){border-color:var(--line3);box-shadow:0 6px 14px rgba(27,42,74,.09)}
.btn.sm{min-height:36px}
.btn.primary{background:linear-gradient(var(--btn1),var(--btn2));border-color:transparent;color:var(--on-navy);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(27,42,74,.3),0 6px 14px rgba(27,42,74,.16)}
.btn.primary:hover:not(:disabled){background:linear-gradient(var(--btn1h),var(--btn2h));border-color:transparent}
.btn.accent{background:var(--s-accent);border-color:var(--s-accent);color:#0d1f3c}
.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--mute)}
.qcard .actions .btn,.actions .btn{min-height:38px}
.text-button{color:var(--mute)}
.inp,select.inp,input.inp,textarea.inp{min-height:40px;border-radius:var(--r-btn);background:var(--card);border:1px solid var(--line2);color:var(--text)}
.sv-field input,.sv-field select,.sv-note textarea{border-color:var(--line2)}
.chip{border-radius:99px;background:var(--card);border:1px solid var(--line2);color:var(--text);font-size:12px}
.chip[aria-pressed=true]{background:var(--scs);border-color:var(--sca);color:var(--sca)}
.seg{background:var(--tint);border-color:var(--line);border-radius:var(--r-btn)}
.seg button{color:var(--dim)}
.seg button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(27,42,74,.08)}
.check .count,.seg .count{color:var(--mute)}
.check input,.toggle-row input{accent-color:var(--sca)}
.pill{background:var(--tint);border-color:var(--line);color:var(--mute)}
.pill.school{background:var(--scs);border-color:var(--line);color:var(--sca)}
.pill.sample,.sample-pack-hint{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.number{background:var(--scs);color:var(--sca)}
.layout[aria-pressed=true],.design-card[aria-pressed=true]{background:var(--scs);border-color:var(--sca);box-shadow:none;color:var(--dim)}
.layout[aria-pressed=true] b{color:var(--text)}
.toggle-row input[role=switch]{background:var(--line3);border-color:var(--line3)}
.toggle-row input[role=switch]:checked{background:var(--sca);border-color:var(--sca)}
.type-popover-head,.school-type-popover{background:var(--card);color:var(--text)}
.school-type-badge{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.type-kicker,.type-tiles b{color:var(--ok-ink)}
.type-tiles>div{background:var(--ok-bg)}
.type-essence{color:var(--dim)}
.type-traps li{color:var(--warn-ink)}
.type-marks{background:var(--tint);border-color:var(--line);color:var(--text)}
.school-type-popover{border-color:var(--ok-line)}

/* ---- Cards, bars, menus -------------------------------------------------- */
.card,.tray-item+.x,.qcard{border-radius:var(--r-card)}
.card,.qcard{background:var(--card);border-color:var(--line);box-shadow:var(--sh1)}
.bar{background:var(--bg);border-bottom:0;padding:16px 24px 4px}
.filters,.tray{background:var(--bg)}
.steps{color:var(--mute);font-weight:600;font-size:13px}
.step.on{color:var(--text)}
.step.on i{background:var(--sca);border-color:var(--sca);color:var(--on-navy)}
.step i{border-color:var(--line3)}
.course-scope{background:var(--tint);border-color:var(--line);color:var(--dim)}
.credits-line{font-size:12.5px;color:var(--mute);white-space:nowrap}
.credits-line.su-exhausted{color:var(--warn-ink)}
.support-banner{background:var(--warn-bg);border-bottom-color:var(--warn-line);color:var(--warn-ink)}
.totals div{background:var(--tint)}
.tray-item{background:var(--card)}
.preview-scroll{background:var(--paper-stage);border-color:var(--line)}
.su-onboard,.su-checklist,.su-amber{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.su-onboard button{background:var(--card);border-color:var(--line2);color:var(--text)}
.su-coach{outline-color:var(--gold)!important}
.skeleton{color:var(--mute);background:linear-gradient(100deg,var(--tint),var(--line),var(--tint))}
.mobile-arrange{background:var(--card);border-top-color:var(--line)}
.qcard.clipped:not(.expanded) .stem:after{background:linear-gradient(transparent,var(--card))}
.action-menu summary{background:var(--card);border-color:var(--line2);color:var(--text)}

/* ---- Studio app header (shared by every signed-in page) ------------------- */
header.chrome.su-header{position:relative;z-index:30;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;height:60px;min-height:60px;padding:0 20px;background:var(--bg);color:var(--text);border:0;border-bottom:1px solid var(--line);font:400 13.5px/1.4 var(--body)}
.su-header .su-owl{display:flex;flex:none;border-radius:8px}
.su-header .su-vr{width:1px;height:24px;background:var(--line2);flex:none}
.su-header .su-brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:none;flex:0 1 auto;color:var(--text);text-decoration:none}
.su-header .crest{height:30px;width:auto;max-width:44px;object-fit:contain}
.su-header .crest-fallback{border:1.5px solid var(--sca);color:var(--sca);border-radius:7px;padding:3px 7px;font:700 11px/1.4 var(--head);flex:none}
.su-header .org{display:block;min-width:0}
.su-header .org b{display:block;font:700 13.5px/1.25 var(--head);letter-spacing:-.01em;color:var(--text);max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.su-header .org small{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;color:var(--mute);font-size:11px}
.su-demo-badge{position:static;color:var(--lamp);background:var(--gold-t);border:0;margin:0 0 0 8px;font:600 10.5px/1.5 var(--body);border-radius:99px;padding:1px 8px;display:inline-block}
.su-header .su-subject{position:relative;flex:none}
.su-header .subject-pill,.su-header #subjectLabel.subject-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border:0;border-radius:99px;background:var(--scs);color:var(--sca);font:600 13px/1 var(--body);white-space:nowrap}
.su-header .subject-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}
.su-header nav{display:flex;order:0;flex:1 1 auto;justify-content:safe center;align-self:stretch;gap:0;width:auto;min-width:0;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;box-shadow:none}
.su-header nav::-webkit-scrollbar{display:none}
header.chrome.su-header nav a,header.chrome.su-header nav button{display:flex;align-items:center;flex:none;padding:0 9px;margin:2.5px 0 0;border:0;border-bottom:2.5px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:var(--dim);font:500 13.5px/1 var(--body);white-space:nowrap;text-decoration:none;cursor:pointer}
header.chrome.su-header nav a:hover,header.chrome.su-header nav button:hover{color:var(--text);background:transparent}
header.chrome.su-header nav a.on,header.chrome.su-header nav button.on,header.chrome.su-header nav [aria-current]{background:transparent;box-shadow:none;color:var(--text);font-weight:600;border-bottom-color:var(--sca)}
.su-header .su-right{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.su-credits{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:99px;box-shadow:0 0 0 1px var(--line2);font:600 13px/1 var(--body);color:var(--dim);white-space:nowrap}
.su-credits svg{color:var(--lamp)}
.su-credits b{color:var(--text);font-weight:700}
.su-credits.su-exhausted{color:var(--warn-ink)}
.su-header .su-help{display:inline-grid;place-items:center;height:34px;min-width:34px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--dim);font:600 13px/1 var(--body);cursor:pointer}
.su-header .su-help:hover{background:var(--hov);color:var(--text)}
.tgl{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-btn);background:var(--card);color:var(--text);cursor:pointer;box-shadow:0 0 0 1px var(--line2),0 1px 2px rgba(27,42,74,.06);flex:none}
.su-header .tgl{width:34px;height:34px;border-radius:9px;background:transparent;box-shadow:none;color:var(--dim)}
.su-header .tgl:hover{background:var(--hov);color:var(--text)}
.tgl .ic-moon{display:none}
:root[data-theme="dark"] .tgl .ic-sun{display:none}
:root[data-theme="dark"] .tgl .ic-moon{display:block}
.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--scs);color:var(--sca);font:700 12.5px/1 var(--head);flex:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--sca) 35%,transparent)}
.su-header .who{display:flex;align-items:center;gap:8px;margin:0;max-width:190px;min-width:0;color:var(--text);font-size:13px}
.su-header .who-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.su-header #teacherName{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.su-header .who small{display:block;font-size:11px;color:var(--mute);opacity:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.su-header .su-menu{display:none;align-items:center;gap:4px;height:40px;padding:0 4px 0 2px;border:0;border-radius:99px;background:transparent;color:var(--mute);font:600 12px var(--body)}
.su-header .su-menu:hover{background:var(--hov)}
.su-header .subject-menu{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:var(--r-ctl);box-shadow:var(--panel-sh)}
.su-header .subject-menu h2,.subject-menu h2{color:var(--mute);font-family:var(--head)}
.su-header .subject-menu button,.subject-option{background:var(--card);color:var(--text)}
.su-header .subject-menu button:hover,.subject-option:hover:not(.locked){background:var(--hov)}
.su-header .subject-menu button[aria-current],.subject-option[aria-current]{background:var(--scs)}
.su-header .subject-menu p{color:var(--mute);border-top-color:var(--line)}
.su-header .subject-option.locked,.su-header .subject-option.locked small{color:var(--mute)}
.su-header .subject-menu .promise-link{color:var(--lamp)}
.su-allowances{background:var(--bg);border-bottom-color:var(--line);color:var(--mute);padding:6px 20px}
.su-allowances .su-exhausted{color:var(--warn-ink)}
@media(max-width:1500px){.su-header #teacherRole{display:none}}
@media(max-width:1380px){.su-header .who-t{display:none}.su-credits-l{display:none}}
@media(max-width:1300px){.su-header .org b{max-width:150px}header.chrome.su-header nav a,header.chrome.su-header nav button{padding:0 7px;font-size:13px}.su-header .su-subject{max-width:170px}.su-header #subjectName{overflow:hidden;text-overflow:ellipsis}}
@media(max-width:1100px){
  header.chrome.su-header{flex-wrap:wrap;height:auto;padding:10px 16px 0;gap:10px}
  .su-header .su-brand{flex:1 1 0}
  .su-header .su-right{order:2;margin-left:0}
  .su-header .su-subject{order:3;flex:1 0 100%;display:flex;max-width:none}
  .su-header nav{order:5;flex:1 0 100%;height:44px;margin:0 -16px;padding:0 12px;border-top:1px solid var(--line);justify-content:flex-start;display:flex}
  header.chrome.su-header nav a,header.chrome.su-header nav button{margin-top:0;padding:0 11px}
  .su-header .org b{max-width:none}
  .su-header .who,.su-credits{display:none}
  .su-header .su-menu{display:inline-flex}
}
@media(max-width:767px){
  .su-header .org small{position:static;width:auto;height:auto;margin:0;overflow:hidden;clip:auto;text-overflow:ellipsis;font-size:11px}
  header.chrome.su-header .su-help,header.chrome.su-header .su-menu{order:0;margin-left:0}
  .su-header .su-help{width:34px;padding:0;font-size:0}
  .su-header .su-help:before{content:"?";font-size:15px;font-weight:700}
  .su-header .su-subject{flex:1 0 100%;padding-bottom:0}
  .su-header .subject-menu{position:fixed;top:140px;left:16px;right:16px;width:auto;max-width:none}
  .su-allowances{padding:6px 16px}
  .su-header nav{display:flex}
}

/* ---- Panels (Help, menu), dialogs, popovers ------------------------------- */
dialog{background:var(--card);color:var(--text);border-color:var(--line);border-radius:var(--r-card);box-shadow:var(--panel-sh)}
dialog::backdrop{background:var(--scrim)}
.su-panel{background:var(--card);color:var(--text);border-color:var(--line);box-shadow:var(--panel-sh)}
.su-panel::backdrop{background:var(--scrim)}
.su-panel-head{background:var(--card)}
.su-panel-head h2{font:700 20px/1.3 var(--head)}
.su-panel-head button{background:var(--card);border-color:var(--line2);color:var(--text)}
.su-panel details{border-bottom-color:var(--line)}
.su-panel details p,.su-panel a{color:var(--dim)}
.su-panel a,.su-panel nav a,.su-panel nav button,.su-signout{color:var(--text)}
.su-panel nav a,.su-panel nav button,.su-signout{background:var(--card)}
.su-panel a{text-decoration-color:var(--line3)}
.su-help-allowance{background:var(--tint)}
.modal-head,.modal-foot{background:var(--card)}
.privacy-dialog li{border-bottom-color:var(--line)}
.privacy-dialog li:before{background:var(--scs);color:var(--sca)}
.privacy-dialog>p:first-of-type{background:var(--tint)}

/* ---- Paper stays paper ---------------------------------------------------- */
.design-thumb,.design-thumb.live-thumb{background:#fff;color:var(--s-primary)}
.design-thumb.modern i{background:var(--s-primary)}
.pw-doc,.pw-doc *{color-scheme:light}
.pw-doc{color:var(--paper-ink)}
.preview-canvas>.pw-doc{box-shadow:0 2px 7px #0d1f3c12}
:root[data-theme="dark"] .qcard .question-thumb,:root[data-theme="dark"] .modal-body img,:root[data-theme="dark"] .tray-title img,:root[data-theme="dark"] .qcard svg.sd-diagram,:root[data-theme="dark"] .qcard .diagram{background:#fff;border-radius:6px}

/* ---- Signed-out page (index.html #gate): the photonresources.com shell ---- */
.gate-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}
.pr-wrap{max-width:1240px;margin:0 auto;padding:0 24px;width:100%}
.pr-site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pr-site .pr-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;height:66px}
.pr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font:800 19px/1 var(--head);letter-spacing:-.02em;flex:none}
.pr-logo em{font-style:normal;font-weight:600;color:var(--dim)}
.pr-prod{font:600 12.5px/1.4 var(--body);letter-spacing:0;color:var(--lamp);background:var(--gold-t);padding:3px 9px;border-radius:99px;margin-left:4px}
.pr-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.pr-nav a{display:block;text-decoration:none;color:var(--dim);font-weight:500;font-size:14.5px;padding:8px 11px;border-radius:8px;white-space:nowrap}
.pr-nav a:hover{color:var(--text);background:var(--hov)}
.pr-nav a[aria-current]{background:var(--gold-t);color:var(--lamp)}
.pr-soon{font-size:10.5px;font-weight:600;color:var(--lamp);background:var(--gold-t);border-radius:99px;padding:1px 7px;margin-left:3px}
.pr-hright{display:flex;align-items:center;gap:10px}
.gate-main{flex:1;width:100%;max-width:820px;margin:0 auto;padding:64px 24px 36px;text-align:center}
.gate-main .kick{display:inline-block;background:var(--gold-t);color:var(--lamp);padding:5px 12px;border-radius:99px;font:700 12px/1.4 var(--head);letter-spacing:.09em;text-transform:uppercase}
.gate-main h1{font-size:clamp(34px,5.4vw,56px);line-height:1.06;margin:18px auto 14px;max-width:16ch;font-weight:800}
.gate-main .gate-lead{font-size:18px;line-height:1.55;color:var(--dim);max-width:46ch;margin:0 auto 26px}
.gate-main .gate-lead:empty{display:none}
.gate-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gate-cta .btn{padding:0 20px;font-size:14.5px}
.gate-cta .btn[hidden]{display:none}
.gbtn .g{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;flex:none}
.wd,.gate-how,.gate-links{display:none}
.is-doors .wd{display:grid}.is-doors .gate-how{display:block}.is-noaccess .gate-links{display:block}
.gate-links{margin:16px 0 0;font-size:13.5px;color:var(--mute)}
.lnk{color:var(--lamp);font-weight:600;text-decoration:none}
.lnk:hover{text-decoration:underline}
.gate-main .admin-landing{margin-top:0}
.gate-main .admin-landing [role=status]{color:var(--dim)}
.pr-footer{border-top:1px solid var(--line);background:var(--tint2);padding:28px 0 22px;font-size:14px;color:var(--dim)}
.pr-fcols{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}
.pr-fcols p{margin:10px 0 0;font-size:14px;color:var(--dim)}
.pr-fcols ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.pr-footer a{text-decoration:none}
.pr-footer a:hover{color:var(--text);text-decoration:underline}
.pr-disclaimer{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--mute);max-width:90ch}
.pr-disclaimer b{color:var(--dim);font-weight:600}
@media(max-width:900px){.pr-nav{display:none}}
@media(max-width:560px){.pr-prod{display:none}.pr-logo{font-size:17px}.pr-site .pr-wrap{height:60px}.pr-wrap{padding:0 16px}.gate-main{padding:44px 16px 28px}.gate-main .gate-lead{font-size:16px}.gate-cta .btn{flex:1 1 100%}}

/* Gate cards on the other Studio pages (settings, import, data). */
.gate.card,section.gate{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh1)}

/* ---- Print: always light --------------------------------------------------- */
@media print{
  :root{color-scheme:light}
  html,body{background:#fff!important;color:#000!important}
  .pw-doc,.pw-doc *{color-scheme:light}
}

/* Small corrections found while checking light and dark. */
.bar .credits-line{margin-left:auto}
.bar .course-scope{margin-left:auto}
.bar .course-scope:not(:empty)+.credits-line{margin-left:12px}
.source-segment button{font-size:11.5px;text-align:center}
@media(max-width:900px){.bar .credits-line{display:none}}
:root[data-theme="dark"] .teacher-tag-chip{background:var(--tint);color:#a9c1ee;border-color:var(--line2)}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=teal]{color:#7fd3cb}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=green]{color:#a6d58f}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=amber]{color:#e9c978}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=rose]{color:#f0a4bb}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=purple]{color:#c6a9ee}
:root[data-theme="dark"] .teacher-tag-chip[data-colour=slate]{color:#b7c2d0}
.library-head .btn{align-self:flex-start}
:root[data-theme="dark"] .check.amber,:root[data-theme="dark"] .sa-amber{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
/* While the mobile Studio menu is open, its own list of tabs is the one to use. */
@media(max-width:767px){:root:has(dialog.su-panel[open]) header.chrome.su-header nav{visibility:hidden}}

/* Public pages with the plain header (data promise): same white bar. */
header.chrome:not(.su-header){display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 20px;background:var(--bg);color:var(--text);border:0;border-bottom:1px solid var(--line)}
header.chrome:not(.su-header) .org b{font:700 13.5px/1.25 var(--head);color:var(--text)}
header.chrome:not(.su-header) .org small{font-size:11px;color:var(--mute);opacity:1}
.su-owl{display:flex;flex:none;border-radius:8px}
.su-vr{width:1px;height:24px;background:var(--line2);flex:none}
/* The editor's "as it will print" sheet is paper: it stays light in dark mode. */
:root[data-theme="dark"] .preview-sheet{--text:#0d1f3c;--dim:#47536d;--mute:#5f697d;--editor-muted:#5f697d;--editor-ink:#0d1f3c;--line:#ebebeb;background:#fff;color:#0d1f3c;color-scheme:light;margin:12px;border-radius:10px}

/* Three doors (same classes and copy as photonresources.com studio-doors.css) */
.gate-shell .gate-main{max-width:1040px}
.is-doors .gate-lead{margin-bottom:6px}
.wd{--wd-sca:#1f5c46;--wd-scs:rgba(31,92,70,.09);grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 0}
:root[data-theme="dark"] .wd{--wd-sca:#5fc49b;--wd-scs:rgba(95,196,155,.14)}
.wd-door{display:flex;flex-direction:column;gap:14px;padding:26px 24px 22px;border-radius:var(--r-card);background:var(--card);box-shadow:0 0 0 1px var(--line),var(--sh1);text-align:left;min-width:0}
.wd-door:hover{box-shadow:0 0 0 1px var(--line2),var(--sh2)}
.wd-door h2{font-size:20px;line-height:1.2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.wd-who{margin:0;color:var(--dim);font-size:15px;line-height:1.5;flex:1}
.wd-who b{color:var(--text);font-weight:600}
.wd-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--gold-t);color:var(--lamp);flex:none}
.wd-ico.green{background:var(--wd-scs);color:var(--wd-sca)}
.wd-acts{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.wd-acts .btn{width:100%;white-space:normal;text-align:center;font-size:14.5px;text-decoration:none}
.wd-link{font:600 13.5px var(--body);color:var(--lamp);text-decoration:none;text-align:center}.wd-link:hover{text-decoration:underline}
.wd-fine{font-size:12.5px;color:var(--mute);text-align:center}
.wd-badge{display:inline-block;font:700 11px var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--lamp);background:var(--gold-t);border-radius:99px;padding:3px 9px}
.wd-extra{font-size:13.5px;margin:18px 0 0}.wd-extra a{color:var(--lamp);font-weight:600;text-decoration:none}.wd-extra a:hover{text-decoration:underline}
@media(max-width:900px){.is-doors .wd{grid-template-columns:1fr;gap:14px}.wd-door{padding:22px 20px 20px}}

/* Question text is paper-face serif (same stack as the printed paper); UI labels stay sans. */
.stem,.modal-body,.qcard .stem{font-family:'Source Serif 4',Georgia,'Times New Roman',serif}
.modal-body h3{font-family:var(--body)}
