/* v28 decodable shelf */
.dcd-page h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,42px);margin:10px 0 8px;color:#f6e7c6}
.dcd-page .h-kick{font-size:13px;letter-spacing:.08em;text-decoration:none}
.dcd-page .wrap.narrow{max-width:820px}
.dcd-lead{font-size:18px;line-height:1.6;max-width:720px;color:#eadcbd}
.dcd-level{margin:30px 0}
.dcd-level h2{font-family:Georgia,serif;font-size:24px;margin:0 0 14px;color:#f3dfb2}
.dcd-level h2 small{font:600 15px/1.3 ui-sans-serif,system-ui,sans-serif;color:#d6c7a6;margin-left:8px}
.dcd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}
.dcd-card{display:flex;flex-direction:column;gap:5px;text-align:left;background:#21170f;border:1px solid #4a3826;border-radius:14px;padding:10px 10px 14px;color:#f2e6cf;text-decoration:none;font:inherit;cursor:pointer;position:relative}
.dcd-card img{width:100%;aspect-ratio:300/388;object-fit:cover;border-radius:8px;box-shadow:0 6px 16px #0008}
.dcd-card b{font-family:Georgia,serif;font-size:18px;line-height:1.2;color:#fff3da}
.dcd-card small{font-size:13px;line-height:1.35;color:#d8caa9}
.dcd-card:hover,.dcd-card:focus-visible{border-color:#e0bd6f;outline:none;box-shadow:0 0 0 3px #e0bd6f66}
.dcd-card.current{border-color:#e0bd6f}
.dcd-card.locked img{filter:saturate(.6) brightness(.8)}
.dcd-step{font:800 12px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#f0c96b}
.dcd-tag{align-self:flex-start;margin-top:4px;font:700 12px/1 ui-sans-serif,system-ui,sans-serif;padding:5px 9px;border-radius:99px;background:#3a2c1c;color:#f2e6cf}
.dcd-tag.done{background:#1f5a43;color:#fff}.dcd-tag.now{background:#f0c96b;color:#2a1d0c}.dcd-tag.lock{background:#2b2a26;color:#e6dcc6}
.dcd-banner{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:14px 18px;border-radius:16px;background:#2a2012;border:1px solid #8a6a32;color:#f5e7c8;text-decoration:none}
.dcd-banner img{width:54px;border-radius:6px}
.dcd-banner small{display:block;font:800 11px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.12em;color:#f0c96b;margin-bottom:5px}
.dcd-banner b{display:block;font-family:Georgia,serif;font-size:21px}
.dcd-banner span span{display:block;font-size:14px;color:#dccdaa;margin-top:3px}
.dcd-banner i{margin-left:auto;font-style:normal;font-size:26px;color:#f0c96b}
.dcd-banner:focus-visible{outline:3px solid #f0c96b;outline-offset:2px}
.dcd-head{display:flex;gap:18px;align-items:center;margin:14px 0 18px}
.dcd-head img{width:96px;border-radius:8px;box-shadow:0 8px 20px #0009}
.dcd-head h1{margin:6px 0 4px}
.dcd-head p{margin:0;color:#dccdaa;font-size:15px}
/* the story: paper page, numbers outside the sentences */
.dcd-story{background:#fbf6ea;color:#231c13;border-radius:16px;padding:22px clamp(16px,4vw,40px) 28px;box-shadow:0 14px 40px #0007}
.dcd-tools{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:0 0 14px}
.dcd-tools .btn.ghost{color:#2f5245;border:2px solid #2f5245;background:#fff}
.dcd-tools .btn.ghost[aria-pressed="true"]{background:#2f5245;color:#fff}
.dcd-story .qt{font-family:Georgia,"Iowan Old Style",serif;font-size:21px;line-height:1.75;max-width:66ch}
.dcd-story.big .qt{font-size:26px;line-height:1.8}
.dcd-para{display:grid;grid-template-columns:2.2em 1fr;align-items:baseline;border-radius:8px;transition:background .6s}
.dcd-para p{margin:0 0 .9em}
.dcd-num{font:700 13px/1 ui-sans-serif,system-ui,sans-serif;color:#6b6250;text-align:right;padding-right:.9em;user-select:none;-webkit-user-select:none}
.dcd-para.flash{background:#f6e2a8}
@media (prefers-reduced-motion:reduce){.dcd-para{transition:none}}
/* questions */
.dcd-qs{margin:34px 0 10px}
.dcd-qs h2{font-family:Georgia,serif;font-size:28px;color:#f3dfb2;margin:0 0 6px}
.dcd-note{color:#dccdaa;margin:0 0 16px}
.dcd-q{background:#fbf6ea;color:#231c13;border-radius:14px;padding:16px 18px;margin:0 0 14px}
.dcd-q label b{font-size:18px;line-height:1.45;color:#231c13}
.dcd-qtype{display:block;font:800 12px/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#7a5410;margin-bottom:8px}
.dcd-look{margin:6px 0 0;font-size:15px;color:#4a4232}
.dcd-look a{color:#1d5f8a;font-weight:700}
.dcd-starter{margin:8px 0 0;font-size:15px;color:#4a4232;font-style:italic}
.dcd-q textarea{display:block;width:100%;box-sizing:border-box;margin-top:10px;font:18px/1.5 ui-sans-serif,system-ui,sans-serif;padding:12px;border:2px solid #b9b19c;border-radius:10px;background:#fff;color:#231c13;resize:vertical}
.dcd-q textarea:focus-visible{outline:3px solid #c19b49;outline-offset:1px;border-color:#7a5410}
.dcd-saved{display:block;min-height:1.2em;margin-top:5px;font-size:13px;color:#4f6156}
.dcd-end{text-align:center;margin:24px 0 10px}
.dcd-done{color:#bfe3c9;font-weight:700}
/* teacher dialog */
.dcd-teacher{max-width:860px}
.dcd-table-wrap{overflow-x:auto;margin:14px 0}
.dcd-table{width:100%;border-collapse:collapse}
.dcd-table th,.dcd-table td{text-align:left;padding:9px 8px;border-bottom:1px solid #566048;vertical-align:middle}
.dcd-table select{font:15px/1.3 system-ui,sans-serif;padding:7px 9px;border-radius:8px;border:1px solid #9aa58c;background:#fff;color:#243e33;max-width:300px}
.dcd-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.dcd-check input{width:18px;height:18px}
.teacher-dialog .muted,.dcd-teacher .muted{opacity:.85;font-style:italic}
.dcd-teacher #dcd-work-step{font:15px/1.3 system-ui,sans-serif;padding:7px 9px;border-radius:8px;margin:6px 0 12px}
.dcd-work-q{border-top:1px solid #566048;padding:12px 0}
.dcd-ans{background:#ffffff14;border-radius:8px;padding:9px 12px;margin:8px 0;white-space:pre-wrap}
.dcd-sum span{display:block;margin-top:6px;opacity:.9}
.dcd-teacher-btn{white-space:nowrap}
@media(max-width:600px){.dcd-head img{width:70px}.dcd-para{grid-template-columns:1.8em 1fr}.dcd-story .qt{font-size:19px}.dcd-story.big .qt{font-size:23px}}
/* dark teacher dialog: the shared table style is light, so give this table its own colors */
.teacher-dialog .dcd-table,.teacher-dialog .dcd-table tr,.teacher-dialog .dcd-table td{background:transparent!important;color:#f0e3c5}
.teacher-dialog .dcd-table th{background:#2c3a2b!important;color:#e7cf95;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.teacher-dialog .dcd-table .seat-number{display:inline-grid;vertical-align:middle;min-width:30px;height:30px;background:#3c4831;color:#f3e3be;margin-right:8px}
.teacher-dialog .dcd-check span{color:#f0e3c5}
.teacher-dialog .dcd-check input:disabled+span{color:#b8ad92}
.teacher-dialog .dcd-table .muted{color:#d6cba9}
.teacher-dialog #dcd-status{color:#cfe6c9}
.teacher-dialog .dcd-work-q b{color:#f3e3be}
.teacher-dialog .dcd-work-q details summary{color:#e7cf95;cursor:pointer}
.teacher-dialog .dcd-teacher label{color:#f0e3c5}
.dcd-teacher .linkbtn{display:block;margin:0 0 10px;color:#f2c14e;background:none;border:0;padding:0;font:700 14px/1.3 system-ui,sans-serif;cursor:pointer;text-decoration:underline}
