/* MindSpring route signatures: one quiet, purposeful detail per page. */
.ms-signature{pointer-events:none;position:absolute;box-sizing:border-box;z-index:0;color:inherit;}
html[data-ms-signature] main,html[data-ms-signature] [class$="-wrap"]{isolation:isolate;}

/* Core */
.ms-score-host{position:relative;overflow:visible!important;}
.ms-score-tick{inset:8px;border:1px solid transparent;border-top-color:rgba(255,255,255,.82);border-radius:50%;transform:rotate(var(--ms-score-angle,180deg));transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.ms-score-host:is(:hover,:focus-within) .ms-score-tick{inset:5px;border-top-color:#fff;}
.ms-search-aperture{position:relative;isolation:isolate;}
.ms-search-aperture::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(255,255,255,.2);border-radius:inherit;background:radial-gradient(120px circle at var(--aperture-x,50%) var(--aperture-y,50%),rgba(255,255,255,.13),transparent 66%);opacity:.45;pointer-events:none;transition:opacity .24s,transform .24s;z-index:-1;}
.ms-search-aperture:is(.is-focused,:hover,:focus-within)::after{opacity:1;transform:scale(1.01);}
.ms-research-slip{animation:msSlipIn .55s cubic-bezier(.2,.8,.2,1) both;}
@keyframes msSlipIn{from{opacity:0;transform:translateY(12px) rotate(.8deg)}to{opacity:1;transform:none}}
.ms-loop-host{position:relative;--loop-progress:0;}
.ms-loop-progress{left:-25px;top:0;bottom:0;width:2px;background:linear-gradient(#fff 0 calc(var(--loop-progress)*100%),rgba(255,255,255,.14) 0);}
.a-item{transition:opacity .3s,transform .3s}.a-item:not(.is-complete){opacity:.62}.a-item.is-complete{opacity:1}
.ms-chapter-host{position:relative;--chapter-progress:.2;}
.ms-chapter-route{left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#fff 0 calc(var(--chapter-progress)*100%),rgba(255,255,255,.14) 0);transition:background .4s;}
.ms-landing-marker{display:inline-block;width:5px;height:5px;border-radius:50%;background:#fff;transform:scale(.55);opacity:.35;transition:transform .25s,opacity .25s}.ms-landing-marker.is-current{transform:scale(1);opacity:1}

/* Research */
.ms-scan-host{position:relative;overflow:hidden!important}.ms-scan-line{left:3%;right:3%;height:1px;top:12%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.38);opacity:0}
.ms-scan-host[data-scan-state="scanning"] .ms-scan-line{opacity:.85;animation:msScan 1.1s ease-in-out infinite alternate}.ms-scan-host[data-scan-state="done"] .ms-scan-line{top:calc(100% - 3px);opacity:.25}.ms-scan-host[data-scan-state="error"] .ms-scan-line{opacity:0}
@keyframes msScan{to{top:88%}}
.ms-page-corner{position:relative;transform-origin:bottom left;transition:transform .24s,box-shadow .24s}.ms-page-corner:is(:hover,:focus-within){transform:perspective(500px) rotateY(-1.8deg) rotateX(1deg);box-shadow:14px 16px 34px rgba(0,0,0,.3)!important}
.ms-citation-wire{position:relative;text-decoration-thickness:1px;text-underline-offset:4px}.ms-citation-wire:is(:hover,:focus-visible){text-decoration-color:#fff}
.ms-typeset-line{animation:msTypeset .42s ease both}@keyframes msTypeset{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
.ms-step-rail{position:relative}.ms-step-rail::before{content:"";position:absolute;left:14px;top:18px;bottom:18px;width:1px;background:linear-gradient(#fff,rgba(255,255,255,.12));pointer-events:none}

/* Notes, memory, practice */
.ms-reading-rule{position:relative;--read-progress:0}.ms-reading-rule::before{content:"";position:absolute;left:7px;top:0;width:2px;height:calc(var(--read-progress)*100%);background:#fff;pointer-events:none;transition:height .16s linear}
.ms-provenance-host{position:relative}.ms-provenance-stamp{right:20px;top:18px;padding:5px 8px;border:1px solid rgba(255,255,255,.36);border-radius:2px;font:600 9px/1 Inter,sans-serif;letter-spacing:.14em;transform:rotate(2deg);opacity:.64;animation:msStamp .35s ease both}@keyframes msStamp{from{opacity:0;transform:scale(1.2) rotate(4deg)}to{opacity:.64;transform:rotate(2deg)}}
.ms-deck-edge{position:relative;box-shadow:5px 5px 0 -1px #000,6px 6px 0 rgba(255,255,255,.18)!important;transition:box-shadow .25s,transform .25s}.ms-deck-edge:is(:hover,:focus-within){box-shadow:2px 2px 0 rgba(255,255,255,.2)!important;transform:translate(2px,2px)}
.ms-match-thread{position:relative}.ms-match-thread::after{content:"";position:absolute;left:18%;right:18%;top:50%;height:1px;background:rgba(255,255,255,.18);transform:scaleX(0);transition:transform .3s;pointer-events:none}.ms-match-thread:has(.correct,.is-correct)::after{transform:scaleX(1)}
.ms-correction-strike{position:relative}.ms-correction-strike.is-corrected::after,.ms-correction-strike.correct::after{content:"";position:absolute;left:6%;right:6%;top:50%;height:1px;background:#fff;transform-origin:left;animation:msStrike .35s ease both}@keyframes msStrike{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ms-audio-wave{position:relative}.ms-audio-wave::after{content:"";display:block;height:20px;margin-top:8px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 7px);mask:linear-gradient(0deg,transparent 10%,#000 50%,transparent 90%);transform:scaleY(.35);transition:transform .2s}.ms-audio-wave.is-playing::after{animation:msWave .8s ease-in-out infinite alternate}@keyframes msWave{to{transform:scaleY(1)}}
.ms-game-preview{position:relative}.ms-game-preview::after{content:"";position:absolute;right:14px;bottom:12px;width:34px;height:14px;background:repeating-linear-gradient(90deg,#fff 0 3px,transparent 3px 7px);opacity:.15;transform:scaleX(.5);transform-origin:right;transition:transform .3s,opacity .3s;pointer-events:none}.ms-game-preview:is(:hover,:focus-within)::after{opacity:.62;transform:scaleX(1)}
.ms-question-rail{position:relative}.ms-question-rail::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(255,255,255,.3);border-radius:999px;pointer-events:none}
.ms-pressure-gauge{position:relative}.ms-pressure-gauge::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(0deg,rgba(255,255,255,.15),#fff);opacity:.5;pointer-events:none}
.ms-decision-axis{--decision-tilt:0deg;position:relative}.ms-decision-axis::before{content:"";position:fixed;left:50%;top:18%;bottom:12%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.34),transparent);transform:rotate(var(--decision-tilt));transform-origin:center;transition:transform .32s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.ms-context-pull{transition:letter-spacing .25s}.ms-context-pull:is(:focus-within,:hover){letter-spacing:-.012em}
.ms-diagnostic-sweep{animation:msDiagnostic .45s ease both}@keyframes msDiagnostic{from{opacity:.3;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}

/* Focus and planning */
.ms-scope-strip{position:sticky;top:76px;margin:0 auto 16px;width:max-content;max-width:calc(100% - 32px);padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,5,5,.82);backdrop-filter:blur(10px);font:500 11px/1.2 Inter,sans-serif;letter-spacing:.05em;z-index:8;transition:padding .25s,opacity .25s}.ms-scope-strip.is-compact{padding-block:5px;opacity:.72}
.ms-exam-guides{position:fixed;inset:76px clamp(18px,7vw,110px) 18px;border-inline:1px solid rgba(255,255,255,.16)}
.ms-clock-shadow{text-shadow:clamp(5px,1vw,14px) clamp(7px,1.3vw,18px) 0 rgba(255,255,255,.08)!important;transition:text-shadow 1s linear}
.ms-goal-route{position:relative}.ms-goal-route::before{content:"";position:absolute;left:18px;top:8px;bottom:8px;border-left:1px dashed rgba(255,255,255,.28);pointer-events:none}
.ms-task-fold{animation:msFold .26s ease both}@keyframes msFold{to{opacity:.58;transform:scaleY(.92)}}

/* Community */
.sc-class-card{position:relative}.ms-chalk-mark{right:12px;top:12px;width:30px;height:30px;opacity:.38}.ms-chalk-mark svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ms-class-pulse{position:relative}.ms-class-pulse::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.18;transform:scaleX(.35);transition:transform .35s,opacity .35s;pointer-events:none}.ms-class-pulse:is(:hover,:focus-within)::after{opacity:.52;transform:scaleX(1)}
.ms-lesson-tabs{position:relative}.ms-lesson-tabs::before{content:"LESSON";position:absolute;right:12px;top:-1px;padding:3px 7px;background:#111;border:1px solid rgba(255,255,255,.18);font:600 8px/1 Inter;letter-spacing:.14em;color:#aaa;pointer-events:none}
.ms-family-constellation{position:relative}.ms-family-constellation::after{content:"";position:absolute;right:12px;bottom:12px;width:48px;height:30px;background:radial-gradient(circle at 10% 80%,#fff 0 1px,transparent 2px),radial-gradient(circle at 42% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 65%,#fff 0 1px,transparent 2px);opacity:.35;pointer-events:none}
.ms-rank-shift{transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .25s}.ms-rank-shift:is(:hover,:focus-within){transform:translateX(4px);border-color:rgba(255,255,255,.4)!important}

/* Personal and utility */
.ms-identity-seal{position:relative}.ms-identity-seal::after{content:"";position:absolute;inset:-9px;border:1px dashed rgba(255,255,255,.42);border-radius:50%;pointer-events:none;transform:rotate(-8deg)}
.ms-setting-preview{transition:background .22s,border-color .22s}.ms-setting-preview:is(:hover,:focus-within){background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.28)!important}
.ms-form-perimeter{position:relative;--form-progress:0}.ms-form-perimeter::after{content:"";position:absolute;inset:-10px;border:1px solid rgba(255,255,255,.14);border-top-color:rgba(255,255,255,calc(.14 + var(--form-progress)*.7));border-radius:inherit;pointer-events:none;transition:border-color .3s}
.ms-code-slots{left:0;right:0;bottom:-27px;text-align:center;color:#aaa;font:600 12px/1 monospace;letter-spacing:.3em}
.ms-operation-pulse{position:relative}.ms-operation-pulse::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:2px;background:#fff;opacity:.3;animation:msOp 1.6s ease-in-out infinite alternate}@keyframes msOp{to{opacity:.75}}
.ms-reading-index,.ms-section-check{position:sticky;top:84px;float:right;width:min(190px,20vw);margin-right:calc(-1 * min(220px,22vw));display:grid;gap:8px;color:#777;font:500 10px/1.25 Inter;letter-spacing:.03em}.ms-reading-index span,.ms-section-check span{transition:color .2s,transform .2s}.ms-reading-index span.is-current,.ms-section-check span.is-current{color:#fff;transform:translateX(-4px)}
.ms-offline-grid body::before{background-size:90px 32px!important;transform:skewX(-4deg);opacity:.3!important;transition:transform .5s,opacity .5s}
.ms-sprout-lean svg{transform:rotate(var(--sprout-x,0deg));transform-origin:50% 85%;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.ms-route-compass{position:fixed;left:18px;bottom:18px;width:28px;height:28px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#888;font:600 8px/1 Inter;z-index:2}

@media(max-width:700px){
  .ms-loop-progress{left:4px}.ms-reading-index,.ms-section-check{display:none}.ms-exam-guides{inset:70px 10px 10px}.ms-scope-strip{top:68px}.ms-provenance-stamp{right:10px;top:10px}.ms-lesson-tabs::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .ms-signature,.ms-score-tick,.ms-search-aperture::after,.ms-page-corner,.ms-typeset-line,.ms-deck-edge,.ms-audio-wave::after,.ms-game-preview::after,.ms-decision-axis,.ms-decision-axis>*,.ms-diagnostic-sweep,.ms-scope-strip,.ms-task-fold,.ms-rank-shift,.ms-sprout-lean svg{animation:none!important;transition:none!important;transform:none!important}
  .ms-scan-host[data-scan-state="scanning"] .ms-scan-line{animation:none!important;top:50%}.a-item{opacity:1!important}.ms-operation-pulse::before{animation:none!important;opacity:.5}
}
