.ms{--ink-2:#2b231c;--ink-soft:#3e342a9e;--terra-soft:#9961391f;--sage-soft:#53664b1f;--field:#e0d3c2;--radius:20px;--ease:cubic-bezier(.2, .7, .2, 1);--shadow-lift:0 1px 0 #3e342a08, 0 18px 40px -28px #3e342a73;background:linear-gradient(90deg, var(--sand) 276px, var(--cream) 276px);font-variant-numeric:lining-nums;grid-template-columns:276px minmax(0,1fr);min-height:100dvh;display:grid}.ms:before{content:"";z-index:90;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.2 0 0 0 0 0.16 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.ms :focus-visible{outline:2px solid var(--terra);outline-offset:3px}.ms-skip{z-index:120;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 16px;text-decoration:none;position:fixed;top:-80px;left:16px}.ms-skip:focus{top:12px}.ms h1,.ms .display{font:500 clamp(40px, 4.6vw, 62px) / 1.02 var(--serif);letter-spacing:-.022em;color:var(--ink);overflow-wrap:anywhere}.ms h1 em,.ms .display em,.ms h2 em{color:var(--terra);font-style:italic;font-weight:400}.ms h2{font:500 clamp(26px, 2.4vw, 32px) / 1.12 var(--serif);letter-spacing:-.012em}.ms h3{font:500 16.5px/1.4 var(--body);letter-spacing:-.003em}.ms p{color:var(--taupe);line-height:1.65}.ms .eyebrow{font:500 11.5px/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--terra);align-items:center;gap:10px;display:inline-flex}.ms .lead{max-width:62ch;font-size:16.5px}.ms .fine{color:var(--taupe);font-size:13px}.ms .figure{font-family:var(--body);letter-spacing:-.03em;font-weight:400}.ms .num{font-family:var(--serif);font-variant-numeric:lining-nums}.ms .prose{color:var(--ink);white-space:pre-wrap;max-width:68ch;font-size:17px;line-height:1.78}.ms strong{color:var(--ink);font-weight:500}.ms-side{background:var(--sand);border-right:1px solid var(--line);z-index:20;flex-direction:column;gap:28px;height:100dvh;padding:30px 18px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.ms-brand{width:fit-content;padding:0 10px;display:block}.ms-brand img{width:138px;height:auto}.ms-nav{flex-direction:column;flex:1;gap:22px;display:flex}.ms-nav-group{flex-direction:column;gap:2px;display:flex}.ms-nav-label{font:500 10.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:#716456bf;padding:0 12px 8px}.ms-nav button{width:100%;min-height:42px;color:var(--taupe);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:14.5px;font-weight:500;transition:background .2s,color .2s;display:flex;position:relative}.ms-nav button svg{stroke-width:1.6px;flex-shrink:0;width:18px;height:18px}.ms-nav button:hover{color:var(--ink);background:#fffdf98c}.ms-nav button[aria-current=page]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-lift)}.ms-nav button[aria-current=page]:after{content:"";background:var(--terra);border-radius:50%;width:6px;height:6px;position:absolute;right:14px}.ms-nav .count{background:var(--terra);min-width:22px;height:22px;color:var(--paper);text-align:center;border-radius:99px;margin-left:auto;padding:0 7px;font-size:11.5px;line-height:22px}.ms-nav button[aria-current=page] .count{margin-right:14px}.ms-account{border-top:1px solid #7164562e;align-items:center;gap:12px;padding:14px 10px 0;display:flex}.ms-avatar{background:var(--paper);border:1px solid var(--line);width:40px;height:40px;font:500 17px/1 var(--serif);color:var(--terra);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ms-who{flex:1;min-width:0}.ms-who b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;display:block;overflow:hidden}.ms-who small{color:var(--taupe);font-size:12px}.ms-account-actions{gap:2px;display:flex}.ms-main{outline:none;width:100%;max-width:1180px;padding:52px clamp(22px,4.6vw,72px) 120px;position:relative}.ms-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;margin-bottom:40px;display:flex}.ms-head>div:first-child{gap:14px;max-width:760px;display:grid}.ms-head-aside{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.ms-dossier{min-width:260px}.ms-section{margin-top:56px}.ms-section-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;padding-bottom:16px;display:flex}.ms-stack{gap:16px;display:grid}.ms-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;display:grid}.ms-grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.ms-split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@keyframes ms-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ms-grow{0%{transform:scaleX(0)}}@keyframes ms-fade{0%{opacity:0}}.ms-view>*{animation:ms-rise .65s var(--ease) both}.ms-view>:nth-child(2){animation-delay:60ms}.ms-view>:nth-child(3){animation-delay:.12s}.ms-view>:nth-child(4){animation-delay:.18s}.ms-view>:nth-child(n+5){animation-delay:.24s}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow-wrap:anywhere;align-content:start;gap:14px;padding:26px;display:grid;position:relative}.card.tight{padding:20px 22px}.card.flush{padding:0;overflow:hidden}.card.ink{background:var(--ink);border-color:var(--ink);color:#f6ede1}.card.ink p{color:#f6ede1bd}.card.ink h2,.card.ink h3,.card.ink strong{color:#fbf4ea}.card.ink .eyebrow{color:#e2b48d}.card.sand{background:var(--sand);border-color:#0000}.card.sand .eyebrow,.event .event-date small:first-child{color:#85512d}.lesson-row.locked{background:0 0;border-style:dashed}.lesson-row.locked .title b{color:var(--taupe)}.card.lift{transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s}.card.lift:hover{box-shadow:var(--shadow-lift);border-color:#dccdb9;transform:translateY(-3px)}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-foot{flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:4px;display:flex}.divider{background:var(--line);border:0;height:1px;margin:22px 0}.btn{isolation:isolate;letter-spacing:.01em;text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;max-width:100%;min-height:46px;padding:0 22px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:color .3s,border-color .3s,background .3s,transform .15s;display:inline-flex;position:relative;overflow:hidden}.btn svg{stroke-width:1.7px;width:17px;height:17px;transition:transform .35s var(--ease)}.btn:hover:not(:disabled) svg.go{transform:translate(3px)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--ink);color:#fffaf3}.btn-primary:before{content:"";z-index:-1;border-radius:inherit;background:var(--terra);transition:transform .5s var(--ease);position:absolute;inset:0;transform:translateY(102%)}.btn-primary:hover:not(:disabled):before,.btn-primary:focus-visible:before{transform:none}.btn-secondary{color:var(--ink);background:0 0;border:1px solid #3e342a3d}.btn-secondary:hover:not(:disabled){border-color:var(--ink);background:var(--paper)}.card.ink .btn-secondary{color:#fbf4ea;border-color:#f6ede159}.card.ink .btn-secondary:hover:not(:disabled){background:#f6ede114;border-color:#fbf4ea}.btn-light{color:var(--ink);background:#fbf4ea}.btn-light:hover:not(:disabled){background:#fff}.btn-danger{color:#8a3b23;border:1px solid #8a3b2359}.btn-danger:hover:not(:disabled){background:#8a3b230f;border-color:#8a3b23}.btn-sm{min-height:38px;padding:0 16px;font-size:13px}.btn-block{width:100%}.link{min-height:32px;color:var(--terra);transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 4px)/0 1px no-repeat;align-items:center;gap:6px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.link:hover:not(:disabled){background-size:100% 1px}.link:disabled{opacity:.45;cursor:not-allowed}.link svg{width:15px;height:15px}.icon-btn{width:40px;height:40px;color:var(--taupe);border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid}.icon-btn:hover{color:var(--ink);background:#fffdf9b3}.icon-btn svg{stroke-width:1.6px;width:18px;height:18px}.actions{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.ms form{gap:18px;display:grid}.ms label{color:var(--ink);font-size:13px;font-weight:500;display:block}.ms label>:is(input,select,textarea):not([type=checkbox]):not([type=radio]){margin-top:8px;display:block}.ms label .hint{color:var(--taupe);margin-left:4px;font-weight:400}.ms input:not([type=checkbox]):not([type=radio]):not([type=file]),.ms select,.ms textarea{border:1px solid var(--field);background:var(--paper);width:100%;min-height:48px;color:var(--ink);border-radius:14px;padding:12px 16px;font-size:15px;font-weight:400;transition:border-color .2s,box-shadow .2s,background .2s}.ms textarea{resize:vertical;min-height:132px;line-height:1.6}.ms select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23716456' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;padding-right:44px}.ms input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,.ms select:hover,.ms textarea:hover{border-color:#d2c1ab}.ms input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,.ms select:focus,.ms textarea:focus{border-color:var(--terra);outline:none;box-shadow:0 0 0 4px #99613921}.ms input::placeholder,.ms textarea::placeholder{color:#a69786}.ms input[type=file]{background:var(--cream);width:100%;color:var(--taupe);border:1px dashed #d2c1ab;border-radius:16px;padding:10px;font-size:14px}.ms input[type=file]::file-selector-button{background:var(--ink);color:#fffaf3;min-height:38px;font:500 13px var(--body);cursor:pointer;border:0;border-radius:999px;margin-right:14px;padding:0 16px}.ms input[type=checkbox],.ms input[type=radio]{appearance:none;background:var(--paper);cursor:pointer;border:1.5px solid #c9b8a2;border-radius:6px;flex-shrink:0;width:20px;height:20px;margin:0;transition:background .2s,border-color .2s}.ms input[type=radio]{border-radius:50%}.ms input[type=checkbox]:checked{border-color:var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' fill='none'%3E%3Cpath d='M1.5 5.2l3 3 6-6.5' stroke='%23fffaf3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat}.ms input[type=radio]:checked{border-color:var(--terra);box-shadow:inset 0 0 0 4px var(--paper);background:var(--terra)}.ms input[type=checkbox]:disabled,.ms input[type=radio]:disabled{opacity:.45;cursor:not-allowed}.ms .check{cursor:pointer;align-items:center;gap:12px;font-size:14.5px;font-weight:400;line-height:1.45;display:flex}.ms .switch input[type=checkbox]{background:#e2d5c4;border:0;border-radius:999px;width:42px;height:24px;position:relative}.ms .switch input[type=checkbox]:before{content:"";background:var(--paper);width:18px;height:18px;transition:transform .3s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #3e342a40}.ms .switch input[type=checkbox]:checked{background:var(--sage)}.ms .switch input[type=checkbox]:checked:before{transform:translate(18px)}.ms fieldset{border:1px solid var(--line);border-radius:16px;gap:12px;min-width:0;margin:0;padding:18px 20px 20px;display:grid}.ms legend{color:var(--ink);margin-left:-8px;padding:0 8px;font-size:13px;font-weight:500}.form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;display:grid}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;display:grid}.choice-grid .check{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:12px 14px;transition:border-color .2s,background .2s}.choice-grid .check:has(input:checked){border-color:var(--terra);background:#9961390d}.pill{background:var(--sand);min-height:26px;color:var(--taupe);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:500;display:inline-flex}.pill:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.pill.plain:before{display:none}.pill.ok{background:var(--sage-soft);color:var(--sage)}.pill.warn{background:var(--terra-soft);color:#87532e}.pill.ink{background:var(--ink);color:#fbf4ea}.pills{flex-wrap:wrap;gap:8px;display:flex}.banner{background:var(--terra-soft);color:#6f4325;border-radius:16px;align-items:flex-start;gap:14px;padding:16px 20px;font-size:14.5px;line-height:1.55;display:flex}.banner svg{flex-shrink:0;width:19px;height:19px;margin-top:1px}.banner.calm{background:var(--sand);color:var(--taupe)}.banner.ok{background:var(--sage-soft);color:#3f4f39}.banner .link{color:inherit}.stat{align-content:start;gap:10px;display:grid}.stat b{font:400 44px/1 var(--body);color:var(--ink);letter-spacing:-.035em}.stat b small{color:var(--taupe);font-size:20px}.weeks-strip{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.weeks-strip .seg{gap:9px;display:grid}.weeks-strip .bar{background:#e7dccd;border-radius:99px;height:5px;overflow:hidden}.weeks-strip .bar i{border-radius:inherit;background:var(--terra);transform-origin:0;height:100%;animation:ms-grow 1.1s var(--ease) both;display:block}.weeks-strip .seg:nth-child(n) .bar i{animation-delay:calc(var(--i,0) * 70ms + .15s)}.weeks-strip small{font:500 15px/1 var(--serif);color:var(--taupe)}.weeks-strip .current small{color:var(--terra)}.card.ink .weeks-strip .bar{background:#f6ede129}.card.ink .weeks-strip .bar i{background:#e2b48d}.card.ink .weeks-strip small{color:#f6ede199}.card.ink .weeks-strip .current small{color:#e2b48d}.meter{background:#e7dccd;border-radius:99px;height:4px;overflow:hidden}.meter i{background:var(--terra);transform-origin:0;height:100%;animation:ms-grow 1s var(--ease) both;display:block}.week{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:36px;padding:40px 0;display:grid}.week:first-child{border-top:0;padding-top:8px}.week-label{align-content:start;gap:10px;display:grid}.week-num{font:italic 400 76px/.82 var(--serif);color:var(--terra);letter-spacing:-.04em}.week-label h2{font-size:24px}.week-label .meter{max-width:140px;margin-top:8px}.lesson-list{gap:10px;display:grid}.lesson-row{border:1px solid var(--line);background:var(--paper);text-align:left;width:100%;transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;border-radius:18px;align-items:center;gap:16px;padding:16px 18px;display:flex}button.lesson-row:hover,.lesson-row[aria-expanded=true]{box-shadow:var(--shadow-lift);border-color:#dccdb9}button.lesson-row:hover{transform:translateY(-2px)}.lesson-row .title{flex:1;gap:3px;min-width:0;display:grid}.lesson-row .title b{font-size:15.5px;font-weight:500}.lesson-row .title small{color:var(--taupe);font-size:12.5px}.lesson-row .go{width:18px;height:18px;color:var(--taupe);transition:transform .35s var(--ease)}button.lesson-row:hover .go{color:var(--terra);transform:translate(3px)}.tick{color:#0000;width:30px;height:30px;font:500 14px/1 var(--serif);border:1.5px solid #d6c6b1;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tick svg{stroke-width:2.2px;width:15px;height:15px}.tick.done{border-color:var(--sage);background:var(--sage);color:var(--paper)}.tick.next{border-color:var(--terra);color:var(--terra)}.editor{border:1px solid var(--line);background:var(--paper);border-top:0;border-radius:0 0 18px 18px;margin:-4px 0 6px;padding:24px;animation:.3s both ms-fade}.lesson-row[aria-expanded=true]{border-radius:18px 18px 0 0;transform:none}.reader-hero{color:#fbf4ea;background:var(--ink) center / cover no-repeat;isolation:isolate;border-radius:28px;align-items:flex-end;min-height:320px;padding:36px;display:flex;position:relative;overflow:hidden}.reader-hero:before{content:"";z-index:-1;background:linear-gradient(#2b231c0d 0%,#2b231c59 45%,#2b231ce0 100%);position:absolute;inset:0}.reader-hero .eyebrow{color:#f0c9a6}.reader-hero h1{color:#fffaf3;max-width:18ch}.reader-hero>div{gap:14px;display:grid}.reader-body{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:40px;margin-top:40px;display:grid}.reader-aside{position:sticky;top:28px}.reader-nav{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;display:flex}.media{gap:14px;display:grid}.media-poster{aspect-ratio:16/9;color:#fbf4ea;text-align:center;background:radial-gradient(120% 90% at 30% 20%,#9961398c,#0000 60%),linear-gradient(160deg,#4a3d31,#241d17);border-radius:18px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.media-poster.doc{aspect-ratio:auto;background:linear-gradient(160deg, var(--sand), #eadcc8);min-height:150px;color:var(--ink)}.media-poster .play{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:74px;height:74px;transition:transform .4s var(--ease), background .3s;background:#fbf4ea24;border:1px solid #fbf4ea59;border-radius:50%;place-items:center;display:grid}.media-poster:hover .play{background:#fbf4ea38;transform:scale(1.06)}.media-poster .play svg{width:26px;height:26px;margin-left:3px}.media-poster.doc .play{background:var(--paper);border-color:var(--line)}.media-poster.doc .play svg{margin:0}.media-poster .label{color:#fbf4eacc;font-size:13px;position:absolute;bottom:14px;left:18px}.media video{aspect-ratio:16/9;background:#1d1712;border-radius:18px;width:100%}.media iframe{border:1px solid var(--line);background:var(--paper);border-radius:18px;width:100%;height:72vh}.asset-card{gap:16px;display:grid}.asset-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rows{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;display:grid}.row:first-child{border-top:0}.row.head{background:var(--cream);letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);padding-top:14px;padding-bottom:14px;font-size:11px;font-weight:500}.row .who{align-items:center;gap:14px;min-width:0;display:flex}.row .who>div{min-width:0}.row .who b{font-weight:500;display:block}.row .who small{color:var(--taupe);text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.row .meter{max-width:160px}.row .row-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px 18px;display:flex}.row.student{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto}.row .row-actions.wide{grid-column:1/-1;justify-content:flex-start;margin-top:-6px;padding-left:54px}.checklist{margin:0;padding:0;list-style:none}.checklist li{border-top:1px solid var(--line)}.checklist li:first-child{border-top:0}.checklist button{text-align:left;align-items:center;gap:14px;width:100%;padding:14px 4px;font-size:14.5px;display:flex}.checklist button:hover span{color:var(--terra)}.checklist .done span:not(.tick){color:var(--taupe)}.checklist .go{width:16px;height:16px;color:var(--taupe);margin-left:auto}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:10px;bottom:10px;left:7px}.timeline li{grid-template-columns:1fr auto;gap:4px 18px;padding:14px 0 14px 34px;display:grid;position:relative}.timeline li:before{content:"";border:2px solid var(--cream);background:var(--terra);border-radius:50%;width:11px;height:11px;position:absolute;top:21px;left:2px;box-shadow:0 0 0 1px #9961394d}.timeline time{color:var(--taupe);white-space:nowrap;font-size:13px}.feedback{border-left:2px solid var(--terra);background:var(--cream);border-radius:0 14px 14px 0;padding:18px 20px}.feedback.ok{border-color:var(--sage)}.feedback>*+*{margin-top:8px}.grades{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;display:grid}.grades span{background:var(--paper);border-radius:10px;justify-content:space-between;gap:10px;padding:9px 12px;font-size:13px;display:flex}.event{grid-template-columns:86px minmax(0,1fr);align-items:start;gap:22px;display:grid}.event-date{background:var(--sand);text-align:center;border-radius:16px;justify-items:center;gap:2px;padding:14px 6px;display:grid}.event-date b{font:400 32px/1 var(--body);letter-spacing:-.03em;color:var(--ink)}.event-date small{letter-spacing:.14em;text-transform:uppercase;color:var(--terra);font-size:11px}.event-body{gap:10px;min-width:0;display:grid}.event.cancelled .event-body h3{color:var(--taupe);text-decoration:line-through}.question{gap:12px;display:grid}.question legend{font:500 19px/1.35 var(--serif);color:var(--ink);margin-bottom:4px}.question .check{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:13px 16px;transition:border-color .2s,background .2s}.question .check:hover{border-color:#d2c1ab}.question .check:has(input:checked){border-color:var(--terra);background:#9961390d}.score{align-items:baseline;gap:8px;display:flex}.score b{font:400 40px/1 var(--body);letter-spacing:-.03em}.answer-key{gap:14px;margin:0;padding-left:20px;display:grid}.answer-key ul{color:var(--taupe);margin:8px 0 0;padding-left:18px}.answer-key .right{color:var(--sage);font-weight:500}.empty{border-radius:var(--radius);text-align:center;border:1px dashed #d8c8b3;justify-items:center;gap:10px;padding:48px 28px;display:grid}.empty .mark{font:italic 400 30px/1.1 var(--serif);color:var(--ink)}.empty p{max-width:46ch}@keyframes ms-shimmer{to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#f1e7da 25%,#f8f1e7 50%,#f1e7da 75%) 0 0/200% 100%;border-radius:16px;animation:1.6s linear infinite ms-shimmer}@keyframes ms-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.busy-bar{z-index:110;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0;overflow:hidden}.busy-bar:after{content:"";background:linear-gradient(90deg, transparent, var(--terra), transparent);animation:ms-slide 1.1s var(--ease) infinite;position:absolute;inset:0}@keyframes ms-toast{0%{opacity:0;transform:translateY(14px)scale(.97)}}.toasts{z-index:100;justify-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:grid;position:fixed;bottom:26px;left:calc(50% + 138px);transform:translate(-50%)}.toast{background:var(--ink-2);color:#fbf4ea;max-width:560px;animation:ms-toast .4s var(--ease) both;border-radius:999px;align-items:center;gap:12px;padding:11px 12px 11px 18px;font-size:14px;display:flex;box-shadow:0 18px 40px -18px #2b231c99}.toast svg{color:#b9cfa9;flex-shrink:0;width:17px;height:17px}.toast.error{background:#7a3a22;border-radius:18px}.toast.error svg{color:#f6c9b0}.toast button{width:28px;height:28px;color:inherit;opacity:.7;border-radius:50%;place-items:center;display:grid}.toast button:hover{opacity:1;background:#ffffff1a}.toast button svg{color:inherit}.ms-dialog{background:var(--paper);width:min(460px,100% - 32px);color:var(--ink);border:0;border-radius:26px;padding:34px;box-shadow:0 40px 90px -40px #2b231c99}.ms-dialog[open]{animation:ms-toast .4s var(--ease) both}.ms-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2b231c6b}.ms-dialog .card-head{margin-bottom:22px}.ms.auth{background:var(--cream);grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-visual{isolation:isolate;background:#2b231c url(/brand/soin.webp) 38%/cover no-repeat;align-items:flex-end;padding:clamp(28px,4vw,56px);display:flex;position:relative;overflow:hidden}.auth-visual:before{content:"";z-index:-1;background:linear-gradient(#2b231c00 35%,#2b231ccc 100%),linear-gradient(90deg,#2b231c33,#0000 50%);position:absolute;inset:0}.auth-visual blockquote{color:#fbf4ea;max-width:470px;animation:ms-rise .9s .15s var(--ease) both;gap:16px;display:grid}.auth-visual blockquote p{font:italic 400 clamp(30px, 3.1vw, 44px) / 1.08 var(--serif);color:#fffaf3;letter-spacing:-.01em}.auth-visual blockquote footer{letter-spacing:.18em;text-transform:uppercase;color:#fbf4eabf;font-size:11.5px}.auth-panel{flex-direction:column;padding:36px clamp(24px,5vw,80px);display:flex}.auth-panel>img{width:140px;height:auto}.auth-card{width:min(420px,100%);animation:ms-rise .7s var(--ease) both;gap:28px;margin:auto 0;padding:48px 0;display:grid}.auth-card>div:first-child{gap:12px;display:grid}.auth-card h1{font-size:clamp(40px,4vw,54px)}.auth-alt{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.auth-panel>.fine{max-width:420px}.chat-layout>*,.ms-split>*,.ms-stack>*{min-width:0}.chat-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.chat{border:1px solid var(--line);background:var(--paper);border-radius:26px;grid-template-rows:auto minmax(0,1fr) auto;height:min(760px,100dvh - 210px);min-height:520px;display:grid;overflow:hidden}.chat-top{border-bottom:1px solid var(--line);background:var(--cream);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.segmented{background:var(--sand);border-radius:999px;padding:4px;display:inline-flex}.segmented button{min-height:34px;color:var(--taupe);border-radius:999px;padding:0 16px;font-size:13.5px;font-weight:500;transition:background .25s,color .25s}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #3e342a1f}.chat-top select{border-radius:999px!important;width:auto!important;min-height:38px!important;padding:6px 40px 6px 14px!important;font-size:13.5px!important}.chat-log{scroll-behavior:smooth;flex-direction:column;gap:18px;padding:28px clamp(16px,3vw,32px);display:flex;overflow-y:auto}.chat-hello{text-align:center;justify-items:center;gap:16px;max-width:520px;margin:auto;display:grid}.chat-hello .mark{font:italic 400 34px/1.1 var(--serif);color:var(--ink)}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chips button{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--ink);border-radius:999px;padding:0 15px;font-size:13.5px;transition:border-color .2s,color .2s,transform .2s}.chips button:hover{border-color:var(--terra);color:var(--terra);transform:translateY(-1px)}.msg{max-width:min(78%,640px);animation:ms-rise .4s var(--ease) both;gap:6px;display:grid}.msg .bubble{overflow-wrap:anywhere;border-radius:22px;padding:14px 18px;font-size:15px;line-height:1.62}.msg.user{align-self:flex-end}.msg.user .bubble{background:var(--ink);color:#fbf4ea;white-space:pre-wrap;border-bottom-right-radius:6px}.msg.assistant{align-self:flex-start}.msg.assistant .bubble{background:var(--cream);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:6px}.msg .bubble p{color:inherit}.msg .bubble>*+*{margin-top:10px}.msg .bubble ul,.msg .bubble ol{gap:4px;margin:0;padding-left:20px;display:grid}.msg small{color:var(--taupe);padding:0 6px;font-size:11.5px}.msg.user small{text-align:right}.typing{gap:5px;padding:4px 0;display:inline-flex}.typing i{background:var(--terra);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ms-typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes ms-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-compose{border-top:1px solid var(--line);background:var(--paper);align-items:flex-end;gap:10px;padding:14px;display:flex}.chat-compose form{align-items:flex-end;width:100%;gap:10px!important;display:flex!important}.chat-compose label{flex:1}.chat-compose textarea{max-height:180px;resize:none!important;border-radius:22px!important;min-height:50px!important;padding:13px 18px!important}.chat-compose .btn{width:50px;min-height:50px;padding:0}.chat-note{color:var(--taupe);text-align:center;background:var(--paper);padding:0 18px 14px;font-size:12px}.conversations{gap:6px;display:grid}.conversations button{text-align:left;border-radius:14px;gap:2px;width:100%;padding:12px 14px;transition:background .2s;display:grid}.conversations button:hover,.conversations button[aria-current=true]{background:var(--sand)}.conversations b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.conversations small{color:var(--taupe);font-size:12px}@media (max-width:1080px){.ms-split,.chat-layout,.reader-body{grid-template-columns:minmax(0,1fr)}.reader-aside{position:static}}@media (max-width:1023px){.ms{background:var(--cream);grid-template-columns:minmax(0,1fr)}.ms-side{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3e8daf0;grid-template-columns:1fr auto;grid-template-areas:"brand account""nav nav";gap:10px 12px;height:auto;padding:12px 0 0;display:grid;position:sticky;top:0;overflow:visible}.ms-brand{grid-area:brand;align-self:center;padding:0 0 0 18px}.ms-brand img{width:108px}.ms-account{border:0;grid-area:account;padding:0 10px 0 0}.ms-account .ms-who,.ms-account .ms-avatar{display:none}.ms-nav{scroll-snap-type:x proximity;scrollbar-width:none;flex-direction:row;grid-area:nav;gap:6px;padding:2px 18px 12px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 18px calc(100% - 28px),#0000)}.ms-nav::-webkit-scrollbar{display:none}.ms-nav-group{display:contents}.ms-nav-label{display:none}.ms-nav button{white-space:nowrap;scroll-snap-align:start;border-radius:999px;width:auto;min-height:38px;padding:0 14px;font-size:14px}.ms-nav button svg{width:16px;height:16px}.ms-nav button[aria-current=page]{background:var(--ink);color:#fbf4ea;box-shadow:none}.ms-nav button[aria-current=page]:after{display:none}.ms-nav button[aria-current=page] .count{background:var(--terra);margin-right:0}.ms-main{padding-top:36px}.toasts{left:50%}}@media (max-width:720px){.btn{white-space:normal;height:auto;min-height:46px;padding-top:11px;padding-bottom:11px}.row .row-actions.wide{margin-top:0;padding-left:0}.ms-main{padding:28px 18px 110px}.ms-head{margin-bottom:28px}.ms h1,.ms .display{font-size:clamp(36px,10vw,44px)}.ms-dossier{width:100%;min-width:0}.ms-head-aside{width:100%}.card{padding:22px 20px}.week{grid-template-columns:minmax(0,1fr);gap:20px;padding:32px 0}.week-label{grid-template-columns:auto 1fr;align-items:end;column-gap:16px}.week-num{grid-row:span 3;font-size:60px}.lesson-row{padding:14px}.editor{padding:18px}.reader-hero{border-radius:22px;min-height:260px;padding:24px}.row{grid-template-columns:minmax(0,1fr) auto;padding:16px}.row.head{display:none}.row.student{grid-template-columns:minmax(0,1fr) auto}.row .hide-sm{display:none}.event{grid-template-columns:64px minmax(0,1fr);gap:16px}.event-date b{font-size:30px}.ms.auth{grid-template-columns:minmax(0,1fr)}.auth-visual{border-radius:0 0 28px 28px;min-height:34vh;padding:24px}.auth-visual blockquote p{font-size:28px}.auth-panel{padding:28px 22px 36px}.auth-panel>img{display:none}.auth-card{padding:8px 0 28px}.chat{border-radius:22px;height:calc(100dvh - 190px);min-height:460px}.msg{max-width:90%}.weeks-strip small{font-size:13px}.stat b{font-size:42px}.ms-dialog{padding:26px 22px}}@media (prefers-reduced-motion:reduce){.ms *,.ms :before,.ms :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
