:root{font-family:system-ui,sans-serif;color:#16244a;background:#fff;font-synthesis:none;--royal:#1646bd;--orange:#f47723;--ink:#16244a}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button,select{min-height:44px;border:1px solid var(--royal);border-radius:9px;background:#fff;color:var(--royal);padding:.6rem .85rem;cursor:pointer}button:hover:not(:disabled){background:#edf3ff}button:disabled,textarea:disabled{cursor:not-allowed;color:#5b6477;border-color:#aab1bf;background:#f5f6f9}a{color:var(--royal)}:focus-visible{outline:3px solid var(--royal);outline-offset:4px}.skip{position:absolute;inset-inline-start:16px;top:-80px;background:white;padding:1rem;z-index:4}.skip:focus{top:8px}.bar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem clamp(20px,5vw,72px);border-bottom:1px solid #dce3ef}.bar>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.brand{text-decoration:none;font-size:1.25rem;letter-spacing:.04em;white-space:nowrap}.brand strong{color:var(--royal)}main,footer{max-width:1160px;margin:auto;padding:0 clamp(20px,5vw,72px)}section{padding-block:3rem}section+section{border-top:1px solid #dce3ef}.hero{padding-top:3rem}.kicker{font-weight:750;letter-spacing:.1em;font-size:.8rem;color:#a74305}h1{font-size:clamp(2.3rem,5.5vw,4.8rem);line-height:1.05;max-width:18ch;margin-block:1rem}h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}h3{font-size:1.4rem}p{line-height:1.65;max-width:75ch}.lead{font-size:1.2rem;max-width:55ch}.video{margin-top:2rem;border:1px solid #dce3ef;border-radius:20px;padding:clamp(12px,2vw,24px);box-shadow:0 16px 50px #1646bd0c}video{display:block;width:100%;aspect-ratio:16/9;background:#0b1d37;border-radius:12px}.video p{font-size:.9rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-block:1.7rem}.character{padding:clamp(20px,3vw,36px);border:1px solid #dce3ef;border-top:5px solid var(--orange);border-radius:16px;background:#fffbf7}.character.nora{border-top-color:var(--royal);background:#f7faff}.name{font-size:2.7rem;font-weight:800;letter-spacing:-.04em;margin:0;color:var(--royal)}.asset{font-size:.8rem;color:#59647c;margin-block:.3rem 1.5rem}.character p{overflow-wrap:anywhere}summary{cursor:pointer;min-height:44px;padding-block:.6rem;color:var(--royal);font-weight:650}.status{font-size:.9rem}.steps{display:flex;gap:.7rem;flex-wrap:wrap;margin-block:1.4rem}.steps [aria-pressed=true]{background:var(--royal);color:white}.panel{border-inline-start:4px solid var(--orange);padding:1.25rem;background:#fff7f0;line-height:1.7;min-height:6rem}.chat{max-width:75ch}textarea{display:block;width:100%;height:110px;padding:1rem;margin-block:.5rem 1rem;border:1px solid #aab1bf;border-radius:10px}footer{padding-block:2rem;font-size:.85rem;border-top:1px solid #dce3ef}.moving .character{animation:arrive .6s ease-out 1}.moving .nora{animation-delay:.15s}@keyframes arrive{from{transform:translateY(10px)}to{transform:none}}@media(max-width:660px){.bar,.section-heading{align-items:flex-start;flex-direction:column}.duo{grid-template-columns:1fr}.bar>div{gap:.5rem}h1{max-width:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{video,button,select,textarea,.skip{display:none}.duo{display:block}.character{break-inside:avoid}section{padding-block:1rem}}
:root figure{margin:1.5rem 0}.expression-sheet{display:block;width:100%;height:auto;border:1px solid #dce3ef;border-radius:14px}figcaption{font-weight:700;color:var(--royal);margin-top:.5rem}

/* Ligne claire: the decorative geometry never represents real coverage. */
:root{--line:#cbd7ed;--paper:#fffdf9;--orange-ink:#a23d00;--royal:#1646bd}
body{background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),#1646bd05 100%);background-size:80px 100%}
.bar{background:#fff;position:relative;z-index:2;border-bottom:2px solid var(--royal)}
.brand{font-weight:650;letter-spacing:-.04em;font-size:1.45rem}
.brand::before{content:'';display:inline-block;inline-size:12px;block-size:12px;background:var(--orange);border:2px solid var(--royal);margin-inline-end:10px;transform:rotate(-12deg)}
button,select{border:1.5px solid var(--royal);border-radius:999px;font-size:.9rem;font-weight:650}
button:not(:disabled){box-shadow:0 2px 0 #1646bd12}
main{max-width:1230px}
.hero{position:relative;isolation:isolate;padding-top:4rem}
.hero::before{content:'';position:absolute;z-index:-1;inset-inline-end:0;top:65px;width:230px;height:230px;border:1px solid #1646bd25;border-radius:50%;background:radial-gradient(circle at 50% 5%,#f47723 0 6px,transparent 7px),radial-gradient(circle at 6% 50%,#1646bd 0 5px,transparent 6px),radial-gradient(circle at 94% 50%,#1646bd 0 5px,transparent 6px),radial-gradient(circle at 50% 95%,#f47723 0 6px,transparent 7px)}
.hero::after{content:'';position:absolute;z-index:-1;inset-inline-end:52px;top:117px;width:126px;height:126px;border:1px solid #1646bd20;transform:rotate(45deg);background:radial-gradient(circle,#1646bd0b 0 35px,transparent 36px)}
.kicker{display:flex;align-items:center;gap:.65rem;color:var(--orange-ink)}
.kicker::before{content:'';width:22px;height:2px;background:var(--orange);flex-shrink:0}
h1{letter-spacing:-.055em;font-weight:800;max-width:17ch;position:relative;line-height:1.07;color:var(--royal)}
h2{letter-spacing:-.035em;max-width:28ch}
.lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.7;max-width:48ch}
.video{position:relative;margin-top:2.7rem;border:2px solid var(--royal);border-radius:7px;padding:14px;background:white;box-shadow:10px 10px 0 #fff0e5,11px 11px 0 var(--orange);overflow:visible}
.video::before{content:'';position:absolute;top:-5px;inset-inline-start:25px;width:45px;height:8px;background:var(--orange)}
video{border-radius:3px}
.video p{margin:.9rem .5rem .3rem;font-size:.85rem;color:#465575;max-width:85ch}
section+section{border-top:1px solid var(--line);position:relative}
section+section::before{content:'';position:absolute;top:-2px;inset-inline-start:0;width:46px;height:3px;background:var(--orange)}
.duo{gap:1.8rem}
.character{position:relative;border:1.5px solid var(--royal);border-top:1.5px solid var(--royal);border-radius:7px;background:#fffdf9;box-shadow:6px 6px 0 #fff0e5;overflow:hidden}
.character::before{content:'';position:absolute;top:0;inset-inline-start:0;width:100%;height:6px;background:var(--orange)}
.character.nora{border-top-color:var(--royal);background:#fafcff;box-shadow:6px 6px 0 #eaf0ff}
.character.nora::before{background:var(--royal)}
.name{font-size:3.4rem;line-height:1.1;letter-spacing:-.055em}
.character h3{font-size:1.6rem;margin-bottom:.4rem}.character details{border-top:1px solid #cbd7ed;margin-top:1.5rem}
.status{padding:.75rem 1rem;border:1px solid #cbd7ed;border-radius:6px;display:inline-block;background:white;color:#34476c}
.expression-sheet{border:1px solid #cbd7ed;border-radius:5px;background:#fff}
figure{position:relative;padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--paper);box-shadow:5px 5px 0 #1646bd06}
figcaption{font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;padding:.4rem}
.steps{position:relative;align-items:center;gap:1rem}
.steps button{flex:1;min-width:120px;border-radius:7px;padding:1rem .6rem;background:#fff}
.steps [aria-pressed=true]{background:var(--royal);box-shadow:3px 3px 0 var(--orange)}
.panel{border:1px solid #e4cab7;border-inline-start:5px solid var(--orange);border-radius:5px;padding:1.6rem;background:#fffaf5}
.chat{max-width:none;background:linear-gradient(135deg,#f6f9ff,#fff);padding-inline:clamp(18px,4vw,48px);border:1px solid var(--line);border-radius:7px;margin-block:2rem}.chat h2{max-width:25ch}.chat p,.chat textarea{max-width:70ch}
.chat .kicker{font-size:.7rem}.chat textarea{background:#fff;border-radius:6px}
.moving button:not(:disabled),.moving .character,.moving figure{transition:transform .22s ease,box-shadow .22s ease}
.moving button:not(:disabled):hover{transform:translateY(-2px)}
.moving .character:hover,.moving figure:hover{transform:translateY(-3px);box-shadow:8px 9px 0 #1646bd0c}
.moving .hero::before{animation:orbit-accent 1.5s ease-in-out 1}
.moving .video::before{animation:line-accent 1.1s ease-out 1}
.moving .panel.is-changing{animation:panel-accent .45s ease-out 1}
.moving .character.is-changing{animation:card-accent .45s ease-out 1}
@keyframes orbit-accent{from{transform:rotate(-25deg);opacity:.5}to{transform:rotate(0);opacity:1}}
@keyframes line-accent{from{width:8px}to{width:45px}}
@keyframes panel-accent{from{transform:translateX(6px);background:#fff0e5}to{transform:none;background:#fffaf5}}
@keyframes card-accent{50%{transform:translateY(-4px)}}
@media(max-width:900px){.hero::before{width:150px;height:150px;top:80px;opacity:.4}.hero::after{width:80px;height:80px;inset-inline-end:35px;top:115px;opacity:.4}}
@media(max-width:660px){.hero{padding-top:2.2rem}.hero::before,.hero::after{display:none}.bar{padding:1rem 20px}.bar>div{width:100%}.bar #motion{margin-inline-start:auto}.video{box-shadow:5px 5px 0 #fff0e5,6px 6px 0 var(--orange);padding:8px}section{padding-block:2.5rem}.character{box-shadow:4px 4px 0 #fff0e5}.name{font-size:2.8rem}.steps{gap:.55rem}.steps button{min-width:90px;font-size:.8rem;padding:.85rem .3rem}.chat{margin-block:1.2rem}figure{padding:6px}}
@media(prefers-reduced-motion:reduce){.moving *,.moving *::before,.moving *::after{animation:none!important;transition:none!important;transform:none!important}}
@media print{body,.chat{background:white}.hero::before,.hero::after,.video{display:none}.character,figure,.panel,.chat{box-shadow:none}.bar{position:static}.expression-sheet{max-width:100%}}

/* Aerial direction: sky and sunlight; deep blue retained for readable text. */
.hero::before,.hero::after{pointer-events:none}
:root{--royal:#205b82;--orange:#ffb66c;--orange-ink:#99511d;--ink:#173a51;--line:#dcebf3;color:var(--ink)}
body{background:#fff}
.bar{border-bottom:1px solid #e3eff6;background:#ffffffed;padding-block:1.5rem}
.brand::before{border:0;border-radius:50%;background:#ffd09b;box-shadow:0 0 0 5px #fff5e7;transform:none;width:10px;height:10px}
.brand{letter-spacing:.01em;font-size:1.15rem;font-weight:400}.brand strong{font-weight:650}
button,select{border:1px solid #8db6cf;font-weight:550;color:#205b82;box-shadow:none!important;background:#fff}
button:hover:not(:disabled){background:#f0f8fc}
.bar>div,.duo>*,.section-heading>*{min-inline-size:0}button,select{max-inline-size:100%}
main{max-width:1240px}
.hero{padding-top:5.2rem;padding-bottom:5rem;background:radial-gradient(ellipse at 90% 8%,#fff1dd 0,transparent 24%),linear-gradient(180deg,#f6fcff 0,#fff 43%);border-radius:0 0 40% 40%/0 0 2% 2%}
.hero::before{top:82px;inset-inline-end:35px;width:125px;height:125px;border:0;border-radius:50%;opacity:.8;background:linear-gradient(145deg,#fff2c8,#ffd7aa);box-shadow:0 0 65px 30px #ffedcf55}
.hero::after{top:165px;inset-inline-end:0;width:220px;height:60px;border:0;border-radius:50%;transform:none;background:#ffffffbd;box-shadow:-45px -20px 0 -7px #fff,30px -28px 0 -9px #fff,70px -5px 0 -12px #fff;opacity:.9}
.kicker{color:#99511d;font-size:.73rem;font-weight:600;letter-spacing:.14em}.kicker::before{width:24px;background:#ffc789;height:1px}
h1{font-size:clamp(2.45rem,5.2vw,4.4rem);font-weight:500;letter-spacing:-.045em;line-height:1.12;color:#205b82;max-width:18ch;margin-block:1.5rem}
h2{font-weight:500;color:#205b82;font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.03em;line-height:1.25}
h3{font-weight:550;color:#205b82}.lead{font-size:clamp(1.1rem,1.8vw,1.25rem);color:#4e6a7b;max-width:48ch;line-height:1.8}
.video{border:1px solid #d8e8f1;border-radius:22px;padding:14px;background:#fff;box-shadow:0 18px 55px #205b8210;margin-top:3.2rem}
.video::before{height:3px;top:-2px;width:54px;background:#ffd09b;border-radius:3px;inset-inline-start:30px}
video{border-radius:12px}.video p{color:#506979;line-height:1.7}
section{padding-block:4rem}section+section::before{height:2px;top:-1px;width:38px;background:#ffd3a4}
.duo{gap:2rem;margin-block:2rem}.character{border:1px solid #d8e8f1;border-radius:20px;background:linear-gradient(160deg,#fffdf8,#fff);box-shadow:0 12px 38px #205b8207;padding:clamp(24px,3.8vw,44px)}
.character.nora{border:1px solid #d8e8f1;background:linear-gradient(160deg,#f5fbff,#fff);box-shadow:0 12px 38px #205b8207}
.character::before,.character.nora::before{width:56px;height:3px;inset-inline-start:30px;border-radius:4px;background:#ffd09b}.character.nora::before{background:#a8d7ec}
.name{font-size:3rem;font-weight:500;color:#205b82;letter-spacing:-.04em}.asset{color:#637b8a}.character details{border-top-color:#dcebf3}.status{border-color:#dcebf3;border-radius:12px;color:#506979;background:#f9fcfe}
figure{border:1px solid #e1edf3;border-radius:20px;background:#fff;box-shadow:0 12px 38px #205b8205;padding:clamp(8px,2vw,22px);margin-block:2rem!important}
.expression-sheet{border:0;border-radius:12px}figcaption{font-size:.75rem;letter-spacing:.16em;color:#506979;font-weight:500;padding:.7rem}
.steps button{border-color:#9bbfd3;border-radius:14px;font-weight:550}.steps [aria-pressed=true]{background:#205b82;color:#fff;box-shadow:none}
.panel{border-color:#e8ddcc;border-inline-start:3px solid #ffcb94;border-radius:14px;background:linear-gradient(120deg,#fffaf3,#fff);padding:1.7rem;color:#38576a}
.chat{background:linear-gradient(135deg,#f3faff,#fffaf3);border-color:#dcebf3;border-radius:22px;padding-block:3rem}.chat .kicker{color:#99511d}.chat textarea{border-color:#bfced7}
.moving .character:hover,.moving figure:hover{transform:translateY(-3px);box-shadow:0 18px 40px #205b8210}
.moving .hero::before{animation:sunrise 2.5s ease-out 1}.moving .hero::after{animation:cloud-drift 3s ease-in-out 1}
@keyframes sunrise{from{transform:translateY(15px);opacity:.3}to{transform:none;opacity:.8}}
@keyframes cloud-drift{from{transform:translateX(-12px);opacity:.6}to{transform:none;opacity:.9}}
@keyframes panel-accent{from{transform:translateX(4px);background:#fff3e3}to{transform:none;background:#fffaf3}}
@media(max-width:900px){.hero::before{width:95px;height:95px;top:85px;opacity:.5}.hero::after{width:160px;height:45px;top:145px;opacity:.7}}
@media(max-width:660px){.hero{padding-top:2.5rem;padding-bottom:3rem}.hero::before,.hero::after{display:none}section{padding-block:3rem}.video{padding:8px;margin-top:2rem;border-radius:16px;box-shadow:0 12px 30px #205b820c}.character,.character.nora{box-shadow:none;border-radius:16px}.name{font-size:2.7rem}.steps{gap:.5rem}.steps button{min-width:0;font-size:.78rem;overflow-wrap:anywhere}.bar #motion{margin-inline-start:0}.bar label{font-size:.85rem}.bar{padding-block:1rem}.chat{padding-block:2rem}figure{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.moving *,.moving *::before,.moving *::after{animation:none!important;transition:none!important;transform:none!important}}
@media print{.hero,.chat{background:#fff}.hero::before,.hero::after,.video{display:none}.character,.character.nora,figure{box-shadow:none}}
body[data-sky=sunset] .hero{background:radial-gradient(ellipse at 90% 10%,#ffe8d7 0,transparent 28%),linear-gradient(180deg,#f0f6fc 0,#fff 44%)}
body[data-sky=sunset] .hero::before{top:115px;background:linear-gradient(145deg,#ffe5ac,#ffbc94);box-shadow:0 0 65px 30px #ffe8d455}
.moving .hero::before{transition:top 1.4s ease-in-out,background 1.4s ease-in-out}
#sky[aria-pressed=true]{background:#fff5ea;border-color:#c5946d;color:#7a431e}

.video-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem}.video-box{padding:2rem 1rem;background:linear-gradient(135deg,#f1faff,#fff8ef);border:1px solid #a6c8db;border-radius:1.2rem;color:#205b82;text-align:left}dialog{width:min(850px,90vw);max-height:90dvh;overflow:auto;border:1px solid #a6c8db;border-radius:1.3rem;padding:1.5rem;background:white;color:#173a51}dialog::backdrop{background:rgba(20,45,65,.7)}dialog video{display:block;width:100%;max-height:65dvh;background:#101b24}dialog .clip-close{display:block;margin-left:auto}.clip-error:empty{display:none}

/* Language expansion: contain long words without clipping controls. */
header>*{min-inline-size:0}select,button{max-inline-size:100%;white-space:normal}h1,h2,h3,p,button,summary{overflow-wrap:anywhere}html{font-family:system-ui,-apple-system,"Noto Sans",sans-serif}dialog{box-sizing:border-box}

.asset{color:#506979}

/* Royal blue and sharply defined solar accents; text remains on light surfaces. */
:root{--royal:#1748c7;--solar:#ffb900;--sunset:#fa7816}
h1,h2,h3,.name,.brand{color:var(--royal)}
.hero{background:radial-gradient(ellipse at 92% 0%,#ffdc6a88,transparent 33%),linear-gradient(160deg,#e6efff,#fff 56%)}
.hero::before{background:linear-gradient(135deg,#ffdf37,#ff9c00);box-shadow:0 0 70px 24px #ffc40033}
body[data-sky=sunset] .hero{background:radial-gradient(ellipse at 90% 5%,#ffb64eaa,transparent 32%),linear-gradient(160deg,#dce6ff,#fff 55%)}
body[data-sky=sunset] .hero::before{background:linear-gradient(145deg,#ffc426,#f87818);box-shadow:0 0 70px 25px #ff972d44}
.character::before,.video::before,section+section::before{background:var(--solar)}
.character.nora::before{background:var(--royal)}
.steps [aria-pressed=true]{background:var(--royal)}
.video-box{border-color:#5275cb;background:linear-gradient(135deg,#eef3ff,#fff7dd);color:#1748a7}
.dialogue-player{border-block:1px solid #b6c8ed;background:linear-gradient(100deg,#f3f6ff,#fffaf0);padding-inline:clamp(1rem,4vw,3rem);border-radius:1.5rem}
.dialogue-controls{display:flex;flex-wrap:wrap;gap:.7rem}.dialogue-controls button{border-color:#5275cb;color:#1748a7;background:white}
.dialogue-controls [aria-pressed=true]{background:#1748c7;color:white}
.moving .hero::after{animation:cloud-drift 4s ease-in-out 1}.moving .hero::before{animation:sunrise 4s ease-out 1}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after{animation:none!important;transition:none!important}}
/* Royal v2: original colour treatment; no third-party identity or logo. */
:root{--royal:#1646c8;--solar:#ffdc00;--sunset:#ff6200}
.bar{border-bottom:5px solid var(--royal);background:#fff}
.brand{font-weight:800;letter-spacing:.04em}
.hero{border-top:9px solid var(--royal);background:radial-gradient(ellipse at 94% 8%,#ffdc0080,transparent 35%),linear-gradient(120deg,#e4ecff,#fff 66%)}
.hero::before{background:linear-gradient(145deg,#ffdc00 25%,#ff9600);box-shadow:0 0 75px 20px #ffdc0030}
body[data-sky=sunset] .hero{background:radial-gradient(ellipse at 92% 8%,#ff620066,transparent 36%),linear-gradient(125deg,#dfe8ff,#fff 64%)}
body[data-sky=sunset] .hero::before{background:linear-gradient(140deg,#ffdc00,#ff6200);box-shadow:0 0 75px 20px #ff620030}
h1,h2,h3,.name{color:var(--royal)}
#swap,#sky,.steps [aria-pressed=true],.clip-close{background:var(--royal);color:#fff;border-color:var(--royal)}
#sky[aria-pressed=true]{background:var(--solar);border-color:var(--royal);color:#132957}
.video-box{background:var(--royal);border:2px solid var(--royal);border-bottom:5px solid var(--solar);color:#fff;box-shadow:0 8px 18px #1646c81a}
.video-box:hover,.video-box:focus-visible{background:#11379e;color:#fff}
.character,.character.nora{border-top:5px solid var(--royal)}
.character::before,.character.nora::before{height:5px;width:72px;background:var(--solar)}
.character.nora::before{background:var(--sunset)}
.dialogue-player{background:#1646c8;border-color:#1646c8;border-top:6px solid var(--solar);color:#fff}
.dialogue-player h2,.dialogue-player p{color:#fff}
.dialogue-controls button{background:#fff;color:#1646c8;border:2px solid #fff}
.dialogue-controls button:disabled{opacity:1;background:#e8eeff;color:#38527c;cursor:not-allowed}
.panel{border-inline-start:5px solid var(--sunset);background:#fffaf4;color:#173a51}
.video::before,section+section::before{background:var(--sunset);height:4px;width:64px}
.chat{border-top:5px solid var(--royal);background:linear-gradient(110deg,#eff3ff,#fff)}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #102e84;outline-offset:4px}
.dialogue-player button:focus-visible{outline-color:#ffdc00}
/* Final character palette: exact garment samples, see garment-palette.json. */
:root{--milo-beige:#fef2e1;--milo-blue:#95b8e0;--nora-blue:#0e3c7d;--nora-orange:#fc6715;--royal:var(--nora-blue);--solar:var(--milo-beige);--sunset:var(--nora-orange)}
body{background:#fff;color:var(--nora-blue)}
h1,h2,h3,.name,.brand,.lead{color:var(--nora-blue)}
.bar{border-bottom-color:var(--nora-blue)}
.hero{border-top-color:var(--nora-blue);background:linear-gradient(120deg,var(--milo-blue),#fff 65%)}
.hero::before{background:var(--milo-beige);box-shadow:0 0 70px 20px #fef2e166}
.hero::after{background:var(--milo-beige)}
body[data-sky=sunset] .hero{background:linear-gradient(125deg,var(--milo-beige),#fff 65%)}
body[data-sky=sunset] .hero::before{background:var(--nora-orange);box-shadow:0 0 70px 20px #fc671533}
.hero h1,.hero .lead,.hero .kicker{position:relative;background:#ffffffeb;border-radius:.3rem;width:fit-content;padding:.15em .25em}
.video{border-color:var(--milo-blue)}
#swap,#sky,.steps [aria-pressed=true],.clip-close{background:var(--nora-blue);border-color:var(--nora-blue);color:#fff}
#sky[aria-pressed=true]{background:var(--milo-beige);border-color:var(--nora-blue);color:var(--nora-blue)}
.video-box{background:var(--nora-blue);color:#fff;border-color:var(--nora-blue);border-bottom-color:var(--nora-orange)}
.video-box:hover,.video-box:focus-visible{background:var(--nora-blue);border-bottom-color:var(--milo-blue)}
.character.milo{background:var(--milo-beige);border-color:var(--milo-blue);border-top-color:var(--milo-blue)}
.character.milo::before{background:var(--milo-blue)}
.character.nora{background:var(--nora-blue);border-color:var(--nora-blue);border-top-color:var(--nora-orange);color:#fff}
.character.nora h3,.character.nora .name,.character.nora .asset,.character.nora summary,.character.nora p{color:#fff}
.character.nora::before{background:var(--nora-orange)}
.character.nora details{border-color:var(--milo-blue)}
.dialogue-player{background:var(--nora-blue);border-color:var(--nora-blue);border-top-color:var(--nora-orange)}
.dialogue-controls button,.dialogue-controls button:disabled{background:var(--milo-beige);color:var(--nora-blue);border-color:var(--milo-beige)}
.panel{background:var(--milo-beige);border-inline-start-color:var(--nora-orange);color:var(--nora-blue)}
.chat{background:linear-gradient(115deg,var(--milo-beige),#fff);border-color:var(--milo-blue);border-top-color:var(--nora-blue)}
.video::before,section+section::before{background:var(--nora-orange)}
.status{background:var(--milo-beige);color:var(--nora-blue);border-color:var(--milo-blue)}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--nora-blue)}
.character.nora summary:focus-visible,.dialogue-player button:focus-visible{outline-color:var(--milo-beige)}
button,select,textarea{border-color:var(--nora-blue)}
button,summary,.video p,.asset,figcaption{color:var(--nora-blue)}
.character.nora summary,.character.nora .asset,.dialogue-player p{color:white}
@keyframes panel-accent{from{transform:translateX(4px);background:var(--milo-beige)}to{transform:none;background:var(--milo-beige)}}
.portrait-window{width:153.6px;height:125px;background-size:768px 512px;background-repeat:no-repeat;border-radius:18px;margin-block:.8rem;background-color:white;border:1px solid var(--milo-blue)}
.portrait-milo{background-image:url('../milo-nora-assets/milo-15-expressions-v1.png')}
.portrait-nora{background-image:url('../milo-nora-assets/nora-15-expressions-v1.png')}
.portrait-state{font-size:.8rem;min-height:2.7em}
.moving .portrait-window{transition:box-shadow .2s ease}
.moving .portrait-window[data-phase=explaining]{box-shadow:0 0 0 3px var(--milo-blue)}
@media(prefers-reduced-motion:reduce){.portrait-window{transition:none!important}}

.country-companions{padding-block:2.5rem 1rem}.country-companions::before{display:none}

/* Visible atmospheric stage: motion starts only when system preferences permit. */
.hero::before,.hero::after{display:none!important}
.atmosphere{position:relative;isolation:isolate;overflow:hidden;height:170px;border-radius:1rem;background:linear-gradient(180deg,var(--milo-blue),var(--milo-beige));margin-bottom:1rem;pointer-events:none}
.sky-sun{position:absolute;width:74px;height:74px;right:14%;top:36px;border-radius:50%;background:var(--nora-orange);box-shadow:0 0 40px #fc671540}
.sky-cloud{position:absolute;width:150px;height:35px;left:16%;top:95px;border-radius:50%;background:var(--milo-beige);box-shadow:24px -13px 0 1px var(--milo-beige),66px -7px 0 -4px var(--milo-beige)}
.cloud-two{left:65%;top:135px;width:100px;opacity:.85}
body[data-sky=sunset] .atmosphere{background:linear-gradient(180deg,var(--nora-blue),var(--milo-blue) 55%,var(--milo-beige))}
body[data-sky=sunset] .sky-sun{top:85px}
.sky-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}.sky-controls p{font-size:.8rem;margin:0}.sky-controls button{background:var(--nora-blue);color:white;border-color:var(--nora-blue)}
.moving .sky-sun{animation:solar-flight 14s ease-in-out infinite alternate;transition:top 2s ease-in-out}
.moving .cloud-one{animation:cloud-flight 12s ease-in-out infinite alternate}
.moving .cloud-two{animation:cloud-flight 18s ease-in-out infinite alternate-reverse}
@keyframes solar-flight{from{transform:translate(-12px,12px)}to{transform:translate(16px,-18px)}}
@keyframes cloud-flight{from{transform:translateX(-35px)}to{transform:translateX(60px)}}
@media(max-width:660px){.atmosphere{height:150px}.sky-cloud{left:5%}.cloud-two{left:62%}.sky-controls{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.sky-sun,.sky-cloud{animation:none!important;transition:none!important;transform:none!important}}
.moving .cloud-one,.moving .cloud-two{animation-timing-function:linear}

.country-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.4rem}.country-checks label{display:flex;align-items:center;gap:.6rem;min-height:44px;overflow-wrap:anywhere}.country-checks input{width:1.2rem;height:1.2rem;flex-shrink:0;accent-color:var(--nora-blue)}.multi-country fieldset{border:1px solid var(--milo-blue);border-radius:1rem;padding:1rem;min-width:0}.natural-question{display:block;margin-top:1.5rem}.multi-country textarea{background:#fff;color:var(--nora-blue)}

.coverage-panel dl{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.8rem}.coverage-panel dd{margin:0;font-weight:600}.coverage-panel dt,.coverage-panel dd{overflow-wrap:anywhere}.coverage-panel{border-top:4px solid var(--milo-blue)}

.verified-sample{border-top:4px solid var(--nora-orange)}.verified-sample input{font:inherit;padding:.7rem;max-width:100%;border:1px solid var(--nora-blue);border-radius:.5rem}.verified-sample blockquote{margin:1rem 0;padding:1rem;background:var(--milo-beige);overflow-wrap:anywhere}.verified-sample article{margin-block:1.5rem}.verified-sample a{overflow-wrap:anywhere}

.supplementary-table{overflow-x:auto}.supplementary-table table{border-collapse:collapse;width:100%;font-size:.85rem}.supplementary-table th,.supplementary-table td{text-align:start;padding:.65rem;border-bottom:1px solid var(--milo-blue)}.supplementary-reception{border-top:4px solid var(--nora-orange)}

/* Country navigation: preserve readable spacing at mobile widths. */
#country-workspace > label[for="country"]{display:block;margin-bottom:.65rem}
#country-workspace > select{max-width:100%;margin-bottom:.65rem}
#journey-status article{margin-block:1.25rem;overflow-wrap:anywhere}

/* Palette approved by Christophe, 27 October: the character cards are the reference. */
main a,footer a{color:var(--nora-blue);text-decoration-color:var(--nora-orange);text-underline-offset:.2em}
main a:hover,footer a:hover{text-decoration-thickness:3px;background:var(--milo-beige)}
input,textarea,select{color:var(--nora-blue);accent-color:var(--nora-blue)}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--nora-blue);outline-offset:3px}
::selection{color:var(--nora-blue);background:var(--milo-beige)}

.project-scope{max-width:65ch;line-height:1.65}.companion-welcome{font-size:1rem;line-height:1.6}.welcome-status{display:block;font-size:.75rem;opacity:.85;margin-bottom:1rem}.collection-details{border:1px solid var(--milo-blue);padding:1.2rem;border-radius:1rem;margin-block:2rem}.collection-details>summary{font-weight:700;cursor:pointer}
/* Visual refinement: quiet sky depth, no change to editorial content. */
.atmosphere{isolation:isolate;overflow:hidden;pointer-events:none}
.sky-sun::after{content:"";position:absolute;inset:-18px;border:1px solid #fc671540;border-radius:50%;box-shadow:0 0 0 12px #fc671514;pointer-events:none}
.sky-cloud{filter:drop-shadow(0 6px 8px #0e3c7d18)}
.sky-sun{animation:solar-flight 14s ease-in-out infinite alternate;animation-play-state:paused}
.cloud-one{animation:cloud-flight 12s linear infinite alternate;animation-play-state:paused}
.cloud-two{animation:cloud-flight 18s linear infinite alternate-reverse;animation-play-state:paused}
.moving .sky-sun,.moving .cloud-one,.moving .cloud-two{animation-play-state:running}
.character{box-shadow:0 12px 36px #0e3c7d0d}
.character:focus-within{outline:2px solid var(--nora-blue);outline-offset:5px}
button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--nora-blue);outline-offset:4px}
button,select,summary{touch-action:manipulation}
.sky-controls button{min-height:44px}
@media(prefers-reduced-motion:reduce){.sky-sun,.cloud-one,.cloud-two{animation:none!important;transition:none!important}}

/* Layout and interaction refinement, 27 October. */
html{scroll-padding-top:7rem}
.hero h1{max-width:19ch;text-wrap:balance;letter-spacing:-.035em;line-height:1.08}
.hero .lead{max-width:62ch;text-wrap:pretty}
.video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#0e3c7d;border-radius:1rem}
main>section{scroll-margin-top:7rem}
.character{min-width:0}
.character p,.panel p{overflow-wrap:anywhere}
.character.nora a{color:#fff;text-decoration-color:var(--nora-orange)}
.character.nora :focus-visible{outline-color:var(--milo-beige)}
.character.nora a:hover{color:var(--nora-blue)}
button:not(:disabled),select,summary{min-height:44px}
button:disabled{cursor:not-allowed}
@media(max-width:660px){
 .bar{gap:.75rem;flex-wrap:wrap}
 .bar>div{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;max-width:100%}
 .bar select{max-width:100%;min-width:0}
 .hero h1{font-size:clamp(2rem,9vw,3.4rem);max-width:100%}
 .section-heading{flex-wrap:wrap;gap:1rem}
 .duo{grid-template-columns:minmax(0,1fr)}
 .steps{flex-wrap:wrap}
 .steps button{flex:1 1 130px}
 .coverage-panel dl{grid-template-columns:minmax(0,1fr)}
 .coverage-panel dd{margin-bottom:.75rem}
}
@media(prefers-reduced-motion:no-preference){
 .character{transition:box-shadow .2s ease,transform .2s ease}
 .character:focus-within{transform:translateY(-2px)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.character:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0e3c7d18}}

/* Entrée éditoriale : contenu et portraits disponibles sans JavaScript. */
.editorial-entry,.editorial-bridge{position:relative;max-width:1200px;margin:28px auto;padding:clamp(24px,4vw,52px);background:#fffdf8;border:1px solid #95b8e0;border-radius:28px;color:#0e3c7d}.editorial-entry h1{font-size:clamp(32px,4.6vw,62px);line-height:1.08;max-width:1000px;margin:18px 0}.entry-label{color:#a94208;font-weight:750;letter-spacing:.09em;text-transform:uppercase;font-size:13px}.entry-lead{font-size:clamp(18px,2vw,23px);line-height:1.6;max-width:950px}.entry-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.entry-actions a,.editorial-bridge>a{display:inline-block;padding:14px 20px;border-radius:12px;background:#0e3c7d;color:white;text-decoration:none;font-weight:700}.entry-actions a:first-child{background:#fc6715;color:#15223c}.entry-guides{display:grid;grid-template-columns:1fr 1fr;gap:20px}.entry-guides article{display:flex;align-items:center;gap:20px;padding:24px;border-radius:20px;background:#fef2e1;border-top:5px solid #95b8e0}.entry-guides article:nth-child(2){background:#0e3c7d;color:white;border-color:#fc6715}.entry-guides h2{font-size:22px;color:inherit}.entry-guides p{font-size:17px;line-height:1.5}.entry-guides a{color:inherit;text-decoration:underline}.entry-face{flex:0 0 154px;width:154px;height:125px;background-size:768px 512px;background-repeat:no-repeat;border-radius:16px;background-color:white}.milo-face{background-image:url('../milo-nora-assets/milo-15-expressions-v1.png');background-position:0 -32.5px}.nora-face{background-image:url('../milo-nora-assets/nora-15-expressions-v1.png');background-position:0 -27.5px}.entry-status{border-left:4px solid #fc6715;padding:12px 16px;margin-top:22px;font-size:15px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.editorial-bridge p{line-height:1.65}.editorial-entry a:focus-visible,.editorial-bridge a:focus-visible{outline:3px solid #fc6715;outline-offset:5px}@media(max-width:900px){.entry-guides{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr}}@media(max-width:480px){.entry-guides article{flex-direction:column;align-items:flex-start}.editorial-entry,.editorial-bridge{margin:16px 8px;padding:22px}.entry-actions a{width:100%}}

/* Editorial entry: keep the approved content compact above the working tools. */
.editorial-entry{padding-block:clamp(24px,3vw,40px)}.entry-guides article{padding:18px;gap:16px}.entry-guides h2{margin:0 0 .5rem}.entry-guides p{margin:.4rem 0 .8rem}.entry-status{margin-bottom:0}.hero .project-scope[hidden],.hero .lead[hidden]{display:none}.hero{padding-block:2rem}.hero>h2{margin-top:0}.hero .video{margin-top:1rem}

/* Local browser clock: decorative 06:00–18:00 solar arc, not astronomical data. */
.atmosphere .sky-sun{right:auto;animation:none!important;transform:none;transition:none}
.moving .atmosphere .sky-sun{transition:left 60s linear,top 60s linear,opacity 2s}
.atmosphere[data-period=night]{background:linear-gradient(180deg,#132c54,#42618c)}
.atmosphere[data-period=dawn],.atmosphere[data-period=sunset]{background:linear-gradient(180deg,#95bce2,#ffce99)}
@media(prefers-reduced-motion:reduce){.moving .atmosphere .sky-sun{transition:none!important}}

/* Sky belongs to the video backdrop, not a separate banner. */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero > .atmosphere{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:inherit;z-index:-1}
.hero::before,.hero::after{display:none}
.hero > .sky-controls{display:none}
.hero > video{position:relative;z-index:1}
.hero .sky-sun{width:74px;height:74px}

/* Header motion control removed at user request; OS reduced motion retained. */
#motion[hidden]{display:none!important}

/* Compact status while an audio recording is awaiting review. */
.dialogue-player.dialogue-pending{padding:1.25rem 1.5rem;min-height:0;margin-block:1.25rem;border-radius:1rem}
.dialogue-player.dialogue-pending h2{font-size:1.3rem;margin:0 0 .5rem}
.dialogue-player.dialogue-pending .dialogue-note{font-size:1rem;line-height:1.6;margin:0;max-width:75ch}
