:root {
  --navy: #071b31;
  --navy-2: #0b2b4e;
  --blue: #0d6efd;
  --blue-2: #2a86ff;
  --teal: #14b8a6;
  --teal-soft: #d8f6f1;
  --sky: #dcecff;
  --bg: #f3f7fc;
  --paper: #ffffff;
  --ink: #102a43;
  --muted: #61788f;
  --line: #d7e2ee;
  --shadow: 0 16px 42px rgba(7,27,49,.09);
  --shadow-soft: 0 8px 24px rgba(7,27,49,.07);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html{background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(180deg,#eef5fd 0,#f7faff 30rem,#f3f7fc 100%);-webkit-font-smoothing:antialiased}
button,textarea{font:inherit} button{-webkit-tap-highlight-color:transparent}
.topbar{max-width:1120px;margin:0 auto;padding:20px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brandLockup{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brandLockup>span:last-child{display:grid;gap:2px}
.brandMark,.miniMark{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--blue),var(--teal));box-shadow:0 10px 25px rgba(13,110,253,.22);font-weight:900}
.brandMark{width:46px;height:46px;border-radius:14px;font-size:22px}.brand{font-size:25px;font-weight:900;letter-spacing:-.04em}.brand span{color:var(--blue)}.tagline{font-size:11px;color:var(--muted)}
.topRight{display:flex;align-items:center;gap:9px}.levelPill,.datePill{border-radius:999px;padding:8px 11px;font-size:10px;white-space:nowrap}.levelPill{background:var(--navy);color:#fff;font-weight:800;letter-spacing:.08em}.datePill{background:#fff;border:1px solid var(--line);color:var(--muted)}
main{max-width:1120px;margin:0 auto;padding:0 24px 48px}.card{background:var(--paper);border:1px solid rgba(156,180,205,.38);border-radius:24px;box-shadow:var(--shadow)}
.hero{min-height:420px;position:relative;overflow:hidden;background:var(--navy);color:#fff}.heroArt{position:absolute;inset:0;background-image:url('/assets/newssprint-hero.jpg');background-size:cover;background-position:center right}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,38,.98) 0%,rgba(5,27,51,.94) 38%,rgba(5,30,56,.35) 72%,rgba(5,30,56,.12) 100%)}
.heroCopy{position:relative;z-index:2;max-width:650px;padding:50px 52px}.eyebrow{margin:0 0 9px;color:#66b8ff;font-size:10px;font-weight:900;letter-spacing:.18em}.hero h1{margin:0;font-size:clamp(42px,6vw,66px);line-height:.98;letter-spacing:-.045em;font-weight:900}.hero h1 span{color:#67d9cb}.heroLead{max-width:585px;margin:18px 0 0;color:#c5d7e9;font-size:15px;line-height:1.65}
.dailyPlan{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:520px;margin-top:25px}.dailyPlan>div{padding:12px 14px;border:1px solid rgba(119,180,232,.25);border-radius:14px;background:rgba(13,71,120,.42);backdrop-filter:blur(6px)}.dailyPlan strong{display:block;font-size:23px;line-height:1}.dailyPlan span{display:block;margin-top:5px;color:#abc7df;font-size:10px}
.heroBottom{display:flex;align-items:center;gap:18px;margin-top:24px}.progressRing{--progress-angle:0deg;width:84px;height:84px;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle at center,var(--navy-2) 0 48%,transparent 49%),conic-gradient(var(--teal) 0deg var(--progress-angle),rgba(130,177,215,.25) var(--progress-angle) 360deg);border:1px solid rgba(255,255,255,.12)}.progressRing strong{font-size:19px}.progressRing span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#9fb8ce}.heroMotto{display:flex;gap:8px;flex-wrap:wrap}.heroMotto strong{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.08);font-size:11px;letter-spacing:.04em}
.principles{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.principles>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:16px;border-right:1px solid var(--line)}.principles>div:last-child{border-right:none}.principleIcon{grid-row:1/span 2;color:var(--blue);font-size:22px}.principles strong{font-size:12px}.principles small{color:var(--muted);font-size:10px}
.installCard{margin-top:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;background:linear-gradient(105deg,#eaf4ff,#effcf9)}.installIcon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff}.installCopy strong{display:block;font-size:14px}.installCopy p{margin:2px 0 0;color:var(--muted);font-size:11px}.installEyebrow{margin:0!important;color:var(--blue)!important;font-size:9px!important;font-weight:900;letter-spacing:.14em}.installButton{border:0;background:var(--navy);color:#fff;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}
.practiceHeader{margin:38px 2px 12px;display:flex;justify-content:space-between;align-items:end;gap:24px}.practiceHeader h2,.storyTitle,.weekly h2,.installSheet h2{letter-spacing:-.035em}.practiceHeader h2{margin:0;font-size:clamp(29px,4vw,40px);line-height:1.05}.practiceNote{text-align:right;max-width:330px}.practiceNote p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.levelMini{display:inline-block;padding:5px 8px;border-radius:999px;background:var(--teal-soft);color:#087f73;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.tabs{display:flex;gap:9px;margin:18px 0 12px}.tab{min-width:138px;display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:700}.tab small{font-size:10px}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 8px 18px rgba(7,27,49,.15)}
.status{color:var(--muted);padding:8px 2px 14px;min-height:36px;font-size:12px}.newsList{display:grid;gap:17px}.story{padding:clamp(22px,4vw,34px);box-shadow:var(--shadow-soft);border-left:5px solid #dcecff}.story:nth-child(3n+2){border-left-color:#c6f1ea}.story:nth-child(3n){border-left-color:#dbe7ff}
.storyMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;color:var(--muted);font-size:10px}.sizeBadge{padding:5px 9px;border-radius:999px;background:#dcecff;color:#095bb4;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.gradeBadge{margin-left:auto;padding:4px 8px;border-radius:999px;background:#effcf9;color:#0d877b;font-weight:800}.metaDot{color:#a5b8ca}.storyTitle{margin:0 0 18px;max-width:900px;font-size:clamp(25px,4vw,34px);line-height:1.14}.passage{color:#29455f;font-size:17px;line-height:1.78}.passage p{margin:0 0 1.05em}.passage p:last-child{margin-bottom:0}.sourceLink{display:inline-block;margin:15px 0 4px;color:var(--muted);font-size:10px;text-decoration:none;border-bottom:1px solid var(--line)}
.responseBox{margin-top:23px;padding-top:21px;border-top:1px solid var(--line)}.prompt{display:block;margin-bottom:9px;font-weight:800}.answer{width:100%;min-height:88px;resize:vertical;border:1px solid #cbd9e8;background:#fbfdff;color:var(--ink);border-radius:14px;padding:14px;outline:none;line-height:1.55}.answer:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(13,110,253,.10)}.answer:disabled{opacity:.76;background:#f3f6f9}.responseFooter{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px}.sentenceHint{color:var(--muted);font-size:10px}.primary{border:0;background:linear-gradient(135deg,var(--blue),#0b89f3);color:#fff;border-radius:999px;padding:11px 17px;font-weight:800;cursor:pointer;box-shadow:0 7px 17px rgba(13,110,253,.18)}.primary:disabled{opacity:.5;box-shadow:none}.modelAnswer{margin-top:17px;padding:16px 18px;border:1px solid #bfe5df;border-radius:14px;background:#effcf9}.modelLabel{color:#0a8276;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.modelAnswer p{margin:7px 0 0;line-height:1.6;color:#1b4e4a}
.weeklyPanel{margin-top:28px}.weekly{padding:clamp(24px,4vw,34px);background:linear-gradient(145deg,#fff,#eef8ff);border:1px solid #bdd7f2}.weeklyHeader{display:flex;justify-content:space-between;gap:16px;align-items:start}.weekly h2{margin:0 0 8px;font-size:31px;line-height:1.12}.weeklyIntro{max-width:800px;color:var(--muted);line-height:1.55}.fiveGuide{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.fiveGuide span{padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px;text-align:center}.weekly textarea{min-height:165px}
.readMoreWrap{display:flex;justify-content:center;padding:6px 0}.readMoreButton{min-width:min(390px,100%);border:1px solid #bcd7f2;background:linear-gradient(135deg,#fff,#eaf4ff);color:var(--navy);border-radius:16px;padding:14px 20px;display:grid;gap:3px;cursor:pointer;box-shadow:var(--shadow-soft)}.readMoreButton span{font-weight:900;font-size:13px}.readMoreButton small{font-size:10px;color:var(--muted)}.readMoreButton:disabled{opacity:.6;cursor:wait}.softNotice{padding:11px 14px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--muted)}
.error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid #f0cbd2;background:#fff2f4;color:#8a4050}.retryNews{border:1px solid #e1b4bd;background:#fff;color:#7e3947;border-radius:999px;padding:7px 12px;cursor:pointer}.loading{display:inline-flex;gap:7px;align-items:center}.loading:after{content:'';width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.modal{position:fixed;inset:0;z-index:1000;display:grid;align-items:end;justify-items:center;padding:18px}.modalBackdrop{position:absolute;inset:0;background:rgba(7,27,49,.46);backdrop-filter:blur(5px)}.installSheet{position:relative;z-index:1;width:min(520px,100%);padding:27px}.installSheet h2{font-size:27px;margin:0 34px 18px 0}.modalClose{position:absolute;right:14px;top:12px;border:0;background:none;color:var(--muted);font-size:28px;cursor:pointer}.installSteps{display:grid;gap:11px;margin-bottom:20px}.installStep{display:grid;grid-template-columns:30px 1fr;gap:10px}.installStep>span:first-child{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#dcecff;color:#095bb4;font-weight:900}.installStep p{margin:3px 0;line-height:1.5}.modalOpen{overflow:hidden}
footer{max-width:1120px;margin:0 auto;padding:16px 24px 34px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:10px}.footerBrand{display:flex;align-items:center;gap:10px}.miniMark{width:34px;height:34px;border-radius:10px;font-size:16px}.footerBrand>span:last-child{display:grid}.footerBrand strong{color:var(--ink);font-size:13px}.footerBrand small{margin-top:2px;font-size:9px}.footerRight{display:flex;align-items:center;gap:14px}.textButton{border:0;background:none;color:var(--muted);text-decoration:underline;cursor:pointer}.hidden{display:none!important}
@media(max-width:820px){.heroShade{background:linear-gradient(90deg,rgba(4,20,38,.97),rgba(4,20,38,.83) 63%,rgba(4,20,38,.48))}.heroCopy{padding:42px 34px}.principles{grid-template-columns:repeat(2,1fr)}.principles>div:nth-child(2){border-right:0}.principles>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.practiceHeader{align-items:start;flex-direction:column}.practiceNote{text-align:left}.fiveGuide{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{padding:14px 14px 11px}.brandMark{width:40px;height:40px}.brand{font-size:22px}.tagline,.levelPill{display:none}.datePill{font-size:9px;padding:7px 9px}main{padding:0 13px 38px}.hero{min-height:480px;border-radius:20px}.heroArt{background-position:64% center}.heroShade{background:linear-gradient(90deg,rgba(4,20,38,.98),rgba(4,20,38,.88) 72%,rgba(4,20,38,.55))}.heroCopy{padding:32px 22px}.hero h1{font-size:clamp(40px,13vw,55px)}.heroLead{font-size:13px}.dailyPlan{gap:6px}.dailyPlan>div{padding:10px 9px}.dailyPlan strong{font-size:20px}.dailyPlan span{font-size:9px}.principles{margin-top:9px;border-radius:15px}.principles>div{padding:12px}.installCard{grid-template-columns:auto 1fr}.installButton{grid-column:1/-1;width:100%}.practiceHeader{margin-top:32px}.practiceHeader h2{font-size:30px}.tabs{position:sticky;top:5px;z-index:20;padding:5px;margin-inline:-5px;background:rgba(243,247,252,.9);backdrop-filter:blur(10px);border-radius:999px}.tab{flex:1;min-width:0}.story{padding:20px 17px;border-radius:18px}.storyTitle{font-size:26px}.passage{font-size:16px;line-height:1.72}.gradeBadge{margin-left:0}.responseFooter{align-items:stretch;flex-direction:column}.primary{width:100%}.weeklyHeader{flex-direction:column}footer{padding:14px 16px 28px;align-items:flex-start;flex-direction:column}.footerRight{align-items:flex-start;flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important}}


/* Persistent weekly/monthly learning history */
.summaryPanel{margin-top:28px;padding:clamp(22px,4vw,30px);background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}
.summaryHeader{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}.summaryHeader h2{margin:0;font-size:clamp(24px,3vw,32px);letter-spacing:-.035em}.summaryHeader>p{margin:0;max-width:390px;text-align:right;color:var(--muted);font-size:10px;line-height:1.5}.summaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summaryCard{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff}.summaryCardTop{display:flex;justify-content:space-between;gap:12px;align-items:center}.summaryCardTop strong{font-size:14px}.summaryCardTop span{color:var(--muted);font-size:9px}.summaryNumbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0 10px}.summaryNumbers>div{padding:9px 7px;border-radius:11px;background:rgba(218,233,249,.38);text-align:center}.summaryNumbers b{display:block;font-size:20px}.summaryNumbers small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.summaryCard p,.summaryPrivacy{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.summaryPrivacy{margin-top:12px}
@media(max-width:720px){.summaryHeader{align-items:flex-start;flex-direction:column}.summaryHeader>p{text-align:left}.summaryGrid{grid-template-columns:1fr}.summaryNumbers{grid-template-columns:repeat(2,1fr)}}


/* Private cross-device sync */
.syncPanel{margin-top:28px;padding:clamp(22px,4vw,30px);background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft)}
.syncTop{display:flex;justify-content:space-between;align-items:start;gap:20px}.syncTop h2{margin:0;font-size:clamp(24px,3vw,32px);letter-spacing:-.035em}.syncStatus{max-width:390px;padding:8px 11px;border-radius:999px;font-size:9px;font-weight:800;line-height:1.35;text-align:center}.syncOk{background:#e7f8f3;color:#087667}.syncChecking{background:#edf4fb;color:#45647f}.syncLocal{background:#fff5df;color:#8a6724}.syncExplain{max-width:800px;color:var(--muted);font-size:10px;line-height:1.55}.syncActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.syncKeyBox{display:grid;gap:2px;min-width:230px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfe}.syncKeyBox span{font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.syncKeyBox code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--ink)}.syncButton{border:0;background:var(--navy);color:#fff;border-radius:999px;padding:10px 14px;font-weight:800;font-size:10px;cursor:pointer}.syncButton.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
@media(max-width:720px){.syncTop{flex-direction:column}.syncStatus{max-width:none;text-align:left}.syncActions{align-items:stretch;flex-direction:column}.syncKeyBox,.syncButton{width:100%}}

.weeklyReadMeta{display:inline-block;margin:2px 0 12px;padding:5px 9px;border-radius:999px;background:#dcecff;color:#095bb4;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
