.ac-progress{background:#fff8dc;border:3px solid #2b1d14;border-radius:18px;padding:12px 18px;margin-bottom:18px}.ac-progress>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.ac-progress strong{font-size:18px}.ac-progress span{font-size:14px}.ac-progress progress,.ac-job progress{width:100%;height:14px;accent-color:#408a63;margin:9px 0 0}.ac-main-nav{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.ac-books,.ac-question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.ac-units{display:grid;gap:14px;margin:20px 0}.ac-unit{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:78px;padding:18px 20px;border:3px solid #2b1d14;border-radius:20px;background:#fff8df;color:#2b1d14;box-shadow:0 4px 0 #2b1d14;text-align:left}.ac-unit strong{font-size:23px}.ac-unit span{flex-shrink:0;font-size:15px}.ac-source-label{font-size:16px;margin:8px 0 16px;color:#6d5134}.ac-original{background:#fffdf2;border:2px solid #2b1d14;border-radius:16px;padding:10px 16px;margin:16px 0}.ac-original summary{min-height:44px;padding:9px 0;cursor:pointer}.ac-original p{font-size:24px;line-height:1.6}.ac-original>div{display:flex;gap:14px;flex-wrap:wrap}.ac-original img{max-width:100%;max-height:360px;object-fit:contain;border-radius:14px;background:white}.ac-tags{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:24px 0}.ac-tags .ail-btn{background:#fff7d3;font-size:22px;min-height:64px}.ac-tags .selected{background:#ffcf59;box-shadow:0 4px 0 #2b1d14,inset 0 0 0 3px #fff8}.ac-reading-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:0 8px}.ac-reading-heading strong{font-size:28px}.ac-reading-heading span,.ac-evidence{font-size:16px;color:#6e5137}.ac-reading{max-width:900px;min-height:270px}.ac-reading .ail-card-progress span{background:#fff9;border:2px solid #2b1d14;border-radius:18px;padding:3px 12px;font-size:17px}.ac-explain-note{font-size:14px;color:#73583e;text-align:center}.ac-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 28px}.ac-actions .ail-btn{font-size:17px}.ac-form-shade{position:fixed;inset:0;background:#2b1d1480;display:flex;align-items:center;justify-content:center;padding:20px;z-index:3}.ac-regenerate{width:min(700px,100%);max-height:95dvh;overflow:auto;padding:28px;border:4px solid #2b1d14;border-radius:28px;background:#fff5d9;box-shadow:0 8px 0 #2b1d14}.ac-regenerate h2{font-size:28px;margin:0 0 12px}.ac-regenerate label{display:block;font-size:23px;margin:18px 0 10px}.ac-regenerate textarea{display:block;width:100%;min-height:130px;font:700 21px/1.6 "Noto Sans SC",sans-serif;padding:14px;border:3px solid #2b1d14;border-radius:16px;resize:vertical}.ac-regenerate>div{display:flex;gap:12px;flex-wrap:wrap}.ac-job{position:sticky;bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:3px solid #2b1d14;border-radius:20px;background:#e0f2d8;padding:16px 20px;margin:24px 0;box-shadow:0 4px 0 #2b1d14;z-index:2}.ac-job strong{flex:1;font-size:19px}.ac-job span{font-size:17px}.ac-job.active{background:#fff0af}.ac-question-grid .ail-sticker{min-width:0}.ac-course .ail-history button{max-width:100%;overflow-wrap:anywhere;text-align:left}.ac-course .ac-search input{min-width:220px}.ac-course .ail-reading-card h2{margin-bottom:12px}
@media(max-width:850px){.ac-books,.ac-question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-tags{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-unit strong{font-size:21px}}
@media(max-width:599px){.ac-progress{padding:11px 13px}.ac-progress strong{font-size:16px}.ac-progress span{font-size:12px}.ac-books{gap:16px 12px}.ac-question-grid{grid-template-columns:1fr;gap:26px}.ac-unit{padding:14px;align-items:flex-start;flex-direction:column;gap:6px}.ac-unit strong{font-size:22px}.ac-unit span{font-size:14px}.ac-tags{gap:10px 8px;margin:20px 0}.ac-tags .ail-btn{font-size:19px;padding:9px 6px;min-height:56px}.ac-reading-heading strong{font-size:24px}.ac-reading-heading span{font-size:13px}.ac-reading{padding:24px 20px;min-height:260px}.ac-reading .ail-big-text{font-size:28px}.ac-original p{font-size:22px}.ac-actions{gap:10px}.ac-actions .ail-btn{font-size:16px;padding:9px 10px}.ac-regenerate{padding:22px 17px}.ac-regenerate h2{font-size:25px}.ac-regenerate textarea{font-size:20px;min-height:140px}.ac-form-shade{padding:12px}.ac-job{padding:14px;gap:8px}.ac-job strong{font-size:17px;flex-basis:100%}.ac-job span{font-size:15px}.ac-course .ac-search input{min-width:0}.ac-search select{max-width:110px}.ac-course .ail-head h1{font-size:26px}}

.ac-topics{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 26px}.ac-topics .ail-btn{background:#deefd2;max-width:100%;overflow-wrap:anywhere}.ac-course .ail-history{display:grid;gap:12px}

.ac-course[data-view="detail"] .ail-head h1{font-size:34px}.ac-course[data-view="detail"] .ail-head{padding-bottom:10px}.ac-course[data-view="detail"] .ac-original{margin:10px 0}.ac-course[data-view="detail"] .ac-tags{margin:16px 0}.ac-course[data-view="detail"] .ac-reading{min-height:225px;margin:22px auto}.ac-course[data-view="detail"] .ac-reading h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ac-course[data-view="detail"] .ac-source-label{margin:4px 0 8px}.ac-course .ac-reading .ail-big-text{margin:20px 0}.ac-course[data-view="detail"] .ail-reading-card{opacity:1}@media(max-width:599px){.ac-course[data-view="detail"] .ail-head h1{font-size:26px}.ac-course[data-view="detail"] .ac-reading{min-height:215px;margin:20px auto}.ac-course[data-view="detail"] .ac-reading-heading strong{font-size:23px}}

.ac-unit strong small{display:block;font-size:14px;margin-top:7px;font-weight:500;color:#76563a}

.ac-job{position:static}.ac-job.active{position:sticky}
/* Account labels act like paper stickers; a closed group keeps a visible stack. */
.ac-organized-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:12px 5px 25px;min-height:110px}.ac-label-node,.ac-shelf-group{position:relative;min-width:0;border:3px solid #2b1d14;border-radius:20px;background:var(--note,#def0d7);box-shadow:0 5px 0 #2b1d14;padding:12px;animation:ail-stick .25s ease-out both}.ac-shelf-tools{display:flex;align-items:center;gap:5px;justify-content:space-between;margin-bottom:8px;position:relative;z-index:1}.ac-shelf-tool,.ac-shelf-grip{min-width:44px;min-height:44px;padding:7px 9px;border:2px solid #2b1d14;border-radius:12px;background:#fffdf4;color:#2b1d14;font:700 14px/1.3 "Noto Sans SC",sans-serif;cursor:pointer}.ac-shelf-grip{touch-action:none;cursor:grab;background:#ffe795;user-select:none}.ac-topic-open,.ac-group-toggle{display:flex;flex-direction:column;gap:9px;width:100%;min-height:110px;padding:14px 8px;border:0;background:transparent;color:#2b1d14;text-align:left;cursor:pointer}.ac-topic-open strong,.ac-group-toggle b{font-size:25px;line-height:1.4;overflow-wrap:anywhere}.ac-topic-open span,.ac-group-toggle span{font-size:16px}.ac-group-toggle small{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.ac-shelf-group{background:#fff0ba;isolation:isolate;transition:background .2s,box-shadow .2s}.ac-shelf-group.is-stack::before,.ac-shelf-group.is-stack::after{content:"";position:absolute;inset:8px -5px -7px;border:3px solid #2b1d14;border-radius:20px;background:#cfe6f8;z-index:-1;transform:rotate(-3deg)}.ac-shelf-group.is-stack::after{inset:4px -7px -4px;background:#f8dce5;transform:rotate(3deg);z-index:-2}.ac-shelf-group.is-open{grid-column:1/-1;background:#fff4d6;padding:18px}.ac-group-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px;margin:18px 0 22px;padding:12px 3px}.ac-group-members>[data-shelf-node]{animation:ac-label-spread .3s ease-out both}.ac-shelf-group>p{font-size:15px;margin:14px 0 0}.ac-note-node{min-width:0}.ac-note-node>.ac-shelf-tools{background:#fff5d9;padding:8px;border:2px solid #2b1d14;border-radius:16px;margin-bottom:16px}.ac-note-node .ail-sticker{margin:0}.ac-organizer-help,.ac-shelf-notice{padding:13px 16px;border:2px solid #2b1d14;border-radius:15px;background:#e4f2d4;font-size:16px}.ac-drop-group{outline:none;box-shadow:0 0 0 6px #ffcf5a,0 10px 0 #2b1d14!important;transform:scale(1.04) rotate(-1deg);transition:transform .18s cubic-bezier(.2,1.4,.4,1),box-shadow .18s}.ac-drop-loose{background-color:#e1f2d8;box-shadow:inset 0 0 0 4px #7fbf6a;transition:background-color .2s,box-shadow .2s}.ac-drag-source{opacity:.18;filter:saturate(.4);transition:opacity .15s}.ac-drag-ghost{position:fixed;width:235px;max-width:calc(100vw - 20px);padding:15px 18px;z-index:16000;pointer-events:none;border:3px solid #2b1d14;border-radius:18px;background:#ffde78;box-shadow:0 6px 0 #2b1d14;font:700 18px/1.5 "Noto Sans SC",sans-serif;transform:rotate(-4deg);overflow-wrap:anywhere}.ac-dragging{user-select:none}.ac-move-target{display:block;width:100%;min-height:48px;padding:10px;border:2px solid #2b1d14;border-radius:14px;background:#fffdf5;font-size:18px;margin:14px 0}.ac-move-actions,.ac-delete-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}.ac-organizer-dialog button{min-height:48px;padding:11px 15px;border:3px solid #2b1d14;border-radius:14px;background:#ffdf75;font:700 18px/1.4 "Noto Sans SC",sans-serif;color:#2b1d14;cursor:pointer}.ac-organizer-dialog .ac-permanent-delete{background:#ffb6a0}.ac-delete-count{font-size:26px;font-weight:900}.ac-delete-record{background:#ffe4db}.ac-dialog-error{color:#983d20}.ac-action-help{max-width:900px;margin:22px auto;padding:10px 17px;border:2px solid #967849;border-radius:16px;background:#fffae8}.ac-action-help summary{min-height:44px;padding:8px 0;cursor:pointer;font-size:17px}.ac-action-help p{font-size:17px;line-height:1.7;margin:11px 0}.ac-organizer-dialog .ac-regenerate{font-size:19px;line-height:1.7}
@keyframes ac-label-spread{from{opacity:0;transform:translateY(-16px) rotate(-3deg) scale(.94)}to{opacity:1;transform:none}}
@media(max-width:850px){.ac-organized-topics,.ac-group-members{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.ac-organized-topics,.ac-group-members{grid-template-columns:1fr}.ac-organized-topics{gap:25px}.ac-shelf-group.is-open{padding:12px}.ac-group-members{gap:26px}.ac-topic-open strong{font-size:26px}.ac-organizer-help{font-size:15px}.ac-shelf-tools{gap:8px}.ac-shelf-tool,.ac-shelf-grip{font-size:15px}.ac-action-help{padding:9px 13px}.ac-action-help p{font-size:16px}.ac-organizer-dialog .ac-regenerate{font-size:17px}.ac-delete-count{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ac-label-node,.ac-shelf-group,.ac-group-members>[data-shelf-node]{animation:none}.ac-shelf-group{transition:none}}

.ac-shelf-parking{border:3px solid #9cc28d;border-radius:16px;background:#e5f0dd;padding:17px;margin:18px 0 5px;text-align:center;font-size:17px;min-height:60px}
.ail .ac-shelf-grip{touch-action:none;cursor:grab}.ail .ac-shelf-grip:active{cursor:grabbing}

.ac-main-nav .selected{background:#ffd354;box-shadow:0 4px 0 #2b1d14,inset 0 0 0 2px #fff8}
/* The shelf has one search row and one organisation mode. */
.ac-simple-search{display:flex;align-items:center;gap:10px;margin:18px 0 24px}.ac-simple-search input{flex:1;min-width:0;min-height:54px;padding:12px 16px;background:#fffdf6;border:3px solid #2b1d14;border-radius:16px;color:#2b1d14;font:700 20px/1.4 "Noto Sans SC",sans-serif}.ac-simple-search .selected{background:#ffd354}.ac-shelf-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px}.ac-shelf-heading h2{font-size:26px;margin:0}.ac-shelf-heading>span{font-size:15px;color:#70583c}.ac-simple .ac-label-node{padding:12px 15px}.ac-simple .ac-topic-open{min-height:100px}.ac-simple .ac-shelf-tools{justify-content:space-between}.ac-simple .ac-shelf-grip{font-size:24px;line-height:1;padding:3px 10px}.ac-simple .ac-shelf-tool{font-size:22px}.ac-simple .ac-organized-topics{margin-top:12px}.ac-simple .ail-head>div{min-width:0}.ac-simple .ail-head h1{font-size:32px;margin-top:10px}.ac-simple .ail-head{align-items:flex-start}.ac-simple .ac-primary-actions{align-items:center;gap:13px}.ac-more{position:relative}.ac-more>summary{list-style:none;display:grid;place-items:center;min-width:48px;min-height:48px;border:3px solid #2b1d14;border-radius:15px;background:#fffdf3;box-shadow:0 4px 0 #2b1d14;font-size:25px;cursor:pointer}.ac-more>summary::-webkit-details-marker{display:none}.ac-more>div{position:absolute;right:0;bottom:calc(100% + 14px);width:min(300px,80vw);display:grid;gap:10px;background:#fff4d7;border:3px solid #2b1d14;border-radius:20px;padding:16px;box-shadow:0 6px 0 #2b1d14;z-index:4}.ac-more>div .ail-btn{font-size:17px;white-space:normal;text-align:left}.ac-version-row{display:flex;gap:12px;align-items:center}.ac-version-row>.ail-btn{flex:1;min-width:0}.ac-simple .ac-original .ac-passage{font-size:21px;white-space:pre-line;line-height:1.8}.ac-simple .ac-note-node:has(>.ail-sticker){padding-top:8px}.ac-simple .ac-reading .ail-big-text{font-size:34px;line-height:1.65}.ac-simple .ac-reading-heading strong{font-size:26px}.ac-simple .ail-history h2{font-size:24px}
@media(max-width:599px){.ac-simple-search{gap:7px;margin:12px 0 22px}.ac-simple-search input{padding:10px 12px;font-size:17px}.ac-simple-search>.ail-btn{padding:9px 10px;font-size:16px}.ac-simple .ail-head h1{font-size:26px}.ac-shelf-heading h2{font-size:24px}.ac-shelf-heading>span{font-size:13px}.ac-simple .ac-reading .ail-big-text{font-size:28px}.ac-simple .ac-reading-heading strong{font-size:22px}.ac-simple .ac-primary-actions>.ail-btn{padding:9px 11px;font-size:17px}.ac-simple .ac-primary-actions{gap:11px}.ac-simple .ac-tags .ail-btn{font-size:17px}.ac-simple .ac-original .ac-passage{font-size:20px}.ac-more>div{width:min(280px,85vw)}}
.ac-simple .ac-reading{animation:ac-read-in .18s ease-out}.ac-simple .ac-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;max-width:900px;margin-left:auto;margin-right:auto}.ac-simple .ac-primary-actions>.ail-btn{min-width:0;white-space:normal;min-height:54px}.ac-simple .ac-primary-actions>.ac-more{align-self:center}.ac-simple .ac-primary-actions>.ac-more>summary{width:48px}
@keyframes ac-read-in{from{opacity:.35;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ac-simple .ac-reading{animation:none}}

.ac-simple .ac-note-citation{display:grid;gap:3px;width:100%;margin:12px 0 0;padding-top:10px;border-top:2px dashed #b9a887;color:#5e4934;font-size:15px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere}
.ac-simple .ac-note-citation b{font-size:16px;color:#3c291c}
.ac-simple .ac-topic-open .ac-note-citation span,.ac-simple .ail-sticker-open .ac-note-citation span{display:block;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;font:inherit;color:inherit}
/* Keep the closed question above its tabs; open it beside the tabs. */
.ac-question-context{margin-bottom:22px}
.ac-question-context.is-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,30%);gap:24px;align-items:start}
.ac-simple .ac-question-context.is-open>.ac-original{min-width:0;margin:10px 0}
.ac-simple .ac-question-context.is-open>.ac-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
.ac-simple .ac-question-context.is-open>.ac-tags .ail-btn{min-width:0;padding:10px 8px;font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.ac-simple .ac-original p{overflow-wrap:anywhere}
.ac-simple .ac-original>.ac-question-media{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,104px),1fr));gap:8px;max-width:none;max-height:none;overflow:visible;padding:0;margin:8px 0 4px;animation:none;transition:none;transform:none}
.ac-simple .ac-question-media>img{display:block;width:100%;height:96px;max-width:100%;max-height:96px;object-fit:contain;background:#fff;border-radius:12px}
.ac-simple .ac-original>.ac-question-media.is-single{grid-template-columns:minmax(0,1fr);width:100%;max-width:320px;aspect-ratio:4/3}
.ac-simple .ac-question-media.is-single>img{width:100%;height:100%;min-height:0;max-height:240px;position:absolute;inset:0}.ac-simple .ac-question-media.is-single{position:relative}
@media(max-width:850px){.ac-question-context.is-open{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.ac-simple .ac-question-media>img{height:88px;max-height:88px}}
@media(max-width:599px){.ac-question-context.is-open{grid-template-columns:minmax(0,1fr) 104px;gap:10px}.ac-simple .ac-question-context.is-open>.ac-original{padding:8px 10px}.ac-simple .ac-question-context.is-open>.ac-tags{grid-template-columns:1fr;gap:10px}.ac-simple .ac-question-context.is-open>.ac-tags .ail-btn{min-height:48px;padding:9px 5px;font-size:17px}.ac-simple .ac-question-context.is-open .ac-original p{font-size:20px;line-height:1.6}.ac-simple .ac-original>.ac-question-media{grid-template-columns:repeat(auto-fill,minmax(min(100%,64px),1fr));gap:6px;max-height:none}.ac-simple .ac-question-media>img{height:68px;max-height:68px}.ac-simple .ac-question-media.is-single>img{max-height:200px}}
@media(prefers-reduced-motion:reduce){.ac-simple .ac-original>.ac-question-media{animation:none}}

/* Put short source labels beside the toggle, leaving the width for the pictures. */
.ac-simple .ac-original>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;list-style:none}
.ac-simple .ac-original>summary::-webkit-details-marker{display:none}
.ac-simple .ac-original>summary::before{content:'▸';flex:none;font-size:15px}
.ac-simple .ac-original[open]>summary::before{content:'▾'}
.ac-question-toggle{white-space:nowrap}
.ac-question-caption{display:none}
.ac-simple .ac-original[open]>summary{min-height:44px;padding:2px 0;font-size:16px;line-height:1.4}
.ac-original[open]>summary .ac-question-caption{display:flex;flex:1;min-width:0;align-items:baseline;flex-wrap:wrap;gap:3px 8px;border-left:2px solid #d5c6a8;padding-left:8px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.ac-question-caption strong{font-weight:800}
.ac-simple .ac-question-context.is-open .ac-original .ac-context-prompt{margin:4px 0 8px;font-size:18px;line-height:1.5}
.ac-simple .ac-question-context.is-open .ac-original .ac-passage{margin:6px 0 10px}

.ac-toggle-open,.ac-original[open] .ac-toggle-closed{display:none}.ac-original[open] .ac-toggle-open{display:inline}
@media(max-width:599px){.ac-original[open]>summary .ac-question-caption{gap:2px 6px;padding-left:6px;font-size:14px}}

/* Source pictures stay mounted while only the reader and controls update. */
.ac-simple{scrollbar-gutter:stable;overflow-anchor:none}
.ac-simple .ail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
.ac-simple .ail-head>div{display:contents}
.ac-simple .ail-back{grid-column:1;grid-row:1;justify-self:start}
.ac-simple .ail-langs{grid-column:2;grid-row:1;flex-wrap:nowrap;max-width:none}
.ac-simple .ail-head h1{grid-column:1/-1;grid-row:2;margin:0}
.ac-original.is-translating .ac-question-caption,.ac-original.is-translating .ac-context-prompt,.ac-original.is-translating .ac-passage,.ac-explanation.is-translating{visibility:hidden}
.ac-regenerate select{display:block;width:100%;min-width:0;min-height:52px;padding:10px 36px 10px 12px;border:3px solid #2b1d14;border-radius:14px;background:#fffdf3;color:#2b1d14;font-size:19px;text-overflow:ellipsis}
.ac-regenerate .ac-rephrase-hint{font-size:15px;line-height:1.5;margin:9px 0 14px;color:#70583c}
.ac-regenerate textarea:focus-visible{outline:4px solid #df762c;outline-offset:3px}
.ac-regenerate>div{margin-top:20px}
@media(max-width:599px){.ac-original[open]>summary .ac-question-caption{line-height:1.25}.ac-regenerate{padding:18px 16px}.ac-regenerate h2{font-size:24px}.ac-regenerate label{font-size:20px;margin-top:14px}.ac-regenerate select{font-size:17px}.ac-regenerate textarea{font-size:18px;min-height:120px}.ac-regenerate .ac-rephrase-hint{font-size:14px}.ac-regenerate>div .ail-btn{font-size:17px}}

/* A compact, per-section record of the current explanation's generation. */
.ac-simple .ac-form-shade{z-index:6}
.ac-generation-note{max-width:900px;margin:14px auto 25px;padding:12px 16px;border:2px solid #9e875e;border-radius:17px;background:#fffae8;overflow-wrap:anywhere}
.ac-generation-note.is-new{border-color:#45774c;background:#e5f3d8}
.ac-generation-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:14px;line-height:1.5;color:#70583c}
.ac-generation-meta strong{font-size:17px;color:#2b1d14;margin-right:auto}
.ac-generation-meta>span{white-space:nowrap;color:#376640}
.ac-generation-text,.ac-generation-request p{font-size:17px;line-height:1.6;font-weight:600;margin:9px 0 0;white-space:pre-wrap}
.ac-generation-request summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none;margin-top:6px}
.ac-generation-request summary::-webkit-details-marker{display:none}
.ac-request-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-width:0;font-size:16px;line-height:1.5}
.ac-generation-request summary small{font-size:13px;color:#765c38;flex-shrink:0;max-width:90px}
.ac-request-hide{display:none}.ac-generation-request[open] .ac-request-preview,.ac-generation-request[open] .ac-request-show{display:none}.ac-generation-request[open] .ac-request-hide{display:block}
.ac-tags .has-new{position:relative}.ac-tags .has-new::after{content:'';position:absolute;right:7px;top:6px;width:9px;height:9px;border:2px solid #2b1d14;border-radius:50%;background:#7fcd78;pointer-events:none}
.ac-version-main{flex:1;min-width:0}.ac-version-main>.ail-btn{width:100%;margin:8px 0;text-align:left;white-space:normal}.ac-version-main>small{display:block;margin:0 8px 10px;font-size:14px;color:#70583c}
.ac-job>small{flex-basis:100%;font-size:15px}
.ac-new-toast{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:2;width:min(680px,calc(100% - 32px));margin:0;padding:14px 18px;border:3px solid #2b1d14;border-radius:20px;background:#e5f3d8;box-shadow:0 5px 0 #2b1d14;font-size:18px;line-height:1.5;pointer-events:none}
@media(max-width:599px){.ac-generation-note{padding:10px 12px}.ac-generation-meta{font-size:13px;gap:4px 8px}.ac-generation-meta strong{width:100%;font-size:16px}.ac-generation-text{font-size:16px}.ac-generation-request summary{align-items:flex-start}.ac-generation-request summary small{max-width:65px}.ac-new-toast{font-size:16px;padding:12px 14px}.ac-reading-heading>span{max-width:48%;text-align:right;font-size:14px}}

.ac-job-error{max-width:900px;margin:14px auto 24px;padding:15px 18px;border:3px solid #9e482d;border-radius:18px;background:#fff0dd;overflow-wrap:anywhere}
.ac-job-error>strong{font-size:21px}.ac-job-error>p{font-size:17px;line-height:1.6;margin:10px 0}
.ac-job-error .ac-failed-request{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#71523c;font-size:16px}
.ac-job-error>.ail-btn{margin-top:5px;font-size:17px}
@media(max-width:599px){.ac-job-error{padding:12px 14px}.ac-job-error>strong{font-size:19px}.ac-job-error>p{font-size:16px}}

/* Original question material is read-only and remains mounted while explanations change. */
.ac-simple .ac-original>.ac-source-context{display:grid;gap:12px;margin:8px 0 10px;min-width:0;overflow:visible}
.ac-source-block,.ac-source-banks>section{min-width:0}
.ac-simple .ac-original .ac-source-text{margin:0;font-size:18px;line-height:1.6;white-space:pre-line}
.ac-source-label{display:block;margin:0 0 8px;font-size:15px;color:#70583c;line-height:1.5}
.ac-source-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:10px;min-width:0}
.ac-source-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:54px;padding:10px 12px;border:2px solid #2b1d14;border-radius:13px;background:#fff8dc;box-shadow:0 3px 0 #2b1d14;text-align:center;font:700 30px/1.35 "Baloo 2","Noto Sans SC",sans-serif;overflow-wrap:anywhere;white-space:pre-line}
.ac-source-cell>img{display:block;width:100%;height:96px;max-height:96px;object-fit:contain;border-radius:9px;background:#fff}
.ac-source-icon{display:grid;place-items:center;width:64px;height:64px}.ac-source-icon>svg{width:100%;height:100%}
.ac-source-banks{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;min-width:0}
.ac-source-table{display:grid;gap:8px;min-width:0}.ac-source-table>div{display:flex;gap:10px;min-width:0}.ac-source-table-cell{flex:1;min-width:0;padding:9px 12px;border:2px solid #2b1d14;border-radius:10px;background:#fff8dc;font-size:21px;overflow-wrap:anywhere;white-space:pre-line}
.ac-source-table.is-column{max-width:240px;justify-self:start;width:100%;gap:5px}.ac-source-table.is-column>div{justify-content:end;gap:7px}.ac-source-table.is-column>div:last-child{border-top:3px solid #2b1d14;padding-top:7px}.ac-source-table.is-column .ac-source-table-cell{flex:0 0 45px;text-align:center;font-size:28px}.ac-source-sign{margin-right:auto;align-self:center;font-size:28px}
.ac-source-bond{display:grid;justify-items:center;gap:18px;max-width:320px}.ac-source-bond>div{display:flex;gap:40px;position:relative}.ac-source-bond>div::before{content:'';position:absolute;top:-13px;left:25%;right:25%;height:10px;border:2px solid #2b1d14;border-bottom:0}
.ac-source-number{display:flex;gap:6px;font:700 36px/1.5 "Baloo 2",sans-serif}.ac-source-number .is-underlined{border-bottom:3px solid #2b1d14}
.ac-source-drawing{width:min(240px,100%);margin:0;min-width:0}.ac-source-figure{display:block;width:100%;height:auto}.ac-source-drawing figcaption{text-align:center;font-size:24px}
.ac-original.is-translating .ac-source-text,.ac-original.is-translating .ac-cell-text,.ac-original.is-translating .ac-source-label{visibility:hidden}
@media(max-width:599px){.ac-simple .ac-question-context.is-open .ac-original .ac-source-text{font-size:17px}.ac-source-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,72px),1fr));gap:8px}.ac-source-cell{font-size:26px;padding:9px 8px;min-height:48px}.ac-source-cell>img{height:78px;max-height:78px}.ac-source-banks{gap:8px}.ac-source-banks .ac-source-tiles{grid-template-columns:1fr}.ac-source-table-cell{padding:7px 8px;font-size:18px}.ac-source-table.is-column .ac-source-table-cell{flex-basis:32px;font-size:24px}.ac-source-bond>div{gap:24px}}
/* AI Bobo: visible, truthful progress without moving the original question. */
.ac-scope{border:2px solid #2b1d14;border-radius:15px;margin:12px 0;padding:8px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ac-scope legend{font-weight:800;font-size:18px}.ac-regenerate .ac-scope label{margin:0;display:flex;align-items:center;gap:9px;min-height:48px;font-size:18px;cursor:pointer}.ac-scope input{width:23px;height:23px;accent-color:#a35f22;flex-shrink:0}.ac-scope-hint{font-size:16px;line-height:1.6;margin:8px 0}.ac-simple .ac-job.active{position:fixed;right:24px;bottom:20px;width:min(440px,calc(100vw - 32px));margin:0;display:grid;gap:7px;padding:14px 18px;max-height:70dvh;overflow:auto;background:#fff0af;box-shadow:0 5px 0 #2b1d14;z-index:4}.ac-job.active>progress{height:18px;margin:0}.ac-job-phase{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ac-job-phase b{font-size:15px}.ac-job-phase time{font-size:14px;margin-left:auto}.ac-job-pulse{display:inline-block;width:13px;height:13px;border-radius:50%;background:#468b68;animation:acJobPulse 1s ease-in-out infinite}.ac-job-connection{margin:0;font-size:13px;line-height:1.5}.ac-job.active small{font-size:13px;line-height:1.5}.ac-job.active>div:last-child{display:flex;gap:8px;justify-content:flex-end}.ac-job.active .ail-btn{font-size:15px;padding:8px 11px;min-height:44px}.ac-job.active progress::-webkit-progress-value{background:repeating-linear-gradient(110deg,#559f72 0 12px,#70b58a 12px 24px)}@keyframes acJobPulse{50%{opacity:.35;transform:scale(.8)}}
.ac-source-markup{min-width:0;--soil:#bf9866;--shadow:#2b1d1422;--pv1:#b2dcec;--pv1-ink:#28556a;--card:#fff8dc;--ink:#2b1d14}.ac-source-markup *{animation:none!important;transition:none!important}.ac-source-markup img{max-width:100%;height:96px;object-fit:contain}.ac-source-markup svg{display:block;width:100%;max-height:300px;height:auto}.ac-source-markup table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:17px}.ac-source-markup td,.ac-source-markup th{border:2px solid #b79b75;padding:8px;overflow-wrap:anywhere}.ac-source-markup p{font-size:18px;margin:8px 0}.ac-source-markup .md-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px}.ac-source-markup .md-picture{display:block}.ac-source-markup .md-picture img{width:100%;height:96px}.ac-source-markup .md-shape-board{height:280px}.ac-source-markup .md-experiment section{overflow:visible;min-width:0}.ac-source-markup .md-count-groups section{min-width:0}.ac-source-markup .md-ring{width:auto;height:auto;display:flex;flex-wrap:wrap}.ac-source-markup .md-ring .md-count{position:static!important;width:40px;height:44px}.ac-source-markup .md-count{min-width:0}.ac-source-markup .md-piece-set{flex-wrap:wrap}.ac-source-markup .md-piece img{height:80px}.ac-source-markup .md-source-shapes{fill:#fff9e8;stroke:#2b1d14;stroke-width:2.4;stroke-linejoin:round}.ac-source-markup .md-picture>div,.ac-source-markup .md-money-group{min-width:0}.ac-source-markup .md-observe{cursor:default;box-shadow:none}.ac-original.is-translating .ac-source-markup text{visibility:hidden}
.ac-lettergrid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));border:2px solid #2b1d14;border-radius:10px;overflow:hidden}.ac-lettergrid span{display:grid;place-items:center;border:1px solid #c5b18d;aspect-ratio:1;font-size:clamp(12px,2vw,24px);font-weight:800}.ac-source-bars{display:grid;gap:14px}.ac-source-bars section{min-width:0}.ac-source-bar{height:25px;min-width:2px;border:2px solid #2b1d14;background:#77bdd3;border-radius:5px;display:flex;margin:5px 0}.ac-source-bar i{flex:1;border-right:1px solid #2b1d14}.ac-source-magnets{display:flex;gap:12px;align-items:center;justify-content:center}.ac-source-magnets>div{display:flex;border:2px solid #2b1d14;border-radius:7px;overflow:hidden}.ac-source-magnets b{font-size:26px;padding:12px;color:white}.pole-N{background:#cf574d}.pole-S{background:#487bc3}.ac-source-soil{display:flex;flex-direction:column;border:3px solid #2b1d14;border-radius:15px;overflow:hidden;max-width:230px;width:100%}.ac-source-soil span{padding:6px 10px;border-bottom:1px solid #2b1d14;text-align:center}.ac-source-scale{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:8px}.ac-source-scale>svg{grid-column:1/-1;max-height:90px}.ac-source-scale>span{align-self:center;font-size:26px}.ac-source-jars{display:flex;gap:12px;justify-content:center}.ac-source-jars figure{margin:0;min-width:0;flex:1;max-width:180px;text-align:center}.ac-source-jars svg{width:100%;height:auto}.ac-source-hanzi{height:160px;width:160px;max-width:100%;display:grid;place-items:center;font-size:100px}.ac-source-hanzi svg{height:100%;width:100%;fill:#2b1d14}.ac-source-tens{display:flex;flex-wrap:wrap;gap:8px}.ac-source-tens span{font-size:60px;color:#bd853a}.ac-source-tens i{width:14px;height:14px;background:#e1ac55;border:1px solid #2b1d14}.ac-source-flag>svg,.ac-source-position>svg,.ac-source-compose>svg{width:100%;max-height:200px}.ac-source-tiles .ac-source-context{width:100%;margin:0!important}
@media(max-width:599px){.ac-scope{grid-template-columns:1fr}.ac-regenerate .ac-scope label{font-size:17px}.ac-simple .ac-job.active{right:12px;bottom:12px;padding:10px 13px;width:calc(100vw - 24px)}.ac-job.active>strong{font-size:16px}.ac-job.active>small{display:none}.ac-source-markup table{font-size:14px}.ac-source-markup td,.ac-source-markup th{padding:4px}.ac-source-markup svg{max-height:220px}.ac-source-markup .md-experiment{grid-template-columns:1fr}.ac-source-markup .md-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-source-markup img,.ac-source-markup .md-picture img{height:78px}.ac-source-hanzi{height:130px;width:130px}}
@media(prefers-reduced-motion:reduce){.ac-job-pulse{animation:none}}
.ac-source-tiles.is-words{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}.ac-source-tiles.is-words .ac-source-cell{font-size:22px;word-break:normal;overflow-wrap:break-word}.ac-source-table:not(.is-column)>div{flex-wrap:wrap;gap:5px}.ac-source-table:not(.is-column) .ac-source-table-cell{flex:1 1 auto;padding:6px 7px}.ac-source-table.is-column>div{display:grid;grid-template-columns:20px repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.ac-source-table.is-column .ac-source-table-cell{padding:4px 3px;min-width:0}.ac-source-sign{margin:0}.ac-source-table-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px}.ac-source-table-cards>section{border:2px solid #b79b75;border-radius:12px;background:#fff9df;padding:8px;min-width:0}.ac-source-table-cards>section>strong{font-size:22px}.ac-source-table-cards small{display:block;font-size:14px;margin:7px 0 3px}.ac-source-table-cards .ac-source-cell{font-size:23px;padding:5px}.ac-source-table-cards .ac-source-cell img{height:60px}.ac-source-markup .md-object-group{width:100%;max-width:100%}.ac-source-magnets{gap:6px;min-width:0}.ac-source-magnets>div{flex:1;min-width:0}.ac-source-magnets b{padding:8px 6px;flex:1;font-size:22px}.ac-source-context>p,.ac-source-context .ac-source-text{min-width:0;overflow-wrap:anywhere}.ac-source-markup .pv0{background:#fff0b3}.ac-source-markup .pv1{background:#cbe8d0}.ac-source-markup .pv2{background:#cbe4f7}.ac-source-markup .pv3{background:#e7d2f4}.ac-source-markup .pv4{background:#f7d3d6}
.ac-source-table.is-column>div{display:flex}.ac-source-table.is-column .ac-source-table-cell{flex:1 1 0}.ac-source-table.is-column .ac-source-sign{flex:0 0 16px}.ac-source-table.has-head>div{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:5px}.ac-source-table.has-head .ac-source-table-cell{min-width:0;padding:6px 5px}
.ac-source-cell>.ac-cell-text{min-width:0;max-width:100%;overflow-wrap:anywhere}.ac-source-banks{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ac-source-banks .ac-source-tiles.is-words{grid-template-columns:minmax(0,1fr)}
.ac-job.active progress:not([value]){appearance:none;border:2px solid #2b1d14;border-radius:10px;background:linear-gradient(90deg,#ebdfb5 20%,#6aaf80 40%,#ebdfb5 60%);background-size:200% 100%;animation:acIndeterminate 1.5s linear infinite}.ac-job.active progress:not([value])::-webkit-progress-bar{background:transparent}.ac-job.active progress:not([value])::-webkit-progress-value{background:transparent}@keyframes acIndeterminate{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.ac-job.active progress:not([value]){animation:none}}
.ac-source-markup .flag-painting .fl-r{stroke:#a99b7b;stroke-width:18}.ac-source-hanzi.is-order{width:100%;height:auto;display:grid;gap:12px;font-size:18px}.ac-stroke-order{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:4px}.ac-stroke-order svg{width:100%;height:50px;border:1px solid #bba67e;border-radius:5px;fill:#2b1d14}

/* Position the editor inside Safari's visible area while its software keyboard is open. */
.ac-form-shade{inset:auto;top:var(--text-viewport-top,0px);left:var(--text-viewport-left,0px);width:var(--text-viewport-width,100vw);height:var(--text-viewport-height,100vh);box-sizing:border-box}
.ac-regenerate{min-height:0;max-height:calc(var(--text-viewport-height,100vh) - 40px);scroll-padding-block:12px}
@media(max-width:599px){.ac-regenerate{max-height:calc(var(--text-viewport-height,100vh) - 24px)}}

/* B20: direct arranging — the card itself can be dragged; quick rename / split / delete */
.ac-shelf-quick{display:flex;gap:5px;margin-left:auto}.ac-shelf-quick .ac-shelf-tool{min-width:44px}
[data-shelf-node]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.ac-drag-armed{outline:4px solid #ffb53d;outline-offset:4px;transform:scale(1.03);transition:transform .12s}
.ac-drag-source{opacity:.18;filter:saturate(.4);transition:opacity .15s}
.ac-group-name{display:block;font-size:22px;line-height:1.35;overflow-wrap:anywhere}
.ac-rename-input{display:block;width:100%;min-height:52px;margin-top:8px;padding:10px 14px;border:3px solid #2b1d14;border-radius:14px;background:#fffdf6;font:600 20px/1.3 "Noto Sans SC",sans-serif;-webkit-user-select:text;user-select:text}
@media(prefers-reduced-motion:reduce){.ac-drag-armed{transform:none;transition:none}}

/* 10-30: the lifted note follows the finger (public/js/ai-shelf-organizer.js) */
.ac-drag-float{position:fixed;left:0;top:0;margin:0;z-index:16000;pointer-events:none;will-change:transform;transform-origin:50% 25%;filter:drop-shadow(0 18px 16px rgba(43,29,20,.32));cursor:grabbing}
.ac-drag-float,.ac-drag-float *{pointer-events:none!important}.ac-drag-float>*{animation:none!important;transition:none!important}.ac-drag-float .ac-shelf-tools{visibility:hidden}
.ac-drag-hint{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis;padding:6px 12px;border:3px solid #2b1d14;border-radius:999px;background:#ffde78;font:700 15px/1.3 "Noto Sans SC",sans-serif;color:#2b1d14;box-shadow:0 4px 0 #2b1d14}
.ac-dragging{cursor:grabbing}
@media(prefers-reduced-motion:reduce){.ac-drop-group{transform:none;transition:none}}

/* arranging: the redraw after a save must not replay the notes' pop-in; the FLIP glide in ai-course-analysis.js moves them */
.ac-shelf-settle .ac-label-node,.ac-shelf-settle .ac-shelf-group,.ac-shelf-settle .ac-group-members>[data-shelf-node]{animation:none!important}
.ac-shelf-saving [data-shelf-node]{cursor:progress}
