/* Mobile first application frame. Keep scrollable content intrinsically narrow. */
:root{--nav-height:82px;--page-gutter:16px}
html{min-height:100%;scroll-padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px))}
body{min-height:100svh}
.shell{width:100%;padding-left:max(var(--page-gutter),env(safe-area-inset-left,0px))!important;padding-right:max(var(--page-gutter),env(safe-area-inset-right,0px))!important;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 20px)!important}
.topbar,.view-home .topbar{height:auto;min-height:72px;padding-top:env(safe-area-inset-top,0px);padding-bottom:8px;gap:12px;box-sizing:content-box}
.topbar .brand{min-width:0;font-size:25px}.topbar .monogram{width:40px;height:40px;flex:none}.header-actions{flex:none}.avatar{display:grid;place-items:center;min-width:44px;min-height:44px}
.app-nav{min-height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding:8px max(6px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px))!important;gap:2px!important}
.app-nav a{min-width:0;min-height:66px!important;padding:4px 1px!important;white-space:normal!important}
.app-nav a>span:last-child{font-size:12px!important;line-height:18px!important;white-space:normal;text-align:center}
.view-home .dashboard{width:100%;grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:0}
.dashboard>*,.dashboard section,.dashboard-carousel,.dashboard-topic{min-width:0;max-width:100%;box-sizing:border-box}
.dashboard-welcome{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:8px;min-height:0;padding:20px;border-radius:22px}
.dashboard-welcome h1{font-size:clamp(1.6rem,6.5vw,2rem);letter-spacing:-.6px;overflow-wrap:anywhere;line-height:1.15;margin:8px 0}
.dashboard-welcome p{font-size:1rem;line-height:1.4}.dashboard-welcome .dashboard-date{font-size:.8125rem}
.dashboard-welcome img{width:76px;height:100px;min-width:0}
.dashboard-stats{margin-top:-8px;padding:14px 2px;border-radius:18px}.dashboard-stats>span{column-gap:4px;padding:0 4px;grid-template-columns:minmax(0,auto) minmax(0,auto)}.dashboard-stats strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.dashboard-stats small{font-size:.75rem;line-height:1.4}.dashboard-stats svg{width:18px;height:18px}
.dashboard-section-heading{flex-wrap:wrap;gap:8px;margin-bottom:12px}.dashboard-section-heading h2{font-size:1.2rem;line-height:1.3}.dashboard-section-heading a{font-size:.875rem;min-height:32px;display:inline-flex;align-items:center}.dashboard-section-heading>p{font-size:.75rem;letter-spacing:.5px;flex:1;min-width:0}
.dashboard-daily{padding:18px;border-radius:22px}.daily-main{gap:12px}.daily-main h2{font-size:1.4rem;line-height:1.25;overflow-wrap:break-word}.daily-main p{font-size:.9375rem}.daily-subject{font-size:.8125rem}.daily-glyph{width:48px;height:48px;border-radius:15px}.daily-glyph svg{width:26px;height:26px}.dashboard-daily>button{font-size:1rem;min-height:48px;margin-top:16px}
.dashboard-shortcuts{gap:12px}.dashboard-shortcuts>a,.dashboard-shortcuts>button{padding:16px 14px;border-radius:20px;align-content:start}.dashboard-shortcuts strong{font-size:1rem;line-height:1.3;overflow-wrap:break-word}.dashboard-shortcuts small{font-size:.8125rem;line-height:1.4}
.dashboard-carousel{width:100%;gap:12px;scroll-padding-inline:2px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.dashboard-topic{flex:0 0 82%;max-width:320px;white-space:normal}.topic-visual{height:130px}.topic-visual img{width:125px;height:125px}.dashboard-topic>div:last-child{padding:16px}.dashboard-topic h3{font-size:1.125rem}.dashboard-topic p{font-size:.8125rem}
.dashboard-week{padding:16px}.dashboard-week .dashboard-section-heading{align-items:flex-start}.dashboard-week>p{font-size:.875rem}
.rolling-world{height:calc(100svh - var(--nav-height) - env(safe-area-inset-bottom,0px))}
@media(max-width:359px){:root{--page-gutter:12px}.dashboard-welcome{grid-template-columns:minmax(0,1fr);padding:18px}.dashboard-welcome img{display:none}.dashboard-daily{padding:16px}.daily-glyph{width:40px;height:40px}.dashboard-shortcuts>a,.dashboard-shortcuts>button{padding:14px 12px}}
@media(min-width:600px){:root{--page-gutter:24px}.dashboard-welcome{grid-template-columns:minmax(0,1fr) 140px;padding:26px}.dashboard-welcome img{width:140px;height:140px}.dashboard-topic{flex-basis:45%}.dashboard-stats strong{font-size:1.25rem}}
@media(min-width:900px){.view-home .dashboard{gap:26px}.dashboard-welcome{grid-template-columns:minmax(0,1fr) 180px}.dashboard-welcome img{width:180px;height:180px}.dashboard-welcome h1{font-size:2.5rem}.dashboard-topic{flex-basis:31%}.dashboard-daily{padding:24px}}
@media(display-mode:standalone){.topbar,.view-home .topbar{padding-top:env(safe-area-inset-top,0px)}body.in-session .shell{padding-top:env(safe-area-inset-top,0px)}}

/* Reference-inspired surfaces: saturated accents, quiet reading areas. */
.dashboard-welcome{background:#ff8426;box-shadow:0 5px 0 #e96a13;border:1px solid #ff9a48}
.dashboard-welcome .dashboard-date{color:#542607;font-weight:650}.dashboard-welcome h1{color:#241b16}.dashboard-welcome p{color:#422714}
.dashboard-stats{margin-top:0;border:0;box-shadow:0 3px 0 #e7e5df}.dashboard-stats>span{row-gap:6px}.dashboard-stats strong{font-weight:800}
.dashboard-daily{background:#fff0b6;border:1px solid #f3d56c;box-shadow:0 5px 0 #edce73;color:#332d1c}.dashboard-daily .dashboard-section-heading>p{color:#6f4b09}.daily-main h2{color:#2b302d}.daily-main p,.daily-subject{color:#555345}.daily-glyph{background:#ee7c18;box-shadow:0 4px 0 #cf6310}.dashboard-daily>button{background:#213c37;box-shadow:0 3px 0 #102a25;color:#fff}
.dashboard-shortcuts>a,.dashboard-shortcuts>button{border:0;border-bottom:4px solid var(--shortcut-edge);background:var(--shortcut-bg);color:#1d3037;gap:6px;transition:transform .15s,box-shadow .15s}
.dashboard-shortcuts>:nth-child(1){--shortcut-bg:#ffe0bf;--shortcut-edge:#f6bd85}.dashboard-shortcuts>:nth-child(2){--shortcut-bg:#c1efdf;--shortcut-edge:#88d6bd}.dashboard-shortcuts>:nth-child(3){--shortcut-bg:#cde6ff;--shortcut-edge:#9ac7ef}.dashboard-shortcuts>:nth-child(4){--shortcut-bg:#f8d6e5;--shortcut-edge:#eeb0ce}
.dashboard-shortcuts>a>span,.dashboard-shortcuts>button>span{width:48px;height:48px;border-radius:16px;box-shadow:0 3px 0 #18303120}.dashboard-shortcuts strong{font-weight:800}.dashboard-shortcuts small{color:#405255}
.dashboard-topic{border:1px solid #e4e6e1;box-shadow:0 4px 0 #e8e8e1;border-radius:22px}.topic-visual{background:color-mix(in srgb,var(--topic-color),white 65%);height:145px}.topic-visual img{width:140px;height:140px}.dashboard-topic>div:last-child{background:#fff;padding:18px}.dashboard-topic h3{line-height:1.35}
.dashboard-week{background:#fff;border:1px solid #e5e6df;box-shadow:0 3px 0 #ebece5}
.subject-tile{border-radius:20px;box-shadow:0 5px 0 color-mix(in srgb,var(--tile-color),#000 16%);gap:12px}.tile-glyph{width:48px;height:48px}.subject-tile strong{font-size:15px!important}.subject-grid{gap:16px!important}
@media(max-width:599px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.subject-tile{height:126px}.dashboard-shortcuts strong{font-size:1.0625rem}}
@media(hover:hover){.dashboard-shortcuts>a:hover,.dashboard-shortcuts>button:hover,.dashboard-topic:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.dashboard-shortcuts>a,.dashboard-shortcuts>button,.dashboard-topic{transition:none;transform:none!important}}
