/* StudentSOS v20.12.5: unified app typography and learning layout */
:root{--sos-accent:#2563eb;--sos-ink:#172b49;--sos-muted:#63728a;--sos-edge:#e4eaf4;--sos-soft:#f6f9fe}
html{overflow-x:clip}body{overflow-x:clip}main,section,article,.shell{min-width:0}img,svg,video,canvas{max-width:100%}
body:not(.s2-product-app) main{overflow-wrap:break-word}
body.s18-product-app .s18-project,body.s18-product-app .s18-chat-shell,body.s18-product-app .s18-chat-stream,
body.s18-product-app .s18-msg,body.s18-product-app .s18-message-wrap,body.s18-product-app .s18-message,
body.s18-product-app #conversation{min-width:0!important;max-width:100%}
body.s18-product-app .s18-chat-stream{width:min(1000px,calc(100% - 36px))!important;gap:17px!important;padding:24px 0 28px!important}
body.s18-product-app .s18-msg{grid-template-columns:40px minmax(0,1fr)!important;align-items:start!important;gap:12px!important}
body.s18-product-app .s18-avatar{width:38px!important;height:38px!important;border-radius:13px!important}
body.s18-product-app .s18-message{font-size:15px!important;line-height:1.67!important;letter-spacing:0;color:var(--sos-ink)!important;word-break:normal!important;overflow-wrap:break-word!important;white-space:normal!important}
body.s18-product-app .s18-message p{margin:0 0 11px!important;line-height:1.67!important}
body.s18-product-app .s18-message p:last-child{margin-bottom:0!important}
body.s18-product-app .s18-message h2,body.s18-product-app .s18-message h3,body.s18-product-app .s18-message h4{line-height:1.3!important;letter-spacing:-.02em!important;margin:18px 0 8px!important;font-weight:800!important;color:#142b4d!important}
body.s18-product-app .s18-message h2{font-size:20px!important}body.s18-product-app .s18-message h3{font-size:17px!important}body.s18-product-app .s18-message h4{font-size:15px!important}
body.s18-product-app .s18-message ul,body.s18-product-app .s18-message ol{margin:6px 0 13px!important;padding-left:25px!important}body.s18-product-app .s18-message li{margin:5px 0!important;padding-left:2px}
body.s18-product-app .s18-gap{height:5px!important;min-height:0!important;margin:0!important}
body.s18-product-app .s18-message strong{font-weight:800!important;color:#193658}
body.s18-product-app .s18-message blockquote{border-left:3px solid #75a7ff!important;background:#f5f9ff!important;margin:12px 0!important;padding:12px 16px!important;border-radius:0 12px 12px 0!important}
body.s18-product-app .s18-message code.s18-inline-code{background:#eff4fb;padding:2px 5px;border-radius:5px;white-space:normal;overflow-wrap:anywhere}
body.s18-product-app .s18-code{max-width:100%!important;overflow-x:auto!important;white-space:pre!important;background:#101e36!important;color:#edf4ff!important;border-radius:13px!important;padding:16px!important;line-height:1.5!important}
/* Math: never make the ENTIRE message horizontally scroll; only the formula itself may scroll. */
.s18-message .s2091-math-source,.s18-message .s210-math-block,.s18-message .katex-display,
.preview-result .katex-display,.s18-message-wrap .katex-display,.share-answer .katex-display{display:block!important;max-width:100%!important;min-width:0!important;width:auto!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;white-space:nowrap!important;text-align:left!important;padding:6px 2px!important;margin:7px 0 10px!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.s18-message .katex-display>.katex,.preview-result .katex-display>.katex{display:inline-block!important;text-align:left!important;min-width:min-content;white-space:nowrap!important}
.s18-message .katex,.preview-result .katex{max-width:100%}
.s18-message>p:has(.s210-math-block){margin:0 0 6px!important}
.sos-table-wrap{max-width:100%!important;min-width:0;overflow-x:auto!important;border:1px solid var(--sos-edge)!important;border-radius:14px!important;margin:12px 0!important;background:white}
.sos-ai-table{width:100%;min-width:420px;border-collapse:collapse}.sos-ai-table th,.sos-ai-table td{padding:11px 13px!important;text-align:left;vertical-align:top;border-bottom:1px solid #e9edf5!important;white-space:normal;line-height:1.5}
.sos-ai-table th{background:#f6f9fd;font-weight:800;color:#183152}
.s2092-interactive{max-width:100%;min-width:0;border:1px solid #e1e9f5!important;background:#fff!important;border-radius:16px!important;padding:16px!important;margin:12px 0!important;box-shadow:0 7px 22px rgba(15,35,70,.04)}
.s2092-interactive-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eef1f8;margin-bottom:13px;padding-bottom:12px}
.s2092-quiz-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
.s2092-quiz-option{white-space:normal!important;text-align:left!important;padding:12px!important;min-width:0!important;border-radius:12px!important;transition:background .15s,border-color .15s}
.s2092-quiz-option:not(:disabled):hover{background:#edf4ff;border-color:#89aff7!important}
.s2092-quiz-feedback{background:#f6faff;padding:12px;border-radius:12px;line-height:1.6}
.s2092-flashcards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.s2092-flashcard{min-width:0!important;min-height:125px!important;border-radius:14px!important}
.s2092-tutor-tools{display:flex!important;width:min(100%,1000px)!important;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;padding:12px!important;border-radius:16px!important;background:#f7faff!important}
.s2092-tutor-tools>button{border:1px solid #cfe0fc!important;border-radius:999px!important;background:white!important;min-height:36px!important;padding:7px 13px!important;color:#2454a0!important;font-weight:700!important;font-size:12px!important;white-space:normal!important}
.s2092-tutor-tools>button:hover{background:#e8f1ff!important}
.s25-tutor-stat{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px auto 0;width:min(100%,1000px);font-size:12px;color:var(--sos-muted);padding:0 10px}
.s25-tutor-stat strong{color:#1769ff}.s25-tutor-stat button{margin-left:auto;border:1px solid #d7e3f7;background:white;border-radius:9px;padding:6px 12px;color:#17488e;cursor:pointer}
.s203-tutor-main .s210-tutor-hero,.s203-tutor-main .s210-next-topic,.s203-tutor-main .s210-topic-section{border-radius:20px!important}
.s203-topic-actions button,.s210-topic-actions button{min-height:40px!important;border-radius:10px!important}
/* Consistent landing / blog spacing */
.s14-content-page section,.s14-article-page section,.s17-tutor section{scroll-margin-top:95px}
.s14-blog-grid article{min-width:0;border-radius:18px!important;padding:24px!important;box-shadow:0 10px 25px rgba(20,40,80,.04)}
.s14-article,.s209-article{max-width:880px!important}.s14-article p,.s209-article p{line-height:1.78!important;overflow-wrap:break-word}
.s25-content{width:min(1140px,calc(100% - 40px));margin:0 auto}.s25-seo-hero{background:linear-gradient(140deg,#f0f6ff,#fff 72%);padding:66px 0 52px;border-bottom:1px solid #e8edf6}.s25-seo-hero h1{font:800 clamp(29px,4vw,51px)/1.14 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:14px 0 18px;max-width:860px;color:#132a4d}.s25-seo-hero p{font-size:17px;line-height:1.7;max-width:830px;color:#435673}.s25-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#2767da}.s25-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.s25-seo-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:32px;padding:42px 0 76px}.s25-seo-copy h2{font-size:clamp(21px,2.4vw,29px);line-height:1.25;letter-spacing:-.025em;color:#163052;margin:30px 0 13px}.s25-seo-copy p,.s25-seo-copy li{font-size:15px;line-height:1.8;color:#394b67}.s25-seo-copy ul,.s25-seo-copy ol{padding-left:25px;margin:12px 0 24px}.s25-seo-aside{position:sticky;top:100px;align-self:start;background:#f5f8ff;border:1px solid #e2eaf8;border-radius:20px;padding:22px}.s25-seo-aside a{display:block;color:#1c51a7;margin:10px 0;font-weight:700}.s25-seo-faq details{border-bottom:1px solid #e4eaf4;padding:15px 0}.s25-seo-faq summary{cursor:pointer;font-weight:750}.s25-seo-faq p{margin-bottom:0}.s25-blog-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.s25-blog-links a{background:#eef5ff;border-radius:999px;padding:9px 12px;color:#2255a1;text-decoration:none;font-size:13px}
@media(max-width:760px){body.s18-product-app .s18-chat-stream{width:calc(100% - 20px)!important;padding:12px 0 22px!important}body.s18-product-app .s18-msg{grid-template-columns:28px minmax(0,1fr)!important;gap:8px!important}body.s18-product-app .s18-avatar{width:28px!important;height:28px!important}body.s18-product-app .s18-message{font-size:14px!important;line-height:1.61!important}body.s18-product-app .s18-message h2{font-size:18px!important}body.s18-product-app .s18-message h3{font-size:16px!important}.s2092-quiz-options,.s2092-flashcards{grid-template-columns:1fr!important}.s25-seo-grid{grid-template-columns:1fr;padding-top:20px}.s25-seo-aside{position:static}.s25-seo-hero{padding:38px 0}.s25-seo-hero p{font-size:15px}.s25-content{width:calc(100% - 28px)}.s2092-tutor-tools{gap:6px!important;padding:9px!important}.s2092-tutor-tools>button{font-size:11px!important;padding:7px 10px!important}}
@media(prefers-reduced-motion:reduce){.s2092-quiz-option,.s2092-tutor-tools>button{transition:none!important}}
