/* Public flashcard and quiz pages (studyboardapp.com/flashcards and /quizzes) */
.pub-main{padding-top:24px;padding-bottom:40px;max-width:980px}
.pub-hero{margin:8px 0 22px}
.pub-hero h1,.pub-head h1{font:700 clamp(1.7rem,4vw,2.5rem)/1.15 var(--display);margin:0 0 10px;color:var(--ink);overflow-wrap:anywhere}
.pub-search{display:grid;gap:10px;margin-top:14px;max-width:640px}
.pub-search-row{display:flex;gap:8px}
.pub-filters{display:flex;flex-wrap:wrap;gap:8px}
.pub-filters label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.86rem}
.pub-filters select{min-height:36px;max-width:240px;padding:4px 30px 4px 12px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 .88rem var(--body);appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.pub-filters select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:560px){.pub-filters label span{display:none}.pub-filters label{flex:1 1 30%}.pub-filters select{max-width:none;width:100%}}
.pub-search input{flex:1;min-width:0;min-height:46px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:1rem var(--body)}
.pub-search input:focus{outline:2px solid var(--accent);outline-offset:1px}
.pub-sec{margin:26px 0}
.pub-sec h2{font:700 1.2rem var(--display);margin:0 0 12px;color:var(--ink)}
.pub-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;font-size:.9rem;color:var(--muted)}
.pub-crumbs li+li::before{content:"›";margin-right:6px;color:var(--muted)}
.pub-crumbs a{color:var(--accent);text-decoration:none}
.pub-crumbs a:hover{text-decoration:underline}
.pub-meta{color:var(--muted);margin:0;font-size:.95rem}
.pub-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pub-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pub-item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.pub-item:hover{border-color:var(--accent-2)}
.pub-item b{font:700 1.05rem var(--display);overflow-wrap:anywhere}
.pub-item .pub-meta{font-size:.88rem}
.pub-prev{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}
.pub-none{color:var(--muted)}
.pub-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;color:var(--muted)}
.pub-terms{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:t}
.pub-terms li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface)}
.pub-terms .t{font-weight:700;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}
.pub-terms .d{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;border-left:1.5px solid var(--line);padding-left:16px}
.pub-study{margin:18px 0 8px}
.pub-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:220px;padding:28px 22px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:600 1.3rem/1.4 var(--display);text-align:center;cursor:pointer;box-shadow:var(--shadow-lg);white-space:pre-wrap;overflow-wrap:anywhere}
.pub-card.is-back{background:var(--soft)}
.pub-card small{font:700 .72rem var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pub-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pub-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:12px;color:var(--muted)}
.pub-qs{margin:0;padding-left:1.4em;display:grid;gap:14px}
.pub-q{padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface)}
.pub-q .stem{margin:0 0 8px;font-weight:700;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.pub-q .opts{margin:0 0 8px;padding-left:1.6em;color:var(--ink)}
.pub-q .opts li{margin:3px 0;overflow-wrap:anywhere}
.pub-q details summary{cursor:pointer;color:var(--accent);font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.pub-q .ans{margin:6px 0 0}
.pub-q .why{margin:4px 0 0;color:var(--muted)}
.pub-case p{white-space:pre-wrap}
.pub-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 14px;padding:18px 20px;border-radius:16px;background:var(--soft);border:1.5px solid var(--line)}
.pub-cta div{display:flex;flex-direction:column;gap:4px}
.pub-cta b{font:700 1.05rem var(--display);color:var(--ink)}
.pub-cta span{color:var(--muted)}
.pub-also,.pub-report{color:var(--muted);font-size:.92rem}
.pub-also a,.pub-report a,.pub-sec p a{color:var(--accent)}
.pub-foot{border-top:1px solid var(--line);padding:22px 0 30px;color:var(--muted);font-size:.9rem}
.pub-foot a{color:var(--accent)}
@media (max-width:640px){
  .pub-terms li{grid-template-columns:1fr;gap:8px}
  .pub-terms .d{border-left:0;padding-left:0;border-top:1.5px solid var(--line);padding-top:8px}
  .pub-search-row{flex-direction:column}
  .pub-cta{flex-direction:column;align-items:stretch}
  .pub-card{min-height:180px;font-size:1.12rem}
}
/* Flashcard sets as decks, drawn like the app */
.pdecks{list-style:none;margin:6px 0 0;padding:0 12px 12px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:30px 26px}
.pdecks li{display:flex}
.pdeck{position:relative;display:flex;flex:1;min-width:0;color:#15213A;text-decoration:none;--c:#3B6FE0;transition:transform .15s ease}
.pdeck:hover{transform:translateY(-2px)}
.pdeck:focus-visible{outline:none}
.pdeck:focus-visible .pdeck-face{box-shadow:0 0 0 3px var(--accent-2),0 12px 30px rgba(14,42,86,.14)}
.pdeck-lay,.pdeck-face{border-radius:8px;background:#FFFEF9 repeating-linear-gradient(transparent 0 27px,rgba(57,136,254,.18) 27px 28px) 0 40px/100% calc(100% - 40px) no-repeat;box-shadow:0 0 0 1px var(--line)}
.pdeck-lay{position:absolute;inset:0;pointer-events:none}
.pdeck-lay.l2{clip-path:polygon(-4px 8px,calc(100% - 14px) 8px,calc(100% - 14px) -4px,calc(100% + 4px) -4px,calc(100% + 4px) calc(100% + 4px),-4px calc(100% + 4px))}
.pdeck-lay.l2{transform:translate(6px,6px)}
.pdeck-lay.l3{transform:translate(12px,12px);filter:brightness(.94);clip-path:polygon(-4px 10px,calc(100% - 20px) 10px,calc(100% - 20px) -4px,calc(100% + 4px) -4px,calc(100% + 4px) calc(100% + 4px),-4px calc(100% + 4px))}
.pdeck-face{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;min-width:0;height:176px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 12px 30px rgba(14,42,86,.14)}
.pdeck-band{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 12px;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 88%,#000),color-mix(in srgb,var(--c) 78%,#fff));color:#fff}
.pdeck-ic{display:inline-grid;width:26px;height:26px;flex:none}
.pdeck-ic svg{width:100%;height:100%;display:block;stroke:#fff;stroke-width:2.1}
.pdeck-ic svg .a,.pdeck-ic svg .b,.pdeck-ic svg .y,.pdeck-ic svg .g,.pdeck-ic svg .r{fill:rgba(255,255,255,.35)}
.pdeck-ic svg .w{fill:#fff;stroke:none}
.pdeck-ic svg .sa,.pdeck-ic svg .sb,.pdeck-ic svg .ws{stroke:#fff}
.pdeck-kick{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 .74rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.pdeck-n{flex:none;min-width:26px;height:26px;padding:0 8px;box-sizing:border-box;display:inline-grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.55);font:700 .82rem/1 var(--display);font-variant-numeric:tabular-nums}
.pdeck-body{display:grid;gap:6px;align-content:start;padding:10px 16px 14px;flex:1;min-height:0;overflow:hidden}
.pdeck-name{font:700 1.12rem/1.25 var(--display);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pdeck-meta{font-size:.84rem;line-height:1.35;color:#4A5875;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdeck-prev{font-size:.84rem;line-height:1.35;color:#5A6A86;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pc0{--c:#3B6FE0}.pc1{--c:#1E9E74}.pc2{--c:#E0673B}.pc3{--c:#9A4FD1}.pc4{--c:#D6386F}.pc5{--c:#1D9BB8}.pc6{--c:#C79A12}.pc7{--c:#5E6B7E}.pc8{--c:#DC2626}.pc9{--c:#16A34A}.pc10{--c:#65A30D}.pc11{--c:#0D9488}.pc12{--c:#4F46E5}.pc13{--c:#C026D3}.pc14{--c:#EA580C}.pc15{--c:#92400E}.pc16{--c:#334155}
@media (max-width:560px){.pdecks{grid-template-columns:minmax(0,1fr);gap:26px}}
@media (prefers-reduced-motion:reduce){.pdeck{transition:none}.pdeck:hover{transform:none}}

/* A set's page, drawn like a deck in the app */
.pdh{position:relative;margin:4px 0 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.pdh-band{min-height:66px;padding:14px 18px;padding-right:min(400px,45%);background:linear-gradient(120deg,color-mix(in srgb,var(--c) 88%,#000),color-mix(in srgb,var(--c) 70%,#fff));color:#fff}
.pdh-kick{display:block;font:800 .76rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.25);padding-top:4px;overflow-wrap:anywhere}
.pdh-acts{position:absolute;top:12px;right:16px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.pdh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.18);color:#fff;font:700 .95rem var(--display);text-decoration:none;white-space:nowrap}
.pdh-btn:hover{background:rgba(255,255,255,.28)}
.pdh-btn.primary{background:#fff;border-color:#fff;color:color-mix(in srgb,var(--c) 70%,#000)}
.pdh-btn.primary:hover{background:#F4F6FB}
.pdh-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.pub-official{margin:-8px 0 20px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--muted);font-size:.9rem}
.pdh-low{display:flex;align-items:flex-start;gap:18px;padding:0 20px 18px}
.pdh-ring{flex:none;display:grid;place-items:center;width:104px;height:104px;margin-top:-26px;border-radius:50%;background:#fff;border:5px solid var(--c);box-shadow:0 4px 14px rgba(10,20,40,.22)}
.pdh-ring svg{width:66%;height:66%;display:block;overflow:visible;stroke:color-mix(in srgb,var(--c) 40%,#0E1424);stroke-width:1.6}
.pdh-ring svg .a{fill:var(--c)}
.pdh-ring svg .b{fill:color-mix(in srgb,var(--c) 26%,#fff)}
.pdh-ring svg .w{fill:#fff;stroke:none}
.pdh-ring svg .y{fill:#FFC93C}
.pdh-ring svg .g{fill:#3DBE6A}
.pdh-ring svg .r{fill:#F25C54}
.pdh-ring svg .sa{stroke:var(--c);stroke-width:3}
.pdh-ring svg .sb{stroke:color-mix(in srgb,var(--c) 45%,#fff);stroke-width:3}
.pdh-ring svg .ws{stroke:#fff;stroke-width:1.8}
.pdh-txt{min-width:0;padding-top:14px}
.pdh h1{font:700 clamp(1.45rem,3.4vw,2rem)/1.2 var(--display);margin:0 0 10px;color:var(--ink);overflow-wrap:anywhere}
.pdh-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.pdh-chips span{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.pdh-chips b{color:var(--ink);font-family:var(--display)}
.pub-terms.pcards{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px}
.pub-terms.pcards li{display:flex;flex-direction:column;gap:0;padding:0;border:0;border-radius:8px;overflow:hidden;color:#15213A;background:#FFFEF9;box-shadow:0 0 0 1px var(--line),0 8px 22px rgba(14,42,86,.12)}
.pub-terms.pcards .t{display:block;padding:12px 16px 10px;border-bottom:2px solid rgba(214,57,44,.55);color:#15213A;font:700 1.02rem/1.3 var(--display);text-align:center}
.pub-terms.pcards .d{display:block;flex:1;border:0;padding:5px 16px 14px;color:#4A5875;text-align:center;font-size:.93rem;line-height:28px;background:repeating-linear-gradient(transparent 0 27px,rgba(57,136,254,.18) 27px 28px)}
.pub-card{background:#FFFEF9 repeating-linear-gradient(transparent 0 35px,rgba(57,136,254,.18) 35px 36px);color:#15213A;border:0;border-top:3px solid rgba(214,57,44,.55);border-radius:10px;box-shadow:0 0 0 1px var(--line),0 12px 30px rgba(14,42,86,.16)}
.pub-card.is-back{background:#FFFEF9 repeating-linear-gradient(transparent 0 35px,rgba(57,136,254,.18) 35px 36px)}
.pub-card small{color:#5A6A86}
@media (max-width:560px){
  /* phones: a short band, the icon and name side by side, the details as one quiet line */
  .pdh{border-radius:14px}
  .pdh-band{min-height:0;padding:10px 14px 30px}
  .pdh-kick{font-size:.7rem}
  .pdh-low{gap:12px;padding:0 14px 12px;align-items:flex-start}
  .pdh-ring{width:60px;height:60px;margin-top:-24px;border-width:3px}
  .pdh-txt{padding-top:8px}
  .pdh h1{font-size:1.3rem;margin-bottom:6px}
  .pdh-chips{display:block;color:var(--muted);font-size:.82rem;line-height:1.45}
  .pdh-chips span{display:inline;padding:0;border:0;background:none;font-size:inherit}
  .pdh-chips span + span::before{content:" · "}
  .pdh-acts{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px}
  .pdh-btn{min-height:44px;padding:8px 10px;font-size:.9rem;border-color:var(--line);background:var(--soft);color:var(--ink)}
  .pdh-btn:hover{background:var(--soft)}
  .pdh-btn.primary{background:var(--c);border-color:var(--c);color:#fff}
  .pdh-btn.primary:hover{background:var(--c)}
  .pdh-btn:focus-visible{outline-color:var(--accent)}
  .pub-crumbs li:last-child{display:none}
}

@media (prefers-reduced-motion:reduce){.pub-card,.pub-item{transition:none}}
