/* ========================================================================
   Lóngmò 1.3.7 — 故事 · Histoires
   Roadmap immersive + moteur conversationnel V2, intégré à la base 1.2.17.
   ======================================================================== */
.stories-page{--story-accent:#d92b31;--story-deep:#8e1119;--story-soft:#fff0e8;--stories-roadmap-bg:url('../assets/themes/hsk/home.webp');width:100%!important;max-width:none!important;padding:0!important;min-height:calc(100vh - 98px)}
body.traditional .stories-page{--story-accent:#087fe0;--story-deep:#07579b;--story-soft:#edf8ff;--stories-roadmap-bg:url('../assets/themes/tocfl/home.webp')}
body[data-current-view="stories"] .teacher-buddy{display:none!important}
body[data-current-view="stories"] .module-backdrop{display:none!important}
.stories-loading,.stories-error{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center;border-radius:28px;background:linear-gradient(110deg,rgba(255,255,255,.88),rgba(255,255,255,.62)),var(--stories-roadmap-bg);background-size:cover;background-position:center;box-shadow:var(--theme-shadow)}
.stories-loading{font:900 clamp(30px,4vw,54px)/1.2 Georgia,"Noto Serif SC",serif;color:var(--story-deep)}.stories-loading small{display:block;margin-top:10px;font:700 13px/1.4 system-ui;color:var(--theme-muted)}
.stories-roadmap-shell{position:relative;min-height:calc(100vh - 105px);overflow:hidden;border:1px solid rgba(255,255,255,.52);border-radius:28px;background:linear-gradient(180deg,rgba(255,249,241,.18),rgba(255,249,241,.06)),var(--stories-roadmap-bg);background-size:cover;background-position:center top;box-shadow:0 22px 65px rgba(82,24,10,.15)}
body.traditional .stories-roadmap-shell{box-shadow:0 22px 65px rgba(4,64,119,.16)}
.stories-roadmap-shell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 44%,rgba(255,255,255,.10));z-index:0}
.stories-roadmap-shell>*{position:relative;z-index:1}
.stories-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px 10px}.stories-heading{display:flex;align-items:center;gap:14px}.stories-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--story-accent),var(--story-deep));color:#fff;font-size:27px;box-shadow:0 11px 30px color-mix(in srgb,var(--story-accent) 28%,transparent)}.stories-heading h2{margin:1px 0 2px;font:900 clamp(30px,3.3vw,48px)/1 Georgia,"Noto Serif SC",serif;color:var(--story-deep)}.stories-heading p{margin:0;color:var(--theme-deep);font-weight:700;font-size:12px}
.stories-universe-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:390px}.stories-universe-switch button{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;min-height:68px;padding:9px 13px;border:1px solid rgba(255,255,255,.8);border-radius:17px;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(0,0,0,.08);color:#17345a;cursor:pointer}.stories-universe-switch button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.85);font-size:23px}.stories-universe-switch strong{font-size:17px}.stories-universe-switch small{font-size:10px;color:#63758b}.stories-universe-switch button.active{border:2px solid var(--story-accent);background:color-mix(in srgb,var(--story-soft) 88%,white);box-shadow:0 9px 28px color-mix(in srgb,var(--story-accent) 20%,transparent)}
.stories-level-bar{display:grid;grid-template-columns:minmax(170px,1fr) minmax(420px,2.2fr) minmax(160px,.9fr) auto;gap:12px;align-items:center;margin:4px 22px 14px;padding:11px 14px;border:1px solid rgba(255,255,255,.8);border-radius:19px;background:rgba(250,253,255,.82);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.08)}.stories-level-bar>div:first-child strong,.stories-level-bar>div:first-child span{display:block}.stories-level-bar>div:first-child strong{font-size:15px;color:var(--story-deep)}.stories-level-bar>div:first-child span{margin-top:3px;font-size:9px;color:#64768c}
.stories-level-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.stories-level-tabs button{min-height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.56);color:#5b6d82;font-size:9px;font-weight:850;cursor:pointer}.stories-level-tabs button.active{background:linear-gradient(135deg,var(--story-accent),var(--story-deep));color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--story-accent) 24%,transparent)}
.stories-level-progress>span{display:block;margin-bottom:4px;text-align:right;font-size:10px;color:#47647f}.stories-level-progress>div{height:8px;border-radius:99px;background:rgba(67,93,119,.12);overflow:hidden}.stories-level-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38c36c,var(--story-accent))}.stories-continue{min-height:42px;border:0;border-radius:13px;padding:0 16px;background:linear-gradient(135deg,var(--story-accent),var(--story-deep));color:#fff;font-weight:900;cursor:pointer;white-space:nowrap}
.stories-roadmap-layout{display:grid;grid-template-columns:minmax(540px,1fr) minmax(320px,390px);gap:16px;padding:0 20px 20px}.stories-map-card{min-width:0;border:1px solid rgba(255,255,255,.52);border-radius:24px;background:rgba(255,255,255,.10);backdrop-filter:blur(2px);overflow:hidden}.stories-map-scroll{max-height:calc(100vh - 245px);min-height:650px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--story-accent) rgba(255,255,255,.25)}.stories-map-canvas{position:relative;height:2180px;min-width:520px}.stories-path{position:absolute;inset:0;width:100%;height:2180px;overflow:visible}.stories-path polyline{fill:none;stroke:rgba(255,255,255,.92);stroke-width:1.45;stroke-dasharray:4 3;filter:drop-shadow(0 2px 3px rgba(16,47,80,.22));vector-effect:non-scaling-stroke}
.story-chapter-label{position:absolute;left:4%;top:var(--chapter-y);width:200px;padding:8px 12px;border:1px solid rgba(255,255,255,.76);border-radius:13px;background:rgba(248,253,255,.76);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.story-chapter-label strong,.story-chapter-label span{display:block}.story-chapter-label strong{color:var(--story-deep);font-size:10px}.story-chapter-label span{font:800 12px/1.25 "Noto Serif SC",serif;color:#244260;margin-top:2px}
.story-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);display:grid;place-items:center;min-width:78px;border:0;background:transparent;cursor:pointer;z-index:2}.story-node-circle{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:4px solid rgba(255,255,255,.90);background:linear-gradient(145deg,#fff,var(--story-soft));box-shadow:0 9px 20px rgba(0,0,0,.18);font-size:20px;font-weight:950;color:var(--story-deep);transition:.18s}.story-node:hover .story-node-circle,.story-node.selected .story-node-circle{transform:translateY(-3px) scale(1.07);box-shadow:0 12px 30px color-mix(in srgb,var(--story-accent) 28%,rgba(0,0,0,.16))}.story-node.completed .story-node-circle{background:linear-gradient(145deg,#30c76c,#087d46);color:#fff}.story-node.consolidate .story-node-circle{background:linear-gradient(145deg,#ffd56d,#d88a00);color:#6b3c00}.story-node.locked{cursor:not-allowed;opacity:.60}.story-node.locked .story-node-circle{background:rgba(215,225,232,.88);color:#778799}.story-node-stars{display:block;margin-top:3px;white-space:nowrap;color:#ffc82e;text-shadow:0 1px 2px rgba(0,0,0,.25);font-size:10px;font-weight:900}.story-node.locked .story-node-stars{color:#f1f4f6}.story-node.resume::after{content:"Continuer";position:absolute;left:68px;top:8px;padding:4px 7px;border-radius:999px;background:var(--story-accent);color:#fff;font-size:8px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.15)}.story-checkpoint{position:absolute;left:66px;top:40px;padding:3px 6px;border-radius:999px;background:#fff5c9;color:#805700;font-size:7px;font-weight:900;white-space:nowrap}
.story-mission-card{position:sticky;top:10px;align-self:start;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:24px;background:rgba(250,253,255,.92);backdrop-filter:blur(13px);box-shadow:0 20px 45px rgba(0,0,0,.15)}.story-cover-wrap{position:relative;aspect-ratio:16/9;overflow:hidden}.story-cover-wrap img{width:100%;height:100%;object-fit:cover;display:block}.story-cover-badge{position:absolute;left:10px;bottom:9px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.90);color:var(--story-deep);font-size:9px;font-weight:900}.story-mission-body{padding:15px 16px 17px}.story-mission-level{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--story-soft);color:var(--story-deep);font-size:9px;font-weight:900}.story-mission-body h3{margin:7px 0 0;font:900 25px/1.1 "Noto Serif SC",serif;color:#132d4b}.story-mission-body h4{margin:3px 0 7px;font-size:14px;color:#294f78}.story-mission-body>p{margin:0 0 10px;color:#5e7086;font-size:10px;line-height:1.5}.story-mission-facts{display:grid;gap:6px}.story-mission-facts>div{display:grid;grid-template-columns:26px 1fr;gap:7px;padding:7px 9px;border:1px solid #dce7ef;border-radius:11px;background:rgba(255,255,255,.72)}.story-mission-facts>div>span{display:grid;place-items:center;color:var(--story-accent);font-size:17px}.story-mission-facts p{margin:0;font-size:9px;color:#5a6f86}.story-mission-facts b{display:block;color:#1f466f;font-size:9px}.story-preteach{margin-top:10px;padding:9px 10px;border-radius:12px;background:color-mix(in srgb,var(--story-soft) 72%,white)}.story-preteach>strong{display:block;margin-bottom:5px;font-size:10px;color:#1e456e}.story-preteach button{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;width:100%;border:0;background:transparent;text-align:left;padding:3px;cursor:pointer}.story-preteach button span{font:800 11px/1.3 "Noto Serif SC",serif;color:#183b5e}.story-preteach button small{font-size:8px;color:#718196}.story-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0 8px}.story-mode-grid button{min-height:65px;border:1px solid #dbe4ec;border-radius:12px;background:#fff;color:#38516c;cursor:pointer}.story-mode-grid button span,.story-mode-grid button strong,.story-mode-grid button small{display:block}.story-mode-grid button span{font-size:15px}.story-mode-grid button strong{font-size:9px}.story-mode-grid button small{font-size:7px;margin-top:2px}.story-mode-grid button.active{border:2px solid var(--story-accent);background:var(--story-soft);color:var(--story-deep)}.story-mode-grid button:disabled{opacity:.42;cursor:not-allowed}.story-start-button{width:100%;min-height:44px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--story-accent),var(--story-deep));color:#fff;font-weight:950;cursor:pointer}.story-best{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #dfe7ef;font-size:8px;color:#65778a}.story-best-stars{color:#f1aa00}.story-best em{margin-left:auto;color:#a86a00;font-style:normal;font-weight:900}

/* Lecteur conversationnel */
.stories-player,.stories-result-screen{position:relative;isolation:isolate;min-height:calc(100vh - 112px);overflow:hidden;border-radius:27px;background-image:var(--story-player-bg);background-size:cover;background-position:center;box-shadow:0 22px 64px rgba(0,0,0,.18)}.story-player-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,18,28,.16),rgba(9,18,28,.48));backdrop-filter:saturate(.97)}.stories-player.tocfl .story-player-veil,.stories-result-screen.tocfl .story-player-veil{background:linear-gradient(180deg,rgba(4,50,90,.12),rgba(4,41,78,.46))}.story-player-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(180px,330px) auto;gap:10px;align-items:center;margin:14px;padding:9px 11px;border:1px solid rgba(255,255,255,.45);border-radius:16px;background:rgba(14,26,38,.36);backdrop-filter:blur(12px);color:#fff}.story-player-toolbar>button,.story-player-toggles button{min-height:38px;border:1px solid rgba(255,255,255,.45);border-radius:10px;padding:0 11px;background:rgba(0,0,0,.22);color:#fff;cursor:pointer;font-weight:800}.story-player-title span,.story-player-title strong{display:block}.story-player-title span{font-size:8px;opacity:.78}.story-player-title strong{font-size:11px;margin-top:2px}.story-player-progress{display:flex;align-items:center;gap:7px}.story-player-progress>div{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden}.story-player-progress i{display:block;height:100%;background:linear-gradient(90deg,#ffd767,#fff);border-radius:inherit}.story-player-progress span{font-size:9px;font-weight:900}.story-player-toggles{display:flex;gap:5px}.story-player-toggles button.active{background:#fff;color:#153c64}.story-player-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:14px;padding:0 14px 12px;height:calc(100vh - 235px);min-height:560px}.story-chat{overflow-y:auto;padding:8px 12px 24px;scroll-behavior:smooth}.story-chat-line{display:flex;align-items:flex-end;gap:8px;margin:11px 0}.story-chat-line.user{justify-content:flex-end}.story-chat-line>img{width:66px;height:66px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.86);box-shadow:0 8px 22px rgba(0,0,0,.20)}.story-chat-line>div{position:relative;max-width:76%;padding:11px 14px;border:1px solid rgba(255,255,255,.86);border-radius:19px 19px 19px 5px;background:rgba(255,255,255,.91);box-shadow:0 10px 26px rgba(0,0,0,.13);backdrop-filter:blur(8px)}.story-chat-line.current>div{box-shadow:0 13px 34px rgba(0,0,0,.20),0 0 0 2px color-mix(in srgb,var(--story-accent) 48%,transparent)}.story-chat-line.user>div{border-radius:19px 19px 5px 19px;background:linear-gradient(135deg,color-mix(in srgb,var(--story-accent) 90%,#fff),var(--story-deep));color:#fff;border-color:rgba(255,255,255,.48)}.story-chat-line b,.story-chat-line strong,.story-chat-line span,.story-chat-line small{display:block}.story-chat-line b{font-size:8px;color:#6d7d8d;margin-bottom:3px}.story-chat-line.user b{color:rgba(255,255,255,.72)}.story-chat-line strong{font:850 clamp(17px,1.5vw,23px)/1.45 "Noto Serif SC",serif}.story-chat-line span{margin-top:4px;color:#755b38;font-size:10px}.story-chat-line.user span{color:#ffeab8}.story-chat-line small{margin-top:3px;color:#6c7784;font-size:9px}.story-chat-line.user small{color:rgba(255,255,255,.80)}.story-line-audio{position:absolute;right:8px;top:7px;border:0;background:transparent;cursor:pointer;font-size:12px}
.story-task-card{align-self:end;max-height:100%;overflow:auto;padding:16px;border:1px solid rgba(255,255,255,.82);border-radius:21px;background:rgba(250,253,255,.94);box-shadow:0 18px 44px rgba(0,0,0,.18);backdrop-filter:blur(13px)}.story-task-type{display:inline-block;margin-bottom:6px;padding:4px 7px;border-radius:999px;background:var(--story-soft);color:var(--story-deep);font-size:8px;font-weight:900}.story-task-card h3{margin:0 0 5px;color:#163d65;font-size:15px}.story-intent{margin:0 0 12px;color:#708095;font-size:9px}.story-choice-list{display:grid;gap:7px}.story-choice{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;min-height:52px;padding:7px 9px;border:1px solid #d8e1e9;border-radius:12px;background:#fff;text-align:left;color:#163b61;cursor:pointer}.story-choice>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--story-soft);color:var(--story-deep);font-weight:900}.story-choice strong,.story-choice small{display:block}.story-choice strong{font:800 12px/1.35 "Noto Serif SC",serif}.story-choice small{margin-top:2px;color:#718093;font-size:8px}.story-choice:hover{border-color:var(--story-accent);transform:translateY(-1px)}.story-choice.wrong{border-color:#d85b63;background:#fff0f1}.story-choice:disabled{cursor:default;opacity:.65}.story-cloze-sentence{margin-bottom:9px;padding:14px;border-radius:12px;background:var(--story-soft);font:900 22px/1.5 "Noto Serif SC",serif;text-align:center;color:#183b5e}.story-word-workbox{min-height:58px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px;border:2px dashed #c8d5df;border-radius:12px;background:#f8fbfd}.story-word-workbox>span{color:#8290a0;font-size:9px}.story-word-workbox button,.story-word-tiles button{min-height:38px;border:1px solid #d7e1e9;border-radius:10px;padding:7px 10px;background:#fff;color:#174269;font:800 12px/1.2 "Noto Serif SC",serif;cursor:pointer}.story-word-tiles{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.story-word-actions{display:flex;gap:7px;margin-top:10px}.story-open-response textarea,.story-final-recall textarea{width:100%;resize:vertical;border:1px solid #cedbe5;border-radius:12px;padding:11px;background:rgba(255,255,255,.94);color:#163b61;font:750 14px/1.5 "Noto Serif SC",serif}.story-open-response .primary-cta{width:100%;margin-top:8px}.story-open-response>p{margin:6px 1px 0;color:#8793a0;font-size:7.5px}.story-task-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #dde6ed}.story-task-tools button{min-height:36px;border:1px solid #d5e0e8;border-radius:10px;background:#fff;color:#34526e;font-size:9px;font-weight:800;cursor:pointer}.story-feedback{display:none;margin-top:9px;padding:9px;border-radius:12px;font-size:9px;line-height:1.45}.story-feedback.show{display:block}.story-feedback.ok{background:#e7f8ef;color:#17633c}.story-feedback.warn{background:#fff0ed;color:#8a3330}.story-feedback.hint{background:#fff7dc;color:#755600}.story-repair{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center}.story-repair img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#fff}.story-repair strong,.story-repair span{display:block}.story-repair strong{font:800 12px/1.35 "Noto Serif SC",serif}.story-repair span{margin-top:3px;font-size:8px}.story-player-footer{display:flex;justify-content:space-between;gap:12px;margin:0 14px 12px;color:rgba(255,255,255,.84);font-size:8px}

/* Découverte */
.story-discover-card{position:relative;width:min(930px,calc(100% - 30px));max-height:calc(100vh - 180px);overflow:auto;margin:12px auto 18px;padding:22px;border:1px solid rgba(255,255,255,.76);border-radius:22px;background:rgba(250,253,255,.92);box-shadow:0 18px 48px rgba(0,0,0,.18)}.story-discover-card h2{margin:0;color:var(--story-deep);font:900 28px/1.15 Georgia,"Noto Serif SC",serif}.story-discover-card>p{color:#6c7c8d;font-size:10px}.story-discover-transcript{margin-top:15px}.story-discover-pair{padding:9px 0;border-bottom:1px solid #e1e8ee}.story-discover-actions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:-22px;margin:15px -22px -22px;padding:12px 22px;background:rgba(250,253,255,.96)}

/* Rappel final + résultats */
.story-final-recall,.story-result-card{position:relative;width:min(720px,calc(100% - 30px));margin:8vh auto 30px;padding:30px;border:1px solid rgba(255,255,255,.82);border-radius:25px;background:rgba(250,253,255,.94);box-shadow:0 22px 60px rgba(0,0,0,.22);text-align:center}.story-result-seal{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 9px;border-radius:50%;background:linear-gradient(145deg,var(--story-accent),var(--story-deep));color:#fff;font:900 26px/1 "Noto Serif SC",serif}.story-final-recall h2,.story-result-card h2{margin:0;color:var(--story-deep);font:900 30px/1.2 Georgia,"Noto Serif SC",serif}.story-final-recall>p{color:#6b7c8d;font-size:11px}.story-recall-intent{display:inline-block;margin:8px 0 12px;padding:7px 12px;border-radius:999px;background:var(--story-soft);color:#36506c;font-size:10px}.story-recall-actions{display:flex;justify-content:center;gap:8px;margin-top:9px}.story-recall-model{margin:15px 0;padding:16px;border-radius:15px;background:var(--story-soft)}.story-recall-model strong,.story-recall-model span,.story-recall-model small{display:block}.story-recall-model strong{font:900 25px/1.4 "Noto Serif SC",serif;color:#174269}.story-recall-model span{color:#7b6041;font-size:11px}.story-recall-model small{margin-top:4px;color:#65778a}.story-recall-feedback{font-weight:850;color:#23724b}
.stories-result-screen{display:grid;place-items:center}.story-result-card{margin:24px auto;max-height:calc(100vh - 150px);overflow:auto}.story-result-card h3{margin:4px 0 12px;color:#45617d;font-size:15px}.story-result-score{display:flex;justify-content:center;align-items:center;gap:20px;margin:7px 0}.story-result-score strong{font-size:44px;color:var(--story-deep)}.story-result-score span{font-size:24px;color:#f0a900}.story-success,.story-consolidate{display:inline-block;margin:3px 0 10px;padding:6px 10px;border-radius:999px;font-size:9px;font-weight:900}.story-success{background:#e5f8ed;color:#236847}.story-consolidate{background:#fff0cd;color:#8a5f00}.story-result-card>p:not(.story-success):not(.story-consolidate){color:#68798b;font-size:10px;line-height:1.5}.story-result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0}.story-result-metrics div{padding:10px;border-radius:12px;background:var(--story-soft)}.story-result-metrics b,.story-result-metrics span{display:block}.story-result-metrics b{font-size:19px;color:var(--story-deep)}.story-result-metrics span{font-size:7px;color:#6b7c8d}.story-result-card h4{margin:13px 0 7px;color:#2c4b6a}.story-result-phrases{display:grid;gap:6px}.story-result-phrases button{border:1px solid #dce4ea;border-radius:11px;padding:8px;background:#fff;text-align:left;cursor:pointer}.story-result-phrases strong,.story-result-phrases small{display:block}.story-result-phrases strong{font:800 13px/1.35 "Noto Serif SC",serif;color:#174269}.story-result-phrases small{margin-top:2px;color:#738294;font-size:8px}.story-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:14px}

@media(min-width:1600px){.stories-roadmap-layout{grid-template-columns:minmax(680px,1.3fr) 420px}.stories-map-scroll{max-height:calc(100vh - 250px)}.story-mission-card{max-width:420px}.story-player-layout{grid-template-columns:minmax(0,1.7fr) 390px}.story-chat-line>div{max-width:72%}}
@media(max-width:1180px){.stories-header{align-items:flex-start}.stories-universe-switch{min-width:320px}.stories-level-bar{grid-template-columns:1fr 1.5fr}.stories-level-progress,.stories-continue{grid-row:2}.stories-roadmap-layout{grid-template-columns:minmax(480px,1fr) 330px;padding:0 12px 14px}.story-chapter-label{width:165px}.story-player-layout{grid-template-columns:minmax(0,1.35fr) 320px}.story-player-toolbar{grid-template-columns:auto 1fr auto}.story-player-progress{grid-column:2/3;grid-row:2}.story-player-toggles{grid-column:3;grid-row:1/3}}
@media(max-width:900px){.stories-header{display:block}.stories-universe-switch{margin-top:10px;min-width:0}.stories-level-bar{grid-template-columns:1fr}.stories-level-progress,.stories-continue{grid-row:auto}.stories-level-tabs{overflow-x:auto;grid-template-columns:repeat(6,minmax(74px,1fr))}.stories-roadmap-layout{grid-template-columns:1fr}.stories-map-scroll{max-height:620px}.story-mission-card{position:relative;top:auto}.story-player-toolbar{grid-template-columns:auto 1fr}.story-player-toggles{grid-column:1/-1;grid-row:2}.story-player-progress{grid-column:1/-1;grid-row:3}.story-player-layout{grid-template-columns:1fr;height:auto;min-height:0}.story-chat{height:48vh;min-height:330px}.story-task-card{max-height:none}.story-player-footer{display:none}.story-discover-card{max-height:none}.story-result-card{max-height:none}}
@media(max-width:780px){.stories-page{min-height:auto}.stories-roadmap-shell,.stories-player,.stories-result-screen{border-radius:18px;min-height:calc(100vh - 126px)}.stories-header{padding:14px 13px 8px}.stories-heading h2{font-size:29px}.stories-icon{width:48px;height:48px}.stories-universe-switch{grid-template-columns:1fr 1fr}.stories-universe-switch button{min-height:58px;grid-template-columns:34px 1fr;padding:7px}.stories-universe-switch button>span{width:32px;height:32px;font-size:18px}.stories-level-bar{margin:4px 10px 10px}.stories-roadmap-layout{padding:0 8px 10px}.stories-map-card{border-radius:18px}.stories-map-canvas{min-width:430px}.story-chapter-label{left:2%;width:142px}.story-player-toolbar{margin:8px}.story-player-layout{padding:0 8px 9px}.story-chat-line>img{width:52px;height:52px}.story-chat-line>div{max-width:82%}.story-task-card{padding:13px}.story-result-metrics{grid-template-columns:1fr 1fr}.story-result-actions{display:grid;grid-template-columns:1fr 1fr}.story-final-recall,.story-result-card{padding:22px 16px}.story-mode-grid{grid-template-columns:1fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){.story-node-circle,.story-choice,.stories-roadmap-shell,.story-chat{transition:none!important;scroll-behavior:auto!important}.story-node:hover .story-node-circle{transform:none!important}}

/* 1.3.1 — images exactes, glossaire tactile et écoute des répliques apprenant */
.story-gloss-word{display:inline!important;width:auto!important;min-width:0!important;margin:0!important;padding:0 1px!important;border:0!important;border-bottom:1px dotted currentColor!important;border-radius:0!important;background:transparent!important;color:inherit!important;font:inherit!important;line-height:inherit!important;text-align:inherit!important;cursor:help!important;vertical-align:baseline!important;box-shadow:none!important;transform:none!important}.story-gloss-word:hover,.story-gloss-word:focus-visible{background:color-mix(in srgb,var(--story-soft) 74%,transparent)!important;outline:2px solid color-mix(in srgb,var(--story-accent) 35%,transparent);outline-offset:2px}.story-chat-line.user .story-gloss-word{color:#fff!important}.story-gloss-popup{position:fixed;z-index:10060;width:min(230px,calc(100vw - 24px));padding:10px 12px;border:1px solid rgba(255,255,255,.9);border-radius:13px;background:rgba(20,42,63,.96);box-shadow:0 16px 42px rgba(0,0,0,.28);color:#fff;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}.story-gloss-popup.show{opacity:1;transform:translateY(0)}.story-gloss-popup strong,.story-gloss-popup span,.story-gloss-popup small{display:block}.story-gloss-popup strong{font:900 21px/1.25 "Noto Serif SC",serif}.story-gloss-popup span{margin-top:2px;color:#ffe4a3;font-size:10px}.story-gloss-popup small{margin-top:5px;color:#eef6ff;font-size:10px;line-height:1.35}
.story-scene-gallery{padding:10px 12px;border-top:1px solid rgba(216,227,237,.78);border-bottom:1px solid rgba(216,227,237,.78);background:rgba(244,249,253,.84)}.story-scene-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:#526b84;font-size:8px}.story-scene-gallery-head strong{color:#234d74;font-size:9px}.story-scene-strip{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.story-scene-strip>button{flex:0 0 112px;aspect-ratio:16/10;overflow:hidden;padding:0;border:1px solid #d7e3ec;border-radius:10px;background:#fff;cursor:zoom-in;box-shadow:0 4px 12px rgba(0,0,0,.08)}.story-scene-strip img{display:block;width:100%;height:100%;object-fit:cover}.story-discover-card>.story-scene-gallery{margin:12px 0;border:1px solid #dce6ee;border-radius:14px}.story-discover-card .story-scene-strip>button{flex-basis:158px}
.story-turn-visual{width:min(310px,72%);margin:9px auto 13px;text-align:center}.story-turn-visual button{display:block;width:100%;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(0,0,0,.18);cursor:zoom-in}.story-turn-visual img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.story-turn-visual figcaption{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:rgba(11,31,49,.54);color:#fff;font-size:7px;backdrop-filter:blur(5px)}
.story-image-preview{position:fixed;inset:0;z-index:10070;display:none;place-items:center;padding:28px;background:rgba(4,13,22,.88);backdrop-filter:blur(8px)}.story-image-preview.show{display:grid}.story-image-preview img{display:block;max-width:min(1100px,94vw);max-height:88vh;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.46);object-fit:contain}.story-image-preview-close{position:fixed;right:18px;top:16px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.38);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.story-preteach-help{display:block;margin:-1px 0 6px;color:#718196;font-size:7.5px;line-height:1.35}.story-preteach-line{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:6px;align-items:center;padding:3px 0;border-top:1px solid color-mix(in srgb,var(--story-accent) 10%,transparent)}.story-preteach-line:first-of-type{border-top:0}.story-preteach-line>span{font:800 11px/1.45 "Noto Serif SC",serif;color:#183b5e}.story-preteach-line>button{display:grid!important;place-items:center!important;width:28px!important;height:28px!important;padding:0!important;border:1px solid color-mix(in srgb,var(--story-accent) 18%,#d7e2ea)!important;border-radius:8px!important;background:#fff!important;text-align:center!important;color:var(--story-deep)!important;cursor:pointer!important}
.story-chat-line.user .story-line-audio{color:#fff}.story-choice-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;align-items:stretch}.story-choice-row>.story-choice{width:100%}.story-choice-audio{display:grid;place-items:center;border:1px solid #d8e1e9;border-radius:11px;background:#fff;color:var(--story-deep);cursor:pointer}.story-choice-audio:hover{border-color:var(--story-accent);background:var(--story-soft)}.story-recall-model{position:relative}.story-recall-model .story-line-audio{color:var(--story-deep)}
.story-result-gloss-help{margin:0 0 8px!important;color:#718093!important;font-size:8px!important}.story-result-phrase{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;align-items:center;border:1px solid #dce4ea;border-radius:11px;padding:8px;background:#fff;text-align:left}.story-result-phrase strong{font:800 13px/1.4 "Noto Serif SC",serif;color:#174269}.story-result-phrase>button{display:grid;place-items:center;width:34px;height:34px;padding:0!important;text-align:center;border:1px solid #dce4ea;border-radius:9px;background:var(--story-soft);color:var(--story-deep);cursor:pointer}
@media(max-width:780px){.story-scene-strip>button{flex-basis:96px}.story-discover-card .story-scene-strip>button{flex-basis:132px}.story-turn-visual{width:min(270px,82%)}.story-image-preview{padding:16px}.story-image-preview img{max-width:96vw;max-height:84vh}.story-gloss-popup{width:min(220px,calc(100vw - 20px))}}
/* Les 70 panneaux exacts sont verticaux : ne jamais les recadrer comme des images 16:9. */
.story-scene-strip>button{flex-basis:94px;height:148px;aspect-ratio:auto;background:#f8fbfd}.story-scene-strip img{object-fit:contain;background:#f8fbfd}.story-discover-card .story-scene-strip>button{flex-basis:112px;height:182px}.story-turn-visual{width:min(235px,55%)}.story-turn-visual img{width:100%;height:auto;max-height:365px;aspect-ratio:auto;object-fit:contain;background:rgba(247,250,252,.94)}
@media(max-width:780px){.story-scene-strip>button{flex-basis:84px;height:136px}.story-discover-card .story-scene-strip>button{flex-basis:100px;height:162px}.story-turn-visual{width:min(205px,68%)}}

/* 1.3.2 — fiabilisation Windows des visuels + glossaire tactile renforcé */
.story-gloss-word{touch-action:manipulation;-webkit-tap-highlight-color:rgba(217,43,49,.18);text-decoration-thickness:1px;text-underline-offset:3px;user-select:text}.story-gloss-word:active{background:color-mix(in srgb,var(--story-soft) 88%,transparent)!important}.story-gloss-popup{width:min(250px,calc(100vw - 24px));padding:12px 14px}.story-gloss-popup .story-gloss-pinyin{font-size:12px}.story-gloss-popup small{display:grid!important;grid-template-columns:62px 1fr;gap:7px;align-items:start;margin-top:7px!important}.story-gloss-popup small b{color:#ffe4a3;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.story-choice .story-gloss-word{position:relative;z-index:2}.story-cover-wrap img[data-story-image-recovered="true"]{object-fit:cover;filter:saturate(.9)}.story-image-missing{display:none!important}
@media(max-width:780px){.story-gloss-word{padding:1px 2px!important}.story-gloss-popup{width:min(244px,calc(100vw - 18px));padding:12px}}

/* 1.3.3 — popup glossaire porté au niveau du body pour éviter tout clipping */
body>.story-gloss-popup{position:fixed!important;z-index:2147483000!important;max-height:min(260px,60vh);overflow:auto;pointer-events:none!important}
.story-gloss-popup em{display:block;margin-top:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.18);color:#b9d7ef;font-size:8px;font-style:normal}
.story-gloss-word{cursor:pointer!important}

/* ========================================================================
   Lóngmò 1.3.5 — zone de réponse conversationnelle agrandie
   ------------------------------------------------------------------------
   Desktop : le dialogue occupe toute la largeur au-dessus et le panneau de
   réponse devient un "composer" horizontal pleine largeur. Les consignes et
   aides restent à gauche ; les réponses, plus grandes, occupent la zone
   principale à droite. Le Challenge conserve exactement la même ergonomie,
   sans réactiver le glossaire.
   ======================================================================== */
.story-player-layout{
  grid-template-columns:1fr;
  grid-template-rows:minmax(290px,1fr) auto;
  gap:12px;
  height:calc(100vh - 205px);
  min-height:590px;
}
.story-chat{
  min-height:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  background:rgba(7,18,29,.10);
  backdrop-filter:blur(1.5px);
}
.story-task-card{
  align-self:stretch;
  max-height:min(40vh,365px);
  display:grid;
  grid-template-columns:minmax(205px,.52fr) minmax(0,1.48fr);
  grid-template-areas:
    "type response"
    "title response"
    "intent response"
    "tools response"
    "feedback feedback";
  column-gap:20px;
  row-gap:7px;
  padding:18px 20px;
  overflow:auto;
}
.story-task-type{grid-area:type;justify-self:start;margin:0;font-size:9px}
.story-task-card>h3{grid-area:title;margin:0;color:#163d65;font-size:18px;line-height:1.25}
.story-intent{grid-area:intent;margin:0;color:#65788d;font-size:10.5px;line-height:1.45}
.story-task-card>.story-choice-list,
.story-task-card>.story-cloze,
.story-task-card>.story-word-order,
.story-task-card>.story-open-response{grid-area:response;align-self:center;min-width:0}
.story-task-tools{grid-area:tools;align-self:end;margin-top:3px;padding-top:9px}
.story-feedback{grid-area:feedback;margin-top:4px}

.story-choice-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.story-choice-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.story-choice-row{
  grid-template-columns:minmax(0,1fr) 48px;
  gap:8px;
}
.story-choice{
  grid-template-columns:36px minmax(0,1fr);
  gap:12px;
  min-height:74px;
  padding:12px 14px;
  border-radius:15px;
}
.story-choice>span{
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:14px;
}
.story-choice strong{
  font:850 clamp(16px,1.25vw,20px)/1.45 "Noto Serif SC",serif;
}
.story-choice small{font-size:10px}
.story-choice-audio{
  min-width:48px;
  min-height:74px;
  border-radius:14px;
  font-size:18px;
}
.story-cloze-sentence{
  margin-bottom:11px;
  padding:16px 18px;
  border-radius:14px;
  font-size:clamp(21px,1.7vw,27px);
}
.story-word-workbox{min-height:70px;padding:11px;gap:8px}
.story-word-workbox button,.story-word-tiles button{
  min-height:46px;
  padding:9px 13px;
  border-radius:12px;
  font-size:15px;
}
.story-word-tiles{gap:8px;margin-top:10px}
.story-open-response textarea{
  min-height:112px;
  padding:14px 15px;
  border-radius:14px;
  font-size:17px;
}
.story-open-response .primary-cta{min-height:46px;font-size:12px}
.story-task-tools button{min-height:39px;padding:0 11px;font-size:10px}

@media(max-width:1180px){
  .story-player-layout{grid-template-columns:1fr;grid-template-rows:minmax(300px,1fr) auto}
  .story-task-card{grid-template-columns:minmax(175px,.48fr) minmax(0,1.52fr);column-gap:15px;padding:16px 17px}
  .story-choice strong{font-size:16px}
}
@media(max-width:900px){
  .story-player-layout{height:auto;min-height:0;grid-template-rows:auto auto}
  .story-chat{height:46vh;min-height:330px}
  .story-task-card{
    max-height:none;
    grid-template-columns:1fr;
    grid-template-areas:"type" "title" "intent" "response" "tools" "feedback";
    padding:16px;
  }
}
@media(max-width:620px){
  .story-choice-list,.story-choice-list.compact{grid-template-columns:1fr}
  .story-choice{min-height:66px}
  .story-choice-audio{min-height:66px}
  .story-task-card>h3{font-size:16px}
}

/* ========================================================================
   Lóngmò 1.3.7 — avatars émotionnels dans les conversations Histoires
   Les portraits fournis sont horizontaux : on les affiche comme de petites
   vignettes de personnage plutôt que de les écraser dans un cercle.
   ======================================================================== */
.story-chat-line>img.story-emotion-avatar{
  width:92px;
  height:64px;
  flex:0 0 92px;
  border:2px solid rgba(255,255,255,.88);
  border-radius:18px;
  object-fit:cover;
  object-position:center 46%;
  background:rgba(255,255,255,.9);
  box-shadow:0 9px 24px rgba(0,0,0,.22);
}
.story-chat-line.current>img.story-emotion-avatar{
  box-shadow:0 10px 28px rgba(0,0,0,.25),0 0 0 2px color-mix(in srgb,var(--story-accent) 52%,transparent);
}
.story-repair img.story-emotion-avatar{
  width:76px;
  height:52px;
  border-radius:14px;
  object-fit:cover;
  object-position:center 46%;
  background:#fff;
}
.story-repair{grid-template-columns:76px 1fr}
@media(max-width:780px){
  .story-chat-line>img.story-emotion-avatar{width:74px;height:54px;flex-basis:74px;border-radius:15px}
  .story-repair{grid-template-columns:64px 1fr}
  .story-repair img.story-emotion-avatar{width:64px;height:46px;border-radius:12px}
}

/* ========================================================================
   Lóngmò 1.5.7 — Histoires · mode Parler intégré
   ======================================================================== */
.story-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.story-mode-grid button[data-story-mode="speaking"]{position:relative;overflow:hidden}
.story-mode-grid button[data-story-mode="speaking"]::after{content:"NOUVEAU";position:absolute;right:5px;top:5px;padding:2px 5px;border-radius:999px;background:#e32b2b;color:#fff;font-size:5.5px;font-weight:950;letter-spacing:.04em}
.story-oral-levels{margin:8px 0 10px;padding:10px;border:1px solid color-mix(in srgb,var(--story-accent) 24%,#dbe4ec);border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--story-soft) 78%,white),rgba(255,255,255,.92));box-shadow:inset 0 1px rgba(255,255,255,.72)}
.story-oral-levels-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.story-oral-levels-head strong{font-size:10px;color:var(--story-deep)}.story-oral-levels-head span{font-size:7px;color:#6f8092}
.story-oral-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.story-oral-level-grid button{min-height:58px;padding:6px;border:1px solid #dbe4ec;border-radius:10px;background:rgba(255,255,255,.94);color:#38516c;cursor:pointer}.story-oral-level-grid button span,.story-oral-level-grid button strong,.story-oral-level-grid button small{display:block}.story-oral-level-grid button span{font:900 15px/1 "Noto Serif SC",serif;color:var(--story-deep)}.story-oral-level-grid button strong{margin-top:4px;font-size:8px}.story-oral-level-grid button small{margin-top:2px;font-size:6.5px;color:#718196}.story-oral-level-grid button.active{border:2px solid var(--story-accent);background:#fff;box-shadow:0 5px 15px color-mix(in srgb,var(--story-accent) 18%,transparent)}
.story-oral-expert-note{margin:7px 0 0!important;padding:6px 8px;border-radius:9px;background:rgba(24,42,61,.06);color:#718196!important;font-size:6.8px!important;line-height:1.4!important}.story-oral-expert-note b{color:var(--story-deep)}

.story-speaking-player .story-player-veil{background:linear-gradient(180deg,rgba(7,20,31,.34),rgba(7,20,31,.50))}
.story-speaking-layout{grid-template-rows:minmax(300px,1fr) auto}
.story-speaking-task{grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr);grid-template-areas:"type response" "title response" "intent response" "tools response" "feedback feedback";background:rgba(250,253,255,.94);backdrop-filter:blur(15px)}
.story-oral-response-zone{grid-area:response;align-self:center;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.62fr);grid-template-areas:"model mic" "timer timer";gap:9px 14px;align-items:center}
.story-oral-model,.story-oral-free{grid-area:model;display:grid;align-content:center;min-height:105px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--story-accent) 20%,#dbe4ec);border-radius:15px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--story-soft) 48%,white));box-shadow:0 8px 22px rgba(18,50,77,.08)}
.story-oral-model strong{font:900 clamp(24px,2.5vw,38px)/1.2 "Noto Serif SC",serif;color:var(--story-deep)}.story-oral-model span{margin-top:7px;color:#627589;font-size:11px;font-weight:750}.story-oral-free strong{font:900 20px/1.2 "Noto Serif SC",serif;color:var(--story-deep)}.story-oral-free span{margin-top:7px;color:#697d91;font-size:9px;line-height:1.45}
.story-oral-mic{grid-area:mic;display:grid;place-items:center;align-content:center;gap:6px;min-height:105px;padding:10px 14px;border:0;border-radius:16px;background:linear-gradient(145deg,var(--story-accent),var(--story-deep));color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--story-accent) 28%,transparent);cursor:pointer}.story-oral-mic>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.18);font-size:24px}.story-oral-mic>b{font-size:8px;line-height:1.3}.story-oral-mic.recording{animation:storyOralPulse 1.1s ease-in-out infinite;background:linear-gradient(145deg,#f13831,#a91318)}.story-oral-mic:disabled{opacity:.65;cursor:wait}
@keyframes storyOralPulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--story-accent) 12%,transparent),0 10px 25px color-mix(in srgb,var(--story-accent) 28%,transparent)}}
.story-oral-timer{grid-area:timer;height:6px;border-radius:99px;background:#e5ebf0;overflow:hidden}.story-oral-timer i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#37c972,var(--story-accent));transition:width .1s linear}
.story-speaking-task .story-task-tools button{white-space:normal}
.story-oral-result{display:grid;gap:7px}.story-oral-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.story-oral-result-head span{font-size:9px;font-weight:900;color:var(--story-deep)}.story-oral-result-head strong{font:950 19px/1 system-ui;color:var(--story-accent)}.story-oral-transcript{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #dce5ec}.story-oral-transcript small,.story-oral-transcript b{display:block}.story-oral-transcript small{font-size:6px;text-transform:uppercase;letter-spacing:.07em;color:#7a8a9a}.story-oral-transcript b{margin-top:3px;font:850 13px/1.35 "Noto Serif SC",serif;color:#183d61}.story-oral-result>p{margin:0;color:#617487;font-size:8px}.story-oral-result-actions{display:flex;justify-content:flex-end;gap:7px}.story-oral-result-actions button{min-height:34px;padding:0 12px}
.story-speaking-finish{position:relative;z-index:2;width:min(580px,calc(100% - 40px));margin:12vh auto 0;padding:30px;border:1px solid rgba(255,255,255,.82);border-radius:24px;background:rgba(250,253,255,.94);backdrop-filter:blur(16px);text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.30)}.story-speaking-finish h2{margin:8px 0 2px;font:900 34px/1.15 "Noto Serif SC",serif;color:var(--story-deep)}.story-speaking-finish h3{margin:0 0 12px;color:#355a7e}.story-speaking-finish p{color:#5d7185;font-size:10px}.story-speaking-finish .story-result-actions{margin-top:16px}

@media(max-width:780px){
  .story-mode-grid{grid-template-columns:1fr 1fr}
  .story-oral-level-grid{grid-template-columns:1fr}
  .story-speaking-task{grid-template-columns:1fr;grid-template-areas:"type" "title" "intent" "response" "tools" "feedback"}
  .story-oral-response-zone{grid-template-columns:1fr;grid-template-areas:"model" "mic" "timer"}
  .story-oral-mic{min-height:88px}
}

/* 1.5.78 — mots de situation explicitement signalés, à la manière du manuel HSK */
.story-supplementary{margin-top:8px;padding:8px 10px;border:1px solid rgba(180,83,9,.18);border-radius:12px;background:rgba(255,247,237,.94)}
.story-supplementary>strong{display:block;color:#9a3412;font-size:9.5px;font-weight:950}.story-supplementary>small{display:block;margin:2px 0 6px;color:#7c5a49;font-size:7.5px;line-height:1.35}
.story-supplementary-word{display:grid;grid-template-columns:auto auto 1fr;gap:4px 7px;align-items:center;padding:4px 0;border-top:1px solid rgba(180,83,9,.12)}
.story-supplementary-word:first-of-type{border-top:0}.story-supplementary-word span{font:900 14px/1.2 "Noto Serif SC",serif;color:#7c2d12}.story-supplementary-word em{padding:2px 5px;border-radius:999px;background:#fed7aa;color:#9a3412;font-size:7px;font-style:normal;font-weight:900}.story-supplementary-word b{font-size:8px;color:#7c5a49}.story-supplementary-word i{grid-column:1/-1;font-size:8px;color:#6b7280;font-style:normal}
