:root{font-family:'Trebuchet MS',Arial,sans-serif;color:#203f46;background:#f4f8f8;font-size:17px;line-height:1.6;color-scheme:light}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:680px;margin:auto;padding:24px}header{padding-top:max(32px,env(safe-area-inset-top));border-bottom:3px solid #27787b}header span{font-size:16px}h1{font-size:36px;line-height:1.15;margin:12px 0 8px;font-weight:600;letter-spacing:-1px}h2{font-size:25px;line-height:1.3}button,a.action{font:inherit;background:#216c70;color:white;border:0;border-radius:8px;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-block;min-height:48px}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ba5c28;outline-offset:4px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 0;border-bottom:1px solid #c6dadd}.attachment{font-size:15px;color:#476169;background:#e2efef;padding:10px 14px;border-radius:6px}.course{padding:20px 0}footer{font-size:14px;color:#567276;padding-bottom:max(32px,env(safe-area-inset-bottom))}.notice{padding:18px;background:#e2efef;border-left:4px solid #27787b}p{max-width:64ch}button.secondary{background:#d9ebeb;color:#203f46}@media(max-width:360px){header,main,footer{padding:18px}h1{font-size:30px}}
:root{--ink:#203f46;--paper:#f4f8f8;--soft:#e2efef;--accent:#216c70;--line:#c6dadd;--muted:#476169}html[data-theme=dark]{color-scheme:dark;--ink:#e3efef;--paper:#17292d;--soft:#253d42;--accent:#83d0c9;--line:#436268;--muted:#b2cdce}body{background:var(--paper);color:var(--ink)}header{border-color:var(--accent)}button,a.action{background:var(--accent);color:var(--paper)}button.secondary,a.secondary{background:var(--soft);color:var(--ink)}header,main,footer{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.toolbar{gap:8px}.toolbar button{padding:10px 13px;font-size:15px}.course{border-bottom:1px solid var(--line);padding:26px 0}.course-meta,.position-status,footer{font-size:14px;color:var(--muted)}.notice,.attachment{background:var(--soft);color:var(--ink);border-color:var(--accent)}.error{color:var(--ink);padding:12px;border-left:3px solid #ba5c28;background:var(--soft)}.message{border-color:var(--line);white-space:normal;scroll-margin-top:20px}.message-text{white-space:pre-wrap;margin:0 0 18px}.message img{display:block;max-width:100%;height:auto;border-radius:8px;margin:16px 0}.message a{overflow-wrap:anywhere}.message .action{margin:8px 0}.audio-player{padding:20px;background:var(--soft);border-radius:10px;display:grid;gap:14px}.audio-player h3{font-size:20px;line-height:1.4;margin:0}.video iframe{border:0;width:100%;aspect-ratio:16/9;min-height:200px;display:block}.video{margin:18px 0}a:focus-visible,input:focus-visible{outline:3px solid #ba5c28;outline-offset:3px}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Native media and day navigation, revised after Telegram iOS acceptance. */
.material-link{color:#49614d;text-decoration:underline;text-underline-offset:.2em;display:inline-block;padding:10px 0;min-height:44px}
html[data-theme=dark] .material-link{color:#b7d2b6}
.material-link:hover{text-decoration-thickness:2px}.document-icon{display:inline-block;margin-right:.5em;font-size:1.35em;vertical-align:middle}.file-type{font-size:.75em;font-weight:700}
.audio-player audio{display:block;width:100%;min-width:0}.settings .material-link{display:block;width:fit-content;margin-top:24px}
.day-navigation{position:sticky;top:0;z-index:5;background:var(--paper);padding:12px 0 8px;border-bottom:1px solid var(--line)}
.day-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.day-tabs::-webkit-scrollbar{display:none}.day-tabs button{flex:none;padding:8px 14px;font-size:14px;min-height:44px}.day-tabs button[aria-current]{background:var(--accent);color:var(--paper)}
.day-navigation input{width:100%;margin:6px 0 0;min-height:32px;accent-color:var(--accent)}
.back-to-top{position:fixed;z-index:6;bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));box-shadow:0 3px 16px #0002;font-size:14px;padding:12px 18px}
.feed{padding-bottom:80px}.message{scroll-margin-top:140px}

/* Edge-to-edge day strip; the range retains the reading column inset. */
.day-navigation{width:100vw;margin-inline:calc(50% - 50vw)}
.day-tabs button{transition:background-color 180ms ease,color 180ms ease}
.day-range{position:relative;max-width:632px;margin:6px max(24px,env(safe-area-inset-left)) 0;height:32px;--position:0}
.day-range-track{position:absolute;top:13px;left:0;right:0;height:6px;background:var(--line);border-radius:999px;pointer-events:none}
.day-range-thumb{position:absolute;top:5px;left:calc((100% - 22px)*var(--position));width:22px;height:22px;border-radius:50%;background:var(--accent);box-shadow:0 1px 4px #0002;pointer-events:none;transition:left 240ms ease}
.day-range input{position:absolute;inset:0;width:100%;height:32px;margin:0;opacity:0;cursor:pointer}
.day-range:focus-within{outline:3px solid #ba5c28;outline-offset:3px;border-radius:8px}
@media(min-width:680px){.day-range{margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.day-tabs button,.day-range-thumb{transition:none}}
.day-range-track::before{content:"";position:absolute;inset:0 auto 0 0;width:calc(11px + (100% - 22px)*var(--position));background:#fff;border-radius:inherit;transition:width 240ms ease}
@media(prefers-reduced-motion:reduce){.day-range-track::before{transition:none}}
