:root{
  --ink:#3f3650;
  --muted:#756c7e;
  --ivory:#fffaf2;
  --violet:#6f58a7;
  --coral:#df7774;
  --gold:#d8a13d;
  --teal:#4c8f8a;
  --rose:#d998af;
  --line:rgba(75,61,92,.16);
  --paper:rgba(255,255,255,.84);
  --shadow:0 22px 60px rgba(79,62,103,.12);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--ivory);scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);font:17px/1.62 var(--sans);background:
  radial-gradient(circle at 5% 8%,rgba(217,152,175,.20),transparent 28rem),
  radial-gradient(circle at 94% 12%,rgba(111,88,167,.13),transparent 30rem),
  radial-gradient(circle at 80% 88%,rgba(76,143,138,.13),transparent 29rem),
  var(--ivory)}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(216,161,61,.55);outline-offset:3px}
h1,h2,h3,p,blockquote{overflow-wrap:anywhere}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0}
h1{font-size:clamp(2.7rem,7vw,6rem);letter-spacing:-.045em}
h2{font-size:clamp(1.75rem,4vw,3.1rem);letter-spacing:-.025em}
h3{font-size:clamp(1.3rem,2vw,1.65rem)}

.watercolour{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.08;background:url("assets/aquarelle.png") center/cover;mix-blend-mode:multiply}
.watercolour::after{content:"";position:absolute;right:5vw;top:12vh;width:10rem;height:10rem;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:-2.4rem 1rem 0 rgba(111,88,167,.08),0 0 5rem rgba(216,161,61,.2)}

.topbar{position:sticky;top:0;z-index:30;min-height:76px;padding:.75rem clamp(1rem,4vw,3.5rem);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;background:rgba(255,250,242,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem;border:0;background:none;text-align:left;padding:.2rem}
.brand-flower{width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,rgba(223,119,116,.18),rgba(111,88,167,.16));color:var(--coral);font-size:1.35rem}
.brand small,.brand strong{display:block}.brand small{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.brand strong{font:600 1.05rem/1.2 var(--serif)}
.top-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.progress-label{padding:.45rem .75rem;border-radius:999px;background:rgba(111,88,167,.10);color:var(--violet);font-size:.86rem;font-weight:800}
.text-button,.quiet-button{border:0;background:none;color:var(--violet);font-weight:800;padding:.55rem .65rem}
.text-button:hover,.quiet-button:hover{text-decoration:underline;text-underline-offset:4px}
.submit-book-button{display:inline-flex;align-items:center;gap:.45rem;border:0;border-radius:999px;padding:.68rem 1rem;background:linear-gradient(120deg,var(--violet),#8d6ebd);color:white;font-weight:850;box-shadow:0 8px 24px rgba(111,88,167,.2)}
.submit-book-button:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(111,88,167,.27)}.submit-book-button span{color:#ffe4a3}

#app{width:min(1160px,100%);min-height:calc(100vh - 145px);margin:0 auto;padding:clamp(1rem,3vw,3rem)}
.footer{padding:1.15rem clamp(1rem,4vw,3.5rem) 1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.eyebrow{margin:0 0 .65rem;color:var(--chapter,var(--coral));font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}

.cover-page{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(18rem,.72fr);align-items:center;min-height:34rem;padding:clamp(1.2rem,4vw,3.8rem);background:rgba(255,255,255,.67);box-shadow:var(--shadow);border-radius:2.2rem;overflow:hidden}
.cover-copy{position:relative;z-index:2}.cover-copy h1{max-width:12ch}.book-title{font:italic clamp(1.2rem,2.2vw,1.65rem)/1.4 var(--serif);color:var(--violet);margin:1.1rem 0}.book-title span{color:var(--muted);font-style:normal}
.game-promise{display:inline-block;margin:.2rem 0 .5rem;padding:.42rem 0;border-bottom:2px solid var(--gold);color:var(--coral);font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.cover-copy blockquote{max-width:43rem;margin:1.5rem 0;padding-left:1.15rem;border-left:3px solid var(--gold);font:1.08rem/1.65 var(--serif)}
.identity-line{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:38rem;margin:1.5rem 0}
.identity-line label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}
.identity-line input{display:block;width:100%;border:0;border-bottom:1px solid rgba(75,61,92,.35);padding:.5rem .15rem;background:transparent;font-size:1rem;text-transform:none;letter-spacing:0}
.primary-button,.complete-button{border:0;border-radius:999px;background:var(--violet);color:white;padding:.9rem 1.25rem;min-height:48px;font-weight:850;box-shadow:0 10px 25px rgba(111,88,167,.22)}
.primary-button:hover,.complete-button:hover{transform:translateY(-2px)}
.cover-art{position:relative;display:grid;place-items:center;min-height:28rem}.cover-art img{width:min(17rem,70vw);box-shadow:0 24px 55px rgba(61,54,80,.24);transform:rotate(1.4deg)}
.cover-art span{position:absolute;padding:.45rem .8rem;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(80,65,96,.11);font:italic 1rem var(--serif);color:var(--violet)}
.cover-art span:nth-of-type(1){top:7%;right:2%}.cover-art span:nth-of-type(2){bottom:12%;left:0}.cover-art span:nth-of-type(3){bottom:4%;right:7%}

.compass{margin:2rem 0;padding:1.7rem 0;display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(0,1fr);gap:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compass p{margin:0}.compass>p{color:var(--muted);max-width:52rem}
.contents{padding:1rem 0 2rem}.contents-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.5rem}.contents-head>p{text-align:right;color:var(--muted)}
.foundation-title{display:flex;align-items:center;gap:1rem;margin:2.2rem 0 1rem;color:var(--violet);font-size:.8rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.foundation-title::after{content:"";height:1px;background:var(--line);flex:1}
.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.journey-grid.foundations{grid-template-columns:repeat(2,minmax(0,1fr))}
.journey-card{position:relative;min-height:13rem;border:0;border-top:4px solid var(--chapter);padding:1.2rem;text-align:left;background:rgba(255,255,255,.68);box-shadow:0 12px 32px rgba(74,61,89,.08);transition:.2s ease}
.journey-card:hover{transform:translateY(-4px);background:white}.journey-card.completed{background:linear-gradient(145deg,rgba(255,255,255,.95),color-mix(in srgb,var(--chapter) 10%,white))}
.journey-card.completed::after{content:"✓";position:absolute;right:1rem;top:.8rem;color:var(--chapter);font-weight:900}
.journey-no{display:block;font:italic 2.1rem var(--serif);color:var(--chapter)}.journey-card small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.journey-card strong{display:block;margin:.45rem 0;font:600 1.3rem var(--serif)}.journey-card p{margin:.3rem 0;color:var(--muted);font-size:.92rem;line-height:1.45}.journey-card em{position:absolute;bottom:1rem;left:1.2rem;color:var(--chapter);font-size:.78rem;font-style:normal;font-weight:800}
.journey-card{padding-bottom:3.5rem}.journey-card.game-solved{border-top-color:var(--gold)}.game-status{display:block;margin-top:.8rem;color:var(--chapter);font-size:.75rem;font-weight:850;letter-spacing:.02em}
.bilan-link{width:100%;margin-top:1.5rem;border:0;padding:1.4rem 1.5rem;display:grid;grid-template-columns:.55fr 1fr auto;align-items:center;gap:1rem;text-align:left;background:linear-gradient(110deg,rgba(111,88,167,.13),rgba(216,161,61,.12));border-top:1px solid rgba(111,88,167,.2);border-bottom:1px solid rgba(111,88,167,.2)}
.bilan-link span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.bilan-link strong{font:600 1.3rem var(--serif)}.bilan-link em{font-style:normal;color:var(--violet);font-weight:800}

.chapter{--chapter:var(--violet);max-width:1040px;margin:0 auto}.chapter-head{position:relative;min-height:23rem;padding:clamp(2rem,6vw,5rem);display:grid;grid-template-columns:1fr auto;align-items:end;background:linear-gradient(130deg,rgba(255,255,255,.88),color-mix(in srgb,var(--chapter) 13%,white));border-radius:2.2rem 2.2rem .8rem .8rem;overflow:hidden;box-shadow:var(--shadow)}
.chapter-head::after{content:"";position:absolute;right:-4rem;bottom:-6rem;width:22rem;height:22rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--chapter) 25%,transparent);box-shadow:0 0 0 2.5rem color-mix(in srgb,var(--chapter) 5%,transparent),0 0 0 5rem color-mix(in srgb,var(--chapter) 3%,transparent)}
.chapter-head>div{position:relative;z-index:2}.chapter-number{display:block;color:var(--chapter);font:italic clamp(2rem,4vw,3.5rem) var(--serif)}.chapter-head h1{max-width:12ch}.chapter-head>div>p:last-child{max-width:42rem;margin:1rem 0 0;color:var(--muted);font-size:1.08rem}.chapter-bloom{position:relative;z-index:2;width:6rem;height:6rem;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.66);color:var(--chapter);font-size:2rem}
.chapter-body{padding:1rem clamp(.2rem,4vw,3rem) 2rem}
.notebook-leaf{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:clamp(1.2rem,4vw,3.5rem);padding:3rem 0;border-bottom:1px solid var(--line)}
.leaf-marker{padding-top:.35rem;color:var(--chapter);font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.leaf-marker::before{content:"✦";display:block;font-size:1.2rem;margin-bottom:.5rem;color:var(--gold)}
.leaf-content{min-width:0}.leaf-content>h2{margin-bottom:1.2rem}.leaf-content>p{max-width:49rem}.leaf-content>p:first-of-type{margin-top:0}
.trace-leaf{border-bottom:0}.trace-text{font:italic 1.2rem/1.72 var(--serif);padding-left:1.2rem;border-left:3px solid var(--chapter)}
.learning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.2rem 0}.learning-list span{padding:.55rem 0;border-bottom:1px solid var(--line);font-weight:700}
.method-note{padding:.9rem 0 .9rem 1rem;border-left:3px solid var(--gold);color:var(--muted)}
.title-incantation{font:italic clamp(1.5rem,3vw,2.3rem)/1.4 var(--serif);color:var(--violet)}

.compact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.compact-fields .notebook-field{margin:.65rem 0}
.notebook-field,.select-field{display:block;margin:1.25rem 0;color:var(--muted);font-size:.92rem;font-weight:750}.notebook-field>span:first-child,.select-field>span:first-child{display:block;margin-bottom:.35rem}
.notebook-field input,.notebook-field textarea,.select-field select{width:100%;border:0;border-bottom:1px solid rgba(75,61,92,.35);border-radius:0;padding:.75rem .2rem;background:transparent;color:var(--ink);font:1rem/1.55 var(--serif)}
.notebook-field textarea{min-height:7.5rem;resize:vertical;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 1.54rem,rgba(111,88,167,.11) 1.58rem);background-attachment:local}
.notebook-field input:focus,.notebook-field textarea:focus,.select-field select:focus{background-color:rgba(255,255,255,.54)}
.print-answer{display:none;white-space:pre-wrap;color:var(--ink);font:1rem/1.55 var(--serif);border-bottom:1px solid var(--line);padding:.4rem 0}
.word-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:1rem 0}.word-triptych>div{padding-top:1rem;border-top:3px solid var(--chapter)}.word-triptych strong{font:600 1.25rem var(--serif);color:var(--chapter)}.word-triptych small{display:block;min-height:3.7rem;color:var(--muted);line-height:1.45;margin:.4rem 0}
.choice-line{display:flex;gap:.55rem;flex-wrap:wrap;margin:.6rem 0 1.2rem}.choice-pill{border:1px solid rgba(111,88,167,.22);border-radius:999px;background:rgba(255,255,255,.72);padding:.65rem .9rem;min-height:43px}.choice-pill:hover{border-color:var(--chapter)}.choice-pill.selected{background:color-mix(in srgb,var(--chapter) 14%,white);border-color:var(--chapter);font-weight:800}
.check-list{display:grid;gap:.35rem;margin:1rem 0}.check-item{display:flex;align-items:center;gap:.7rem;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.65rem .2rem;text-align:left}.check-item span{color:var(--chapter);font-weight:900}.check-item.selected{font-weight:800}
.cover-study{display:grid;grid-template-columns:minmax(10rem,.52fr) 1fr;gap:1.5rem 2rem;align-items:start}.cover-study img{grid-row:span 2;width:min(100%,16rem);box-shadow:0 18px 42px rgba(58,48,75,.2)}
.source-text{padding:1rem 0 1rem 1.3rem;border-left:3px solid var(--gold);font:1.08rem/1.72 var(--serif)}
.definition-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1rem 0}.definition-pair p{padding-top:.8rem;border-top:2px solid color-mix(in srgb,var(--chapter) 55%,white)}
.language-lines>p{padding:1rem 0;border-bottom:1px solid var(--line)}.language-lines .choice-line{margin:.5rem 0 0}
.scale-list{margin:1rem 0}.scale-list>div{display:grid;grid-template-columns:8rem 1fr 8rem;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.scale-list>div>span:last-child{text-align:right}.scale-list .choice-line{justify-content:center;margin:0}

.text-leaf{margin:3rem 0;padding:2rem clamp(1rem,4vw,3rem);background:rgba(255,255,255,.56);border-left:4px solid var(--chapter);box-shadow:10px 14px 45px rgba(74,61,89,.07)}
.text-leaf h2{margin-bottom:1.4rem}.text-leaf>p{font:1.05rem/1.8 var(--serif);max-width:56rem}.text-leaf footer{margin-top:1.3rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
.movement-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.2rem}.select-field{display:grid;grid-template-columns:1fr 7rem;align-items:center;gap:.8rem;margin:.3rem 0;padding:.5rem 0;border-bottom:1px solid var(--line)}.select-field>span:first-child{margin:0}.select-field select{padding:.5rem}
.mise-en-abyme{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:1.2rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mise-en-abyme span{text-align:center}.mise-en-abyme i{color:var(--gold)}
.postit-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:1.2rem 0}.postit-key span{min-height:6rem;padding:1rem;display:flex;align-items:flex-end;background:linear-gradient(145deg,#fff8b9,#f4e691);box-shadow:4px 7px 15px rgba(80,65,96,.08);font-weight:750}.postit-key span:nth-child(2){background:linear-gradient(145deg,#f3d5e2,#eec3d5)}.postit-key span:nth-child(3){background:linear-gradient(145deg,#d8ebdf,#c5e0d0)}.postit-key span:nth-child(4){background:linear-gradient(145deg,#dcd7f0,#cdc5e9)}
.three-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.three-times p{padding-top:1rem;border-top:3px solid var(--chapter)}
.dali-study{display:grid;grid-template-columns:minmax(15rem,.8fr) 1fr;gap:1.5rem;align-items:center}.dali-study img{width:100%;max-width:31rem;box-shadow:0 15px 35px rgba(55,47,69,.16)}

/* Parcours ludique : les jeux restent ouverts, fluides et lisibles comme des pages de carnet. */
.petal-garden{margin:2.6rem 0;padding:2.2rem clamp(1rem,3vw,2.4rem);display:grid;grid-template-columns:minmax(15rem,.55fr) minmax(0,1fr);gap:2rem;align-items:center;background:linear-gradient(120deg,rgba(255,255,255,.68),rgba(223,119,116,.07),rgba(111,88,167,.08));border-top:1px solid rgba(111,88,167,.18);border-bottom:1px solid rgba(111,88,167,.18)}
.petal-garden h2{font-size:clamp(1.7rem,3vw,2.55rem)}.petal-garden p:last-child{color:var(--muted);max-width:32rem}.petal-wheel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.time-petal{min-width:0;padding:.85rem .7rem;border:0;border-radius:55% 45% 58% 42%;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(75,61,92,.07);text-align:left;transition:.2s ease}.time-petal:hover{transform:translateY(-2px) rotate(-1deg)}.time-petal span{display:block;color:var(--coral);font:italic 1.2rem var(--serif)}.time-petal strong{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.time-petal.found{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(216,161,61,.18))}.time-petal.found strong{color:var(--violet)}

.literary-game,.meta-game{position:relative;margin:4rem 0;padding:2.4rem clamp(1rem,4vw,3rem);background:radial-gradient(circle at 92% 10%,rgba(216,161,61,.15),transparent 11rem),linear-gradient(125deg,rgba(255,255,255,.82),color-mix(in srgb,var(--chapter,var(--violet)) 7%,white));border-top:3px solid color-mix(in srgb,var(--chapter,var(--violet)) 70%,white);border-bottom:1px solid color-mix(in srgb,var(--chapter,var(--violet)) 22%,transparent);box-shadow:0 20px 55px rgba(75,61,92,.08);overflow:hidden}
.literary-game::after,.meta-game::after{content:"✿";position:absolute;right:1.1rem;bottom:-1.2rem;color:color-mix(in srgb,var(--chapter,var(--violet)) 18%,transparent);font-size:7rem;line-height:1;pointer-events:none}.literary-game.is-solved,.meta-game.is-solved{background:radial-gradient(circle at 92% 10%,rgba(216,161,61,.2),transparent 12rem),linear-gradient(125deg,rgba(255,255,255,.9),rgba(76,143,138,.08))}
.game-kicker{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;color:var(--chapter,var(--violet));font-size:.76rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.game-kicker em{color:var(--muted);font-style:normal;font-weight:750;letter-spacing:.04em;text-transform:none}
.game-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:start;margin-bottom:1.8rem}.game-heading h2{font-size:clamp(1.9rem,4vw,3rem)}.game-heading p{max-width:44rem;color:var(--muted)}
.fragment-seal{min-width:9.5rem;padding:.65rem .9rem;border-left:2px solid var(--gold);text-align:right}.fragment-seal small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.fragment-seal strong{display:block;color:var(--muted);font:italic 1.25rem var(--serif);letter-spacing:.08em}.fragment-seal.revealed strong{color:var(--chapter,var(--violet))}
.game-body{position:relative;z-index:1}.game-rule{max-width:52rem;margin:0 0 1.4rem;padding-left:1rem;border-left:3px solid var(--gold);color:var(--muted);font-family:var(--serif);font-size:1.05rem}
.classification-list,.reader-claims,.meta-classification{display:grid;gap:.2rem;margin:1rem 0 1.7rem}.time-select{display:grid;grid-template-columns:minmax(0,1fr) minmax(11rem,.36fr);gap:1rem;align-items:center;padding:.85rem .2rem;border-bottom:1px solid var(--line)}.time-select>span{min-width:0;font:1rem/1.48 var(--serif)}.time-select select{width:100%;min-width:0;border:0;border-bottom:1px solid rgba(111,88,167,.36);padding:.55rem .2rem;background:rgba(255,255,255,.46);font-size:.88rem;font-weight:780}
.compact-classification{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.compact-classification .time-select{grid-template-columns:1fr}
.time-question{margin:1.6rem 0}.time-question>p{margin:0 0 .7rem;font-weight:820}.time-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.time-choice{min-width:0;border:0;border-top:2px solid rgba(111,88,167,.2);padding:.8rem .65rem;background:rgba(255,255,255,.55);text-align:left;line-height:1.4;font-size:.9rem}.time-choice:hover{border-top-color:var(--chapter,var(--violet));background:white}.time-choice.selected{border-top-color:var(--gold);background:rgba(255,249,225,.84);font-weight:800}
.evidence-tokens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0}.evidence-token{display:flex;gap:.65rem;align-items:flex-start;min-width:0;border:0;border-left:3px solid rgba(111,88,167,.2);padding:.8rem;background:rgba(255,255,255,.56);text-align:left;line-height:1.42}.evidence-token span{flex:0 0 auto;color:var(--chapter,var(--violet));font-weight:900}.evidence-token.selected{border-left-color:var(--gold);background:rgba(255,248,221,.82);font-weight:800}
.sequence-board{margin:1.1rem 0 2rem}.sequence-bank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.sequence-bank button{display:flex;gap:.6rem;align-items:flex-start;min-width:0;border:0;border-left:3px solid var(--chapter,var(--violet));padding:.75rem;background:rgba(255,255,255,.64);text-align:left;line-height:1.42}.sequence-bank button:hover{background:white}.sequence-bank button span{color:var(--gold);font-size:1.2rem;font-weight:900}.sequence-bank p{color:var(--teal);font-weight:800}.sequence-line{margin:1.1rem 0;padding:0;display:grid;gap:.35rem;counter-reset:none}.sequence-line li{list-style:none;display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.55rem 0;border-bottom:1px dashed rgba(111,88,167,.24);font-family:var(--serif)}.sequence-line li>span{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--chapter,var(--violet)) 12%,white);color:var(--chapter,var(--violet));font:italic 1rem var(--serif)}.sequence-line .sequence-empty{display:block;color:var(--muted);font-style:italic}.game-reset{border:0;background:none;color:var(--violet);padding:.4rem 0;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.rhythm-controls{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.rhythm-controls button{border:0;border-radius:999px;padding:.7rem 1rem;background:var(--chapter,var(--violet));color:white;font-weight:820}.rhythm-stage{min-height:12rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif)}.rhythm-stage>small{color:var(--chapter,var(--violet));font-weight:800;text-transform:uppercase;letter-spacing:.08em}.rhythm-stage>p{margin:.45rem 0}.rhythm-line{animation:rhythmAppear .45s ease both}.rhythm-line.last{margin-top:1.6rem!important;letter-spacing:.05em;color:var(--violet);font-style:italic}@keyframes rhythmAppear{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}
.game-actions{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.1rem;border-top:1px solid var(--line)}.game-actions>span{color:var(--muted);font-size:.82rem}.game-check{border:0;border-radius:999px;padding:.8rem 1.1rem;background:var(--chapter,var(--violet));color:white;font-weight:850;box-shadow:0 8px 20px color-mix(in srgb,var(--chapter,var(--violet)) 20%,transparent)}
.game-feedback{position:relative;z-index:2;margin:1rem 0 0;padding:.85rem 0 .2rem 1rem;border-left:3px solid var(--coral);font-weight:760}.game-feedback.success{border-left-color:var(--teal);color:#356b62}.game-feedback.clue{color:#8d4d50}.fragment-meaning{position:relative;z-index:2;margin:1rem 0 0;font:italic 1.08rem/1.6 var(--serif);color:var(--muted)}.fragment-meaning b{color:var(--chapter,var(--violet));letter-spacing:.08em}
.museum-path{counter-reset:museum}.museum-path>.time-question{padding-left:1rem;border-left:1px dashed rgba(111,88,167,.28)}
.fragment-strip{display:flex;gap:.45rem;flex-wrap:wrap;margin:1.2rem 0}.fragment-strip span{padding:.42rem .65rem;border-radius:999px;background:rgba(111,88,167,.08);color:rgba(111,88,167,.45);font-size:.74rem;font-weight:900;letter-spacing:.07em}.fragment-strip span.found{background:rgba(216,161,61,.18);color:var(--violet)}
.meta-game{--chapter:var(--violet);margin-top:2rem}.meta-game>h2{font-size:clamp(2.1rem,5vw,3.8rem)}.meta-game>p{max-width:50rem}.locked-fragment{padding:.8rem .2rem;border-bottom:1px solid var(--line);color:var(--muted);font-style:italic}.locked-fragment span{margin-right:.6rem;color:var(--gold)}.final-formula{position:relative;z-index:2;margin-top:1.5rem;padding:1.2rem 0;border-top:3px double var(--gold);border-bottom:3px double var(--gold)}.final-formula small{color:var(--violet);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.final-formula p{margin:.5rem 0;font:italic clamp(1.15rem,2.5vw,1.55rem)/1.6 var(--serif)}
.teacher-game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.4rem}.teacher-game-list p{margin:.2rem 0;padding:.7rem 0;border-bottom:1px solid var(--line)}

.chapter-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem clamp(.2rem,4vw,3rem) 3rem;border-top:1px solid var(--line)}.complete-button{background:var(--chapter)}.complete-button.done{background:var(--teal)}
.bilan-chapter .chapter-head{--chapter:var(--violet)}

dialog{border:0;border-radius:1.5rem;background:#fffdf8;color:var(--ink);box-shadow:0 30px 90px rgba(48,38,62,.3)}dialog::backdrop{background:rgba(58,47,72,.32);backdrop-filter:blur(6px)}
.teacher-dialog{width:min(860px,94vw);max-height:88vh;padding:0}.help-dialog{width:min(700px,92vw);padding:0}.submission-dialog{position:relative;width:min(760px,94vw);max-height:92vh;padding:0;overflow:auto}.dialog-head{position:sticky;top:0;z-index:2;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fffdf8;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:1.8rem}.icon-button{width:2.6rem;height:2.6rem;border:0;border-radius:50%;background:rgba(111,88,167,.1);font-size:1.5rem}
.submission-sky{position:absolute;inset:0 0 auto;height:13rem;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 14% 20%,rgba(223,119,116,.14),transparent 7rem),radial-gradient(circle at 84% 28%,rgba(216,161,61,.15),transparent 8rem)}.submission-sky span{position:absolute;color:rgba(111,88,167,.17);font-size:2rem}.submission-sky span:nth-child(1){right:19%;top:1rem}.submission-sky span:nth-child(2){right:6%;top:6.8rem;font-size:4.8rem;color:rgba(223,119,116,.10)}.submission-sky span:nth-child(3){left:5%;top:7.4rem;font-size:2.8rem;color:rgba(216,161,61,.18)}
.submission-form{position:relative;padding:1.8rem clamp(1.2rem,5vw,3.5rem) 2.5rem}.submission-lead{max-width:38rem;margin:0 0 1.5rem;font:1.1rem/1.7 var(--serif)}.submission-progress{display:flex;gap:1rem 1.6rem;flex-wrap:wrap;margin:1.4rem 0 2rem;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.88rem}.submission-progress b{display:block;color:var(--violet);font:italic 1.35rem var(--serif)}
.submission-identity{display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem}.submission-form label:not(.submission-confirm):not(.submission-honeypot){display:block;margin:1rem 0}.submission-form label>span:first-child{display:block;margin-bottom:.35rem;color:var(--violet);font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.submission-form input[type="text"],.submission-form input:not([type]){width:100%;border:0;border-bottom:1px solid rgba(75,61,92,.36);border-radius:0;padding:.75rem .15rem;background:rgba(255,255,255,.45)}.submission-code{max-width:27rem}.submission-code input{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.submission-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.submission-confirm{display:flex;align-items:flex-start;gap:.8rem;margin:1.7rem 0 1rem;font:1rem/1.55 var(--serif)}.submission-confirm input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin-top:.25rem;accent-color:var(--teal)}.submission-note{margin:.7rem 0;color:var(--muted);font-size:.82rem}.submission-status{min-height:1.6rem;margin:.7rem 0;font-weight:800}.submission-status.error{color:#a34149}.submission-status.success{color:#356b62}.submission-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--line)}.submission-send{border:0;border-radius:999px;padding:.82rem 1.15rem;background:var(--teal);color:white;font-weight:850;box-shadow:0 9px 22px rgba(76,143,138,.2)}
.teacher-tabs{display:flex;gap:.35rem;flex-wrap:wrap;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}.teacher-tabs button{border:0;border-radius:999px;background:transparent;padding:.55rem .75rem;font-weight:800}.teacher-tabs button.active{background:rgba(111,88,167,.12);color:var(--violet)}
.teacher-panel{padding:1.4rem 1.6rem}.teacher-panel h3{margin-bottom:1rem}.teacher-panel li{margin:.45rem 0}.reset-panel{border-top:1px solid var(--line)}
.help-content{padding:1.4rem}
.toast{position:fixed;left:50%;bottom:1.4rem;z-index:80;transform:translate(-50%,2rem);opacity:0;pointer-events:none;padding:.85rem 1.1rem;border-radius:999px;background:#4a4057;color:white;box-shadow:0 12px 35px rgba(50,40,62,.28);transition:.22s}.toast.show{transform:translate(-50%,0);opacity:1}

.print-view{width:100%}.print-cover{display:none}

@media(max-width:900px){
  body{font-size:16px}.topbar{align-items:flex-start}.top-actions{gap:.25rem}.progress-label{order:-1;width:100%;text-align:center}.cover-page{grid-template-columns:1fr}.cover-art{min-height:24rem;margin-top:1rem}.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook-leaf{grid-template-columns:6.5rem minmax(0,1fr);gap:1.2rem}.chapter-head{min-height:20rem}.chapter-bloom{width:4.5rem;height:4.5rem}.word-triptych{grid-template-columns:1fr}.word-triptych small{min-height:0}.postit-key{grid-template-columns:repeat(2,1fr)}.bilan-link{grid-template-columns:1fr}.bilan-link em{justify-self:start}.petal-garden{grid-template-columns:1fr}.time-choices{grid-template-columns:1fr}.teacher-game-list{grid-template-columns:1fr}}

@media(max-width:620px){
  .topbar{position:relative;display:block}.brand{width:100%}.top-actions{margin-top:.65rem;justify-content:flex-start}.text-button{font-size:.84rem}.submit-book-button{order:2}.cover-page{padding:1.2rem;border-radius:1.4rem}.cover-copy h1{font-size:3rem}.cover-art{min-height:22rem}.cover-art img{width:13rem}.identity-line,.compact-fields,.journey-grid,.journey-grid.foundations,.learning-list,.definition-pair,.movement-selects,.three-times,.submission-identity{grid-template-columns:1fr}.compass{grid-template-columns:1fr;gap:.5rem}.contents-head{display:block}.contents-head>p{text-align:left}.journey-card{min-height:12.5rem}.chapter-head{display:block;min-height:auto;padding:2rem 1.2rem;border-radius:1.4rem}.chapter-head h1{font-size:3rem}.chapter-bloom{position:absolute;right:1rem;top:1rem;width:3.4rem;height:3.4rem}.notebook-leaf{display:block;padding:2rem 0}.leaf-marker{margin-bottom:.7rem}.leaf-marker::before{display:inline;margin-right:.4rem}.cover-study{grid-template-columns:1fr}.cover-study img{grid-row:auto;width:13rem}.scale-list>div{grid-template-columns:1fr;text-align:left}.scale-list>div>span:last-child{text-align:left}.scale-list .choice-line{justify-content:flex-start}.select-field{grid-template-columns:1fr}.postit-key{grid-template-columns:1fr 1fr}.dali-study{grid-template-columns:1fr}.chapter-nav{display:grid;grid-template-columns:1fr;padding-inline:0}.chapter-nav button{width:100%}.footer{display:block}.footer span{display:block;margin:.35rem 0}.text-leaf{padding:1.2rem;margin:2rem 0}.petal-wheel,.evidence-tokens,.sequence-bank,.compact-classification{grid-template-columns:1fr}.literary-game,.meta-game{padding:1.5rem .9rem;margin:2.5rem 0}.game-heading{grid-template-columns:1fr}.fragment-seal{text-align:left;border-left:0;border-top:1px solid var(--gold);padding-left:0}.time-select{grid-template-columns:1fr;gap:.45rem}.rhythm-stage{min-height:10rem}.submission-actions{align-items:stretch;flex-direction:column-reverse}.submission-actions button{width:100%}}

@media print{
  @page{size:A4;margin:15mm}
  body{background:white;color:#281f31;font-size:10.5pt}.watercolour,.topbar,.footer,.no-print,.toast,dialog{display:none!important}#app{width:100%;padding:0;margin:0}.print-view{display:block}.print-cover{display:block;min-height:250mm;padding-top:55mm;text-align:center;page-break-after:always}.print-cover h1{font-size:34pt;margin:1rem auto}.print-cover h2{font-size:20pt;color:var(--violet)}.chapter{max-width:none;margin:0}.chapter-head{min-height:auto;padding:16mm 8mm;background:none;box-shadow:none;border-radius:0;border-top:4px solid var(--chapter);page-break-before:always;page-break-after:avoid}.chapter-head::after,.chapter-bloom{display:none}.chapter-head h1{font-size:27pt}.chapter-head>div>p:last-child{font-size:11pt}.chapter-body{padding:0}.notebook-leaf{grid-template-columns:28mm 1fr;gap:8mm;padding:8mm 0;break-inside:avoid}.leaf-content h2{font-size:18pt}.text-leaf{margin:8mm 0;padding:7mm;background:none;box-shadow:none;break-inside:auto}.text-leaf h2{font-size:18pt}.text-leaf>p{font-size:10pt;line-height:1.55}.notebook-field input,.notebook-field textarea,.select-field select{display:none}.print-answer{display:block}.choice-pill{font-size:9pt;min-height:0;padding:2mm 3mm}.choice-pill:not(.selected){color:#777;border-color:#bbb}.cover-study img{width:35mm}.dali-study img{max-width:90mm}.postit-key span{min-height:18mm}.trace-text{font-size:11pt}.bilan-chapter{page-break-before:always}.literary-game,.meta-game{margin:8mm 0;padding:6mm;background:none;box-shadow:none;break-inside:auto}.literary-game::after,.meta-game::after{display:none}.time-choices,.evidence-tokens,.sequence-bank{grid-template-columns:1fr 1fr}.time-choice,.evidence-token,.sequence-bank button{font-size:8.5pt;padding:2mm}.fragment-seal strong{font-size:11pt}.petal-garden{display:none}.rhythm-controls{display:none}.rhythm-stage{min-height:0}.teacher-game-list{grid-template-columns:1fr}}
