:root{--bg:#f4f8fc;--surface:#fff;--text:#182b3a;--muted:#52677b;--line:#dce7ef;--blue:#0964df;--green:#008264;color:var(--text);font-synthesis:none;--blue-soft:#eaf2ff;--mint-soft:#e1f8ed;--teal:#007e89;--teal-soft:#e2f8fb;--orange:#b64e08;--orange-soft:#fff1dc;--rose:#c53269;--rose-soft:#ffedf4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Helvetica,Arial,sans-serif}.senda-shell,.lesson-dialog{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:background .18s,box-shadow .18s,transform .18s}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #0071e3}button,select{touch-action:manipulation}p,h1,h2,h3{margin:0}p{line-height:1.65}button:active:not(:disabled){transform:translateY(1px)}.skip-link{z-index:100;border:2px solid var(--blue);background:#fff;border-radius:8px;padding:12px;position:fixed;top:-80px;left:15px}.skip-link:focus{top:12px}.senda-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:222px;padding:34px 20px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{color:#163e59;text-align:left;background:0 0;align-items:center;gap:10px;padding:0 12px;display:flex}.brand>span:last-child{letter-spacing:-1.8px;font-size:34px;font-weight:680}.brand-dot{color:var(--green)}.brand-mark{width:33px;height:35px;color:var(--green)}.brand-mark svg{width:100%;height:100%}.workspace-label{letter-spacing:1.45px;color:var(--muted);margin:34px 0 22px 14px;font-size:9px;font-weight:650}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button,.settings-nav{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:13px;padding:14px;font-size:13px;font-weight:520;display:flex;position:relative}.sidebar nav button:hover,.settings-nav:hover{background:#f0f2f5}.sidebar nav button.active{background:var(--blue-soft);color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.nav-indicator{background:var(--blue);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:60px}.sidebar-tip{background:var(--mint-soft);border:1px solid #bcebd5;border-radius:12px;margin-bottom:25px;padding:20px 15px}.tip-spark{color:var(--green);margin-bottom:9px;font-size:22px;display:block}.sidebar-tip strong{font-size:12px;font-weight:600}.sidebar-tip p{color:#426556;margin-top:6px;font-size:11px}.sidebar-tip button{color:#006c51;background:0 0;align-items:center;gap:14px;padding:13px 0 0;font-size:11px;display:flex}.settings-nav{margin-bottom:16px}.sidebar-profile{border-top:1px solid var(--line);align-items:center;gap:9px;padding:21px 0;display:flex}.profile-avatar,.top-avatar{background:var(--teal-soft);color:var(--teal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:17px;display:flex}.sidebar-profile div{flex:1;min-width:0}.sidebar-profile strong{text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.sidebar-profile div span{color:var(--muted);margin-top:3px;font-size:9px;display:block}.sidebar-profile button{color:#8f969c;background:0 0;padding:3px}.main-shell{margin-left:222px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#ffffffd6;justify-content:space-between;align-items:center;height:75px;padding:0 43px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:16px;display:flex}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb-divider{color:#d4d7db;font-size:13px}.grade-select-wrap{position:relative}.grade-select{color:#244b69;background:0 0;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:flex}.grade-select>svg:first-child{color:var(--blue)}.grade-dropdown{border:1px solid var(--line);z-index:50;background:#fff;border-radius:14px;min-width:190px;max-height:70vh;padding:12px;position:absolute;top:40px;left:0;overflow:auto;box-shadow:0 14px 35px #1c263418}.grade-dropdown>span{letter-spacing:1px;color:#8a9298;padding:6px 8px;font-size:9px;display:block}.grade-dropdown button{text-align:left;background:0 0;border-radius:7px;justify-content:space-between;align-items:center;width:100%;padding:9px 8px;font-size:13px;display:flex}.grade-dropdown button:hover{background:#f1f5f9}.top-stat{color:var(--orange);align-items:center;gap:6px;font-size:12px;display:flex}.top-stat strong{color:#314c62;font-size:12px;font-weight:600}.top-stat>span{color:var(--muted);font-size:10px}.streak-stat{color:#cf531e}.topbar-divider{background:var(--line);width:1px;height:22px;margin:0 1px}.top-avatar{background:var(--blue-soft);width:31px;height:31px;color:var(--blue);font-size:12px}.content-layout{max-width:1420px;margin:auto;padding:44px 43px 0}.content-layout.with-rail{grid-template-columns:minmax(0,1fr) 238px;gap:35px;display:grid}.main-content{min-width:0}.page-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.7px;color:var(--teal);margin-bottom:15px;font-size:9px;font-weight:650}.page-heading h1{letter-spacing:-1.25px;font-size:35px;font-weight:620;line-height:1.22}.page-heading h1>span{color:var(--blue)}.page-heading p{color:var(--muted);margin-top:13px;font-size:12px}.date-pill{color:var(--teal);white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:5px;height:5px}.journey-hero{background:#dff7ed;border:1px solid #b9e6d5;border-radius:21px;min-height:280px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;pointer-events:none;width:51%;padding:30px 0 28px 30px;position:relative}.hero-copy button{pointer-events:auto}.hero-tag{letter-spacing:1.3px;color:#076f58;align-items:center;gap:7px;font-size:8px;font-weight:650;display:flex}.hero-tag>span{background:#008264;border-radius:50%;width:5px;height:5px}.hero-copy h2{letter-spacing:-1.05px;color:#134d40;margin:16px 0 11px;font-size:30px;font-weight:620;line-height:1.2}.hero-copy p{color:#3a6a5b;font-size:11px;line-height:1.8}.primary-button,.secondary-button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:11px 18px;font-size:12px;font-weight:560;display:inline-flex}.primary-button{background:var(--blue);color:#fff}.primary-button:hover:not(:disabled){background:#0755bf}.primary-button.dark{background:#007959;min-height:38px;margin-top:22px;padding:10px 14px;font-size:10px;box-shadow:0 4px #005c44}.primary-button.dark:hover{background:#00664c}.secondary-button{color:#285b85;background:#fff;border:1px solid #c6d9ed}.secondary-button:hover{background:#f7f9fa}.hero-art{position:absolute;inset:0 0 0 38%;overflow:hidden}.hero-landscape{object-fit:cover;opacity:1;width:100%;height:100%;position:absolute;inset:0}.hero-art:before{content:"";z-index:1;background:linear-gradient(90deg,#dff7ed 0%,#0000 35%);position:absolute;inset:0}.hero-mascot{z-index:2;filter:drop-shadow(0 12px 12px #31563b14);width:228px;height:228px;position:absolute;bottom:10px;right:30px}.floating-spark{z-index:3;color:#fff3a1;position:absolute}.spark-one{font-size:27px;top:57px;right:43px}.spark-two{font-size:16px;top:75px;right:210px}.hero-caption{color:#255c4d;z-index:3;align-items:center;gap:5px;font-size:7px;display:flex;position:absolute;bottom:16px;right:22px}.hero-caption>span{background:#7f9f89;border-radius:50%;width:3px;height:3px}.week-heading{justify-content:space-between;align-items:center;gap:12px;margin-top:38px;margin-bottom:23px;display:flex}.week-heading .eyebrow{letter-spacing:1.2px;margin-bottom:9px;font-size:8px}.week-heading h2{letter-spacing:-.55px;font-size:19px;font-weight:600}.week-heading h2>span{color:var(--blue);margin-left:6px;font-weight:400}.week-heading p{color:var(--muted);margin-top:7px;font-size:10px}.week-switch{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:3px;display:flex}.week-switch button{width:24px;height:26px;color:var(--blue);background:0 0;border-radius:5px;place-items:center;display:grid}.week-switch button:hover:not(:disabled){background:#f2f4f5}.week-switch>span{color:var(--muted);padding:0 3px;font-size:9px}.subject-filters{scrollbar-width:thin;align-items:center;gap:7px;padding:1px 1px 12px;display:flex;overflow-x:auto}.subject-filters>button{white-space:nowrap;background:color-mix(in srgb,var(--subject-color,var(--blue)) 8%,white);color:var(--subject-color,var(--blue));min-height:34px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--subject-color,var(--blue)) 22%,white);border-radius:7px;padding:9px 12px;font-size:10px}.subject-filters>button.active{color:#fff;background:var(--subject-color,var(--blue));box-shadow:none}.week-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:15px;padding:17px 0;font-size:9px;display:flex}.week-summary>div:first-child{flex:1;align-items:center;gap:8px;display:flex}.week-summary strong{color:#35566e;font-weight:550}.tiny-circle{color:var(--teal);place-items:center;display:grid}.mini-progress{background:#e1eaf3;border-radius:8px;min-width:60px;height:5px;overflow:hidden}.mini-progress>span{background:var(--green);border-radius:8px;height:100%;display:block}.week-summary>.mini-progress{width:85px}.learning-route{padding:22px 0 12px;position:relative;overflow:hidden}.route-line{pointer-events:none;width:600px;height:calc(100% - 25px);position:absolute;top:14px;left:calc(50% - 300px)}.route-item{align-items:center;gap:23px;min-height:126px;margin-left:calc(50% - 145px);display:flex;position:relative}.route-item.shifted{margin-left:calc(50% - 90px)}.route-node{width:69px;height:69px;box-shadow:0 5px 0 color-mix(in srgb,var(--subject-color) 32%,white),0 0 0 1px color-mix(in srgb,var(--subject-color) 28%,white);color:var(--subject-color);z-index:1;background:#fff;border-radius:50%;flex-shrink:0;padding:0;position:relative}.node-top{background:color-mix(in srgb,var(--subject-color) 15%,white);border:5px solid #fff;border-radius:50%;place-items:center;width:100%;height:100%;display:grid}.route-node.current{box-shadow:0 5px 0 color-mix(in srgb,var(--subject-color) 78%,black),0 0 0 1px var(--subject-color);color:#fff;background:var(--subject-color)}.route-node.current>.node-top{border-color:var(--subject-color);background:var(--subject-color)}.route-node.current:before{content:"";border:1.5px solid #d4e4db;border-color:color-mix(in srgb,var(--subject-color) 40%,white);border-radius:50%;position:absolute;inset:-9px}.route-node.completed{background:var(--mint-soft);color:var(--green);box-shadow:0 4px #a3dbc0,0 0 0 1px #99d8b9}.node-play{color:var(--subject-color);border:2px solid #f7f8fa;border-color:var(--bg);background:#fff;border-radius:50%;place-items:center;width:21px;height:21px;display:grid;position:absolute;bottom:-4px;right:-3px}.node-label{text-align:left;z-index:1;background:0 0;min-width:0;max-width:240px;padding:10px 0;position:relative}.node-subject{letter-spacing:1px;color:var(--subject-color);margin-bottom:7px;font-size:7px;font-weight:650;display:block}.node-label>strong{letter-spacing:-.2px;color:#314c62;font-size:13px;font-weight:550;line-height:1.4;display:block}.node-label>span:last-child{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;font-size:9px;display:flex}.node-label em{color:var(--subject-color);align-items:center;gap:4px;font-size:9px;font-style:normal;display:flex}.final-node .route-node{background:var(--orange-soft);box-shadow:0 4px #efcc85,0 0 0 1px #edc473}.route-footnote{color:var(--muted);border-top:1px solid var(--line);gap:8px;padding:17px 0 22px;font-size:9px;line-height:1.65;display:flex}.route-footnote svg{flex-shrink:0;margin-top:2px}.all-weeks{border:1px solid var(--line);background:#fff;border-radius:15px;margin:10px 0 25px;padding:24px}.all-weeks h3{font-size:15px;font-weight:580}.all-weeks p{color:var(--muted);margin:7px 0 17px;font-size:11px}.week-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;display:grid}.week-grid>button{background:var(--blue-soft);color:#456782;border-radius:7px;justify-content:center;align-items:center;gap:3px;height:34px;font-size:11px;display:flex}.week-grid>button.selected{background:var(--blue);color:#fff;box-shadow:none}.right-rail{padding-top:6px}.right-rail>div{border:1px solid var(--line);background:#fff;border-color:#d0e2ef;border-radius:16px;margin-bottom:18px;padding:22px 19px}.rail-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.rail-heading h2{letter-spacing:-.15px;color:#314c62;font-size:12px;font-weight:570}.rail-heading svg{color:var(--teal)}.daily-ring{width:146px;height:146px;margin:18px auto 10px;position:relative}.daily-ring>svg{width:100%;height:100%}.daily-ring>div{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.daily-ring strong{color:var(--teal);letter-spacing:-1px;font-size:32px;font-weight:580}.daily-ring strong>span{color:#59798a;margin-left:2px;font-size:15px;font-weight:400}.daily-ring small{color:var(--muted);margin-top:4px;font-size:8px}.daily-card>p{color:var(--muted);text-align:center;font-size:10px;line-height:1.8}.daily-card>button{color:var(--teal);background:0 0;justify-content:center;align-items:center;gap:9px;margin:17px auto 0;font-size:9px;display:flex}.streak-card .rail-heading svg{color:var(--orange)}.streak-card>p{color:var(--muted);margin-top:9px;font-size:9px}.streak-week{justify-content:space-between;margin-top:20px;display:flex}.streak-week>span{flex-direction:column;align-items:center;gap:10px;display:flex}.streak-week small{color:var(--muted);font-size:8px}.streak-week>span>span{color:#fff;background:#f5f6f6;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.streak-week>span>span>span{background:#d4d9d5;border-radius:50%;width:3px;height:3px}.streak-week .day-complete{background:#cd5c19}.right-rail>.lumo-card{background:var(--orange-soft);border-color:#f0d7ad;padding:12px 20px 22px}.lumo-art{justify-content:center;height:134px;display:flex;overflow:hidden}.lumo-art svg{width:150px;height:147px}.lumo-name{text-align:center;letter-spacing:1.2px;color:#925716;margin-top:8px;font-size:7px;display:block}.lumo-card h2{letter-spacing:-.65px;text-align:center;color:#744614;margin-top:12px;font-size:21px;font-weight:580;line-height:1.25}.lumo-card p{text-align:center;color:#806145;margin-top:12px;font-size:10px;line-height:1.8}.lumo-card button{color:#8f4b0c;background:#fffaf1;border:1px solid #e8c18d;border-radius:7px;justify-content:center;align-items:center;gap:12px;width:100%;margin-top:19px;padding:10px;font-size:10px;display:flex}.source-rail{padding:8px 5px;display:block}.source-rail>span:first-child{color:var(--teal);align-items:center;gap:8px;font-size:10px;display:flex}.source-rail strong{font-weight:550}.source-rail p{color:var(--muted);max-width:170px;margin-top:8px;font-size:9px;line-height:1.8}.source-rail>span:last-child{color:var(--teal);align-items:center;gap:9px;margin-top:9px;font-size:9px;display:flex}.app-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:23px 0 30px;font-size:8px;display:flex}.app-footer>span:last-child{align-items:center;gap:5px;display:flex}.menu-button,.mobile-bottom-nav{display:none}.sync-loading{color:#748d9e;background:#eef4f8;border-radius:8px;margin-bottom:15px;padding:9px 14px;font-size:11px}.toast{color:#fff;z-index:60;background:#174f72;border-radius:12px;max-width:calc(100% - 30px);padding:15px 22px;font-size:12px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #0d28152b}.icon-button{color:#89949b;background:0 0;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{background:#eef1f3}
