@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/literata-latin-400-normal-CLtNJ872.woff2)format("woff2"),url(/assets/literata-latin-400-normal-CUhpYSl8.woff)format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/literata-latin-500-normal-Dbph1WrK.woff2)format("woff2"),url(/assets/literata-latin-500-normal-B-T_MU67.woff)format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/literata-latin-600-normal-A9sHopYh.woff2)format("woff2"),url(/assets/literata-latin-600-normal-BFEFPlMO.woff)format("woff")}@font-face{font-family:Playwrite FR Moderne;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playwrite-fr-moderne-latin-400-normal-Hrzkzxmx.woff2)format("woff2"),url(/assets/playwrite-fr-moderne-latin-400-normal-BpbyM6As.woff)format("woff")}:root{--bg:#f6f4ef;--panel:#efece4;--sidebar:#fff;--sidebar-line:#e2ddd2;--text:#23211d;--quiet:#6e685d;--line:#e2ddd2;--learner:#1f332c;--learner-text:#f6f1e6;--elise:#fff;--note:#efece4;--fix-bg:#f8f1e1;--fix-line:#c9a35a;--fix-text:#7d5c22;--strike:#b4533a;--marker:color-mix(in srgb, var(--fix-line) 45%, transparent);--emerald:#1f332c;--emerald-light:#2a4339;--on-emerald:#f6f1e6;--accent-ink:#1f332c;--gold:#a07a35;--gold-soft:#a07a351f;--walk-surface:var(--elise);--walk-text:var(--text);--walk-quiet:var(--quiet);--walk-line:var(--line);--walk-hover:color-mix(in srgb, var(--text) 7%, transparent);--walk-accent:var(--frame);--halo-emerald:#2f6e5647;--halo-gold:#c496464d;--sky-morning:transparent;--sky-day:transparent;--sky-evening:transparent;--slate:#1f332c;--slate-light:#2a4339;--chalk:#f1ebdf;--chalk-green:#a8d8c4;--chalk-yellow:#ecd27e;--chalk-rose:#f0b8a8;--sparkle:#fff6c8;--night-top:#1d2741;--night-low:#3a3f6b;--night-horizon:#6b5a7a;--frame:#1f332c;--note-text:#4d463b;--error-bg:#fde8e4;--error-text:#8a2415;--rec:#c0392b;--star:#f0b429;--hover-delay:90ms;--font-hand:"Playwrite FR Moderne", cursive;--font-read:"Literata", Georgia, serif;--font-ui:system-ui, -apple-system, "Helvetica Neue", sans-serif;--text-xs:.75rem;--text-s:.85rem;--text-m:.92rem;--text-base:1rem;--text-l:1.15rem;--text-xl:1.4rem;--text-2xl:1.6rem;--text-display:2.6rem;--radius-xs:4px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-xl:24px;--radius-pill:999px;--shadow-s:0 1px 3px #23211d24;--shadow-m:0 1px 2px #23211d0d, 0 6px 18px #23211d14;--shadow-l:0 2px 4px #23211d0f, 0 16px 36px #23211d21;--shadow-lift-s:0 6px 16px -8px #00000080;--shadow-lift-l:0 18px 40px -16px #0009;--glass:#26211d99;--glass-learner:#266050b8;--glass-fix:#423110a3;--glass-edge:#fff3;--glass-sheen:linear-gradient(180deg, #ffffff1a, #ffffff05 42%, #0000000f);--glass-depth:inset 0 1px 0 #ffffff47, inset 0 -1px 0 #00000052, 0 2px 0 #00000047, 0 18px 36px -16px #000000b3;--glass-blur:blur(18px) saturate(1.35);--dur-1:.15s;--dur-2:.2s;--dur-3:.32s;--dur-4:.45s;--ease-out:cubic-bezier(.3, .7, .3, 1);--ease-spring:cubic-bezier(.3, 1.4, .5, 1);--ease-bounce:cubic-bezier(.3, 1.8, .5, 1);--ease-in-out:cubic-bezier(.45, 0, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171614;--panel:#211f1c;--sidebar:#211f1c;--sidebar-line:#2e2b27;--text:#f1ebdf;--quiet:#a59d8f;--line:#2e2b27;--learner:#3d6b59;--learner-text:#f1ebdf;--elise:#211f1c;--note:#2a2824;--fix-bg:#2a2418;--fix-line:#8f7334;--fix-text:#e6c27a;--strike:#e08a6f;--marker:color-mix(in srgb, var(--fix-text) 34%, transparent);--emerald:#1f332c;--emerald-light:#2a4339;--on-emerald:#f1ebdf;--accent-ink:#8fc4ad;--gold:#d4a94f;--gold-soft:#d4a94f1a;--walk-surface:#2a3544;--walk-text:#e8eaed;--walk-quiet:#9ca5b3;--walk-line:#e8eaed1a;--walk-hover:#e8eaed14;--walk-accent:#a8d8c4;--halo-emerald:#8fc4ad38;--halo-gold:#d4a94f33;--sky-night:transparent;--frame:#1f332c;--moon:#e4e7ee;--note-text:#d3ccc0;--error-bg:#46211b;--error-text:#ffc9bf;--rec:#d9503f;--shadow-s:0 1px 3px #0006;--shadow-m:0 1px 2px #0000004d, 0 6px 18px #00000047;--shadow-l:0 2px 4px #00000059, 0 16px 40px #0000006b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;transition:scale var(--dur-1) var(--ease-out)}button:active:not(:disabled){scale:.96}:is(.lesson,.scene-tile,.chalk-button,.new,.scene-done-go):active:not(:disabled){scale:.985}button:disabled{cursor:default;opacity:.55}.sign-in{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100dvh;padding:24px 20px 12vh;display:flex}.sign-in h1{font-size:var(--text-2xl);margin:0 0 6px;font-weight:600}.sign-in p{max-width:42ch;color:var(--quiet);margin:0 0 14px;line-height:1.5}.sign-in form{flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex}.sign-in input{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--elise);width:100%;color:var(--text);font:inherit;padding:12px 14px}.sign-in button{border-radius:var(--radius-m);background:var(--learner);width:100%;color:var(--learner-text);font:inherit;border:0;margin-top:10px;padding:12px 14px;font-weight:600}.sign-in .sign-in-sent{color:var(--text)}.sign-in .error{margin:14px 0 0}.layout{--sidebar-column:var(--sidebar-open,260px);--sidebar-inset:10px;grid-template-columns:var(--sidebar-column) 1fr;height:100vh;transition:grid-template-columns var(--dur-3) var(--ease-out);display:grid}.layout[data-sidebar=closed]{--sidebar-column:64px}.layout[data-resizing]{cursor:col-resize;-webkit-user-select:none;user-select:none;transition:none}.layout[data-resizing] .sidebar{transition:none}.sidebar{z-index:20;width:calc(var(--sidebar-column) - var(--sidebar-inset));min-height:0;margin:var(--sidebar-inset) 0 var(--sidebar-inset) var(--sidebar-inset);transition:width var(--dur-3) var(--ease-out), padding var(--dur-3) var(--ease-out), opacity var(--dur-2) ease, box-shadow var(--dur-3);--line:var(--sidebar-line);background:var(--sidebar);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-m);flex-direction:column;padding:18px 12px 0;display:flex;position:relative}.sidebar-head{align-items:center;margin-bottom:10px;display:flex}.sidebar h1{min-width:0;font-size:var(--text-base);letter-spacing:.01em;flex:1;margin:0 8px;font-weight:600;overflow:hidden}.sidebar-toggle{border-radius:var(--radius-s);width:36px;height:36px;color:var(--quiet);transition:background var(--dur-2), color var(--dur-2);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.sidebar-toggle:hover{background:var(--line);color:var(--text)}.sidebar-label{white-space:nowrap;transition:opacity var(--dur-2) ease}.sidebar[data-closed] .sidebar-label{opacity:0}.sidebar[data-closed] h1{margin:0}.new svg,.rubric svg{flex:none}.sidebar-lists{transition:opacity var(--dur-2) ease, visibility var(--dur-2)}.sidebar[data-closed] .sidebar-lists{opacity:0;visibility:hidden}.sidebar[data-closed] .sidebar-footer{justify-content:center}@media (width>=721px){.sidebar[data-closed]:not([data-peek]){padding-inline:8px}}.sidebar[data-peek]{width:calc(var(--sidebar-open,260px) - var(--sidebar-inset));box-shadow:var(--shadow-l)}.sidebar-resize{z-index:1;cursor:col-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:-4px}.sidebar-resize:after{content:"";width:2px;transition:background var(--dur-2);background:0 0;position:absolute;top:0;bottom:0;left:3px}.sidebar-resize:focus-visible{outline:none}.sidebar-resize:hover:after,.sidebar-resize:focus-visible:after,.layout[data-resizing] .sidebar-resize:after{background:var(--learner)}.sidebar-resize:hover:after{transition-delay:var(--hover-delay)}@media (prefers-reduced-motion:reduce){.layout,.sidebar,.sidebar-label,.sidebar-lists{transition:none}}.sidebar ul{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.sidebar-footer{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;margin:0 -12px;padding:8px 10px 10px;display:flex;position:relative}.sidebar-streak-wrap{position:relative}.sidebar-streak{border-radius:var(--radius-pill);color:var(--quiet);font-size:var(--text-s);background:0 0;border:0;align-items:center;gap:5px;margin:0;padding:6px 8px;font-weight:500;display:flex}.sidebar-streak:hover,.sidebar-streak-wrap:focus-within .sidebar-streak{background:var(--panel)}.sidebar-streak[data-on]{color:var(--fix-text)}.sidebar-streak[data-on] .flame-outer{fill:var(--gold)}.sidebar-streak .streak-flame{flex:none}.sidebar-streak-card{z-index:30;opacity:0;visibility:hidden;width:380px;max-width:calc(100vw - 32px);transition:opacity var(--dur-2) ease, translate var(--dur-2) var(--ease-out), visibility var(--dur-2);position:absolute;bottom:calc(100% + 10px);left:-4px;translate:0 6px}.sidebar-streak-card:after{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.sidebar-streak-card .streak{box-shadow:var(--shadow-l)}.sidebar-streak-wrap:hover .sidebar-streak-card,.sidebar-streak-wrap:focus-within .sidebar-streak-card{opacity:1;visibility:visible;transition-delay:var(--hover-delay);translate:0}@media (prefers-reduced-motion:reduce){.sidebar-streak-card{transition:none}}.sidebar[data-closed] .sidebar-streak-wrap{display:none}.sidebar-footer .choice{position:static}.sidebar-footer .choice-menu{width:288px;left:8px;right:auto}.sidebar-gear{width:36px;height:36px;color:var(--quiet);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.sidebar-gear:hover:not(:disabled),.sidebar-gear[aria-expanded=true]{background:var(--line);color:var(--text)}.sidebar-gear svg{transition:transform .78s var(--ease-out)}.sidebar-gear:hover:not(:disabled) svg{transition-delay:var(--hover-delay);transform:rotate(60deg)}.settings-menu .setting-row,.settings-menu [role=menuitemradio]{font-size:var(--text-s);color:var(--text);line-height:1.35}.settings-menu .setting-row{flex-direction:row;align-items:center;gap:12px;width:100%;padding:8px 10px}.settings-menu .setting-row[aria-checked]:before{content:none}.setting-icon{width:20px;color:var(--quiet);flex:none;place-items:center;display:grid}.setting-text{flex-direction:column;flex:1;min-width:0;display:flex}.setting-value{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-xs);color:var(--quiet);overflow:hidden}.setting-row>svg{color:var(--quiet);flex:none}.setting-back{margin-bottom:2px;font-weight:500}.setting-switch{border-radius:var(--radius-s);background:var(--line);width:30px;height:18px;transition:background var(--dur-1);flex:none;position:relative}.setting-switch:after{content:"";width:14px;height:14px;box-shadow:var(--shadow-s);transition:transform var(--dur-1);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}[aria-checked=true]>.setting-switch{background:var(--learner)}[aria-checked=true]>.setting-switch:after{transform:translate(12px)}@media (prefers-reduced-motion:reduce){.setting-switch,.setting-switch:after{transition:none}}.new{border-radius:var(--radius-s);background:var(--emerald);width:100%;color:var(--on-emerald);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-ink) 35%, transparent);font-size:var(--text-s);transition:transform var(--dur-2) ease, box-shadow var(--dur-2) ease;border:1px solid #0000;align-items:center;gap:8px;padding:7px 9px;font-weight:500;display:flex;overflow:hidden}.new:hover:not(:disabled){box-shadow:var(--shadow-m);transition-delay:var(--hover-delay);transform:translateY(-1px)}.new:active:not(:disabled){transition-delay:0s}.new .icon-ink{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .58s}.new .icon-pen{transition:transform .58s}.new:hover:not(:disabled) .icon-ink,.new:hover:not(:disabled) .icon-pen{transition-delay:var(--hover-delay)}.new:hover:not(:disabled) .icon-ink{stroke-dashoffset:0}.new:hover:not(:disabled) .icon-pen{transform:translate(4px)}.lesson{border-radius:var(--radius-s);text-align:left;width:100%;font-size:var(--text-s);background:0 0;border:0;flex-direction:column;align-items:flex-start;padding:7px 10px;line-height:1.35;display:flex}.lesson[aria-current=true]{font-weight:500}.lesson:hover:not(:disabled){background:var(--panel)}.lesson[aria-current=true]{background:color-mix(in srgb, var(--accent-ink) 12%, transparent)}.quiet{color:var(--quiet)}.walk-list{gap:6px;padding:12px 0;display:grid}.walk-list-title{font-family:var(--font-read);font-size:var(--text-base);margin:0;padding:0 10px;font-weight:500}.walk-stages{grid-template-columns:repeat(6,1fr);gap:4px;margin:2px 10px 0;padding:0;list-style:none;display:grid}.walk-stages li{background:var(--line);border-radius:4px;height:4px;position:relative;overflow:hidden}.walk-stages li[data-current]{background:color-mix(in srgb, var(--gold) 28%, var(--line))}.walk-stages li:after{content:"";width:var(--done);border-radius:inherit;background:var(--gold);position:absolute;inset:0 auto 0 0}.walk-list-stage{color:var(--quiet);font-size:var(--text-xs);margin:0;padding:0 10px}.walk-list-stage b{color:var(--fix-text);font-weight:600}.walk-stops{gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid}.walk-stop{border-radius:var(--radius-s);width:100%;color:var(--text);font:inherit;font-size:var(--text-s);text-align:left;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.walk-stop:hover:not(:disabled){background:color-mix(in srgb, var(--text) 6%, transparent)}.walk-stop[aria-current]{background:color-mix(in srgb, var(--text) 9%, transparent);font-weight:500}.walk-stop-mark{border:1.5px solid var(--line);width:22px;height:22px;color:var(--quiet);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.walk-stop-mark:has(svg){border-color:var(--emerald);background:var(--emerald);color:var(--on-emerald)}.walk-stop-mark svg{width:12px;height:12px}.walk-stop[data-next] .walk-stop-mark{border-color:var(--gold);color:var(--fix-text)}.walk-stop[data-locked]{color:var(--quiet)}.walk-stop[data-locked] .walk-stop-mark{border-style:dashed}.walk-stop-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.walk-stop-facts{color:var(--quiet);font-size:var(--text-xs)}.walk-stop-stars i{color:var(--line);letter-spacing:1px;font-style:normal}.walk-stop-stars i[data-on]{color:var(--gold)}.lesson-pane{--column:800px;--gutter:max(20px, calc((100% - var(--column)) / 2));background:var(--bg);isolation:isolate;flex-direction:column;width:100%;min-height:0;transition:background-color .7s,box-shadow .7s;display:flex;position:relative;container-type:inline-size}.lesson-pane:before{--roofs:min(100cqw - 40px, var(--column));--sky:var(--sky-day);content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle 720px at calc(50% + var(--roofs) * .406) calc(14px + var(--roofs) * .03), color-mix(in srgb, var(--sky) 70%, transparent), color-mix(in srgb, var(--sky) 42%, transparent) 20%, color-mix(in srgb, var(--sky) 20%, transparent) 42%, color-mix(in srgb, var(--sky) 7%, transparent) 68%, transparent);transition:--sky 2s;position:absolute;inset:0}@property --sky{syntax:"<color>";inherits:false;initial-value:#0000}.lesson-pane[data-sky=morning]:before{--sky:var(--sky-morning)}.lesson-pane[data-sky=evening]:before{--sky:var(--sky-evening)}.lesson-pane[data-sky=night]:before{--sky:var(--sky-night)}.turns{min-height:0;padding:20px var(--gutter) calc(var(--dock,0px) + 12px);scroll-padding-bottom:calc(var(--dock,0px) + 12px);flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 28px);mask-image:linear-gradient(#0000 0,#000 28px)}.bubble{border-radius:var(--radius-l);overflow-wrap:anywhere;max-width:80%;margin:0;padding:9px 14px}.learner{background:var(--learner);color:var(--learner-text);border-bottom-right-radius:var(--radius-xs);box-shadow:0 6px 16px -6px color-mix(in srgb, var(--learner) 55%, transparent);align-self:flex-end}:root[data-theme=dark] .bubble.learner{background:var(--emerald);color:var(--on-emerald);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent-ink) 28%, transparent), 0 6px 16px -6px #0000008c}.elise{background:var(--elise);border-bottom-left-radius:var(--radius-xs);box-shadow:var(--shadow-m);border:1px solid #0000;align-self:flex-start}.bubble.elise::selection{background:var(--marker);color:inherit;-webkit-text-decoration:underline 2px var(--fix-text);text-decoration:underline 2px var(--fix-text);text-underline-offset:3px}.bubble.elise ::selection{background:var(--marker);color:inherit;-webkit-text-decoration:underline 2px var(--fix-text);text-decoration:underline 2px var(--fix-text);text-underline-offset:3px}.elise-row{align-items:flex-end;gap:6px;margin-bottom:10px;display:flex}.hear{border:1px solid var(--line);width:30px;height:30px;color:var(--quiet);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;line-height:1;display:grid}.hear:hover,.hear[data-speaking]{color:var(--learner);border-color:var(--learner)}.save{border:1px solid var(--line);width:30px;height:30px;color:var(--quiet);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;line-height:1;display:grid}.save:hover,.save[data-saved]{color:var(--learner);border-color:var(--learner)}.turns .elise-row .hear,.turns .correction :is(.hear,.save){opacity:0;transition:opacity var(--dur-1)}.turns .elise-row:is(:hover,:focus-within,:nth-last-child(1 of .elise-row)) .hear,.turns .correction:is(:hover,:focus-within,:nth-last-child(1 of .correction)) :is(.hear,.save),.turns :is(.hear[data-speaking],.save[data-saved]){opacity:1}@media (hover:none){.turns .elise-row:not(:nth-last-child(1 of .elise-row)) .hear:not([data-speaking]),.turns .correction:not(:nth-last-child(1 of .correction)) :is(.hear:not([data-speaking]),.save:not([data-saved])){visibility:hidden}}.correction{border-radius:var(--radius-m);background:var(--elise);max-width:80%;box-shadow:var(--shadow-l);flex:none;align-self:flex-end;padding:0 0 10px;overflow:hidden}.correction p{margin:0}.correction>:not(.correction-head){margin-inline:14px}.correction-head{background:var(--fix-bg);border-bottom:1px solid color-mix(in srgb, var(--fix-line) 45%, transparent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fix-text);align-items:center;gap:6px;margin-bottom:8px;padding:5px 10px 5px 14px;font-weight:600;display:flex}.correction .hear,.correction .save{border-color:var(--fix-line);width:26px;height:26px;color:var(--fix-text)}.correction-head>span{flex:1}.better{font-size:var(--text-base)}.better mark{background:linear-gradient(var(--fix-text), var(--fix-text)) left bottom / 100% 2px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;font-weight:700}.correction[data-fresh=true] .better mark{animation:fix-sweep .5s var(--ease-out) .2s both}@keyframes fix-sweep{0%{background-size:0% 2px}}@media (prefers-reduced-motion:reduce){.correction[data-fresh=true] .better mark{animation:none}}.note{font-size:var(--text-m);color:var(--note-text);margin:6px 0 0;padding:0 0 0 1.1em;list-style:outside}.note[data-single=true]{padding-left:0;list-style:none}.note li+li{margin-top:2px}.note mark,mark.quote{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--fix-text);text-decoration-color:var(--fix-text);text-underline-offset:3px;background:0 0;font-weight:600}.checked{font-size:var(--text-s);align-self:flex-end;margin:0}.checked[data-waiting]{animation:1.2s ease-in-out infinite waiting-pulse}@keyframes waiting-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.checked[data-waiting]{animation:none}}.center{text-align:center;max-width:38ch;margin:auto}.start{text-align:left;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:0 20px 10vh;display:flex}.start>*{width:100%;max-width:720px}.start h2{font-family:var(--font-read);letter-spacing:-.005em;margin:6px 0 8px;font-size:1.85rem;font-weight:500;line-height:1.25}.start-question{isolation:isolate;position:relative}.start-halo{z-index:-1;pointer-events:none;background:radial-gradient(42% 46% at 34% 50%, var(--halo-emerald), transparent 72%), radial-gradient(36% 42% at 68% 46%, var(--halo-gold), transparent 72%);filter:blur(36px);animation:halo-bloom 1.8s var(--ease-out) both;position:absolute;inset:-110px -18% -130px}.start-word{animation:word-clear .65s var(--ease-out) both;animation-delay:calc(var(--i) * 55ms + 80ms);display:inline-block}.start-question+.start-how{animation:.6s .42s both start-line}@keyframes halo-bloom{0%{opacity:0;scale:.75}45%{opacity:1}to{opacity:.8;scale:1}}@keyframes word-clear{0%{opacity:0;filter:blur(6px);translate:0 5px}}@keyframes start-line{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.start-halo,.start-word,.start-question+.start-how{animation:none}}.composer-area{view-transition-name:composer}::view-transition-group(composer){animation-duration:.45s;animation-timing-function:var(--ease-out)}::view-transition-old(composer){animation-duration:.15s}::view-transition-new(composer){animation-duration:.15s}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}:root[data-theme-fade]::view-transition-old(root){animation-duration:.5s}:root[data-theme-fade]::view-transition-new(root){animation-duration:.5s}:root[data-theme-fade]::view-transition-group(composer){animation-duration:.5s}:root[data-theme-fade]::view-transition-old(composer){animation-duration:.5s}:root[data-theme-fade]::view-transition-new(composer){animation-duration:.5s}.start-how{color:var(--quiet);font-size:var(--text-base);margin:0;line-height:1.5}.start-how strong{color:var(--text);font-weight:600}.start-walk{border-radius:var(--radius-s);width:auto;color:var(--quiet);font-size:var(--text-m);text-underline-offset:3px;background:0 0;border:0;align-self:center;margin-top:14px;padding:6px 10px;text-decoration:underline}.start-walk:hover:not(:disabled){color:var(--text)}.streak{border:0;border-top:2px solid var(--gold);border-radius:var(--radius-l);background:var(--elise);box-shadow:var(--shadow-m);justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 16px;display:flex}.streak-text{min-width:0}.streak-count{color:var(--fix-text);align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.streak-line{color:var(--quiet);font-size:var(--text-s);margin:2px 0 0}.flame-outer{fill:var(--quiet)}.flame-inner{fill:var(--elise)}:is(.streak,.sidebar-streak)[data-lit] .flame-outer{fill:var(--gold)}:is(.streak,.sidebar-streak)[data-lit] .flame-inner{fill:var(--sparkle)}.streak[data-lit] .streak-flame{transform-origin:50% 90%;animation:streak-pop var(--dur-4) var(--ease-spring) both}.streak-week{flex:none;gap:6px;margin:0;padding:0;list-style:none;display:flex}.streak-week li{border:1px solid var(--line);width:26px;height:26px;color:var(--quiet);border-radius:50%;place-items:center;font-size:11px;display:grid}.streak-week li[data-practised]{background:var(--emerald);color:var(--on-emerald);border-color:#0000}.streak-week li[data-today]:not([data-practised]){border:1.5px dashed var(--gold);color:var(--fix-text)}.streak-week li[data-today][data-practised]{box-shadow:0 0 0 2px var(--elise), 0 0 0 3.5px var(--gold);animation:streak-pop var(--dur-4) var(--ease-spring) both}@keyframes streak-pop{0%{transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.streak[data-lit] .streak-flame,.streak-week li[data-today][data-practised]{animation:none}}@media (width<=560px){.streak{flex-direction:column;align-items:flex-start}}.start .composer-area{margin-top:22px}.start .error{text-align:left;width:100%;max-width:620px;margin:14px 0 0}.sidebar li{min-width:0}.lesson-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.error{border-radius:var(--radius-m);background:var(--error-bg);color:var(--error-text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.error button{border-radius:var(--radius-s);background:0 0;border:1px solid;flex:none;padding:5px 12px}.composer{border:2px solid var(--learner);border-radius:var(--radius-xl);background:var(--elise);text-align:left;box-shadow:var(--shadow-m);transition:border-color var(--dur-1);align-items:flex-end;gap:4px;padding-right:6px;display:flex}.composer[data-recording=true]{border-color:var(--rec)}:root[data-theme=dark] .composer{--learner:var(--gold);--learner-text:var(--bg);border-color:color-mix(in srgb, var(--gold) 70%, transparent)}.composer textarea{box-sizing:border-box;min-width:0;font:inherit;color:inherit;resize:none;background:0 0;border:0;outline:none;flex:1;padding:12px 4px 12px 6px;line-height:24px;overflow-y:hidden}.composer .mic{margin:-2px 0 -2px -2px}.composer .mic:after{left:0;transform:none}.composer .send{background:var(--learner);width:38px;height:38px;color:var(--learner-text);border:0;border-radius:50%;flex:none;place-items:center;margin-bottom:5px;padding:0;display:grid}.composer:has(textarea:not(:placeholder-shown)) .mic[data-state=idle]{border:2px solid var(--learner);color:var(--learner);background:0 0}.composer .send:disabled{opacity:1;background:var(--panel);color:var(--quiet)}.composer-below{text-align:left;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 6px 14px;display:grid}.composer-settings{align-items:center;gap:2px;display:flex}.composer-below .level-pill{height:30px}.composer-below .disclaimer{text-align:center;margin:0}@container (width<=600px){.composer-below{grid-template-columns:minmax(0,1fr);row-gap:2px}}.disclaimer{text-align:center;font-size:var(--text-xs);color:var(--quiet);margin:6px 0 14px}button:focus-visible,a:focus-visible,:where([tabindex]):focus-visible{outline:2px solid var(--learner);outline-offset:2px}.mic{--size:36;--radius:calc(var(--size) / 2);--ring-rest:2;--ring-max:8;width:calc(var(--size) * 1px);height:calc(var(--size) * 1px);background:var(--learner);color:var(--learner-text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:50%;flex:none;place-items:center;padding:0;line-height:1;display:grid;position:relative}.mic[data-size=large]{--size:52;--ring-max:12}.mic[data-size=medium] svg{width:18px;height:18px}.mic[data-size=small]{--size:30;--ring-max:10;border:1px solid var(--line);color:var(--quiet);background:0 0}.mic[data-size=small] svg{width:15px;height:15px}.mic[data-size=small]:hover:not(:disabled){color:var(--learner);border-color:var(--learner)}.mic[data-state=recording]{border-color:var(--rec);background:var(--rec);color:#fff}.mic[data-size=small][data-state=recording] svg{width:12px;height:12px}.mic[data-state=recording]:before{content:"";box-shadow:0 0 0 calc(var(--ring-max) * 1px) color-mix(in srgb, var(--rec) 30%, transparent);transform:scale(calc((var(--radius) + var(--ring-rest) + var(--level,0) * (var(--ring-max) - var(--ring-rest))) / (var(--radius) + var(--ring-max))));will-change:transform;pointer-events:none;border-radius:50%;transition:transform 80ms linear;position:absolute;inset:0}@media (width<=720px){.layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;max-height:40vh;margin:0}.rubrics{grid-template-columns:1fr 1fr}.sidebar,.sidebar[data-peek]{width:auto;box-shadow:none}.sidebar-resize{display:none}.sidebar[data-closed]{flex-direction:row;align-items:center;gap:4px;padding:8px 12px}.sidebar[data-closed] .sidebar-head,.sidebar[data-closed] .rubrics{margin:0}.sidebar[data-closed] h1,.sidebar[data-closed] .sidebar-lists{display:none}.sidebar[data-closed] .rubrics{gap:4px;display:flex}.sidebar[data-closed] .new,.sidebar[data-closed] .rubric{width:36px}.sidebar[data-closed] .sidebar-footer{margin:0 0 0 auto;padding:0}.sidebar-footer .choice-menu{width:min(300px,100% - 16px);inset:calc(100% + 4px) 8px auto auto}}.help-button{border-radius:var(--radius-m);height:30px;color:var(--fix-text);font-size:var(--text-s);background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:0 10px 0 6px;display:inline-flex;position:relative}.help-button:hover:not(:disabled),.help-button[aria-expanded=true]{background:var(--fix-bg)}.help-button svg{transition:transform var(--dur-3) var(--ease-spring)}.help-button:hover:not(:disabled) svg{transition-delay:var(--hover-delay);transform:translateY(-1px)rotate(-8deg)}[data-tip]:after{content:attr(data-tip);z-index:30;border-radius:var(--radius-s);background:var(--text);color:var(--bg);font-family:var(--font-ui);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-1);padding:4px 9px;font-weight:400;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tip]:hover:not(:disabled):after,[data-tip]:focus-visible:after{opacity:1}.help-button[aria-expanded=true]:after{opacity:0}.help-area{inset:0 calc(var(--gutter) - 20px);pointer-events:none;position:absolute}.help-area>*{pointer-events:auto}.help{z-index:2;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--elise);width:340px;max-width:calc(100% - 16px);box-shadow:var(--shadow-l);cursor:grab;touch-action:none;flex-direction:column;padding:10px 10px 12px 12px;animation:.16s ease-out help-in;display:flex;position:absolute}.help[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}@keyframes help-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.help{animation:none}}.help-ask{flex:none;align-items:flex-start;gap:8px;display:flex}.help-ask textarea{resize:none;min-width:0;font:inherit;color:inherit;cursor:text;background:0 0;border:0;outline:none;flex:1;padding:4px 0;line-height:1.45;overflow-y:hidden}.help-ask textarea::placeholder{color:var(--quiet)}.help-close{width:30px;height:30px;color:var(--quiet);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;line-height:1;display:grid}.help-close:hover{background:var(--panel);color:var(--text)}.help-wait,.help-error{font-size:var(--text-m);flex:none;margin:8px 0 0}.help-error{color:var(--error-text)}.help-answer{border-top:1px solid var(--line);cursor:auto;min-height:0;transition:opacity var(--dur-1);margin-top:8px;padding-top:8px;overflow-y:auto}.help-answer[data-old=true]{opacity:.5}.help-note{font-size:var(--text-m);color:var(--note-text);margin:0 0 6px}.help-say{align-items:flex-start;gap:8px;display:flex}.help-french{min-width:0;font-size:var(--text-base);overflow-wrap:anywhere;flex:1;margin:2px 0 0}.help-french[data-short=true]{font-size:var(--text-xl);font-weight:600;line-height:1.3}.lesson-pane:not(:has(.finale))>.rooftops{display:none}.rooftops{width:min(100% - 40px, var(--column));height:auto;max-height:72px;color:var(--learner);animation:rooftops-draw 1.4s var(--ease-in-out) both;flex:none;margin:14px auto 0;display:block}.rooftops-sky{transform-box:fill-box;transform-origin:50%;animation:sun-rise .8s var(--ease-out) 1.15s both}.rooftops-crater{fill:#000;fill-opacity:.09}.rooftops-sun{fill:var(--fix-bg);stroke:var(--fix-line);transition:opacity 2s}.rooftops-night{fill:var(--moon);opacity:0;transition:opacity 2s}[data-sky=night] .rooftops-sun{opacity:0}[data-sky=night] .rooftops-night{opacity:1}@keyframes rooftops-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes sun-rise{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rooftops,.rooftops-sky{animation:none}}.mic[data-state=recording]:after{opacity:0}.writing{gap:5px;padding:15px 16px;display:flex}.writing span{background:var(--quiet);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite writing-dot}.writing span:nth-child(2){animation-delay:.15s}.writing span:nth-child(3){animation-delay:.3s}@keyframes writing-dot{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.writing span{opacity:.6;animation:none}}.read-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.choice{flex:none;display:flex;position:relative}.choice-menu{z-index:3;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--elise);min-width:240px;box-shadow:var(--shadow-l);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0}.choice-menu[data-align=end]{left:auto;right:0}.choice-menu button{border-radius:var(--radius-s);text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 12px 7px 32px;display:flex;position:relative}.choice-menu button:hover,.choice-menu button:focus-visible{background:var(--panel)}.choice-menu button[aria-checked=true]:before{content:"✓";color:var(--learner);font-weight:700;position:absolute;top:7px;left:12px}.choice-detail{font-size:var(--text-s);color:var(--quiet)}.level-pill{border-radius:var(--radius-m);height:34px;color:var(--quiet);font-size:var(--text-s);white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0 10px;display:inline-flex}button.level-pill:hover:not(:disabled),.level-pill[aria-expanded=true]{background:var(--panel);color:var(--text)}.choice-empty{max-width:240px;font-size:var(--text-s);color:var(--quiet);margin:0;padding:8px 12px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--quiet) 35%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--quiet) 35%, transparent) padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--quiet) 55%, transparent)}.dock{z-index:1;padding:28px var(--gutter) 0;background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--bg) 88%, transparent) 34px);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.dock:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(6px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 30px);mask-image:linear-gradient(#0000,#000 30px)}.dock>*{pointer-events:auto}.lesson-row{--row-bg:var(--sidebar);border-radius:var(--radius-s);position:relative}.lesson-row:hover,.lesson-row[data-open]{--row-bg:var(--line);background:var(--row-bg)}.lesson-row:has(.lesson[aria-current=true]){--row-bg:color-mix(in srgb, var(--accent-ink) 12%, var(--sidebar));background:var(--row-bg)}.lesson-row .lesson,.lesson-row .lesson:is(:hover,[aria-current=true]){background:0 0}.lesson-actions{border-radius:0 var(--radius-s) var(--radius-s) 0;background:linear-gradient(to right, transparent, var(--row-bg) 18px);visibility:hidden;align-items:center;gap:2px;padding:0 5px 0 22px;display:flex;position:absolute;top:1px;bottom:1px;right:1px}.lesson-row:is(:hover,:focus-within,[data-open]) .lesson-actions{visibility:visible}.lesson-pin,.lesson-more{border-radius:var(--radius-s);width:26px;height:26px;color:var(--quiet);background:0 0;border:0;place-items:center;padding:0;display:grid}.lesson-pin:hover:not(:disabled),.lesson-more:hover:not(:disabled),.lesson-more[aria-expanded=true]{background:color-mix(in srgb, var(--quiet) 18%, transparent);color:var(--text)}.lesson-actions>*{opacity:0;transition:opacity var(--dur-1)}.lesson-row:hover .lesson-actions>*,.lesson-row:focus-within .lesson-actions>*,.lesson-row[data-open] .lesson-actions>*{opacity:1}.lesson-row[data-pinned] .lesson-pin{color:var(--accent-ink)}.lesson-row[data-renaming] .lesson-actions{display:none}.lesson-rename{box-sizing:border-box;border:1px solid var(--learner);border-radius:var(--radius-s);background:var(--elise);width:100%;font:inherit;color:inherit;outline:none;padding:8px 10px}.choice-menu[data-place=below]{top:calc(100% + 4px);bottom:auto}.choice-menu[data-kind=actions]{min-width:190px}.choice-menu[data-kind=actions] button{padding-left:12px}.choice-menu .danger{color:var(--error-text)}.lesson-group h2,.list-head h2{font-size:var(--text-xs);letter-spacing:.01em;color:var(--quiet);margin:18px 10px 4px;font-weight:500}.lesson-row[data-open]{z-index:5}.choice-row{align-items:center;gap:10px;display:flex}.choice-menu[data-kind=actions] .choice-detail{padding-left:25px}.lesson-meta{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:var(--text-xs);color:var(--quiet);font-weight:400;display:block;overflow:hidden}.look{z-index:4;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--elise);width:300px;max-width:calc(100% - 16px);max-height:60%;box-shadow:var(--shadow-l);padding:10px 10px 12px 14px;animation:.14s ease-out help-in;position:absolute;overflow-y:auto}@media (prefers-reduced-motion:reduce){.look{animation:none}}.look-head{align-items:center;gap:6px;display:flex}.look-word{min-width:0;font-size:var(--text-l);overflow-wrap:anywhere;flex:1;margin:0;font-weight:600}.look-note{font-size:var(--text-s);margin:6px 0 0}.look-base{color:var(--text);font-weight:600}.look-entry{margin-top:10px}.look-pos{font-size:var(--text-xs);color:var(--quiet);margin:0}.look-pos span{color:var(--text);font-weight:600}.look-entry ol{font-size:var(--text-m);margin:2px 0 0;padding-left:1.3em}.look-entry li+li{margin-top:1px}.look-more{font-size:var(--text-xs);color:var(--learner);background:0 0;border:0;margin:2px 0 0 1.3em;padding:0}.look-more:hover{text-decoration:underline}.look-translation{margin-top:6px}.look-english{font-size:var(--text-base);margin:0}.rubrics{gap:2px;margin-top:6px;display:grid}.rubric{border-radius:var(--radius-s);width:100%;font-size:var(--text-s);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;line-height:1.35;display:flex;position:relative;overflow:hidden}.rubric span:first-of-type{flex:1}.rubric:hover:not(:disabled){background:var(--panel)}.rubric[aria-current=page]{background:color-mix(in srgb, var(--accent-ink) 12%, transparent);color:var(--accent-ink);font-weight:500}.rubric span:first-of-type,.rubric svg,.rubric svg *{transition:transform var(--dur-4) var(--ease-spring), opacity var(--dur-2)}.rubric:hover:not(:disabled) span:first-of-type,.rubric:hover:not(:disabled) svg,.rubric:hover:not(:disabled) svg *{transition-delay:var(--hover-delay)}.rubric:hover:not(:disabled) span:first-of-type{transform:translate(3px)}.rubric:hover:not(:disabled) svg{transform:translate(1px)}.icon-dots circle{opacity:0}.rubric:hover:not(:disabled) .icon-dots circle{opacity:1}.rubric:hover:not(:disabled) .icon-dots circle:nth-child(2){transition-delay:calc(var(--hover-delay) + 90ms)}.rubric:hover:not(:disabled) .icon-dots circle:nth-child(3){transition-delay:calc(var(--hover-delay) + .18s)}.rubric:hover:not(:disabled) .icon-card-back{transform:translate(1.5px,-1.5px)}.rubric:hover:not(:disabled) .icon-card-front{transform-origin:10px 14px;transform:rotate(-4deg)}.sidebar-lists{flex:1;min-height:0;margin:0 -12px;display:flex;overflow:clip}.sidebar-list{min-width:0;min-height:0;transition:transform var(--dur-3) var(--ease-out);flex:0 0 100%;padding:0 14px 20px;overflow-y:auto}.sidebar-lists[data-view=review]>.sidebar-list{transform:translate(-100%)}@media (prefers-reduced-motion:reduce){.sidebar-list,.new,.new *,.sidebar-gear svg,.help-button svg,.rubric span,.rubric svg,.rubric svg *{transition:none}}.list-head{justify-content:space-between;align-items:center;margin:18px 4px 4px 10px;display:flex}.list-head h2{margin:0}.list-add{border-radius:var(--radius-s);width:26px;height:26px;color:var(--quiet);background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.list-add:hover{background:var(--line);color:var(--text)}.list-add:after{inset:50% calc(100% + 6px) auto auto;transform:translateY(-50%)}.list-empty{color:var(--quiet);font-size:var(--text-s);margin:6px 10px}.card-form{font-family:var(--font-ui);gap:8px;display:grid}.card-form label{gap:3px;display:grid}.card-form label>span{color:var(--quiet);font-size:var(--text-xs);font-weight:500}.card-form input{border:0;border-bottom:2px solid color-mix(in srgb, var(--chalk) 40%, transparent);min-width:0;height:2.4em;color:var(--text);font:inherit;font-size:var(--text-base);background:0 0;border-radius:0;padding:0}.card-form input:focus{border-bottom-color:var(--chalk);outline:none}.card-form-problem{color:var(--error-text);font-size:var(--text-s);margin:0}.card-form-actions{justify-content:flex-end;gap:6px;display:flex}.card-form-actions button{border:1px solid var(--line);border-radius:var(--radius-s);font-size:var(--text-s);background:0 0;padding:5px 11px}.card-form-actions .card-form-save{border-color:var(--learner);background:var(--learner);color:var(--learner-text)}.card-focus{gap:3px;display:grid}.card-focus>span{color:var(--quiet);font-size:var(--text-xs);font-weight:500}.card-focus p{font-family:var(--font-read);font-size:var(--text-l);margin:0;line-height:1.9}.card-focus-word{border-radius:var(--radius-xs);background:0 0;border:0;margin:0 1px;padding:0 5px}.card-focus-word:hover{background:var(--panel)}.card-focus-word[aria-pressed=true]{box-shadow:0 0 0 1.5px var(--chalk);border-radius:48% 52% 45% 55%/60% 45% 55% 40%}.card-focus small{color:var(--quiet);font-size:var(--text-xs)}.review-area{min-height:0;padding:12px var(--gutter) 40px;flex:1;overflow-y:auto}.review{max-width:560px;margin:0 auto}.review-empty{text-align:center;padding:8vh 0 28px}.review-empty h2{font-size:var(--text-2xl);margin:0 0 8px;font-weight:600}.review-empty p{max-width:44ch;color:var(--quiet);margin:0 auto}.deck{margin:4vh 0 44px;position:relative}.deck-count{color:var(--quiet);font-size:var(--text-s);font-variant-numeric:tabular-nums;margin:0;position:absolute;top:14px;right:18px}.deck:before,.deck:after{content:"";border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);border-radius:var(--radius-l);background:var(--slate);height:40px;transition:opacity var(--dur-2), transform var(--dur-2);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.deck:before{z-index:-1;width:calc(100% - 24px);transform:translate(-50%,8px)}.deck:after{z-index:-2;width:calc(100% - 48px);transform:translate(-50%,16px)}.deck[data-under="0"]:before,.deck[data-under="0"]:after,.deck[data-under="1"]:after{opacity:0;transform:translate(-50%)}.review-card{--text:var(--chalk);--quiet:color-mix(in srgb, var(--chalk) 62%, transparent);--note-text:color-mix(in srgb, var(--chalk) 80%, transparent);--line:color-mix(in srgb, var(--chalk) 22%, transparent);--panel:color-mix(in srgb, var(--chalk) 10%, transparent);--elise:transparent;--learner:var(--chalk);--learner-text:var(--slate);--card-ink:var(--chalk-green);--card-again:var(--chalk-yellow);--fix-text:var(--chalk-yellow);--fix-line:#d9bd62;--rec:#ec7564;--error-bg:#ec756433;--error-text:#f8c4ba;font-family:var(--font-read);border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);border-radius:var(--radius-l);background:radial-gradient(120% 100% at 0% 0%, var(--slate-light), var(--slate) 60%);color:var(--text);box-shadow:inset 0 0 0 5px var(--slate), inset 0 0 0 6px color-mix(in srgb, var(--gold) 24%, transparent), var(--shadow-l);padding:26px 30px 24px;position:relative}.review-card:focus{outline:none}.review-card[data-verdict]{animation:card-turn .32s var(--ease-out)}@keyframes card-turn{0%{transform:perspective(1400px)rotateY(80deg)}}.review-prompt{font-family:var(--font-read);font-size:var(--text-2xl);overflow-wrap:anywhere;margin:0 36px 0 0;font-weight:500;line-height:1.35}.review-try{gap:10px;margin-top:22px;display:grid}.review-line{border-bottom:1.5px solid var(--quiet);align-items:center;gap:12px;height:48px;display:flex}.review-line:focus-within{border-bottom-color:var(--chalk)}.review-line[data-listening]{border-bottom-color:var(--rec)}.review-line input{min-width:0;color:var(--text);font-family:var(--font-ui);font-size:var(--text-l);background:0 0;border:0;outline:none;flex:1;padding:0}.review-line input::placeholder{color:var(--quiet)}.review-go{width:34px;height:34px;color:var(--card-ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.review-go:disabled{opacity:.35}.review-go:hover:not(:disabled){background:color-mix(in srgb, var(--card-ink) 12%, transparent)}.review-show{color:var(--quiet);font-family:var(--font-ui);font-size:var(--text-s);text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.review-result{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}@media (prefers-reduced-motion:reduce){.review-card[data-verdict]{animation:none}}.toast{left:50%;bottom:calc(var(--dock,0px) + 12px);z-index:5;border-radius:var(--radius-m);background:var(--text);color:var(--bg);font-size:var(--text-m);box-shadow:var(--shadow-m);align-items:center;gap:14px;padding:8px 8px 8px 16px;display:flex;position:absolute;transform:translate(-50%)}.toast button{border-radius:var(--radius-s);color:inherit;text-underline-offset:3px;background:0 0;border:0;padding:4px 10px;font-weight:600;text-decoration:underline}.review-notice{border-radius:var(--radius-m);background:var(--error-bg);color:var(--error-text);font-size:var(--text-m);justify-content:space-between;align-items:center;gap:12px;margin:8px 0 0;padding:10px 14px;display:flex}.review-notice p{margin:0}.review-notice .quiet{color:inherit;opacity:.8}.review-notice button{border-radius:var(--radius-s);color:inherit;background:0 0;border:1px solid;flex:none;padding:6px 12px}.review-verdict{color:var(--fix-text);margin:0 0 10px;font-weight:600}.review-card[data-verdict=right] .review-verdict{color:var(--card-ink)}.review-own{font-family:var(--font-ui);font-size:.95em}.review-part+.review-part{margin-top:14px}.review-part h3{color:var(--quiet);font-size:var(--text-xs);margin:0 0 3px;font-weight:500}.review-heard{color:var(--text);font-size:var(--text-l);margin:0}.review-changes{font-size:var(--text-base);margin:0;padding:0;list-style:none}.review-changes li+li{margin-top:2px}.review-changes b{font-weight:600}.review-origin{border-top:1px dashed var(--line);margin-top:16px;padding-top:10px}.review-origin-toggle{color:var(--quiet);font-size:var(--text-xs);transition:color var(--dur-2);background:0 0;border:0;align-items:center;gap:4px;padding:2px 0;font-weight:500;display:inline-flex}.review-origin-toggle:hover{color:var(--text)}.review-origin-toggle svg{width:13px;height:13px;transition:transform var(--dur-3) ease}.review-origin[data-open] .review-origin-toggle svg{transform:rotate(180deg)}.review-origin-fold{opacity:0;transition:grid-template-rows var(--dur-4) var(--ease-out), opacity var(--dur-3);grid-template-rows:0fr;display:grid}.review-origin-fold>div{overflow:hidden}.review-origin[data-open] .review-origin-fold{opacity:1;grid-template-rows:1fr}@media (prefers-reduced-motion:reduce){.review-origin-toggle svg,.review-origin-fold{transition:none}}.review-first{color:var(--note-text);font-size:var(--text-m);margin:0;padding-top:4px}.review-part-head{align-items:center;gap:8px;margin-bottom:3px;display:flex}.review-part-head h3{margin:0}.review-part-head .hear{width:24px;height:24px}.review-part-head .hear svg{width:12px;height:12px}.review-answer{font-size:var(--text-xl);margin:0;font-weight:600;line-height:1.3}.review-heard mark,.review-answer mark{background:linear-gradient(var(--fix-line), var(--fix-line)) left bottom / 100% 3px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit}.review-note{color:var(--note-text);font-size:var(--text-m);margin:8px 0 0}.review-actions{justify-content:flex-end;gap:22px;margin-top:18px;display:flex}.finale-actions{align-items:center;margin-top:26px}.finale-actions .chalk-button{margin-top:0}.review-mark{font-size:var(--text-base);text-underline-offset:5px;background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}.review-mark:hover{text-decoration-thickness:2.5px}.review-mark-again{color:var(--card-again)}.review-mark-on{color:var(--card-ink)}.review-mark-next{color:var(--quiet);font-weight:500}.review-error{border-radius:var(--radius-m);background:var(--error-bg);color:var(--error-text);font-size:var(--text-m);margin:16px 0 0;padding:8px 12px}@media (width<=560px){.review-card{padding:20px}.review-prompt{font-size:var(--text-xl)}.review-line input{font-size:var(--text-m)}}.chalk-button{border:3px solid var(--frame);border-radius:var(--radius-m);background:var(--slate);color:var(--chalk);font-family:var(--font-ui);font-size:var(--text-m);transition:transform var(--dur-2) ease, box-shadow var(--dur-2) ease;align-items:center;gap:10px;margin-top:22px;padding:8px 16px 8px 18px;font-weight:600;line-height:1.8;display:inline-flex}.chalk-button-count{color:var(--chalk-green);font-family:var(--font-read);font-weight:600}.chalk-button svg{width:16px;height:16px;color:var(--chalk-green);transition:transform var(--dur-4) var(--ease-spring)}.chalk-button:hover{box-shadow:var(--shadow-lift-s);transition-delay:var(--hover-delay);transform:translateY(-1px)}.chalk-button:hover svg{transition-delay:var(--hover-delay);transform:translate(3px)}.chalk-button:active{transition-delay:0s}@media (prefers-reduced-motion:reduce){.chalk-button,.chalk-button svg{transition:none}}.review-empty .review-more-note{font-size:var(--text-s);margin-top:8px}.review-modes{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);justify-content:center;gap:2px;width:fit-content;margin:4px auto 6px;padding:3px;display:flex;position:relative}.review-mode{z-index:1;border-radius:var(--radius-pill);color:var(--quiet);font-size:var(--text-m);transition:color var(--dur-2);background:0 0;border:0;padding:5px 16px;position:relative}.review-mode[aria-selected=true]{color:var(--text);font-weight:600}.review-mode:after{content:"";border-radius:var(--radius-xs);background:color-mix(in srgb, var(--learner) 40%, transparent);height:2px;transition:left var(--dur-3) ease, right var(--dur-3) ease;display:none;position:absolute;bottom:-2px;left:50%;right:50%}.review-mode:hover:not([aria-selected=true]){color:var(--text)}.review-mode:hover:not([aria-selected=true]):after{transition-delay:var(--hover-delay);left:20%;right:20%}.review-modes-glide{top:3px;bottom:3px;left:var(--glide-x);width:var(--glide-w);border-radius:var(--radius-pill);background:var(--elise);box-shadow:var(--shadow-s);pointer-events:none;transition:left var(--dur-4) var(--ease-spring), width var(--dur-4) var(--ease-spring);position:absolute}.review-view[data-from=right]{animation:view-from-right .45s var(--ease-out)}.review-view[data-from=left]{animation:view-from-left .45s var(--ease-out)}@keyframes view-from-right{0%{opacity:0;transform:translate(30px)}}@keyframes view-from-left{0%{opacity:0;transform:translate(-30px)}}@media (prefers-reduced-motion:reduce){.review-mode:after,.review-modes-glide{transition:none}.review-view[data-from]{animation:none}}.practice{flex-direction:column;gap:10px;padding-top:8px;display:flex}.practice-head{color:var(--quiet);font-size:var(--text-s);justify-content:space-between;align-items:center;display:flex}.practice-lines{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 2px 8px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 20px);mask-image:linear-gradient(#0000 0,#000 20px)}.practice-lines .elise-row{margin-bottom:0}.practice-lines .correction{margin:0}.practice-card{border:1px dashed var(--line);border-radius:var(--radius-m);gap:4px;padding:10px 14px;display:grid}.practice-card p{color:var(--note-text);font-size:var(--text-m);margin:0}.practice-card span{color:var(--fix-text);font-size:var(--text-s);margin-right:6px;font-weight:600}.practice-opening b{color:var(--text);letter-spacing:.06em;font-weight:600}.practice-box{align-items:center}.practice-box input{min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:12px 4px 12px 6px;line-height:24px}.practice-box .send{margin-bottom:0}.practice-recap h2{font-size:var(--text-xl);text-align:center;margin:4vh 0 4px;font-weight:600}.practice-to-recap{display:grid}.practice-to-recap .chalk-button{justify-content:center;margin-top:0}.pile-move{color:var(--quiet);font-size:var(--text-s);text-underline-offset:3px;background:0 0;border:0;margin:14px 0 0 auto;padding:2px 0;text-decoration:underline;display:block}.pile-move:hover,.pile-move[data-known]{color:var(--learner)}.review-area:has(.practice:not(.practice-recap)){flex-direction:column;padding-bottom:16px;display:flex;overflow:hidden}:is(.review-area:has(.practice:not(.practice-recap))>.review,.review:has(.practice:not(.practice-recap))>.review-view){flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.practice:not(.practice-recap){flex:1;min-height:0}.practice-foot{gap:8px;display:grid}.practice-card-line{align-items:baseline;gap:2px;display:flex}.practice-card-link{color:var(--quiet);font-size:var(--text-s);white-space:nowrap;text-underline-offset:3px;background:0 0;border:0;margin-left:auto;padding:0 0 0 12px;text-decoration:underline}.practice-card-link:hover{color:var(--learner)}.practice-lines .bubble.elise em{font-style:italic;font-weight:500}.layout[data-playing]{--sidebar-column:0px}.layout[data-playing] .sidebar{opacity:0;border-right-width:0;padding-inline:0;overflow:hidden}.lesson-pane[data-playing]:before{background:linear-gradient(var(--night-top), var(--night-low) 70%, var(--night-horizon));opacity:0;transition:opacity 1.4s}.lesson-pane:has(.finale) .review-area{--text:var(--chalk);--quiet:color-mix(in srgb, var(--chalk) 62%, transparent);--note-text:color-mix(in srgb, var(--chalk) 80%, transparent);--line:color-mix(in srgb, var(--chalk) 22%, transparent);--panel:color-mix(in srgb, var(--chalk) 10%, transparent);--elise:transparent;--learner:var(--chalk);--learner-text:var(--slate);--fix-bg:transparent;--fix-text:var(--chalk-yellow);--fix-line:color-mix(in srgb, var(--chalk-yellow) 55%, transparent);--marker:color-mix(in srgb, var(--chalk-yellow) 40%, transparent);--rec:#ec7564;--error-bg:#ec756433;--error-text:#f8c4ba;color:var(--text)}.lesson-pane[data-playing] .review:has(.practice:not(.practice-recap)){max-width:none}.practice>.practice-head{border-bottom:1px solid var(--line);justify-content:flex-start;gap:18px;padding:6px 0 10px}.practice>.practice-head .practice-quit{margin-left:auto}.practice-scene{color:var(--text);font-family:var(--font-read);font-size:var(--text-l);margin:0;font-weight:500}.practice-end-dialog{border:3px solid var(--frame);border-radius:var(--radius-m);background:radial-gradient(120% 90% at 30% 10%, var(--slate-light), var(--slate));max-width:min(400px,100% - 32px);color:var(--chalk);box-shadow:var(--shadow-lift-l);padding:0}.practice-end-dialog[open]{animation:end-dialog-in .18s var(--ease-spring)}.practice-end-dialog::backdrop{background:#00000073}.practice-end-dialog>div{padding:20px 22px 16px}.practice-end-dialog h2{font-family:var(--font-hand);font-size:var(--text-l);margin:0 0 6px;font-weight:400;line-height:1.8}.practice-end-dialog p{color:color-mix(in srgb, var(--chalk) 75%, transparent);font-size:var(--text-m);margin:0}.practice-end-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.practice-end-actions button{border:1px solid color-mix(in srgb, var(--chalk) 35%, transparent);border-radius:var(--radius-pill);color:var(--chalk);background:0 0;padding:6px 16px}.practice-end-actions button:hover{border-color:var(--chalk)}.practice-end-actions .practice-end-stay{border-color:var(--chalk);background:var(--chalk);color:var(--slate)}.practice-end-actions button:focus-visible{outline:2px solid var(--chalk-green);outline-offset:2px}@keyframes end-dialog-in{0%{opacity:0;transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.practice-end-dialog[open]{animation:none}}.practice-dots{align-items:center;gap:9px;display:flex}.practice-dots span{border:1.5px solid var(--quiet);border-radius:50%;width:11px;height:11px}.practice-dots [data-state=current]{border-color:var(--text);box-shadow:0 0 0 4px color-mix(in srgb, var(--text) 16%, transparent)}.practice-dots [data-state=right],.practice-dots [data-state=hint]{--ink:var(--accent-ink);border-color:var(--ink);background:var(--ink);animation:dot-pop .5s var(--ease-bounce)}.practice-dots [data-state=hint]{--ink:var(--gold)}.practice-dots [data-state=wrong]{border-style:dashed}@keyframes dot-pop{50%{transform:scale(1.9)}}.practice-quit{border:1px solid var(--line);width:30px;height:30px;color:var(--quiet);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.practice-quit:hover{border-color:var(--text);color:var(--text)}.practice-note{max-width:44ch;font-size:var(--text-s);align-self:flex-end}.practice-note .note{margin:0;padding:0;list-style:none}.practice-card-row{align-items:stretch;gap:10px;display:flex}.practice-card-row>.practice-card,.practice-card-row>.practice-card-gap{flex:1;min-width:0}.practice-card{animation:.35s ease-out card-rise}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)}}.practice-turning{perspective:700px;flex:1;min-width:0;min-height:44px}.practice-turning-faces{height:100%;min-height:44px;transform-style:preserve-3d;position:relative}.practice-turning-face{border:1px dashed var(--line);border-radius:var(--radius-m);color:var(--note-text);backface-visibility:hidden;align-items:center;gap:6px;margin:0;padding:0 14px;display:flex;position:absolute;inset:0}.practice-turning-face span{color:var(--fix-text);font-size:var(--text-s);font-weight:600}.practice-turning-back{border:3px solid var(--frame);background:radial-gradient(120% 90% at 30% 10%, var(--slate-light), var(--slate));color:var(--chalk);font-family:var(--font-read);box-shadow:var(--shadow-lift-s);justify-content:center;transform:rotateX(180deg)}.practice-turning-back b{color:var(--chalk-green);font-family:var(--font-ui)}.practice-turning[data-how=hint] .practice-turning-back{border-color:color-mix(in srgb, var(--chalk-yellow) 55%, var(--frame))}.practice-turning[data-how=hint] .practice-turning-back b{color:var(--chalk-yellow)}.practice-turning[data-how=repeated] .practice-turning-back,.practice-turning[data-how=skipped] .practice-turning-back{border:1.5px dashed var(--quiet);color:var(--note-text)}.practice-turning[data-how=repeated] .practice-turning-back b,.practice-turning[data-how=skipped] .practice-turning-back b{color:var(--quiet)}.practice-pile{flex:none;width:64px;min-height:44px;display:block;position:relative}.practice-pile-empty{border:1px dashed var(--line);border-radius:var(--radius-s);position:absolute;inset:4px}.practice-pile-card{border:2px solid var(--frame);border-radius:var(--radius-s);background:var(--slate-light);width:52px;height:34px;box-shadow:var(--shadow-lift-s);animation:.3s ease-out pile-in;position:absolute;bottom:4px;right:4px}.practice-pile-card[data-how=hint]{border-color:color-mix(in srgb, var(--chalk-yellow) 55%, var(--frame))}@keyframes pile-in{0%{opacity:0;scale:1.3}}.practice-pile-count{z-index:1;border-radius:var(--radius-pill);background:var(--chalk-green);min-width:20px;height:20px;color:var(--slate);font-size:var(--text-xs);font-variant-numeric:tabular-nums;animation:dot-pop .5s var(--ease-bounce);place-items:center;padding:0 6px;font-weight:700;display:grid;position:absolute;top:-8px;right:-6px}.lesson-pane:has(.finale):before{background:linear-gradient(var(--night-top), var(--night-low) 70%, var(--night-horizon));opacity:1;animation:1.4s both night-fall}@keyframes night-fall{0%{opacity:0}}.lesson-pane:has(.finale) .rooftops{color:color-mix(in srgb, var(--chalk) 75%, transparent)}.lesson-pane:has(.finale) .rooftops-sun{opacity:0}.lesson-pane:has(.finale) .rooftops-night{opacity:1;fill:var(--chalk)}.rooftops-sparkle circle{fill:var(--sparkle);opacity:0}.lesson-pane:has(.finale) .rooftops-sparkle circle{animation:sparkle var(--length) ease-in-out var(--delay) infinite}@keyframes sparkle{50%{opacity:1}}.fireworks{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.finale ul{margin:0;padding:0;list-style:none}.finale-head{text-align:center;justify-items:center;gap:2px;margin-top:2vh;display:grid}.finale-head p{margin:0}.finale .finale-head h2{color:var(--chalk);font-family:var(--font-hand);animation:finale-in .7s var(--ease-spring) .3s both;margin:0;font-size:clamp(2.2rem,6vw,3.2rem);font-weight:400;line-height:1.6}.finale-sub{color:var(--quiet);animation:.6s ease-out .5s both finale-in}.finale-score{color:var(--quiet);font-family:var(--font-read);font-variant-numeric:tabular-nums;margin-top:10px;animation:.6s ease-out .7s both finale-in}.finale-score b{color:var(--chalk-green);font-size:var(--text-display);font-weight:600}.finale .finale-move{color:var(--quiet);font-size:var(--text-m);text-align:center;margin:16px 0 4px}.finale .finale-row{animation:finale-in .45s ease-out calc(1.2s + var(--order) * .16s) both}.finale-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto;align-items:center;gap:16px;padding:12px 2px;display:grid}.finale-card{border-radius:var(--radius-s);color:var(--text);text-align:left;background:0 0;border:0;gap:1px;margin:-4px -6px;padding:4px 6px;display:grid}.finale-card:hover,.finale-card[data-speaking]{background:var(--panel)}.finale-french{font-family:var(--font-read);align-items:center;gap:6px;font-weight:600;display:flex}.finale-french mark{color:inherit;-webkit-text-decoration:underline 2px var(--chalk-green);text-decoration:underline 2px var(--chalk-green);text-underline-offset:4px;background:0 0}.finale-french svg{width:14px;height:14px;color:var(--chalk-green);opacity:0;transition:opacity var(--dur-1);flex:none}.finale-card:hover .finale-french svg,.finale-card:focus-visible .finale-french svg{opacity:.8}.finale-card[data-speaking] .finale-french svg{opacity:1;animation:.9s ease-in-out infinite speaking}@keyframes speaking{50%{opacity:.35}}.finale-english{color:var(--quiet);font-size:var(--text-s)}.finale-said{gap:1px;min-width:0;display:grid}.finale-how{color:var(--quiet);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.finale-row[data-result=right] .finale-how{color:var(--chalk-green)}.finale-row[data-result=hint] .finale-how{color:var(--chalk-yellow)}.finale-yours{color:var(--chalk-green);font-family:var(--font-hand);font-size:var(--text-m);line-height:1.8}.finale-yours s{color:var(--quiet);-webkit-text-decoration-color:var(--chalk-rose);text-decoration-color:var(--chalk-rose);text-decoration-thickness:2px}.finale-yours ins{color:var(--chalk-yellow);text-decoration:none}.finale-known{border:1.5px solid var(--line);border-radius:var(--radius-pill);color:var(--quiet);font-size:var(--text-s);white-space:nowrap;transition:background-color var(--dur-2), border-color var(--dur-2), color var(--dur-2);background:0 0;align-items:center;gap:6px;padding:4px 12px 4px 7px;display:inline-flex}.finale-known span{width:16px;height:16px;font-size:var(--text-xs);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.finale-known:hover{border-color:var(--quiet);color:var(--text)}.finale-known[aria-pressed=true]{border-color:var(--chalk-green);background:var(--chalk-green);color:var(--slate);animation:known-pop .35s var(--ease-bounce);font-weight:600}@keyframes known-pop{50%{transform:scale(1.08)}}.finale-known[aria-pressed=true] span{border-color:var(--slate);background:var(--slate);color:var(--chalk-green)}@media (width<=560px){.finale-row{grid-template-columns:minmax(0,1fr) auto}.finale-said{grid-area:2/1/auto/-1}}@keyframes finale-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}@media (prefers-reduced-motion:reduce){.practice-dots span,.practice-card,.practice-pile-card,.practice-pile-count,.scene-tile[data-arriving] .scene-ring circle[data-result],.scene-tile[data-arriving] .scene-tile-done,.finale .finale-head h2,.finale-sub,.finale-score,.finale .finale-row,.finale-known{animation:none}.lesson-pane:has(.finale):before{animation:none}.lesson-pane:has(.finale) .rooftops-sparkle circle{opacity:.9;animation:none}}.drawing{--drawing-paper:var(--bg);--drawing-accent:var(--frame);--drawing-sun:var(--chalk-yellow);fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;width:190px;height:auto;margin:0 auto 6px;display:block;overflow:visible}.drawing .fill{fill:var(--drawing-paper)}.drawing .solid{fill:currentColor;stroke:none}.drawing .accent{fill:var(--drawing-accent)}.drawing .sun{fill:var(--drawing-sun)}.drawing .thin{stroke-width:3.2px}.drawing .heavy{stroke-width:7px}.drawing .mark{stroke-width:12px}.drawing .letter{stroke-width:16px}.drawing .slats{stroke:var(--drawing-paper)}.drawing text{fill:currentColor;stroke:none;font-family:var(--font-hand)}.drawing .sway{transform-box:fill-box;transform-origin:50% 100%;animation:3.2s ease-in-out infinite drawing-sway}.drawing .late{animation-delay:-.6s}.drawing .buzz{animation:2.6s ease-in-out infinite drawing-buzz}.drawing .steam{animation:3s ease-in-out infinite drawing-steam}.drawing .steam.late{animation-delay:-1.4s}.drawing .drift{animation:3.6s ease-in-out infinite drawing-drift}.drawing .bob{animation:1.1s ease-in-out infinite drawing-bob}.drawing .leg{transform-box:fill-box;transform-origin:50% 0;animation:.55s ease-in-out infinite alternate drawing-leg}.drawing .leg.late{animation-direction:alternate-reverse;animation-delay:0s}.drawing .teeter{transform-box:view-box;transform-origin:120px 182px;animation:2.2s ease-in-out infinite drawing-teeter}.drawing .spin{transform-box:fill-box;transform-origin:50%;animation:1.6s linear infinite drawing-spin}@keyframes drawing-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes drawing-buzz{0%,to{transform:translate(0)}30%{transform:translate(-6px,4px)}60%{transform:translate(4px,-3px)}}@keyframes drawing-steam{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes drawing-drift{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translate(6px,-8px)}}@keyframes drawing-bob{50%{transform:translateY(-4px)}}@keyframes drawing-leg{0%{transform:rotate(-16deg)}to{transform:rotate(16deg)}}@keyframes drawing-teeter{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes drawing-spin{to{transform:rotate(360deg)}}.drawing[data-pen=fine]{--ink-paper:var(--elise);--ink-emerald:#264237;--ink-gold:#b89352;--ink-pane:#23292a;stroke-width:1.75px;filter:none;width:220px}:root[data-theme=dark] .drawing[data-pen=fine]{--ink-pane:#0f1415}.drawing[data-pen=fine] .p{fill:var(--ink-paper)}.drawing[data-pen=fine] .em{fill:var(--ink-emerald)}.drawing[data-pen=fine] .au{fill:var(--ink-gold)}.drawing[data-pen=fine] .pane{fill:var(--ink-pane)}.drawing[data-pen=fine] .dot{fill:currentColor;stroke:none}.drawing[data-pen=fine] .bare{stroke:none}.drawing[data-pen=fine] .t{stroke-width:1.1px}.drawing[data-pen=fine] .gs{stroke:var(--ink-gold)}.drawing[data-pen=fine] .ps{stroke:var(--ink-paper)}.drawing[data-pen=fine] .stripe{stroke-width:2.6px}.drawing[data-pen=fine] .seat{stroke-width:3.5px}.drawing[data-pen=fine] .headline{stroke-width:2.6px}.drawing[data-pen=fine] .tube-edge{stroke-width:5.5px}.drawing[data-pen=fine] .tube{stroke:var(--ink-gold);stroke-width:3.2px}.drawing[data-pen=fine] .letter-edge{stroke-width:17px}.drawing[data-pen=fine] .letter{stroke:var(--ink-emerald);stroke-width:13.5px}.drawing[data-pen=fine] [class*=ink-]{transform-box:view-box}.drawing .ink-peek{animation:5.2s ease-in-out infinite ink-peek}.drawing .ink-blink{animation:5.2s linear infinite ink-blink}.drawing .ink-sway{animation:3.6s ease-in-out infinite ink-sway}.drawing .ink-spin{animation:1.6s linear infinite ink-spin}.drawing .ink-pedal{animation:.8s ease-in-out infinite alternate ink-pedal}.drawing .ink-pedal.ink-late{animation-delay:-.8s}.drawing .ink-ride{animation:.8s ease-in-out infinite alternate ink-ride}.drawing .ink-whoosh{animation:1.6s ease-in-out infinite ink-whoosh}.drawing .ink-nod{animation:2.8s ease-in-out infinite ink-nod}.drawing .ink-rustle{animation:2.8s ease-in-out infinite ink-rustle}.drawing .ink-dots circle{animation:2.4s ease-in-out infinite ink-dots}.drawing .ink-dots circle:nth-child(2){animation-delay:.3s}.drawing .ink-dots circle:nth-child(3){animation-delay:.6s}.drawing .ink-wiggle{animation:2.6s ease-in-out infinite ink-wiggle}.drawing .ink-wiggle.ink-late{animation-delay:-1.3s}.drawing .ink-shell{animation:4.4s ease-in-out infinite ink-shell}@keyframes ink-peek{0%,18%{transform:translateY(9px)}30%,78%{transform:translateY(0)}90%,to{transform:translateY(9px)}}@keyframes ink-blink{0%,44%,49%,62%,66%,to{transform:scaleY(1)}46%,64%{transform:scaleY(.1)}}@keyframes ink-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes ink-spin{to{transform:rotate(360deg)}}@keyframes ink-pedal{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes ink-ride{to{transform:translateY(-1.5px)}}@keyframes ink-whoosh{0%,to{opacity:.25;transform:translate(4px)}50%{opacity:.9;transform:translate(-4px)}}@keyframes ink-nod{0%,55%,to{transform:rotate(0)}62%{transform:rotate(9deg)}70%{transform:rotate(-2deg)}78%{transform:rotate(7deg)}86%{transform:rotate(0)}}@keyframes ink-rustle{0%,20%,34%,to{transform:rotate(0)}24%{transform:rotate(-1.6deg)}28%{transform:rotate(1.2deg)}31%{transform:rotate(-.6deg)}}@keyframes ink-dots{0%,to{opacity:.2}40%{opacity:1}}@keyframes ink-wiggle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(5deg)}}@keyframes ink-shell{0%,to{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}.practice-waiting{color:var(--text);flex-direction:column;flex:1;justify-content:center;align-items:center;margin:0;padding-bottom:6vh;animation:.5s ease-out both drawing-in;display:flex}.practice-waiting p{color:var(--quiet);font-family:var(--font-hand);margin:0}@keyframes drawing-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.drawing *,.practice-waiting{animation:none}}.scene-tiles{text-align:left;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:22px;display:grid}.scene-tile{border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);border-radius:var(--radius-l);background:radial-gradient(120% 100% at 0% 0%, var(--emerald-light), var(--emerald) 60%);min-height:132px;color:var(--on-emerald);text-align:left;box-shadow:inset 0 0 0 4px var(--emerald), inset 0 0 0 5px color-mix(in srgb, var(--gold) 22%, transparent), var(--shadow-m);transition:transform var(--dur-2) ease, box-shadow var(--dur-2) ease;flex-direction:column;gap:2px;padding:16px;display:flex;position:relative}.scene-tile:hover{box-shadow:inset 0 0 0 4px var(--emerald), inset 0 0 0 5px color-mix(in srgb, var(--gold) 30%, transparent), var(--shadow-l);transition-delay:var(--hover-delay);transform:translateY(-2px)}.scene-tile:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.scene-tile-name{font-family:var(--font-read);font-size:var(--text-l);font-weight:500;line-height:1.25}.scene-tile-english{color:color-mix(in srgb, var(--on-emerald) 68%, transparent);font-size:var(--text-xs)}.scene-tile-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.scene-tile-count{color:color-mix(in srgb, var(--on-emerald) 72%, transparent);font-size:var(--text-xs)}.scene-ring{flex:none}.scene-ring circle{fill:none;stroke:color-mix(in srgb, var(--on-emerald) 20%, transparent);stroke-width:3.5px;stroke-linecap:butt}.scene-ring circle[data-result=right]{stroke:var(--chalk-green)}.scene-ring circle[data-result=hint]{stroke:var(--chalk-yellow)}.scene-ring circle[data-result=wrong]{stroke:color-mix(in srgb, var(--on-emerald) 45%, transparent);stroke-width:1.5px}.scene-tile[data-mixed]{border:1.5px dashed var(--line);background:var(--elise);color:var(--text);box-shadow:var(--shadow-s)}.scene-tile[data-mixed] :is(.scene-tile-english,.scene-tile-count){color:var(--quiet)}.scene-tile[data-mixed] .scene-ring circle{stroke:var(--line)}.scene-tile[data-mixed] .scene-ring circle[data-result=right]{stroke:var(--learner)}.scene-tile[data-mixed] .scene-ring circle[data-result=hint]{stroke:var(--gold)}.scene-tile[data-mixed] .scene-ring circle[data-result=wrong]{stroke:var(--quiet)}.scene-tile-done{color:var(--chalk-yellow);font-size:var(--text-xs);margin-top:4px}.scene-tile-done b{color:var(--on-emerald);font-family:var(--font-read);font-weight:600}.scene-tile[data-mixed] .scene-tile-done{color:var(--fix-text)}.scene-tile[data-mixed] .scene-tile-done b{color:var(--text)}.scene-tile[data-arriving=flying] .scene-tile-done{visibility:hidden}.scene-tile[data-arriving=filling] .scene-ring circle[data-result]{animation:scene-arc .42s var(--ease-out) calc(var(--order) * var(--dot-ms)) backwards}.scene-tile[data-arriving=filling] .scene-tile-done{animation:scene-done .45s ease-out calc(var(--dots) * var(--dot-ms) + .1s) backwards}@keyframes scene-arc{0%{stroke:color-mix(in srgb, var(--on-emerald) 20%, transparent);stroke-width:3.5px}50%{stroke-width:6px}}@keyframes scene-done{0%{opacity:0;transform:translateY(6px)}}.practice-pile.scene-tile-home{z-index:2;pointer-events:none;margin:-22px 0 0 -32px;position:absolute;top:50%;left:50%}.scene-group+.scene-group{margin-top:2px}.scene-head .scene-toggle{border-radius:var(--radius-s);text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;padding:6px 40px 6px 8px;display:flex}.scene-toggle svg{color:var(--quiet);flex:none}.scene-text{min-width:0;display:grid}.scene-name{white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-s);font-weight:600;overflow:hidden}.scene-english{white-space:nowrap;text-overflow:ellipsis;color:var(--quiet);font-size:var(--text-xs);overflow:hidden}.scene-count{color:var(--quiet);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-left:auto}.scene-head:hover .scene-count,.scene-head:focus-within .scene-count,.scene-head[data-open] .scene-count{visibility:hidden}.scene-cards{transition:grid-template-rows var(--dur-2) ease;grid-template-rows:1fr;display:grid}.scene-group[data-folded] .scene-cards{grid-template-rows:0fr}.scene-cards>ul{min-height:0;padding-left:12px;overflow:hidden}.card-scene{gap:5px;display:grid}.card-scene>span{color:var(--quiet);font-size:var(--text-xs);font-weight:500}.card-scene-chips{flex-wrap:wrap;gap:6px;display:flex}.card-scene-chip{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text);font-size:var(--text-s);background:0 0;padding:3px 11px}.card-scene-chip:hover{border-color:var(--text)}.card-scene-chip[aria-pressed=true]{border-color:var(--chalk);background:var(--chalk);color:var(--slate)}.card-scene-chip[data-unused]:not([aria-pressed=true]){color:var(--quiet);border-style:dashed}.card-scene-chip[data-new]{border-style:dashed;border-color:color-mix(in srgb, var(--chalk-yellow) 60%, transparent);color:var(--chalk-yellow)}.card-scene-new{border:0;border-bottom:1.5px solid var(--chalk-yellow);min-width:140px;color:var(--text);font:inherit;background:0 0;outline:none;padding:3px 4px}.card-scene small{color:var(--quiet);font-size:var(--text-xs)}.neighbourhood-area{flex:1;min-height:0;overflow-y:auto;container-type:inline-size}.neighbourhood{max-width:1200px;padding:4vh var(--gutter) 40px;text-align:center;gap:14px;margin:0 auto;display:grid}.neighbourhood h2{font-family:var(--font-read);font-size:var(--text-xl);margin:0;font-weight:500;line-height:1.4}.neighbourhood>p{color:var(--quiet);margin:-8px 0 0}.walk{text-align:left;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@container (width>=700px){.neighbourhood{max-width:none;height:100%;padding:0;display:block}.neighbourhood>:is(h2,p){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.walk{height:100%;position:relative}.walk .walk-map{--card-cover:372;height:100%;box-shadow:none;border-radius:0}.walk .place-search{width:360px;right:auto}}.walk-map{--m-land:#f4f2ee;--m-park:#c5e5bb;--m-water:#a8d4f2;--m-water-line:#8ec4e8;--m-local:#fff;--m-local-case:#e2ded6;--m-secondary:#fff;--m-secondary-case:#d6d1c7;--m-major:#fde293;--m-major-case:#f2c457;--m-label:#5f6368;--m-halo:#fff;--m-sketch-land:#f8f7f5;--m-sketch-water:#e8f0f5;--m-sketch-road:#dcd8d0;--m-route:var(--frame);--m-ahead:#9aa0a6;--m-control:var(--elise);--m-control-text:var(--text);border-radius:var(--radius-m);background:var(--m-sketch-land);height:min(68vh,640px);min-height:320px;box-shadow:var(--shadow-m);position:relative;overflow:hidden}:root[data-theme=dark] .walk-map,.walk-map[data-night]{--m-land:#242f3e;--m-park:#263c3f;--m-water:#17263c;--m-water-line:#22385a;--m-local:#38414e;--m-local-case:#212a37;--m-secondary:#424c5c;--m-secondary-case:#212a37;--m-major:#746855;--m-major-case:#1f2835;--m-label:#9ca5b3;--m-halo:#242f3e;--m-sketch-land:#1d2633;--m-sketch-water:#1a2433;--m-sketch-road:#313c4c;--m-route:var(--chalk-green);--m-ahead:#6b7480;--m-control:#2b2c2f;--m-control-text:#e8eaed}.walk-map:after{content:"";background:var(--m-hour,transparent);mix-blend-mode:multiply;pointer-events:none;transition:background 1.6s;position:absolute;inset:0}.walk-map[data-hour=L\'aube]{--m-hour:linear-gradient(to bottom, #f0a98a47, #f0a98a14)}.walk-map[data-hour=Le\ soir]{--m-hour:linear-gradient(to bottom, #e0907a57, #e2c26724)}:root[data-theme=dark] .walk-map:after,.walk-map[data-night]:after{display:none}.walk-map>svg{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.walk-map>svg:active{cursor:grabbing}.walk-map text{pointer-events:none}.map-land{fill:var(--m-land)}.map-park{fill:var(--m-park)}.map-water{fill:var(--m-water);stroke:var(--m-water-line);stroke-width:1.4px}.road{fill:none;stroke-linecap:round;stroke-linejoin:round}.local-case{stroke:var(--m-local-case);stroke-width:9.5px}.local{stroke:var(--m-local);stroke-width:7px}.secondary-case{stroke:var(--m-secondary-case);stroke-width:14px}.secondary{stroke:var(--m-secondary);stroke-width:11px}.major-case{stroke:var(--m-major-case);stroke-width:14.5px}.major{stroke:var(--m-major);stroke-width:11.5px}.sketch-land{fill:var(--m-sketch-land)}.sketch-water{fill:var(--m-sketch-water);stroke:var(--m-sketch-road);stroke-width:1.2px}.sketch-road{fill:none;stroke:var(--m-sketch-road);stroke-width:2px;stroke-linecap:round}.sketch-road.major{stroke-width:4.5px}.sketch-road.secondary{stroke-width:3.5px}.street-name,.quartier-name,.landmark text,.pin-name{fill:var(--m-label);paint-order:stroke;stroke:var(--m-halo);stroke-linejoin:round}.street-name{font-size:calc(10.5px * var(--k));stroke-width:calc(3px * var(--k))}.street-name.major{font-size:calc(11.5px * var(--k));font-weight:500}.quartier-name{font-size:calc(12px * var(--k));letter-spacing:.22em;stroke-width:calc(3px * var(--k));text-anchor:middle;opacity:.85;font-weight:500}.walk-leg path{fill:none;stroke-linecap:round;stroke-dasharray:0 calc(11px * var(--k))}.walk-case{stroke:var(--m-halo);stroke-width:calc(9px * var(--k))}.walk-dots{stroke:var(--m-ahead);stroke-width:calc(6px * var(--k))}.walk-leg[data-walked] .walk-dots{stroke:var(--m-route)}.walk-draw{fill:none;stroke:#fff;stroke-width:60px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.6s ease-in-out .4s forwards walk-draw}@keyframes walk-draw{to{stroke-dashoffset:0}}.landmark circle{fill:#80868b;stroke:#fff;stroke-width:1.4px}.landmark path{fill:none;stroke:#fff;stroke-width:1.3px;stroke-linejoin:round}.landmark text{font-size:var(--text-xs);stroke-width:3px}.boat path{fill:#fff;stroke:#5f6368;stroke-width:1px}.bicycle circle{fill:none;stroke:#3c4043;stroke-width:1px}.bicycle circle:first-child{fill:var(--frame);stroke:none}.walk-map[data-night] .bicycle circle:not(:first-child),:root[data-theme=dark] .bicycle circle:not(:first-child){stroke:#9aa0a6}.here-halo{fill:var(--m-route);opacity:.18;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite here-halo}.here-dot{fill:var(--m-route);stroke:#fff;stroke-width:2.6px}@keyframes here-halo{50%{opacity:.08;transform:scale(1.35)}}.map-pin{--pin:#e8710a;cursor:pointer;outline:none}.map-pin[data-kind=visite]{--pin:#5b6abf}.map-pin[data-kind=orientation]{--pin:#129eaf}.map-pin[data-kind=probleme]{--pin:#1e8e3e}.map-pin[data-kind=rencontre]{--pin:#e52592}.map-pin[data-kind=appel]{--pin:#9334e6}.map-pin[data-kind=diner]{--pin:#d93025}.pin-shadow{fill:#00000038}.pin-body{fill:var(--pin);stroke:#fff;stroke-width:1.6px}.pin-inner[data-drop]{transform-box:fill-box;transform-origin:50% 100%;animation:pin-drop .7s 1.2s var(--ease-spring) both}@keyframes pin-drop{0%{opacity:0;transform:translateY(-30px)scale(.6)}}.map-pin[data-selected] .pin-body,.map-pin:focus-visible .pin-body{stroke:#202124;stroke-width:2.4px}.pin-icon{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.pin-done circle{fill:var(--frame);stroke:#fff;stroke-width:1.5px}.pin-done path{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.pin-pulse{fill:none;stroke:var(--pin);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite pin-pulse}@keyframes pin-pulse{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(2.1)}}.pin-name{font-size:var(--text-s);stroke-width:3.5px;fill:var(--m-control-text);font-weight:500}.pin-stars{font-size:var(--text-xs);fill:var(--star);paint-order:stroke;stroke:var(--m-halo);stroke-width:3px;stroke-linejoin:round}.pin-stars .off{fill:#dadce0}.walk-map[data-night] .pin-stars .off,:root[data-theme=dark] .pin-stars .off{fill:#5f6368}.map-pin[data-ahead] .pin-name{display:none}.map-pin[data-ahead]:is(:hover,:focus-visible) .pin-name{display:inline}.map-pin[data-locked]{--pin:#9aa0a6}.pin-riddle{fill:#fff;font-size:var(--text-s);text-anchor:middle;font-weight:700}.place-search{--card:var(--walk-surface);--card-text:var(--walk-text);--card-quiet:var(--walk-quiet);--card-line:var(--walk-line);--card-accent:var(--walk-accent);z-index:1;max-height:calc(100% - 100px);color:var(--card-text);gap:8px;display:grid;position:absolute;top:12px;left:12px;right:12px;overflow-y:auto}.place-search-bar{border:1px solid var(--card-line);border-radius:var(--radius-pill);background:var(--card);height:48px;box-shadow:var(--shadow-s);font-size:var(--text-m);align-items:center;gap:12px;padding:0 8px 0 16px;display:flex}.place-search-bar .map-pin-icon{fill:var(--card-accent);flex:none}.place-search-bar>span,.place-search-bar h3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.place-search-bar small{color:var(--card-quiet);font-size:inherit}.place-search-bar h3{font-size:inherit;margin:0;font-weight:600}.place-search-close{width:34px;height:34px;color:var(--card-quiet);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.place-search-close:hover{background:var(--walk-hover);color:var(--card-text)}.walk-map .place-search .place-card{--card:var(--walk-surface);--card-text:var(--walk-text);--card-quiet:var(--walk-quiet);--card-line:var(--walk-line);--card-accent:var(--walk-accent);border:1px solid var(--card-line);background:var(--card);box-shadow:var(--shadow-l);border-radius:18px;padding:14px 16px 16px}.place-search .place-kind{color:var(--card-quiet);font-size:var(--text-s);letter-spacing:0;text-transform:none;font-weight:400}.place-stops li>button{border:1px solid var(--card-line);border-radius:var(--radius-pill);color:var(--card-accent);font:inherit;font-size:var(--text-s);white-space:nowrap;background:0 0;align-self:center;padding:7px 16px;font-weight:500}.place-stops li>button[data-start]{background:var(--card-accent);color:var(--card);border-color:#0000}.place-stops li>button:hover:not(:disabled){background:var(--walk-hover)}.place-stops li>button[data-start]:hover:not(:disabled){background:color-mix(in srgb, var(--card-accent) 88%, var(--card-text))}.stars i[data-on],.postcard-stars b{color:var(--star)}.map-controls{z-index:1;gap:8px;display:grid;position:absolute;bottom:30px;right:12px}.map-controls>button,.map-zoom{border-radius:var(--radius-s);background:var(--m-control);box-shadow:var(--shadow-s);overflow:hidden}.map-zoom{display:grid}.map-controls>button svg{fill:none;stroke:currentColor;stroke-width:2px;margin:auto;display:block}.map-controls>button .fill{fill:currentColor;stroke:none}.map-controls button{width:40px;height:40px;color:var(--m-control-text);font-size:var(--text-xl);background:0 0;border:0;line-height:1}.map-controls button:hover{background:color-mix(in srgb, var(--m-control-text) 6%, var(--m-control))}.map-zoom button+button{border-top:1px solid color-mix(in srgb, var(--m-control-text) 15%, transparent)}.map-credit{background:color-mix(in srgb, var(--m-control) 75%, transparent);color:var(--m-label);font-size:var(--text-xs);margin:0;padding:1px 6px;position:absolute;bottom:0;right:0}.map-credit a{color:var(--m-route);text-decoration:none}.place-card{--card:var(--elise);--card-text:var(--text);--card-quiet:var(--quiet);--card-line:var(--line);--card-accent:var(--frame);border-radius:var(--radius-m);background:var(--card);color:var(--card-text);box-shadow:var(--shadow-m);gap:8px;padding:18px;display:grid}:root[data-theme=dark] .place-card{--card-accent:var(--accent-ink)}.place-card h3{font-family:var(--font-read);font-size:var(--text-xl);margin:0;font-weight:500;line-height:1.3}.place-kind{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fix-text);font-weight:600}.place-card p{margin:0}.place-walk{color:var(--card-quiet);font-size:var(--text-s)}.place-real{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--card-accent) 12%, transparent);color:var(--card-accent);font-size:var(--text-xs);justify-self:start;padding:1px 10px;font-weight:500}.place-walk{margin-top:-4px}.place-stops{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.place-stops li{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.place-stops li.place-riddle{grid-template-columns:26px minmax(0,1fr)}.place-stops li>div{font-size:var(--text-m);gap:1px;display:grid}.place-stops li span,.place-stops li p{color:var(--card-quiet);font-size:var(--text-s)}.place-stop-number{border:2px solid var(--card-line);width:26px;height:26px;font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:600;display:grid}.place-stops li[data-next] .place-stop-number{border-color:var(--card-accent);color:var(--card-accent)}.place-stop-number svg{width:14px;height:14px;color:var(--frame)}.stars{color:var(--card-line);font-size:var(--text-s);letter-spacing:1px;gap:1px;margin-top:2px;display:flex}.stars i{font-style:normal}@media (width>=760px){.layout[data-walk]>.sidebar{background:color-mix(in srgb, var(--walk-surface) 55%, transparent);border-color:var(--walk-line);-webkit-backdrop-filter:blur(14px)saturate(1.4);grid-area:1/1}.layout[data-walk]>.lesson-pane{grid-area:1/1/2/3}.layout[data-walk] .walk .walk-map{--side-cover:var(--sidebar-column)}.layout[data-walk] .walk .place-search{left:calc(var(--sidebar-column) + 12px);transition:left var(--dur-3) var(--ease-out)}}:root[data-theme=dark] .layout[data-walk]>.sidebar{--sidebar:var(--walk-surface);--sidebar-line:var(--walk-line);--line:var(--walk-line);--elise:var(--walk-surface);--panel:var(--walk-hover);--text:var(--walk-text);--quiet:var(--walk-quiet);--accent-ink:var(--walk-accent)}:root[data-theme=dark] .layout[data-walk] .streak-week li[data-practised]{background:color-mix(in srgb, var(--walk-accent) 24%, transparent);color:var(--walk-text)}.layout[data-walk] :is(.map-controls>button,.map-zoom){border:1px solid var(--walk-line);background:var(--walk-surface)}.layout[data-walk] .map-controls button{color:var(--walk-text)}.layout[data-walk] .map-controls button:hover{background:var(--walk-hover)}.layout[data-walk] .map-zoom button+button{border-top-color:var(--walk-line)}.place-riddle q{font-family:var(--font-read);quotes:none;font-style:italic}.place-riddle .place-stop-number{color:var(--card-quiet);border-style:dashed}.place-stops button{border:1px solid var(--card-line);border-radius:var(--radius-l);color:var(--card-accent);font-size:var(--text-s);background:0 0;padding:5px 14px;font-weight:500}.place-stops li[data-next] button{border-color:var(--card-accent);background:var(--card-accent);color:var(--card)}.place-stops button:hover:not(:disabled){background:color-mix(in srgb, var(--card-accent) 8%, transparent)}.place-stops li[data-next] button:hover:not(:disabled){background:color-mix(in srgb, var(--card-accent) 85%, black)}@media (hover:hover){.place-stops li:not([data-next]) button{opacity:0;transition:opacity var(--dur-1)}.place-stops li:is(:hover,:focus-within) button{opacity:1}}.postcard{z-index:2;background:#20212473;place-items:center;padding:16px;animation:.4s both postcard-shade;display:grid;position:absolute;inset:0}.postcard-card{border-radius:var(--radius-s);color:#2b3f7a;width:min(100%,460px);box-shadow:var(--shadow-lift-l);animation:postcard-arrive .8s var(--ease-spring) both;background:#fbf7ee;grid-template-columns:1.1fr 1fr;gap:12px;padding:14px;display:grid;rotate:-2deg}.postcard-picture{border-radius:var(--radius-xs);background:linear-gradient(var(--night-top), var(--night-low) 70%, var(--night-horizon));min-height:170px;position:relative;overflow:hidden}.postcard-picture b{color:var(--chalk);font-family:var(--font-hand);font-size:var(--text-xs);font-weight:400;position:absolute;top:8px;left:10px}.postcard-picture svg{fill:#141a2e;width:100%;height:70%;position:absolute;inset:auto 0 0}.postcard-picture:after{content:"";background:var(--sparkle);border-radius:50%;width:18px;height:18px;position:absolute;top:16px;right:18px;box-shadow:0 0 14px 4px #fff6c859}.postcard-words{font-family:var(--font-hand);font-size:var(--text-xs);border-left:1px dashed #b9b2a3;align-content:start;gap:4px;padding-left:10px;line-height:1.9;display:grid}.postcard-words p{margin:0}.postcard-stars{font-family:var(--font-ui);color:#8a6410}.postcard-words button{border-radius:var(--radius-pill);background:var(--frame);color:#fff;font-family:var(--font-ui);font-size:var(--text-xs);border:0;justify-self:start;margin-top:6px;padding:5px 14px;font-weight:500}@media (width<=560px){.postcard-card{grid-template-columns:1fr}.postcard-picture{min-height:110px}.postcard-words{border-top:1px dashed #b9b2a3;border-left:0;padding:8px 0 0}}@keyframes postcard-shade{0%{opacity:0}}@keyframes postcard-arrive{0%{opacity:0;transform:translateY(40px)rotate(8deg)scale(.9)}}.scene-goals{margin:0 var(--gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 0 10px;display:flex}.scene-goals-place{color:var(--text);font-family:var(--font-read);font-size:var(--text-l);white-space:nowrap;margin:0;font-weight:500}.scene-goals .practice-quit{margin-left:auto}.scene-steps{flex-wrap:wrap;flex:auto;align-items:center;gap:6px 8px;margin:0;padding:0;list-style:none;display:flex}.scene-steps li{color:var(--quiet);font-size:var(--text-s);white-space:nowrap;transition:color var(--dur-3) ease;align-items:center;gap:6px;display:flex}.scene-steps li+li:before{content:"";background:var(--line);width:24px;height:1px;margin-right:2px}.scene-step-mark{border:1.5px solid var(--line);width:18px;height:18px;transition:background-color var(--dur-3) ease, border-color var(--dur-3) ease;border-radius:50%;flex:none;place-items:center;display:grid}.scene-step-mark svg{width:11px;height:11px}.scene-steps li[data-met]{color:var(--text)}.scene-steps li[data-met] .scene-step-mark,.scene-steps li[data-met] .scene-step-mark{animation:goal-pop var(--dur-3) var(--ease-spring)}.scene-steps li[data-met] svg{animation:goal-tick .4s var(--ease-bounce)}@keyframes goal-pop{0%{transform:scale(.7)}}@keyframes goal-tick{0%{opacity:0;scale:2.2}}.scene-done{color:var(--accent-ink);font-size:var(--text-s);animation:scene-done-in .4s var(--ease-out) both;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0 0 8px;padding:0 22px;display:flex}.scene-done>span{align-items:center;gap:6px;display:inline-flex}.scene-done svg{flex:none;width:14px;height:14px}.scene-done-go{color:var(--fix-text);font:inherit;transform-origin:100%;background:0 0;border:0;padding:4px 0;font-weight:600;animation:1.4s ease-in-out .45s both scene-done-nudge}.scene-done-go:hover{text-underline-offset:3px;text-decoration:underline}.scene-done:last-child{justify-content:center;margin-bottom:28px}@keyframes scene-done-in{0%{opacity:0;transform:translateY(6px)}}@keyframes scene-done-nudge{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.12)}}.situation{--note-paper:#fffdf8;--note-edge:#e3dac9;--note-ink:#2d2a26;--note-tape:color-mix(in srgb, var(--fix-line) 55%, transparent);justify-items:center;gap:12px;width:min(100%,28em);margin:18px auto 16px;display:grid}:root[data-theme=dark] .situation{--note-paper:#2e2b26;--note-edge:#45413a;--note-ink:#ece5d6;--note-tape:color-mix(in srgb, var(--fix-line) 45%, transparent)}.situation-note{box-sizing:border-box;border:1px solid var(--note-edge);border-radius:var(--radius-xs);background:var(--note-paper);width:100%;box-shadow:var(--shadow-m);color:var(--note-ink);font-family:var(--font-hand);font-size:var(--text-l);margin:0;padding:24px 26px 18px;line-height:1.9;position:relative;rotate:-1.2deg}.situation-note:before{content:"";background:var(--note-tape);width:70px;height:18px;position:absolute;top:-9px;left:50%;translate:-50%;rotate:2deg}.situation-english{color:var(--quiet);font-size:var(--text-m);text-align:center;text-wrap:balance;margin:0;font-style:italic;animation:.4s ease-out both line-in}@keyframes line-in{0%{opacity:0}}.scene-steps{animation:.4s ease-out both line-in}@media (prefers-reduced-motion:reduce){.scene-steps,.situation-english,.situation+.elise-row{animation:none}}.unheard{visibility:hidden}.situation+.elise-row{animation:.3s ease-out both line-in}.turns>.practice-waiting{min-height:260px}.phrase{color:var(--fix-text);font-weight:700;animation:1.8s ease-out .3s both phrase-in}.bubble.learner .phrase{--fix-text:var(--chalk-yellow)}@keyframes phrase-in{0%{color:inherit;text-shadow:none}45%{text-shadow:0 0 14px color-mix(in srgb, var(--fix-line) 95%, transparent)}to{color:var(--fix-text);text-shadow:none}}.recap{gap:20px;max-width:720px;margin:0 auto;padding-top:20px;display:grid}.recap-head{align-items:center;gap:16px;display:flex}.recap-head .practice-quit{align-self:flex-start;margin-left:auto}.recap-where{color:var(--fix-text);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;margin:0;font-weight:600}.recap-head h2{font-family:var(--font-read);margin:2px 0 0;font-size:1.6rem;font-weight:500;line-height:1.2}.recap-ring{flex:none;width:64px;height:64px}.recap-ring circle{fill:none;stroke-width:5px}.recap-ring-track{stroke:var(--line)}.recap-ring-fill{stroke:var(--learner);stroke-linecap:round;animation:ring-fill .9s var(--ease-out) .15s both}@keyframes ring-fill{0%{stroke-dasharray:0 170}}.recap-ring text{fill:var(--text);font:600 17px var(--font-read);text-anchor:middle}.recap-tabs{border-radius:var(--radius-pill);background:var(--panel);flex-wrap:wrap;justify-self:start;gap:4px;padding:4px;display:flex}.recap-tabs button{border-radius:var(--radius-pill);color:var(--quiet);font:inherit;font-size:var(--text-s);background:0 0;border:0;padding:7px 16px}.recap-tabs button[aria-selected=true]{background:var(--elise);color:var(--text);box-shadow:var(--shadow-m);font-weight:600}.recap-tabs b{color:var(--fix-text);margin-left:6px;font-weight:600}.recap-panel{gap:10px;display:grid}.recap-none{color:var(--quiet);margin:0}.recap-save-all{color:var(--fix-text);font:inherit;font-size:var(--text-s);background:0 0;border:0;justify-self:end;padding:0;font-weight:600}.recap-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recap-fix{border-radius:var(--radius-m);background:var(--elise);box-shadow:var(--shadow-m);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 14px;padding:14px 16px;display:grid}.recap-fix>:not(.recap-fix-acts){grid-column:1}.recap-fix .note{font-size:var(--text-s);color:var(--quiet);margin:0}.recap-fix-line{font-size:var(--text-base)}.recap-fix-line s{color:var(--quiet);-webkit-text-decoration-color:var(--strike);text-decoration-color:var(--strike);text-decoration-thickness:1.5px}.recap-fix-line ins{background:linear-gradient(var(--fix-text), var(--fix-text)) left bottom / 100% 2px no-repeat;font-weight:700;text-decoration:none}.recap-fix-acts{grid-area:1/2/span 2;align-items:center;gap:6px;display:flex}.recap-keep{border:1px solid var(--line);border-radius:var(--radius-pill);height:30px;color:var(--text);font:inherit;font-size:var(--text-xs);white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.recap-keep[aria-pressed=true],.recap-use[data-use=used]{background:color-mix(in srgb, var(--learner) 12%, transparent);color:var(--accent-ink);border-color:#0000}.recap-keep svg{width:13px;height:13px}.recap-goal{border-radius:var(--radius-m);background:var(--elise);box-shadow:var(--shadow-m);grid-template-columns:18px 1fr;gap:12px;padding:12px 14px;display:grid}.recap-goal .scene-step-mark{margin-top:2px}.recap-goal b,.recap-phrases b{font-weight:600}.recap-goal small,.recap-phrases small{color:var(--quiet);font-size:var(--text-s)}.recap-goal p{color:var(--quiet);font-size:var(--text-s);margin:2px 0 0}.recap-phrases{margin:0;padding:0;list-style:none}.recap-phrases li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 2px;display:grid}.recap-phrases .recap-progress{font-size:var(--text-xs);display:block}.recap-use{border:1px dashed var(--line);border-radius:var(--radius-pill);color:var(--quiet);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.recap-use svg{width:12px;height:12px}.recap-use[data-use=helped]{border-style:solid;border-color:var(--fix-line);color:var(--fix-text)}.recap-foot{margin:6px calc(-1 * var(--gutter)) -40px;padding:14px var(--gutter) 54px;border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);justify-content:flex-end;gap:10px;display:flex;position:sticky;bottom:-40px}.recap-again,.recap-on{border-radius:var(--radius-pill);font:inherit;padding:10px 20px;font-weight:500}.recap-again{border:1px solid var(--line);color:var(--text);background:0 0}.recap-on{background:var(--learner);color:var(--learner-text);border:0}@media (width<=560px){.recap-fix{grid-template-columns:1fr}.recap-fix-acts{grid-area:auto/1}}@media (prefers-reduced-motion:reduce){.scene-tile,.scene-cards{transition:none}.scene-steps li[data-met] .scene-step-mark,.scene-steps li[data-met] svg,.scene-done,.scene-done-go,.recap-ring-fill,.phrase,.here-halo,.pin-pulse,.pin-inner,.walk-draw,.postcard,.postcard-card{animation:none}.walk-draw{stroke-dashoffset:0}}.lesson-pane[data-room]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17120e;--panel:#2b251f;--text:#f4efe7;--quiet:#c4baac;--line:#ffffff2b;--learner:#5aa790;--learner-text:#fff;--elise:#2a2521;--note:#2a2521;--fix-bg:#3d3018;--fix-line:#b9973f;--fix-text:#f1cf74;--marker:color-mix(in srgb, var(--fix-text) 38%, transparent);--note-text:#e4dccf;--error-bg:#46211b;--error-text:#ffc9bf;--rec:#e2604e;--frame:#3f7a69;background:var(--bg);color:var(--text)}.lesson-pane[data-room]:before,.lesson-pane[data-room]>.rooftops{display:none}.room{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.room-picture{filter:blur(2px)brightness(1.3)saturate(1.08);background:#2a1d12 50%/cover no-repeat;animation:.9s ease-out both room-in;position:absolute;inset:-12px}.room-shade{background:linear-gradient(#0000 66%,#0a070573);position:absolute;inset:0}@keyframes room-in{0%{opacity:0}}.lesson-pane[data-room] :is(.bubble,.correction){border:1px solid var(--glass-edge);border-radius:var(--radius-m);background:var(--glass-sheen), var(--glass);box-shadow:var(--glass-depth);-webkit-backdrop-filter:var(--glass-blur)}.lesson-pane[data-room] .bubble{font-family:var(--font-read);font-size:var(--text-base);padding:10px 16px;line-height:1.55}.lesson-pane[data-room] .learner{background:var(--glass-sheen), var(--glass-learner);border-color:#bef0de4d}.lesson-pane[data-room] .correction{background:var(--glass-sheen), var(--glass-fix);border-color:color-mix(in srgb, var(--fix-text) 55%, transparent);padding:10px 14px 12px 16px}.lesson-pane[data-room] .better{font-family:var(--font-read);font-size:var(--text-l);line-height:1.5}.lesson-pane[data-room] .better mark{padding-bottom:3px}.lesson-pane[data-room] :is(.hear,.save){border-color:var(--glass-edge);background:var(--glass-sheen), var(--glass);box-shadow:var(--glass-depth);color:var(--text)}.lesson-pane[data-room] .correction :is(.hear,.save){border-color:color-mix(in srgb, var(--fix-text) 45%, transparent);box-shadow:none;color:var(--fix-text);background:#0000002e}.lesson-pane[data-room] :is(.hear:hover,.hear[data-speaking],.save:hover,.save[data-saved]){border-color:var(--learner);color:var(--learner)}.lesson-pane[data-room] .elise-row{align-items:center;gap:10px}.lesson-pane[data-room] .checked{border-radius:var(--radius-pill);color:var(--text);background:#14100d73;padding:2px 10px}.lesson-pane[data-room] .situation-note,.lesson-pane[data-room] .situation-note:before{rotate:none}.lesson-pane[data-room] .situation{--note-paper:#342e28b8;--note-edge:var(--glass-edge);--note-ink:var(--text);--note-tape:color-mix(in srgb, var(--fix-text) 50%, transparent)}.lesson-pane[data-room] .situation-note{border-radius:var(--radius-m);box-shadow:var(--glass-depth);-webkit-backdrop-filter:var(--glass-blur)}.lesson-pane[data-room] .situation-english{border-radius:var(--radius-pill);color:var(--text);background:#14100d73;padding:2px 12px}.lesson-pane[data-room] .composer{background:var(--glass-sheen), #1e1a17b8;box-shadow:var(--glass-depth);-webkit-backdrop-filter:var(--glass-blur);border-width:1.5px}.lesson-pane[data-room] .dock{background:linear-gradient(#0000,#0c0907b8 64px)}.lesson-pane[data-room] .scene-steps li:not([data-met]){color:var(--text)}.lesson-pane[data-room] .scene-step-mark,.lesson-pane[data-room] .scene-goals{border-color:var(--glass-edge)}.lesson-pane[data-room] .start h2{text-shadow:0 2px 14px #0009}.lesson-pane[data-room] .turns{perspective:1100px;perspective-origin:50% 70%}.lesson-pane[data-room] .turns>:first-child{margin-top:auto}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.lesson-pane[data-room] .turns>:is(.bubble,.correction,.elise-row,.checked,.situation){animation:linear both line-recede;animation-timeline:view();animation-range:cover 52%}.lesson-pane[data-room] .turns>:is(.bubble,.correction,.elise-row,.checked):is(:hover,:focus-within){animation:none}}}@keyframes line-recede{to{opacity:.42;transform:translateZ(-170px)}}@media (prefers-reduced-motion:reduce){.room-picture{animation:none!important}}
