/* /flashcards/ page styles. Built from /assets/polyatic.css tokens only (no new colours or fonts);
 * the print sheet alone uses plain black on white, because it goes on paper. */
.nojs{margin:1.25rem 0 0;padding:0.875rem 1rem;border:1px solid var(--line);border-left:0.25rem solid var(--accent);border-radius:0.625rem;background:var(--surface);color:var(--ink);font-size:0.9375rem;line-height:1.6}
.fc-head .sub{margin-bottom:1rem}
@media(max-width:520px){.fc-head h1{font-size:1.625rem;margin-bottom:0.25rem}.fc-head .sub{font-size:0.9375rem;margin-bottom:0.75rem}}

.fc-duo{align-items:start}
@media(min-width:920px){.fc-duo{grid-template-columns:minmax(0,1.25fr) minmax(20.5rem,1fr)}.fc-side-pane{max-height:calc(100vh - 2.5rem);overflow:auto}}
.fc-main,.fc-side-pane{display:grid;gap:0.875rem;align-content:start;min-width:0}
@media(max-width:520px){.fc-main,.fc-side-pane{padding:0.875rem}}
.k{font-family:var(--mono);font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fc-small{font-size:0.8125rem;color:var(--muted)}
.fc-help{margin:0;font-size:0.8125rem;line-height:1.5;color:var(--muted)}
.fc-row{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}
.fc-between{justify-content:space-between}
.fc-row p{margin:0}
.fc-empty{margin:0;padding:1rem;border:1px dashed var(--line-2);border-radius:0.625rem;text-align:center;color:var(--muted);font-size:0.9375rem}
.fc-empty[hidden],.fc-panel[hidden],[hidden].fc-face,[hidden].fc-rates,[hidden].fc-lres,[hidden].fc-lform{display:none}

/* deck bar + tabs */
.fc-deckbar{display:flex;gap:0.5rem;align-items:center}
.fc-deckbar select{flex:1;min-width:0}
.fc-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.25rem;padding:0.25rem;border:1px solid var(--line);border-radius:0.625rem;background:var(--surface-2)}
.fc-tabs button{border:0;background:transparent;color:var(--ink-2);font:inherit;font-weight:600;font-size:0.875rem;padding:0.5rem 0.25rem;border-radius:0.4375rem;cursor:pointer;min-width:0}
.fc-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent),var(--shadow)}
.fc-tabs button:focus-visible,.fc-rate:focus-visible,.fc-tile:focus-visible,.fc-face:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fc-panel{display:grid;gap:0.75rem;min-width:0}
.fc-main .btn:disabled,.fc-side-pane .btn:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}

/* make */
.fc-pastehead{flex-wrap:wrap;gap:0.375rem 0.75rem}
.fc-sepwrap{display:inline-flex;align-items:center;gap:0.375rem}
.fc-sepwrap select{width:auto;padding-top:0.25rem;padding-bottom:0.25rem;height:auto}
#paste{width:100%;min-height:7.5rem;font-family:var(--mono);font-size:0.875rem;line-height:1.55;resize:vertical}
@media(min-width:920px){#paste{min-height:10rem}}
.fc-preview{list-style:none;margin:0;padding:0;max-height:13rem;overflow:auto;border:1px solid var(--line);border-radius:0.5rem}
.fc-pvrow{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1.4fr);gap:0.25rem;padding:0.3125rem 0.625rem;border-bottom:1px solid var(--line);font-size:0.875rem;line-height:1.4}
.fc-pvrow:last-child{border-bottom:0}
.fc-pvt{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.fc-pvd{color:var(--ink-2);overflow-wrap:anywhere}
.fc-pvsep{font-family:var(--mono);color:var(--accent);text-align:center;background:var(--accent-soft);border-radius:0.25rem;align-self:start}
.fc-pvskip{grid-template-columns:minmax(0,1fr) auto}
.fc-pvskip .fc-pvt{font-weight:400;color:var(--muted);text-decoration:line-through}
.fc-pvskip .fc-pvd{color:var(--warn);font-size:0.8125rem}
.fc-one{margin:0;padding:0.75rem 0 0;border:0;border-top:1px solid var(--line);display:grid;gap:0.5rem;min-width:0}
.fc-one legend{padding:0 0 0.5rem}
.fc-onegrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:0.5rem;align-items:end}
.fc-onegrid label{display:grid;gap:0.25rem;min-width:0}
@media(max-width:520px){.fc-onegrid{grid-template-columns:1fr 1fr}.fc-onegrid .btn{grid-column:1/-1}}

/* study + learn card face */
.fc-due{margin:0;font-family:var(--mono);font-size:0.875rem;font-weight:600;color:var(--ink)}
.fc-studybar{justify-content:space-between}
.fc-face{display:grid;gap:0;min-height:13rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;overflow:hidden}
.fc-lface{cursor:default;min-height:8rem}
.fc-side{display:grid;align-content:center;justify-items:center;gap:0.5rem;padding:1.25rem 1rem;text-align:center;min-width:0}
.fc-side p{margin:0;font-size:1.375rem;font-weight:600;line-height:1.35;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;max-width:60ch}
.fc-a{border-top:1px dashed var(--line-2);background:var(--surface-2)}
.fc-a p{font-weight:500;font-size:1.125rem}
.fc-side img{max-width:100%;max-height:11rem;border-radius:0.375rem;object-fit:contain}
.fc-sidelabel{font-family:var(--mono);font-size:0.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
kbd{font-family:var(--mono);font-size:0.75em;padding:0.0625rem 0.3125rem;border:1px solid var(--line-2);border-radius:0.25rem;background:var(--surface-2);color:var(--ink-2)}
.btn kbd{border-color:currentColor;background:transparent;color:inherit;opacity:.8}
.fc-rates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.375rem}
.fc-rate{display:grid;gap:0.125rem;justify-items:center;padding:0.5rem 0.25rem;border:1px solid var(--line-2);border-radius:0.5rem;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.fc-rate b{font-size:0.9375rem}
.fc-rate small{font-family:var(--mono);font-size:0.75rem;color:var(--muted)}
.fc-rate:hover{border-color:var(--ink)}
.fc-rate[data-g="again"]{border-bottom:3px solid var(--bad)}
.fc-rate[data-g="hard"]{border-bottom:3px solid var(--warn)}
.fc-rate[data-g="good"]{border-bottom:3px solid var(--ok)}
.fc-rate[data-g="easy"]{border-bottom:3px solid var(--accent)}
.fc-lrow input{flex:1;min-width:0}
.fc-lform{display:grid;gap:0.375rem}
.fc-lres{display:grid;gap:0.625rem}
.fc-lres p{margin:0;line-height:1.5;overflow-wrap:anywhere}
.fc-ok b{color:var(--ok)} .fc-bad b{color:var(--bad)}
.fc-ans{font-weight:600;color:var(--ink);white-space:pre-wrap}
.fc-panel label.check input{flex:none}
.fc-opts{display:grid;gap:0.5rem;padding-top:0.75rem;border-top:1px solid var(--line)}

/* match */
.fc-timer{font-variant-numeric:tabular-nums;font-size:1.125rem}
.fc-mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.375rem}
@media(min-width:600px){.fc-mgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fc-mgrid:empty{display:none}
.fc-tile{display:grid;align-content:center;justify-items:center;gap:0.25rem;min-height:4.5rem;padding:0.5rem;border:1px solid var(--line-2);border-radius:0.5rem;background:var(--surface);color:var(--ink);font:inherit;font-size:0.875rem;line-height:1.3;cursor:pointer;overflow-wrap:break-word;hyphens:auto;min-width:0;transition:opacity .2s}
.fc-tile span{max-width:100%}
.fc-tile img{max-width:100%;max-height:3rem;object-fit:contain}
.fc-tile[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.fc-tile.bad{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}
.fc-tile.gone{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.fc-tile{transition:none}}

/* print panel */
.fc-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.fc-pgrid label{display:grid;gap:0.25rem;min-width:0}
.fc-modes{display:grid;gap:0.5rem}
.fc-tip{margin:0;padding:0.5rem 0.75rem;border-left:0.25rem solid var(--accent);background:var(--accent-soft);border-radius:0.25rem;font-size:0.875rem;color:var(--ink)}
.fc-tip[hidden]{display:none}
.fc-pv{display:flex;flex-wrap:wrap;gap:0.75rem}
.fc-pvfig{margin:0;display:grid;gap:0.25rem}
.fc-pvfig figcaption{font-size:0.75rem;color:var(--muted)}
.fc-pvbox{position:relative;overflow:hidden;border:1px solid var(--line-2);border-radius:0.25rem;background:var(--surface)}
.fc-pvbox .fc-sheet{transform-origin:0 0;position:absolute;left:0;top:0;color:var(--ink)}
.fc-pvbox .fc-pcard{border-color:var(--line-2)}

/* side pane */
.fc-deckhead{display:grid;gap:0.375rem}
.fc-cards{list-style:none;margin:0;padding:0;display:grid;gap:0.375rem}
.fc-citem{display:grid;grid-template-columns:1.75rem minmax(0,1fr) minmax(0,1fr) auto;gap:0.375rem;align-items:start;padding:0.375rem 0;border-bottom:1px solid var(--line)}
.fc-num{font-family:var(--mono);font-size:0.75rem;color:var(--muted);padding-top:0.6875rem;text-align:right}
.fc-cside{display:grid;gap:0.25rem;min-width:0}
.fc-cside input{font-size:0.875rem;padding-left:0.5rem;padding-right:0.5rem}
.fc-picrow{display:flex;align-items:center;gap:0.375rem;min-height:1.25rem}
.fc-thumb{width:2.5rem;height:2.5rem;object-fit:cover;border-radius:0.25rem;border:1px solid var(--line)}
.fc-link{font-size:0.75rem;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:2px}
.fc-link:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.fc-hidefile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.fc-del{width:2.25rem;height:2.25rem;font-size:1.125rem}
.fc-moreli{padding-top:0.375rem}
@media(max-width:420px){.fc-citem{grid-template-columns:1.25rem minmax(0,1fr) auto}.fc-citem .fc-cside+.fc-cside{grid-column:2}.fc-citem .fc-del{grid-row:1;grid-column:3}}
.fc-more{border-top:1px solid var(--line);padding-top:0.75rem}
.fc-more>summary{cursor:pointer;font-weight:600;font-size:0.9375rem}
.fc-more[open]>summary{margin-bottom:0.625rem}
.fc-more>*+*{margin-top:0.5rem}
.fc-file{position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer}
.fc-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fc-file:focus-within{outline:2px solid var(--accent);outline-offset:2px}
#shareurl{width:100%;font-family:var(--mono);font-size:0.8125rem}
.fc-danger{color:var(--bad)}
.fc-banner{margin:0 0 1rem;padding:0.875rem 1rem;border:1px solid var(--accent);border-radius:var(--r);background:var(--accent-soft);display:grid;gap:0.625rem}
.fc-banner[hidden]{display:none}
.fc-banner p{margin:0;color:var(--ink);overflow-wrap:anywhere}

/* print sheet: hidden on screen, the only thing on paper */
#fc-print{display:none}
.fc-sheet{position:relative;overflow:hidden;box-sizing:border-box;background:#fff}
.fc-pcard{position:absolute;box-sizing:border-box;border:0.25mm dashed #9a9a9a;padding:5mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2mm;text-align:center;overflow:hidden;font-family:var(--sans);color:#000}
.fc-pcard p{margin:0;line-height:1.25;overflow-wrap:break-word;max-width:100%;white-space:pre-wrap}
.fc-pcard img{max-width:100%;max-height:55%;object-fit:contain;min-height:0}
.fc-len-s{font-size:20pt;font-weight:700}
.fc-len-m{font-size:13pt;font-weight:600}
.fc-len-l{font-size:10pt}
.fc-len-xl{font-size:7.5pt}
.fc-foldline{position:absolute;left:50%;top:0;bottom:0;border-left:0.3mm dashed #555}
.fc-pvbox .fc-sheet,.fc-pvbox .fc-pcard{color:#000}
@media print{
  html,body{background:#fff !important;color:#000 !important;margin:0 !important;padding:0 !important}
  body>*:not(#fc-print){display:none !important}
  #fc-print{display:block}
  .fc-sheet{break-after:page;page-break-after:always}
  .fc-sheet:last-child{break-after:auto;page-break-after:auto}
  .fc-pcard{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
