@media (max-width:700px){
  .edu-with-rail main{padding:16px 14px 30px!important}
  .study-top{
    min-height:42px;height:auto;padding:9px 14px!important;background:transparent!important;
    border-bottom:0!important;box-shadow:none!important;
  }
  .study-top>div{display:none!important}
  .study-top>span{max-width:none!important;font-size:9px!important;letter-spacing:.75px!important;line-height:1.35}
  .study-footer{padding:18px 14px 28px!important;line-height:1.8}
  #study-upgrade-intro{padding:18px!important;margin-bottom:20px!important;border-radius:16px!important;align-items:flex-start!important}
  #study-upgrade-intro h2{font-size:20px!important;line-height:1.2!important}
  #study-upgrade-intro p:last-child{font-size:12px!important;line-height:1.55!important}
  .edu-original-hero{margin-bottom:26px!important;border-radius:20px!important}
  .edu-original-hero-copy{padding:24px 20px!important}
  .edu-original-hero h1{font-size:clamp(30px,9vw,39px)!important;line-height:1.06!important;margin-bottom:14px!important}
  .edu-original-hero-copy>p{font-size:13px!important;line-height:1.65!important}
  .edu-home-mascot{position:static!important;width:118px!important;height:118px!important;margin:4px 0 0 auto!important;opacity:1!important}
  .edu-buddy{right:16px!important;left:auto!important;bottom:calc(16px + env(safe-area-inset-bottom))!important}
  .edu-buddy-panel{width:min(300px,calc(100vw - 20px))!important;right:0!important;left:auto!important}
  .edu-timer-widget{top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;left:16px!important;right:auto!important;z-index:200!important}
  .edu-timer-panel{top:auto!important;bottom:calc(100% + 10px)!important;left:0!important;right:auto!important}
  body.reader-page .edu-timer-widget,body.reader-page .edu-buddy,body.reader-page .edu-buddy-launch,body.reader-page .edu-buddy-panel{display:none!important}
  .reader-heading{align-items:flex-start}
  #reader-full-tutor{display:flex;width:100%;margin-top:10px;justify-content:center}
}

@media (max-width:480px){
  #study-upgrade-intro>a{width:100%;justify-content:center;text-align:center}
  #app .ultra-hero{padding:23px 18px 19px!important}
  #app .ultra-hero h1{font-size:34px!important}
  #app .ultra-main-grid{gap:14px}
  #app .ultra-action-grid{grid-template-columns:1fr!important;gap:10px!important}
  #app .ultra-action-card{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;row-gap:3px;min-height:0;padding:14px 15px!important}
  #app .ultra-action-card .action-icon{grid-row:1/span 2}
  #app .ultra-action-card strong{align-self:end}
  #app .ultra-action-card small{grid-column:2}
  #app .daily-board{padding:18px!important;margin:18px 0 24px!important}
  #app .daily-summary{gap:14px}
  #app .daily-summary h2{font-size:20px!important}
  #app .daily-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  #app .daily-actions>*{width:100%;padding-left:8px;padding-right:8px}
  .reader-heading>.button{max-width:none!important;white-space:nowrap}
  .chat-composer-actions{align-items:stretch}
  .chat-composer-actions .chat-attach,.chat-composer-actions .chat-send{flex:1;justify-content:center}
}

@media (max-width:360px){
  #app .daily-actions{grid-template-columns:1fr}
}


/* Shared viewport contract. Loaded after page styles. */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden!important;max-width:100vw!important;width:100%!important}
main,#edu-main,.r16-main,#app{max-width:100%!important;box-sizing:border-box!important}
img,video,canvas{max-width:100%}
.edu-mobile-actions,.edu-mobile-topbar,.edu-mobile-home{display:none}
.edu-hero-grid{grid-template-columns:minmax(0,1fr)!important}
.edu-hero-grid>*{grid-column:auto!important;min-width:0}
.edu-hero-grid input{min-width:0;max-width:100%}
@media(min-width:1100px){.edu-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}}
.edu-with-rail .edu-upgrade .edu-upgrade-cta{background:#b50936!important;color:#fff!important}
html.edu-ads-paused .edu-ad-slot-wrapper,html.edu-ads-paused .adsbygoogle,
html.edu-ad-free .edu-ad-slot-wrapper,html.edu-ad-free .adsbygoogle,
html.edu-ads-paused #edu-sticky-ad-bar,html.edu-ad-free #edu-sticky-ad-bar{display:none!important}
.edu-ad-slot-wrapper{position:relative!important;width:100%;max-width:100%;min-width:0;margin:32px auto!important;padding:16px 12px!important;clear:both;overflow:visible}
.edu-ad-slot-wrapper .adsbygoogle{display:block;min-width:0;width:100%;max-width:100%;min-height:100px}
.edu-ad-disclaimer{color:var(--edu-muted,#526176)!important;font-size:10px;line-height:1.5;margin-bottom:8px!important;text-transform:uppercase;letter-spacing:.08em}
.edu-ad-slot-wrapper:has(.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
@media(max-width:600px){.edu-ad-slot-wrapper{margin:24px auto!important;padding:14px 0!important}}
@media print{.edu-ad-slot-wrapper,.adsbygoogle,#edu-sticky-ad-bar{display:none!important}}
.edu-buddy{bottom:calc(16px + env(safe-area-inset-bottom) + var(--edu-auto-ad-bottom,0px))!important}
@media(max-width:840px){
 .omni-floating-island-nav{bottom:calc(16px + env(safe-area-inset-bottom) + var(--edu-auto-ad-bottom,0px))!important}
 .edu-has-bottom-nav{padding-bottom:calc(92px + env(safe-area-inset-bottom) + var(--edu-auto-ad-bottom,0px))!important}
 .edu-has-bottom-nav .edu-timer-widget{bottom:calc(94px + env(safe-area-inset-bottom) + var(--edu-auto-ad-bottom,0px))!important}
}
.edu-auth-box,.edu-acct-card,.onboarding-dialog-card{max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;max-width:calc(100vw - 24px)!important}
.edu-acct-status{font-size:12px;color:#b50936;white-space:normal}
@media(max-width:1050px){
 .edu-with-rail .social-float{display:none!important}
 html{scroll-padding-top:54px}
 .edu-with-rail{padding-top:54px!important}
 .edu-mobile-topbar{display:block!important;position:fixed!important;inset:0 0 auto;height:54px!important;background:var(--edu-card,#fff)!important;border-bottom:1px solid var(--edu-line,#e2e8f0)!important;z-index:52!important}
 .edu-mobile-actions{display:flex!important;position:fixed!important;top:8px;right:10px;gap:8px;align-items:center;max-width:calc(100vw - 70px);z-index:58}
 .edu-mobile-actions .edu-mobile-signin,.edu-mobile-actions .edu-mobile-plans{display:inline-flex!important;position:static!important;inset:auto!important;align-items:center;justify-content:center;gap:5px;width:auto!important;height:38px!important;min-height:38px!important;min-width:0!important;margin:0!important;padding:0 10px!important;border-radius:10px!important;font-size:11px!important;font-weight:800;line-height:1.1;flex-shrink:0;text-decoration:none}
 .edu-mobile-actions .edu-mobile-signin{background:#b50936!important;color:#fff!important;border:1px solid #b50936!important;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block!important;line-height:36px!important}
 .edu-mobile-actions .edu-mobile-plans{background:var(--edu-card,#fff)!important;color:var(--edu-ink,#172033)!important;border:1px solid var(--edu-line,#cbd5e1)!important}
 .edu-mobile-menu{display:flex!important;position:fixed!important;top:6px!important;left:10px!important;right:auto!important;align-items:center;justify-content:center;width:42px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0!important;background:var(--edu-card,#fff)!important;color:var(--edu-ink,#172033)!important;border:1px solid var(--edu-line,#cbd5e1)!important;border-radius:11px!important;z-index:65!important;box-shadow:none!important}
 .edu-mobile-menu .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .edu-rail{top:54px!important;bottom:0!important;width:min(340px,calc(100vw - 24px))!important;max-width:none!important;height:calc(100dvh - 54px)!important;padding:18px 12px calc(20px + env(safe-area-inset-bottom))!important;visibility:hidden!important;overflow-y:auto;z-index:60!important}
 .edu-rail.edu-open{visibility:visible!important;transform:translateX(0)!important}
 .edu-rail .edu-logo{margin:0 5px 14px!important;padding:0 0 14px!important}
 .edu-rail a:not(.edu-logo),.edu-rail summary{min-height:44px;font-size:12px}
 .edu-menu-scrim{inset:54px 0 0!important;z-index:55!important}
 #edu-signin-banner{top:54px!important}
 body.tutor-page:has(#tutor-app) main#edu-main{padding:0!important;min-height:0!important}
 body.tutor-page:has(#tutor-app) #tutor-app{height:calc(100dvh - 54px)!important;min-height:0!important}
}
@media(max-width:840px){
 .edu-has-bottom-nav .edu-buddy{display:none!important}
 .edu-has-bottom-nav .edu-timer-widget{bottom:calc(94px + env(safe-area-inset-bottom) + var(--edu-auto-ad-bottom,0px))!important}
 body.tutor-page:has(#tutor-app) main#edu-main{padding:0!important;min-height:0!important}
 body.tutor-page:has(#tutor-app) #tutor-app{height:calc(100dvh - 54px - 92px - env(safe-area-inset-bottom))!important;min-height:0!important}
 body.tutor-page:not(.edu-has-bottom-nav):has(#tutor-app) #tutor-app{height:calc(100dvh - 54px)!important}
 .tutor-input-area{padding:10px!important}
 .tutor-chat-header{padding:10px!important}
}
@media(max-width:360px){.edu-mobile-actions .edu-mobile-signin{max-width:105px}}
@media(max-height:480px) and (max-width:840px){
 .tutor-depth-bar,.tutor-chat-header .tutor-subtitle{display:none!important}
 body.tutor-page #chat-messages{padding:8px!important}
 body.tutor-page:has(#chat-question:focus) .tutor-chat-header{display:none!important}
 body.tutor-page:has(#chat-question:focus) .omni-floating-island-nav{display:none!important}
 body.tutor-page:has(#chat-question:focus) #tutor-app{height:calc(100dvh - 54px)!important}
}
@media print{.edu-mobile-actions,.edu-mobile-topbar,.edu-mobile-menu,.edu-buddy,.edu-timer-widget{display:none!important}}

/* ==========================================================================
   Mobile Header: Eliminate Redundant Repeated Logo
   ========================================================================== */
.edu-mobile-home {
  display: none !important;
}

/* ==========================================================================
   SACAI Logo Dark Mode High-Contrast Enhancement
   ========================================================================== */
@media(max-width:480px){
 main [style*="min-width:280px"],main [style*="min-width: 280px"]{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
 #app .form-actions>button{flex:1 1 140px;min-width:0;max-width:100%}
 #app .task-form{grid-template-columns:minmax(0,1fr)!important}
 #app .task-form>div{min-width:0}
}
@media(max-width:860px){
 #app .planner-layout{grid-template-columns:minmax(0,1fr)}
 #app .planner-aside{position:static;min-width:0;width:auto}
}

html.dark img[src*="sacai.webp"], 
html.dark img[src*="sacai.png"],
html.dark img[src*="sacai.jpg"]:not(.sacai-hero-img),
.dark img[src*="sacai.webp"], 
.dark img[src*="sacai.png"],
.dark img[src*="sacai.jpg"]:not(.sacai-hero-img) {
  background: #ffffff !important;
  border-radius: 8px !important;
  padding: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

html.dark .card-image-container:has(img[src*="sacai"]),
.dark .card-image-container:has(img[src*="sacai"]) {
  background: #ffffff !important;
  border-radius: 12px 12px 0 0 !important;
}


/* Narrow-screen report tabs retain their complete labels. */
@media (max-width: 480px) {
  #reports .tab-button { min-width: 0; padding: 12px 8px; font-size: 14px; white-space: normal; overflow-wrap: anywhere; flex: 1; }
  .edu-banner-left { min-width: 0; max-width: 100%; }
  .edu-banner-title, .edu-banner-pill { overflow-wrap: anywhere; }
  nav ol.inline-flex { flex-wrap: wrap; row-gap: 8px; }
  nav ol.inline-flex li { min-width: 0; }
  nav ol.inline-flex a, nav ol.inline-flex span { overflow-wrap: anywhere; }
}

/* Study announcements and shared mobile action contrast. */
.edu-mobile-actions .edu-mobile-plans :is(span,svg){color:inherit!important}
.edu-mobile-actions .edu-mobile-plans,.edu-mobile-actions .edu-mobile-plans span{-webkit-text-fill-color:var(--edu-ink,#172033)!important}
.edu-mobile-actions .edu-mobile-plans-icon{display:inline-flex;align-items:center}
.edu-mobile-actions .edu-mobile-plans svg{stroke:currentColor;fill:none}
.edu-public-purpose{max-width:600px;margin:0 0 22px;font-size:13px;line-height:1.7;color:#dbe4f0}
.edu-public-purpose p{margin:0 0 10px}
.edu-public-purpose a{color:#fda4af!important;text-decoration:underline;text-underline-offset:3px}
#hero-niko-block{display:flex;align-items:center;gap:24px;width:min(100%,960px);margin:32px auto;padding:26px 30px;background:var(--edu-card,#fff);border:1px solid var(--edu-line,#cbd5e1);border-left:4px solid #be123c;border-radius:18px;box-shadow:0 8px 28px #0f172a08;color:var(--edu-ink,#172033)}
#hero-niko-mascot{flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center}
#hero-niko-mascot img{width:72px!important;height:72px!important;object-fit:contain}
.edu-announcement-copy{flex:1;min-width:0}
.edu-announcement-label{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--edu-muted,#526176)}
#hero-niko-message{margin:0;font-size:clamp(17px,2vw,22px);font-weight:750;line-height:1.5;color:var(--edu-ink,#172033)}
#hero-exam-countdown{margin:10px 0 0;font-size:15px;font-weight:700;line-height:1.5;color:var(--edu-muted,#526176)}
.edu-announcement-copy>a{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:#a70b32;text-decoration:underline;text-underline-offset:3px}
.dark .edu-announcement-copy>a{color:#fda4af}
@media(max-width:600px){#hero-niko-block{gap:16px;margin:24px auto;padding:20px 18px;align-items:flex-start}#hero-niko-mascot{flex-basis:48px;width:48px;height:56px}#hero-niko-mascot img{width:48px!important;height:56px!important}#hero-exam-countdown{font-size:14px}}
@media(max-width:360px){#hero-niko-block{gap:12px;padding:18px 14px}#hero-niko-mascot{flex-basis:36px;width:36px}#hero-niko-mascot img{width:36px!important;height:48px!important}}

/* Universal mobile viewport cut-off safeguards */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
  main, #edu-main, .r16-main, #app, .max-w-6xl, .max-w-4xl, .max-w-3xl {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    overflow-x: hidden !important;
  }
  .plan-card, .r16-panel, .panel, .card, article, section {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  #membership-plan-cards, .r16-grid, .grid, #app .ultra-pricing, #membership-plans, .pricing {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #app .ultra-pricing .plan, #membership-plans .plan, .pricing .plan, .plan-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    box-sizing: border-box !important;
  }
  table, pre, code {
    max-width: 100% !important;
    overflow-x: auto !important;
    box-sizing: border-box !important;
  }
}

