:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#100f0c;--raise:#1a1814;--sunken:#0c0b09;--line:#f3efe61a;--text:#f3efe6;--muted:#a39b8d;--faint:#6f685d;--gold:#e0b15a;--gold-dim:#e0b15a29;--danger:#e39b8c;--shadow:0 30px 70px #00000059;--serif:"Iowan Old Style", Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;--sans:"Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;--mono:"SF Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(900px 480px at 0% -10%, #e0b15a17, transparent 55%), radial-gradient(520px 360px at 92% 0%, #7896be12, transparent 60%), radial-gradient(700px 420px at 100% 100%, #58442433, transparent 50%), var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5}button,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea{appearance:none;font-size:1rem}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mark{letter-spacing:.01em;align-items:center;gap:.7rem;font-size:.95rem;font-weight:600;display:inline-flex}.blade{background:var(--gold);border-radius:999px;width:2px;height:1.05rem;box-shadow:0 0 12px #e0b15ab3}.eyebrow{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem}.landing{overscroll-behavior:contain;height:100%;padding:max(1.5rem, env(safe-area-inset-top)) max(clamp(1.25rem, 4vw, 4rem), env(safe-area-inset-right)) max(2.5rem, env(safe-area-inset-bottom)) max(clamp(1.25rem, 4vw, 4rem), env(safe-area-inset-left));flex-direction:column;display:flex;overflow:auto}.topbar{justify-content:space-between;align-items:center;display:flex}.landing-grid{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);align-items:end;gap:clamp(2rem,6vw,6rem);padding:8vh 0 4vh;display:grid}.landing h1{max-width:11ch;font-family:var(--serif);letter-spacing:-.035em;margin:0;font-size:clamp(3.4rem,7vw,6.4rem);font-weight:500;line-height:.92}.lede{max-width:38rem;color:var(--muted);font-size:1.08rem}.google{background:var(--text);color:#1a1814;border:1px solid #0000;border-radius:999px;align-items:center;gap:.75rem;margin-top:.5rem;padding:.85rem 1.15rem;font-weight:600;display:inline-flex}.google:hover{background:#fff}.google:disabled{color:var(--faint);border-color:var(--line);cursor:not-allowed;background:0 0}.fine,.setup,.banner{color:var(--faint);margin-top:1rem;font-size:.92rem}.landing code{font-family:var(--mono);font-size:.9em}.banner{color:var(--danger);margin-top:1rem}.setup{border:1px solid var(--line);background:#0003;border-radius:.8rem;max-width:38rem;padding:.9rem 1rem}.index{border-top:1px solid var(--line);margin:0;padding:1.25rem 0 0;list-style:none}.index li{border-bottom:1px solid var(--line);grid-template-columns:2.2rem 1fr;gap:.4rem .8rem;padding:1rem 0;display:grid}.index span{color:var(--gold);font-variant-numeric:tabular-nums}.index strong{display:block}.index em{color:var(--muted);grid-column:2;font-size:.95rem;font-style:normal}.app{grid-template-columns:18rem minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.scrim{border:0;padding:0;display:none}.sidebar{border-right:1px solid var(--line);background:#0c0b09b8;flex-direction:column;min-height:0;display:flex}.side-head,.side-foot{padding:1rem 1rem .9rem}.side-head{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.new-lesson,.side-foot button,.send,.copy,.trash,.menu,.info{border:1px solid var(--line);background:0 0;border-radius:999px}.new-lesson,.side-foot button{color:var(--text);padding:.4rem .75rem}.new-lesson{color:var(--gold);border-color:#e0b15a73}.new-lesson:hover,.side-foot button:hover,.send:hover,.copy:hover,.info:hover{border-color:var(--gold)}.new-lesson:disabled,.new-lesson:disabled:hover,.side-foot button:disabled,.side-foot button:disabled:hover{opacity:.45;cursor:not-allowed;border-color:var(--line)}.new-lesson:disabled,.new-lesson:disabled:hover{border-color:#e0b15a47}.lessons{flex:1;min-height:0;padding:.25rem .6rem 1rem;overflow:auto}.lessons section h2{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin:1rem .45rem .35rem;font-size:.72rem;font-weight:600}.lessons ul{margin:0;padding:0;list-style:none}.lessons li{grid-template-columns:1fr auto;align-items:center;display:grid}.lesson{text-align:left;width:100%;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:.55rem;padding:.5rem .45rem;overflow:hidden}.lesson.active{background:var(--gold-dim);color:var(--text)}@media (hover:hover) and (pointer:fine){.lesson:hover{background:var(--gold-dim);color:var(--text)}}.trash{width:1.6rem;height:1.6rem;color:var(--faint);opacity:0;padding:0}.lessons li:hover .trash,.trash:focus-visible{opacity:1}.empty-side{color:var(--faint);padding:.4rem .45rem}.side-foot{border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:.85rem;display:flex}.side-foot-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding-top:.8rem;display:flex}.side-foot-row form{flex:none}.heat{--heat-label:1.45rem;--heat-cell:10px;--heat-gap:3px;min-width:0;margin:0}.heat-caption{justify-content:space-between;align-items:baseline;gap:.6rem;margin:0 0 .45rem;display:flex}.heat-caption span:first-child{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600}.heat-caption span:last-child{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.heat-scroll{scrollbar-width:thin;scrollbar-color:#e0b15a66 transparent;touch-action:pan-x;overscroll-behavior-x:contain;max-width:100%;padding-bottom:.15rem;overflow-x:auto}.heat-months{gap:var(--heat-gap);height:.85rem;margin:0 0 .2rem calc(var(--heat-label) + var(--heat-gap));display:flex}.heat-months span{flex:0 0 var(--heat-cell);width:var(--heat-cell);min-width:0;color:var(--faint);white-space:nowrap;font-size:.62rem;line-height:.85rem;overflow:visible}.heat-body{gap:var(--heat-gap);width:max-content;display:flex}.heat-days{z-index:1;grid-template-rows:repeat(7, var(--heat-cell));gap:var(--heat-gap);width:var(--heat-label);background:var(--sunken);color:var(--faint);font-size:.58rem;line-height:var(--heat-cell);flex:none;display:grid;position:sticky;left:0}.heat-cols{gap:var(--heat-gap);display:flex}.heat-col{gap:var(--heat-gap);flex-direction:column;display:flex}.heat-cell{width:var(--heat-cell);height:var(--heat-cell);background:#f3efe614;border-radius:2px;display:block}.heat-cell.is-future{background:0 0}.heat-cell[data-level="1"]{background:#e0b15a52}.heat-cell[data-level="2"]{background:#e0b15a85}.heat-cell[data-level="3"]{background:#e0b15abf}.heat-cell[data-level="4"]{background:var(--gold)}.heat-cell[data-level]:hover{outline-offset:1px;outline:1px solid #f3efe68c}.heat-legend{color:var(--faint);justify-content:flex-end;align-items:center;gap:.28rem;margin-top:.4rem;font-size:.68rem;display:flex}.heat-legend i{width:var(--heat-cell);height:var(--heat-cell);background:#f3efe614;border-radius:2px;display:block}.heat-legend i[data-level="1"]{background:#e0b15a52}.heat-legend i[data-level="2"]{background:#e0b15a85}.heat-legend i[data-level="3"]{background:#e0b15abf}.heat-legend i[data-level="4"]{background:var(--gold)}.heat-tip{z-index:20;pointer-events:none;border:1px solid var(--line);color:var(--text);white-space:nowrap;box-shadow:var(--shadow);background:#1a1814;border-radius:.4rem;padding:.28rem .5rem;font-size:.72rem;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.whoami{align-items:center;gap:.65rem;min-width:0;display:flex}.whoami img,.avatar{object-fit:cover;border-radius:999px;flex:none;width:2rem;height:2rem}.avatar{background:var(--gold-dim);color:var(--gold);place-items:center;font-size:.85rem;display:grid}.whoami div{min-width:0}.whoami strong,.whoami span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.whoami strong{font-size:.92rem;font-weight:600}.whoami span{color:var(--faint);font-size:.78rem}.stage{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.stage-bar{border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.9rem 1.25rem;display:flex}.stage-bar>div{min-width:0}.stage-title{flex:1}.stage-bar>.stage-actions{flex:none;align-items:center;gap:.45rem;min-width:max-content;margin-left:auto;display:flex}.info{width:2.4rem;height:2.4rem;color:var(--gold);justify-content:center;align-items:center;padding:0;display:inline-flex}.info svg{width:1.05rem;height:1.05rem}.stage-bar .eyebrow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage-bar h1{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.45rem;font-weight:500;line-height:1.15;overflow:hidden}.dossier{border:1px solid var(--line);background:#1a1814b8;border-radius:.9rem;width:min(44rem,100% - 2.5rem);max-height:14rem;margin:.85rem auto 0;padding:.9rem 1rem .8rem;overflow:auto}.dossier .problem{font-family:var(--serif);margin:0;font-size:1.2rem;line-height:1.35}.dossier .statement{white-space:pre-wrap;color:var(--muted);margin:.7rem 0 0;font-size:.92rem;line-height:1.45}.dossier .constraints,.dossier .idea,.dossier .next,.dossier .kicker{margin:.55rem 0 0}.dossier .constraints{color:var(--faint);font-size:.88rem}.dossier .idea,.dossier .next{color:var(--muted);font-size:.95rem}.dossier .kicker,.dossier .idea span,.dossier .next span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem;font-size:.72rem;font-weight:600;display:block}.dossier ul{margin:.3rem 0 0;padding-left:1.15rem;font-size:.95rem}.dossier li+li{margin-top:.2rem}.menu{flex-direction:column;justify-content:center;align-items:center;gap:4px;width:2.4rem;height:2.4rem;padding:0;display:none}.menu span{background:var(--text);width:.95rem;height:1px;display:block}.log{overscroll-behavior:contain;flex:1;min-width:0;min-height:0;padding:1.5rem 1.25rem 2rem;overflow:auto}.empty,.turn{width:min(44rem,100%);margin:0 auto}.empty h2{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(2rem,4vw,3.1rem);font-weight:500;line-height:1.05}.empty>p:last-of-type{color:var(--muted);max-width:38rem}.finder{gap:.4rem;margin-top:1.5rem;display:grid}.finder label{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:600}.finder input{border:1px solid var(--line);background:#1a1814b3;border-radius:.9rem;outline:none;width:min(18rem,100%);padding:.75rem .9rem}.finder input:focus{border-color:#e0b15a80}.starters{gap:.75rem;margin-top:1rem;display:grid}.starters button{text-align:left;border:1px solid var(--line);background:#1a1814b3;border-radius:.9rem;grid-template-columns:auto 1fr;gap:.15rem .8rem;padding:.9rem 1rem;display:grid}.starters button:hover{border-color:#e0b15a80}.starters button:disabled,.starters button:disabled:hover{opacity:.45;cursor:not-allowed;border-color:var(--line)}.starters span{color:var(--gold);grid-row:span 2;align-self:center}.starters strong{font-weight:600}.starters em{color:var(--muted);font-size:.92rem;font-style:normal}.turn{padding:.35rem 0 1.15rem}.turn .who{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem}.turn.user{background:var(--raise);border-radius:.9rem;width:min(36rem,100%);margin-left:auto;padding:.85rem 1rem}.turn.master{border-top:1px solid #0000}.prose{overflow-wrap:anywhere;min-width:0;max-width:100%}.prose p,.prose ul,.prose ol,.prose h3,.prose h4,.prose h5{margin:.7rem 0}.prose h3,.prose h4,.prose h5{font-family:var(--serif);letter-spacing:-.02em;font-weight:500}.prose ul,.prose ol{padding-left:1.2rem}.prose li+li{margin-top:.25rem}.prose code{font-family:var(--mono);background:#e0b15a1a;border-radius:.3rem;padding:.08rem .32rem;font-size:.88em}.code{border:1px solid var(--line);background:var(--sunken);border-radius:.8rem;max-width:100%;margin:.9rem 0;overflow:hidden}.code figcaption{color:var(--faint);font-family:var(--mono);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:.35rem .45rem .35rem .8rem;font-size:.75rem;display:flex}.copy{padding:.2rem .55rem;font-size:.75rem}.code pre{margin:0;padding:.9rem 1rem 1rem;overflow:auto}.code code{white-space:pre;background:0 0;padding:0;font-size:.86rem;line-height:1.55}.waiting{color:var(--muted)}.prose.streaming>p:last-child:after,.prose.streaming>h3:last-child:after,.prose.streaming>h4:last-child:after,.prose.streaming>h5:last-child:after,.prose.streaming>ul:last-child>li:last-child:after,.prose.streaming>ol:last-child>li:last-child:after,.prose.streaming>figure:last-child pre code:after{content:"";vertical-align:text-bottom;background:var(--gold);width:.55rem;height:1em;margin-left:.15rem;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.composer{border:1px solid var(--line);width:min(48rem,100% - 2rem);box-shadow:var(--shadow);background:#1a1814eb;border-radius:1rem;margin:0 auto 1rem;padding:.75rem}.composer textarea{resize:none;background:0 0;border:0;outline:none;width:100%;min-height:4.4rem}.composer-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.composer-row p,.status{color:var(--faint);margin:0;font-size:.82rem}.composer-row p{min-width:0}.hint-touch{display:none}.send{background:var(--gold);color:#1a1408;border-color:#0000;padding:.45rem .95rem;font-weight:600}.send:disabled{opacity:.45;cursor:not-allowed}.error{color:var(--danger);margin:0 0 .55rem}.limit-notice{background:#e39b8c14;border:1px solid #e39b8c66;border-radius:.75rem;margin:0 0 .75rem;padding:.75rem .9rem}.limit-notice p{color:var(--danger);margin:0;font-size:.92rem;line-height:1.45}.limit-notice .limit-title{margin-bottom:.2rem;font-weight:600}.loader-frame{color:var(--muted);align-items:center;gap:.65rem;display:flex}.loader-frame p{margin:0}.loader-frame.inline p{color:var(--faint);font-size:.92rem}.lessons>.loader-frame{padding:.85rem .45rem}.loader-frame.stage,.loader-frame.screen{text-align:center;flex-direction:column;justify-content:center;gap:1rem}.loader-frame.stage p,.loader-frame.screen p{max-width:22rem;font-family:var(--serif);color:var(--text);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:500;line-height:1.2}:is(.log:has(>.loader-frame.stage),.sheet-body:has(>.loader-frame.stage)){flex-direction:column;display:flex}.log>.loader-frame.stage,.sheet-body>.loader-frame.stage{flex:1;min-height:12rem}.loader-frame.screen{z-index:30;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(900px 480px at 0 -10%,#e0b15a1f,#0000 55%),#100f0ce0;position:fixed;inset:0}.loader-spin{border:1.5px solid #e0b15a47;border-top-color:var(--gold);border-radius:50%;flex:none;width:.95rem;height:.95rem;animation:.7s linear infinite loader-spin;box-shadow:0 0 12px #e0b15a47}.loader-frame.stage .loader-spin,.loader-frame.screen .loader-spin{border-width:2px;width:1.85rem;height:1.85rem}@keyframes loader-spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.modal-scrim{z-index:6;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);width:min(26rem,100%);box-shadow:var(--shadow);background:#161410;border-radius:1rem;padding:1.2rem 1.25rem 1.1rem}.modal h2{font-family:var(--serif);overflow-wrap:anywhere;margin:0;font-size:1.7rem;font-weight:500;line-height:1.15}.modal p:not(.eyebrow){color:var(--muted);margin:.7rem 0 0}.modal p.modal-error{color:var(--danger)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.15rem;display:flex}.modal-cancel,.modal-confirm{border:1px solid var(--line);background:0 0;border-radius:999px;padding:.45rem .9rem}.modal-cancel{color:var(--text)}.modal-confirm{background:var(--danger);color:#1a1408;border-color:#0000;font-weight:600}.modal.guide{flex-direction:column;width:min(34rem,100%);max-height:calc(100dvh - 2.5rem);display:flex;overflow:hidden}.guide-scroll{min-height:0;padding-bottom:.2rem;overflow:auto}.modal.guide .modal-actions{flex:none;margin-top:.85rem}.guide-steps{margin:1rem 0 0;padding:0;list-style:none}.guide-steps li{border-top:1px solid var(--line);grid-template-columns:1.6rem minmax(0,1fr);gap:.65rem;padding:.75rem 0;display:grid}.guide-steps span{color:var(--gold);font-variant-numeric:tabular-nums}.modal.guide .guide-steps p{margin:0}.guide-steps strong{color:var(--text);font-weight:600;display:block}.modal.guide .guide-note{color:var(--faint);margin-top:.35rem;font-size:.92rem}.modal-ack{background:var(--gold);color:#1a1408;border:1px solid #0000;border-radius:999px;padding:.45rem .95rem;font-weight:600}.dock{border-left:1px solid var(--line);background:#0c0b09eb;min-width:0;min-height:0;display:flex}.sheet-scrim{display:none}.sheet{pointer-events:none;width:0;min-height:0;transition:width .18s;overflow:hidden}.dock.open .sheet{pointer-events:auto;width:min(28rem,36vw)}.sheet-body{width:min(28rem,36vw);height:100%;padding:1.1rem 1.15rem 2rem;overflow:auto}.sheet-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sheet-head>div{min-width:0}.sheet-head h2{font-family:var(--serif);overflow-wrap:anywhere;margin:0;font-size:1.45rem;font-weight:500;line-height:1.15}.sheet-close{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;flex:none;padding:.3rem .7rem}.sheet h3{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:1.35rem 0 .45rem;font-size:.72rem;font-weight:600}.sheet-copy{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.95rem;line-height:1.5}.sheet-empty{color:var(--faint);margin:0}.sheet-notes{color:var(--muted);margin:.75rem 0 0;padding-left:1.1rem;font-size:.9rem}.diagrams{gap:.8rem;display:grid}.diagrams figure{margin:0}.diagrams img{background:#fff;border-radius:.7rem;width:100%;height:auto;display:block}.diagrams figcaption{color:var(--faint);margin-top:.35rem;font-size:.78rem}.cases{gap:.7rem;display:grid}.case{border:1px solid var(--line);background:#1a1814b3;border-radius:.8rem;padding:.75rem .85rem}.case h4{margin:0 0 .4rem;font-size:.88rem}.case p{margin:.4rem 0 0}.case span{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;font-weight:600;display:block}.case code{white-space:pre-wrap;font-family:var(--mono);font-size:.82rem;line-height:1.45;display:block}.case-note{color:var(--muted);font-size:.9rem}.rail-tab{border:0;border-left:1px solid var(--line);width:2.8rem;color:var(--muted);background:0 0;flex-direction:column;flex:none;align-items:center;gap:.75rem;padding:1rem .15rem;display:flex}.rail-tab.active,.rail-tab:hover:not(:disabled){color:var(--text)}.rail-tab:disabled{color:var(--faint);cursor:default}.rail-num{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.82rem}.rail-name{writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;max-height:16rem;font-size:.82rem;overflow:hidden}.sheet-toggle{display:none}@media (hover:none){.starters button:hover:not(:disabled){border-color:var(--line)}.google:hover{background:var(--text)}}@media (max-width:960px){.landing-grid{grid-template-columns:1fr;align-items:start;gap:2rem;padding-top:8vh}.landing h1{max-width:100%;font-size:clamp(2.6rem,12vw,4.4rem)}.google{justify-content:center;width:100%;min-height:3rem}.app{grid-template-columns:1fr}.dock{z-index:5;pointer-events:none;background:0 0;border:0;position:fixed;inset:0}.dock.open{pointer-events:auto}.rail-tab{display:none}.sheet{z-index:1;pointer-events:none;background:#14120f;border:0;width:100%;max-width:100%;transition:transform .18s;position:fixed;inset:0;overflow:hidden;transform:translateY(105%)}.dock.open .sheet{pointer-events:auto;width:100%;max-width:100%;transform:none}.sheet-body{width:100%;max-width:100%;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.sheet-close{min-height:2.75rem;padding:.45rem .9rem}.menu{width:2.75rem;height:2.75rem;display:flex}.sheet-toggle{max-width:5.5rem;min-height:2.75rem;color:var(--gold);font-variant-numeric:tabular-nums;white-space:nowrap;background:#14120f;border:1px solid #e0b15a73;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}.sheet-toggle[aria-expanded=true]{background:var(--gold-dim);color:var(--text)}.scrim{opacity:0;pointer-events:none;background:#00000073;transition:opacity .16s;display:block;position:fixed;inset:0}.nav-open .scrim{opacity:1;pointer-events:auto}.sidebar{z-index:2;overscroll-behavior:contain;width:min(19rem,88vw);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#14120f;transition:transform .18s;position:fixed;inset:0 auto 0 0;overflow:auto;transform:translate(-105%)}.nav-open .sidebar{transform:none}.lessons{flex:none;overflow:visible}.lesson{padding:.75rem .45rem}.trash{opacity:1;width:2.75rem;height:2.75rem}.stage-bar{padding:max(.7rem, env(safe-area-inset-top)) max(.85rem, env(safe-area-inset-right)) .7rem max(.7rem, env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;display:grid}.stage-bar h1{font-size:1.2rem}.dossier{width:calc(100% - 1.25rem);max-height:min(9rem,28dvh);margin-top:.55rem;padding:.75rem .85rem}.log{padding:1rem .9rem 1.1rem}.empty h2{font-size:clamp(1.7rem,8vw,2.4rem)}.composer{width:calc(100% - 1.25rem);margin-bottom:max(.65rem, env(safe-area-inset-bottom));flex:none;box-shadow:0 10px 28px #00000047}.composer-row{flex-wrap:wrap}.send{flex:none}.composer textarea{min-height:3.25rem;max-height:8rem}.hint-keys{display:none}.hint-touch{display:inline}.info{width:2.75rem;height:2.75rem}.modal.guide{padding:1rem 1rem .85rem}.modal.guide h2{font-size:1.45rem}.guide-steps{margin-top:.75rem}.guide-steps li{padding:.55rem 0}.send,.side-foot button,.new-lesson,.modal-cancel,.modal-confirm,.modal-ack{min-height:2.75rem}.copy{min-height:2.25rem;padding:.35rem .7rem}}@media (max-height:520px){.dossier{display:none}.landing-grid{padding-top:1.25rem}.composer textarea{min-height:2.5rem;max-height:4.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
