html.kiwi-app-open,
body.kiwi-app-open {
  overflow: hidden;
}

#kiwi-app-frame {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  width: 100vw;
  height: 100vh;
  border: 0;
  display: none;
  background: #000;
}

body.kiwi-app-open #kiwi-app-frame {
  display: block;
}

@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Newsreader:opsz,wght@6..72,500;6..72,600;6..72,700&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800&display=swap');

:root {
  --ink: #203746;
  --muted: #526a73;
  --paper: #f7f1e5;
  --cream: #fffaf0;
  --sun: #e9b74a;
  --coral: #c96c4d;
  --berry: #9e4f54;
  --violet: #385a72;
  --aqua: #bedbd1;
  --sky: #dce9e7;
  --lime: #d6d99c;
  --line: rgba(32, 55, 70, .18);
  color: var(--ink);
  background: var(--paper);
  font-family: "Nunito Sans", sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; }
body { min-width: 320px; max-width: 100%; margin: 0; overflow-x: clip; background: radial-gradient(circle at 92% 3%, rgba(214,217,156,.48) 0 8%, transparent 23%), radial-gradient(circle at 4% 29%, rgba(201,108,77,.12) 0 7%, transparent 20%), var(--paper); }
body::before { position: fixed; z-index: -1; inset: 0; pointer-events: none; content: ""; opacity: .22; background-image: radial-gradient(rgba(32,55,70,.34) .6px, transparent .7px); background-size: 8px 8px; mask-image: linear-gradient(to bottom, black, transparent 75%); }
main { width: min(1120px, calc(100% - 48px)); margin: auto; }

.site-header { display:flex; align-items:center; justify-content:space-between; padding:27px 0; }
.wordmark { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:1.58rem; font-weight:800; letter-spacing:-.07em; text-decoration:none; transition:transform .2s ease; }
.wordmark:hover { transform:rotate(-1deg) scale(1.02); }
.mark { display:grid; grid-template-columns:repeat(3,7px); gap:3px; align-items:end; width:27px; height:27px; transform:rotate(-5deg); }
.mark i { display:block; border-radius:999px 999px 3px 3px; background:var(--violet); }
.mark i:nth-child(1) { height:13px; background:var(--coral); }.mark i:nth-child(2) { height:25px; }.mark i:nth-child(3) { height:18px; background:var(--sun); }
.header-note { color:var(--muted); font-size:.86rem; font-weight:700; }.nav-actions { display:flex; align-items:center; gap:17px; }
.shelf-link,.filter-pill { color:var(--ink); background:var(--cream); border:1.5px solid var(--ink); cursor:pointer; font:inherit; font-weight:800; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.shelf-link { display:inline-flex; align-items:center; gap:8px; padding:8px 10px 8px 13px; border-radius:999px; box-shadow:3px 3px 0 var(--violet); font-size:.79rem; }
.shelf-link:hover { background:var(--lime); box-shadow:1px 1px 0 var(--violet); transform:translate(2px,2px); }.shelf-link span { display:grid; width:21px; height:21px; place-items:center; background:var(--sun); border:1px solid var(--ink); border-radius:50%; font-family:"DM Mono",monospace; font-size:.65rem; }

.hero { position:relative; max-width:825px; padding:80px 0 95px; }.hero::before { position:absolute; z-index:-1; top:29px; right:-265px; width:330px; aspect-ratio:1; border:24px solid var(--lime); border-radius:46% 54% 62% 38% / 42% 43% 57% 58%; content:""; opacity:.86; transform:rotate(23deg); }.hero::after { position:absolute; z-index:-1; top:112px; right:-166px; width:180px; height:180px; content:""; background:var(--coral); border-radius:59% 41% 50% 50% / 41% 53% 47% 59%; opacity:.86; transform:rotate(-18deg); }
.eyebrow,.kicker { color:var(--berry); font-family:"DM Mono",monospace; font-size:.7rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }.eyebrow { display:inline-block; padding:7px 9px; margin-bottom:12px; background:#eee2c7; border-radius:4px; }.eyebrow span { margin-right:5px; color:var(--coral); }
h1,h2,p { margin-top:0; }h1 { max-width:750px; margin-bottom:22px; font-family:"Newsreader",Georgia,serif; font-size:clamp(3.35rem,7vw,6.05rem); font-weight:600; letter-spacing:-.07em; line-height:.93; }.lede { max-width:590px; margin-bottom:35px; color:var(--muted); font-size:1.13rem; font-weight:600; line-height:1.58; }
.discovery-form { max-width:660px; }.discovery-form label { display:block; margin:0 0 9px 4px; font-size:.9rem; font-weight:800; }.search-shell { display:flex; align-items:center; min-height:67px; padding:7px 8px 7px 18px; background:var(--cream); border:1.5px solid var(--ink); border-radius:15px; box-shadow:7px 7px 0 var(--violet); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }.search-shell:focus-within { background:#fffdf6; box-shadow:8px 8px 0 var(--aqua),0 0 0 4px rgba(56,90,114,.22); transform:translate(-1px,-1px); }.search-shell svg { flex:0 0 22px; width:22px; margin-right:12px; fill:none; stroke:var(--berry); stroke-linecap:round; stroke-width:2; }.search-shell input { width:100%; min-width:0; color:var(--ink); background:transparent; border:0; outline:0; font:inherit; font-size:1rem; font-weight:600; }.search-shell input::placeholder { color:#74848a; font-weight:500; }.search-shell button,.save-article-button { color:var(--cream); background:var(--violet); border:1.5px solid var(--ink); cursor:pointer; font:inherit; font-weight:800; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }.search-shell button { flex:0 0 auto; padding:13px 18px; border-radius:9px; box-shadow:2px 2px 0 var(--ink); }.search-shell button:hover,.save-article-button:hover { background:var(--berry); box-shadow:1px 1px 0 var(--ink); transform:translate(1px,1px); }.form-help,.form-status { min-height:1.2em; margin:11px 0 0 4px; color:var(--muted); font-size:.81rem; }.form-status,.check-progress { color:#386554; font-weight:800; }

.prompts { padding:38px 0 94px; border-top:1.5px dashed rgba(56,90,114,.5); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }.kicker { margin-bottom:8px; }h2 { margin-bottom:0; font-family:"Newsreader",Georgia,serif; font-size:clamp(1.9rem,3vw,2.65rem); font-weight:600; letter-spacing:-.055em; line-height:1.03; }.topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.topic { position:relative; display:flex; align-items:center; gap:15px; min-height:109px; padding:18px; overflow:hidden; border:1.5px solid var(--ink); border-radius:13px; box-shadow:5px 5px 0 var(--ink); cursor:pointer; text-align:left; transition:transform .2s ease,box-shadow .2s ease; }.topic::before,.article-card::after { position:absolute; right:-25px; bottom:-48px; width:95px; height:95px; border:12px solid currentColor; border-radius:50%; content:""; opacity:.12; }.topic:hover,.article-card:hover { box-shadow:2px 2px 0 var(--ink); transform:translate(3px,3px); }.topic-icon { display:grid; flex:0 0 51px; width:51px; height:51px; place-items:center; border:1.5px solid currentColor; border-radius:15px 15px 15px 4px; font-family:"DM Mono",monospace; font-size:.72rem; font-weight:500; transform:rotate(-3deg); transition:transform .22s ease; }.topic:hover .topic-icon,.article-card:hover .article-card-icon { transform:rotate(5deg) scale(1.06); }.topic-sun { color:#665223; background:#f3e5b9; }.topic-sun .topic-icon { background:#e6be64; }.topic-lilac { color:#4b526f; background:#e3e2eb; }.topic-lilac .topic-icon { background:#bdc2d4; }.topic-blue { color:#315a69; background:#d7e8e7; }.topic-blue .topic-icon { background:#9dc9c8; }.topic-peach { color:#704b43; background:#f2ded1; }.topic-peach .topic-icon { background:#dfa78d; }.topic strong,.topic small { display:block; }.topic strong { margin-bottom:4px; color:var(--ink); font-size:1rem; }.topic small { color:#526a73; font-size:.81rem; font-weight:600; line-height:1.35; }.topic b { margin-left:auto; color:currentColor; font-size:1.2rem; transition:transform .2s ease; }.topic:hover b { transform:translate(3px,-3px); }

.learning-paths { padding:12px 0 92px; }.section-note { margin:0 0 4px; color:var(--muted); font-family:"DM Mono",monospace; font-size:.72rem; font-weight:500; }.path-grid,.article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.path-card { position:relative; display:grid; grid-template-columns:auto 1fr; gap:15px; min-height:274px; padding:22px; overflow:hidden; color:var(--ink); border:1.5px solid var(--ink); border-radius:14px; box-shadow:5px 5px 0 var(--violet); cursor:pointer; font:inherit; text-align:left; transition:transform .2s ease,box-shadow .2s ease; }.path-card:hover { box-shadow:2px 2px 0 var(--violet); transform:translate(3px,3px); }.path-number { color:var(--muted); font-family:"DM Mono",monospace; font-size:.7rem; }.path-icon { display:grid; width:47px; height:47px; place-items:center; justify-self:end; border:1.5px solid var(--line); border-radius:14px 14px 14px 3px; font-family:"DM Mono",monospace; font-size:.85rem; }.path-copy { grid-column:1/-1; align-self:end; }.path-copy strong,.path-copy small { display:block; }.path-copy strong { margin-bottom:9px; font-family:"Newsreader",Georgia,serif; font-size:1.45rem; font-weight:600; letter-spacing:-.045em; line-height:1.08; }.path-copy small { color:var(--muted); font-size:.84rem; font-weight:600; line-height:1.46; }.path-link { grid-column:1/-1; align-self:end; font-size:.82rem; font-weight:800; }.path-link b,.article-card-link b { display:inline-block; margin-left:4px; transition:transform .2s ease; }.path-card:hover .path-link b,.article-card:hover .article-card-link b { transform:translateX(4px); }.path-science { background:#d9e8e1; }.path-science .path-icon { background:#b7d4c6; }.path-math { background:#e9e1cd; }.path-math .path-icon { background:#dbc994; }.path-words { background:#e9dcda; }.path-words .path-icon { background:#d6aaa1; }

.journal { padding:18px 0 94px; }.journal-heading { margin-bottom:20px; }.filter-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:23px; }.filter-pill { padding:8px 13px; border-radius:999px; box-shadow:2px 2px 0 var(--ink); font-size:.79rem; }.filter-pill:hover { background:#e4ecd9; transform:translate(-1px,-1px); }.filter-pill.is-active { color:var(--cream); background:var(--violet); box-shadow:1px 1px 0 var(--ink); transform:translate(1px,1px); }
.article-card { position:relative; display:flex; min-height:274px; flex-direction:column; align-items:flex-start; padding:22px; overflow:hidden; border:1.5px solid var(--ink); border-radius:14px; box-shadow:5px 5px 0 var(--ink); cursor:pointer; text-align:left; transition:transform .22s ease,box-shadow .22s ease; }.article-card::after { width:125px; height:125px; border-width:15px; border-radius:47% 53% 42% 58%; transform:rotate(30deg); }.article-card-icon { display:grid; width:45px; height:45px; place-items:center; margin-bottom:17px; border:1.5px solid currentColor; border-radius:14px 14px 14px 3px; font-family:"DM Mono",monospace; font-size:.73rem; font-weight:500; transform:rotate(-3deg); transition:transform .22s ease; }.article-card-meta { margin-bottom:9px; color:currentColor; font-family:"DM Mono",monospace; font-size:.63rem; font-weight:500; letter-spacing:.035em; text-transform:uppercase; }.article-card-meta i { font-style:normal; }.article-card strong { max-width:260px; margin-bottom:9px; font-family:"Newsreader",Georgia,serif; font-size:1.4rem; font-weight:600; letter-spacing:-.045em; line-height:1.07; }.article-card small { max-width:275px; color:#526a73; font-size:.83rem; font-weight:600; line-height:1.45; }.article-card-link { margin-top:auto; color:currentColor; font-size:.82rem; font-weight:800; }.accent-sun { color:#725a20; background:#f2e4b9; }.accent-sun .article-card-icon { background:#e3bd62; }.accent-lilac { color:#4c536b; background:#e4e2ea; }.accent-lilac .article-card-icon { background:#c1c2d2; }.accent-blue { color:#315c69; background:#d9e9e8; }.accent-blue .article-card-icon { background:#9fc9c7; }.accent-peach { color:#734a40; background:#f0dcd1; }.accent-peach .article-card-icon { background:#dfaa91; }.accent-mint { color:#315e54; background:#dce9dc; }.accent-mint .article-card-icon { background:#a9cdb8; }.empty-results { padding:32px; color:var(--muted); background:var(--cream); border:1.5px dashed var(--ink); border-radius:13px; text-align:center; }

.study-station { position:relative; display:grid; grid-template-columns:.92fr 1.08fr; gap:42px; align-items:center; padding:62px; margin-bottom:94px; overflow:hidden; background:#c8ddd2; border:1.5px solid var(--ink); border-radius:22px; box-shadow:8px 8px 0 var(--ink); }.study-station::before { position:absolute; top:-130px; left:-75px; width:280px; height:280px; border:25px solid var(--sun); border-radius:50%; content:""; opacity:.65; }.study-copy { position:relative; z-index:1; }.study-copy .kicker { color:#526c64; }.study-copy h2 { margin-bottom:14px; }.study-copy > p:not(.kicker) { max-width:410px; color:#3d5f59; font-weight:600; line-height:1.58; }.text-button { padding:9px 0; color:var(--ink); background:transparent; border:0; border-bottom:2px solid var(--ink); cursor:pointer; font:inherit; font-size:.86rem; font-weight:800; transition:transform .2s ease; }.text-button:hover { transform:translateX(4px); }.daily-card { position:relative; z-index:1; padding:29px; background:var(--cream); border:1.5px solid var(--ink); border-radius:16px; box-shadow:5px 5px 0 var(--ink); }.daily-label,.try-label { margin-bottom:9px; color:var(--berry); font-family:"DM Mono",monospace; font-size:.67rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; }.daily-prompt { min-height:55px; margin-bottom:21px; font-family:"Newsreader",Georgia,serif; font-size:1.28rem; font-weight:600; letter-spacing:-.03em; line-height:1.22; }.checklist { display:grid; gap:10px; padding-top:17px; border-top:1.5px dashed rgba(32,55,70,.26); }.checklist label { display:flex; gap:10px; align-items:flex-start; color:#4b6065; cursor:pointer; font-size:.86rem; font-weight:600; line-height:1.35; }.checklist input { width:16px; height:16px; margin:1px 0 0; accent-color:var(--berry); }.check-progress { min-height:1.2em; margin:17px 0 0; font-size:.78rem; }

.article-dialog,.shelf-dialog { width:min(690px,calc(100% - 32px)); max-height:min(740px,calc(100vh - 32px)); padding:28px; overflow-y:auto; overscroll-behavior:contain; color:var(--ink); background:var(--paper); border:1.5px solid var(--ink); border-radius:18px; box-shadow:10px 10px 0 var(--violet); }.article-dialog:not([open]),.shelf-dialog:not([open]) { display:none; }.article-dialog::backdrop,.shelf-dialog::backdrop { background:rgba(32,55,70,.58); backdrop-filter:blur(4px); }.dialog-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.article-label { margin:0; color:var(--berry); font-family:"DM Mono",monospace; font-size:.67rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }.icon-button { display:grid; width:35px; height:35px; flex:0 0 auto; place-items:center; color:var(--ink); background:var(--sun); border:1.5px solid var(--ink); border-radius:50%; cursor:pointer; font:inherit; font-size:1.45rem; line-height:1; transition:transform .18s ease; }.icon-button:hover { transform:rotate(10deg) scale(1.08); }.article-time { margin:26px 0 8px; color:var(--muted); font-family:"DM Mono",monospace; font-size:.74rem; }.article-dialog h2,.shelf-dialog h2 { margin-bottom:22px; font-family:"Newsreader",Georgia,serif; font-size:clamp(2rem,5vw,3rem); font-weight:600; letter-spacing:-.06em; line-height:1; }.article-body p { color:#465c65; font-size:1rem; font-weight:600; line-height:1.67; }.try-box { padding:19px; margin:25px 0 18px; background:#e5dfc8; border:1.5px solid var(--ink); border-radius:12px; }.try-box p:last-child { margin:0; color:#44565a; font-weight:600; line-height:1.45; }.save-article-button { width:100%; padding:13px 16px; border-radius:10px; box-shadow:3px 3px 0 var(--ink); }.save-article-button.is-saved { color:var(--ink); background:#c7d8d1; }.dialog-fallback { position:fixed; z-index:1000; inset:50% auto auto 50%; display:block; margin:0; overflow:auto; transform:translate(-50%,-50%); box-shadow:0 0 0 100vmax rgba(32,55,70,.58),10px 10px 0 var(--violet); }.modal-open { overflow:hidden; }.shelf-empty { color:var(--muted); font-weight:600; line-height:1.5; }.shelf-list { display:grid; gap:9px; }.shelf-row { display:flex; gap:8px; align-items:stretch; }.shelf-row > button:first-child { width:100%; padding:13px 14px; color:var(--ink); background:var(--cream); border:1.5px solid var(--ink); border-radius:10px; cursor:pointer; text-align:left; transition:background .18s ease,transform .18s ease; }.shelf-row > button:first-child:hover { background:#e1ebd4; transform:translateX(3px); }.shelf-row span,.shelf-row strong { display:block; }.shelf-row span { margin-bottom:3px; color:var(--violet); font-family:"DM Mono",monospace; font-size:.61rem; font-weight:500; letter-spacing:.05em; text-transform:uppercase; }.shelf-row strong { font-family:"Newsreader",Georgia,serif; font-size:1.05rem; font-weight:600; }.remove-saved { width:42px; color:var(--ink); background:#efd1c7; border:1.5px solid var(--ink); border-radius:10px; cursor:pointer; font-size:1.35rem; transition:background .18s ease,transform .18s ease; }.remove-saved:hover { background:var(--coral); transform:rotate(4deg); }

:is(.search-shell button,.shelf-link,.filter-pill,.topic,.path-card,.article-card,.text-button,.icon-button,.save-article-button,.shelf-row button,.remove-saved,.wordmark):focus-visible { outline:3px solid var(--berry); outline-offset:4px; }
footer { position:relative; display:grid; min-height:182px; place-items:center; overflow:hidden; color:var(--cream); background:var(--violet); border-top:1.5px solid var(--ink); text-align:center; }footer p { position:relative; z-index:1; max-width:540px; margin:0; font-family:"Newsreader",Georgia,serif; font-size:1.4rem; font-weight:600; letter-spacing:-.03em; }.footer-orbit { position:absolute; width:620px; height:240px; border:2px solid rgba(247,241,229,.62); border-radius:50%; transform:rotate(-8deg); }.footer-orbit::after { position:absolute; top:28px; right:95px; width:16px; height:16px; background:var(--sun); border:1.5px solid var(--ink); border-radius:50%; content:""; }
@media (max-width:850px) { .article-grid,.path-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.path-card:last-child { grid-column:span 2; }.study-station { grid-template-columns:1fr; gap:26px; padding:42px; } }
@media (max-width:650px) { main { width:min(100% - 32px,1120px); }.site-header { padding:20px 0; }.header-note { display:none; }.nav-actions { gap:0; }.hero { padding:58px 0 74px; }.hero::before { top:13px; right:0; width:135px; border-width:13px; }.hero::after { top:50px; right:20px; width:80px; height:80px; }.search-shell { padding-left:14px; box-shadow:5px 5px 0 var(--violet); }.search-shell button { padding:12px 13px; }.topic-grid,.path-grid,.article-grid { grid-template-columns:1fr; }.path-card:last-child { grid-column:auto; }.section-heading { display:block; }.section-note { margin-top:10px; }.prompts,.learning-paths,.journal { padding-bottom:64px; }.study-station { padding:29px 20px; margin-bottom:64px; border-radius:17px; box-shadow:5px 5px 0 var(--ink); }.daily-card { padding:22px; }.article-dialog,.shelf-dialog { padding:20px; }.article-dialog h2 { font-size:2.2rem; }.footer-orbit { width:calc(100% - 32px); height:120px; transform:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }