/* A school-day ledger: one continuous timeline with a quiet live clock. */
:root{--primary:#147d86;--primary-light:#e8f4f3;--text:#183b56;--text-2:#647789;--text-3:#647789;--bg:#f3f7fa;--line:#dbe6ed;--radius:16px}
body{max-width:none;padding-bottom:40px;color:var(--text)}
#viewer{max-width:1120px;margin:0 auto;padding:30px 24px;display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:28px;align-items:start}
.page-title{grid-column:1/-1;font-size:28px;font-weight:700;letter-spacing:.04em;margin-bottom:24px}
.hero{grid-column:1;grid-row:2;background:#fff;border:1px solid var(--line);color:var(--text);border-radius:16px;padding:24px}
.hero-top{padding:0;display:block}.hero-date{font-size:14px;opacity:1;color:var(--text-2)}.hero-week{font-size:13px;font-weight:500;color:var(--text-2)}
.hero-clock{text-align:left;margin-top:14px}.hero-clock .time{font:500 48px/1.3 ui-monospace,"SFMono-Regular",Consolas,monospace;letter-spacing:-.05em}.hero-clock .sec{font-size:12px;color:var(--text-2);opacity:1}
.hero-status{border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0;margin-top:20px;background:none;align-items:flex-start}.status-main{font-size:20px;overflow-wrap:anywhere}.status-sub{color:var(--text-2);opacity:1}.status-dot,.status-dot.rest{margin-top:10px;background:var(--primary);box-shadow:none;animation:none}.status-dot.off{background:var(--text-2)}
.today-card{grid-column:1;grid-row:3;margin:16px 0 0;padding:20px;border:1px solid var(--line);box-shadow:none}.progress-bar{background:var(--primary)}.progress-track{height:5px}.progress-marks{font-size:12px}
.section-title{margin:22px 0 12px;font-size:15px}.section-title::before{display:none}.timeline-title{grid-column:2;grid-row:2;margin:0;padding:20px 24px;background:white;border:1px solid var(--line);border-radius:16px 16px 0 0}
.timeline{grid-column:2;grid-row:3/10;padding:0 24px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px}
.tl-item{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:22px 0;margin:0;gap:14px;position:relative;transition:none}.tl-item:last-child{border:0}.tl-item.now{border-bottom:1px solid var(--line);background:transparent;box-shadow:none}.tl-item.past{opacity:1}.tl-item.past .tl-time{color:var(--text-2)}.tl-time{min-width:112px;font:500 13px/1.6 ui-monospace,"SFMono-Regular",Consolas,monospace;white-space:nowrap}.tl-body{min-width:0}.tl-name,.tl-desc{overflow-wrap:anywhere}.tl-name{font-size:16px}.tl-desc{font-size:13px;white-space:pre-line}.tl-item.now .tl-name{color:var(--primary)}.tl-item.now .tl-name::after{display:none}.tl-tag{font-size:11px;padding:3px 8px;border:1px solid transparent;border-radius:6px;max-width:88px;white-space:normal;font-weight:600}.tag-work{background:#e8f4f3;color:#126c74;border-color:#c9e5e2}.tag-rest{background:#eef2f5;color:#5d7080;border-color:#dce5ea}.tag-key{background:#fff3d8;color:#8a5b08;border-color:#f1ddb1}.tag-student-entry{background:#e4f5f1;color:#16705f;border-color:#c6e7df}.tag-lesson{background:#e7f0f8;color:#285f8a;border-color:#cbddec}.tag-recess{background:#eaf4e9;color:#3e7040;border-color:#cee3cc}.tag-eye-exercise{background:#f2edf8;color:#6d5386;border-color:#dfd3eb}.tag-lunch{background:#fff0e2;color:#9a5427;border-color:#f0d7c1}.tag-hygiene{background:#f9e9e7;color:#9a4942;border-color:#ebceca}.tag-broadcast{background:#ececf8;color:#54568d;border-color:#d8d8ed}.tag-nap{background:#e7f3f6;color:#286c78;border-color:#cde3e8}.tag-club{background:#f7eaf1;color:#8b4d6d;border-color:#e9cfdd}.tag-after-school-service{background:#f0f3dc;color:#596b21;border-color:#dce4b7}.tag-now{background:var(--primary-light);color:var(--primary);border-color:#b9deda}.tl-dot{width:7px;height:7px;background:var(--line)}.tl-item.now .tl-dot{background:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}
.section-title,.week-card,.tips,.footer{grid-column:1}.week-card{margin:0;padding:12px 8px;border:1px solid var(--line);gap:2px}.week-day .d{font-family:ui-monospace,monospace}.week-day.today{background:var(--primary-light);color:var(--primary)}.week-day.today .d,.week-day.today .l{color:var(--primary)}.tips{margin:0;background:white;border:1px solid var(--line);color:var(--text-2);font-size:13px;padding:16px;overflow-wrap:anywhere}.footer{font-size:12px}.local-preview-note{max-width:1072px;background:white;color:var(--text-2);border-color:var(--line)}.empty-state{padding:42px 0;text-align:center;color:var(--text-2)}[hidden]{display:none!important}a:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.module-nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){#viewer{display:block;padding:24px 16px}.page-title{font-size:24px;margin-bottom:18px}.hero{padding:20px}.hero-top{display:flex;align-items:center;gap:12px}.hero-clock{margin:0;text-align:right}.hero-clock .time{font-size:38px}.hero-status{margin-top:16px;padding-top:16px}.today-card{margin:16px 0 0}.timeline-title{margin:22px 0 0;padding:16px 18px}.timeline{padding:0 18px}.tl-item{gap:10px;padding:18px 0;flex-wrap:wrap}.tl-time{min-width:100px;font-size:12px}.tl-tag{margin-left:127px;margin-top:-6px}.tl-body{flex-basis:calc(100% - 127px)}.tl-name{font-size:15px}.week-card{padding:12px;gap:4px}.local-preview-note{margin:12px 16px 0}}
@media(max-width:360px){#viewer{padding:18px 12px}.hero{padding:16px}.hero-clock .time{font-size:32px}.hero-date{font-size:12px}.hero-clock .sec{font-size:10px}.timeline{padding:0 12px}.tl-time{min-width:88px;font-size:11px}.tl-item{gap:8px}.tl-body{flex-basis:calc(100% - 111px)}.tl-tag{margin-left:111px}.status-main{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.schedule-summary{grid-column:1;grid-row:2;min-width:0}
.schedule-timeline{grid-column:2;grid-row:2;min-width:0}
.schedule-timeline .timeline-title{margin:0}
@media(max-width:760px){
  #viewer{display:flex;flex-direction:column}
  #viewer>*,.schedule-summary>*{width:100%;min-width:0}
  .schedule-summary{display:contents}
  .page-title{order:0}.hero{order:1}.today-card{order:2}
  .schedule-timeline{order:3;margin-top:22px}
  .schedule-summary>.section-title{order:4}.week-card{order:5}
  #tipsTitle{order:6}.tips{order:7}.footer{order:8}
}
