.week-shell{padding:0 30px 30px}.week-header{position:sticky;top:0;z-index:80;display:flex;justify-content:flex-start;gap:24px;min-height:62px;padding:10px 0;background:#11151b;border-color:#303845;font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.week-header strong{font-size:16px;color:#e6ebf2}.week-header span{margin-left:auto;color:#aebecb}.week-header .menu-toggle{margin:0}#journal{margin-top:24px;padding:24px 30px;background:#191f28;border:1px solid #343c49;border-radius:6px}.week-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.week-toolbar h1{font-size:20px;margin:0}.week-toolbar button{font:inherit;padding:6px 12px;border:1px solid #425769;border-radius:4px;background:#202833;color:#d5e5ed}.week-scroll{overflow-x:auto;overscroll-behavior-x:contain}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px}.week-day{min-width:0;border-left:1px solid #40505e}.week-day:last-child{border-right:1px solid #40505e}.week-day-heading{display:block;text-align:center;padding:10px 4px;color:#b9d1dd;text-decoration:none;border-bottom:1px solid #40505e}.week-day-heading.today{color:#8ef5d0;font-weight:700}.week-paper{position:relative;height:1152px;background-image:linear-gradient(to right,#8299aa18 1px,transparent 1px),linear-gradient(to bottom,#8299aa22 1px,transparent 1px);background-size:18px 24px}.week-events,.week-ticks{position:absolute;inset:0}.week-events{z-index:1}.week-ticks{pointer-events:none}.week-ticks .time-tick{position:absolute;left:0;right:0;border-top:1px solid #859aaa22}.week-ticks .time-tick.major{border-color:#859aaa55}.week-ticks .time-tick span{position:absolute;top:1px;left:3px;color:#8ea2b2;font-size:10px}.week-events .schedule-note textarea{font-size:12px}.app-drawer a.drawer-item{text-decoration:none}html[data-theme=light] .week-header{background:#edf1f4;border-color:#cbd4dc}html[data-theme=light] .week-header strong{color:#263846}html[data-theme=light] #journal{background:#f8fbfd;border-color:#cbd9e1}html[data-theme=light] .week-toolbar button{background:#f4f8fa;border-color:#b7cbd5;color:#294a5a}html[data-theme=light] .week-day,html[data-theme=light] .week-day:last-child,html[data-theme=light] .week-day-heading{border-color:#cbd9e1}html[data-theme=light] .week-day-heading{color:#385b70}html[data-theme=light] .week-day-heading.today{color:#23785c}html[data-theme=light] .week-paper{background-image:linear-gradient(to right,#8ba4b718 1px,transparent 1px),linear-gradient(to bottom,#8ba4b720 1px,transparent 1px)}@media(max-width:699px){.week-shell{padding:0 12px 16px}#journal{padding:16px 12px;margin-top:16px}.week-toolbar h1{font-size:15px}}
@media(min-width:700px){.week-grid{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.week-day-heading{font-size:11px}.week-events .schedule-note textarea{font-size:11px}}
.week-day{position:relative}.week-day:has(.timeline-notes:focus-within){z-index:25}.week-day .timeline-notes-wrap{margin-top:0}.week-day .timeline-notes .free-hint{display:none}.week-day .timeline-notes{background-image:linear-gradient(to right,#8299aa18 1px,transparent 1px),linear-gradient(to bottom,#8299aa22 1px,transparent 1px);background-size:18px 18px}html[data-theme=light] .week-day .timeline-notes{background-image:linear-gradient(to right,#8ba4b718 1px,transparent 1px),linear-gradient(to bottom,#8ba4b720 1px,transparent 1px)}
/* A single sheet of graph paper with softly marked weekends. */
.week-toolbar{flex-wrap:wrap}.week-print-size{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:#9ab2c2}.week-print-size select{font:inherit;padding:6px;border:1px solid #425769;border-radius:4px;background:#202833;color:#d5e5ed}
.week-toolbar #week-print{margin-left:auto;padding:7px 10px;font-size:11px}
.week-toolbar #week-prev,.week-toolbar #week-next{width:30px;height:30px;padding:0;border-color:#3a4654;background:#202833;color:#c4d4de;font-size:20px;line-height:1;flex:none}
html[data-theme=light] .week-toolbar #week-prev,html[data-theme=light] .week-toolbar #week-next{background:#f4f8fa;border-color:#c3d1d9;color:#273e4b}
@media(max-width:699px){.week-toolbar #week-prev,.week-toolbar #week-next{width:25px;height:28px}}
.week-grid{border-top:1px solid #40505e;border-bottom:1px solid #40505e}.week-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:3px;text-align:left;padding:7px 8px;background:#273a3b}.week-day-number{font-size:19px;line-height:1;font-weight:700}.week-day-name{font-size:10px;letter-spacing:.06em}.week-day.saturday .week-day-heading{background:#293d50;color:#b9d9f5}.week-day.sunday .week-day-heading{background:#4b3338;color:#ffd0c8}.week-day.saturday .week-paper,.week-day.saturday .timeline-notes{background-color:#8ebcf009}.week-day.sunday .week-paper,.week-day.sunday .timeline-notes{background-color:#f4a39a09}.week-day .timeline-notes-wrap{border-top:1px solid #71889988}
html[data-theme=light] .week-print-size{color:#456271}html[data-theme=light] .week-print-size select{background:#f4f8fa;border-color:#b7cbd5;color:#294a5a}html[data-theme=light] .week-grid{border-color:#bdcdd4}html[data-theme=light] .week-day-heading{background:#dcebe0;color:#385b52}html[data-theme=light] .week-day.saturday .week-day-heading{background:#d9eaf3;color:#355e78}html[data-theme=light] .week-day.sunday .week-day-heading{background:#f2ded8;color:#865c55}html[data-theme=light] .week-day.saturday .week-paper,html[data-theme=light] .week-day.saturday .timeline-notes{background-color:#b3d9f51a}html[data-theme=light] .week-day.sunday .week-paper,html[data-theme=light] .week-day.sunday .timeline-notes{background-color:#f5c4b71a}
@media print{
 .week-print-card{position:relative;border:.25mm dashed #a7b3b8;padding:5mm;overflow:hidden;background:white;break-after:page}.week-print-card.a5{width:210mm;height:148mm}.week-print-card.a6{width:148mm;height:105mm}.week-print-window{width:100%;height:100%;overflow:hidden;position:relative}.week-print-stage{position:absolute;top:0;left:0;width:1400px;transform-origin:top left;color:#29414e;font-family:system-ui,sans-serif}.week-print-title{height:25px;font-size:15px;font-weight:700}.week-print-grid{display:grid;grid-template-columns:repeat(7,200px);border-top:1px solid #a7bbc6;border-bottom:1px solid #a7bbc6}.week-print-day{border-left:1px solid #afc2cb;min-width:0}.week-print-day:last-child{border-right:1px solid #afc2cb}.week-print-heading{height:35px;padding:4px 8px;background:#e3efe6;display:flex;align-items:baseline;justify-content:space-between;color:#3f6557}.week-print-heading.saturday{background:#dcecf6;color:#385f79}.week-print-heading.sunday{background:#f7e3de;color:#875952}.week-print-day-number{font-size:20px}.week-print-day-name{font-size:11px}.week-print-axis{position:relative;height:576px;background-image:linear-gradient(to right,#edf2f4 1px,transparent 1px),linear-gradient(to bottom,#edf2f4 1px,transparent 1px);background-size:18px 12px}.week-print-tick{position:absolute;left:0;right:0;border-top:1px solid #c7d3d9}.week-print-tick span{position:absolute;left:3px;top:0;font-size:9px;color:#637c88}.week-print-event{position:absolute;border:1px solid color-mix(in srgb,var(--event-color) 65%,#526979);border-left-width:3px;border-radius:2px;background:color-mix(in srgb,var(--event-color) 25%,#f3f8fa);overflow:hidden;font-size:11px;line-height:1.25;color:color-mix(in srgb,var(--event-color) 35%,#163649);white-space:pre-wrap;overflow-wrap:anywhere}.week-print-event.is-point{border:0;background:transparent}.week-print-event span{padding:2px 4px}.week-print-notes{position:relative;height:324px;border-top:1px solid #99aeb9;background-image:linear-gradient(to right,#edf2f4 1px,transparent 1px),linear-gradient(to bottom,#edf2f4 1px,transparent 1px);background-size:18px 9px}.week-print-notes .print-note{position:absolute;white-space:pre-wrap;overflow-wrap:anywhere;filter:brightness(.5) saturate(1.4)}
}
@media print{.week-print-day:has(.saturday) .week-print-axis,.week-print-day:has(.saturday) .week-print-notes{background-color:#eaf4fa}.week-print-day:has(.sunday) .week-print-axis,.week-print-day:has(.sunday) .week-print-notes{background-color:#fbefeb}}
/* A quiet, uniform grid with a distinct time rule for each day. */
.week-day-heading,.week-day.saturday .week-day-heading{background:transparent;color:#b9d1dd}
.week-day.saturday .week-paper,.week-day.saturday .timeline-notes{background-color:transparent}
.week-day.sunday .week-day-heading{background:#4b3338;color:#ffd0c8}
.week-paper::before{content:'';position:absolute;left:22px;top:0;bottom:0;border-left:1px solid #829aab;pointer-events:none}
.week-ticks .time-tick,.week-ticks .time-tick.major{border-top:0}
.week-ticks .time-tick::before{content:'';position:absolute;left:17px;top:0;width:5px;border-top:1px solid #829aab}
.week-ticks .time-tick span{left:2px;top:-5px;font-size:9px}
.week-events{left:23px}
html[data-theme=light] .week-day-heading,html[data-theme=light] .week-day.saturday .week-day-heading{background:transparent;color:#385b70}
html[data-theme=light] .week-day.saturday .week-paper,html[data-theme=light] .week-day.saturday .timeline-notes{background-color:transparent}
html[data-theme=light] .week-day.sunday .week-day-heading{background:#f2ded8;color:#865c55}
html[data-theme=light] .week-paper::before,html[data-theme=light] .week-ticks .time-tick::before{border-color:#8199a5}
@media print{
 .week-print-heading,.week-print-heading.saturday{background:transparent;color:#385563}.week-print-heading.sunday{background:#f7e3de;color:#875952}
 .week-print-day:has(.saturday) .week-print-axis,.week-print-day:has(.saturday) .week-print-notes{background-color:transparent}
 .week-print-axis::before{content:'';position:absolute;left:22px;top:0;bottom:0;border-left:1px solid #8199a5}
 .week-print-tick{border-top:0}.week-print-tick::before{content:'';position:absolute;left:17px;top:0;width:5px;border-top:1px solid #8199a5}.week-print-tick span{top:-5px;left:2px;font-size:9px}
 .week-print-events{position:absolute;top:0;bottom:0;left:23px;right:0}
}
.week-day-heading.today,html[data-theme=light] .week-day-heading.today{color:inherit;text-decoration:underline;text-underline-offset:3px}.week-day.sunday .week-day-heading.today{color:#ffd0c8}html[data-theme=light] .week-day.sunday .week-day-heading.today{color:#865c55}
/* The day divider is also the time axis. */
.week-paper::before{left:0}.week-ticks .time-tick::before{left:0}.week-ticks .time-tick span{left:5px}
@media print{.week-print-axis::before{left:0}.week-print-tick::before{left:0}.week-print-tick span{left:5px}}
.week-ticks .time-tick,.week-ticks .time-tick.major{background:transparent}
/* Keep hour labels visible through overlapping events. */
.week-ticks{z-index:3;pointer-events:none}.week-events .schedule-note:not(.is-point){background:color-mix(in srgb,var(--note-color) 25%,transparent)}
html[data-theme=light] .week-events .schedule-note:not(.is-point){background:color-mix(in srgb,var(--note-color) 28%,transparent)}
@media print{.week-print-tick{z-index:3;pointer-events:none}.week-print-event:not(.is-point){background:color-mix(in srgb,var(--event-color) 25%,transparent)}}
.week-events{left:6px}
@media print{.week-print-events{left:6px}}
/* Reserve room for the full hour label before schedule blocks. */
.week-events{left:36px}
@media print{.week-print-events{left:32px}}
/* Hour rules stop short of the time axis and the next day. */
.week-ticks .time-tick,.week-ticks .time-tick.major{left:36px;right:6px;border-top:1px solid #8299aa66}
.week-ticks .time-tick::before{left:-36px}.week-ticks .time-tick span{left:-31px}
html[data-theme=light] .week-ticks .time-tick,html[data-theme=light] .week-ticks .time-tick.major{border-color:#9fb3bd88}
@media print{.week-print-tick{left:32px;right:6px;border-top:1px solid #c7d3d9}.week-print-tick::before{left:-32px}.week-print-tick span{left:-27px}}
/* Short hour rules; emphasize the same three-hour rhythm as DAILY. */
.week-ticks .time-tick,.week-ticks .time-tick.major{right:18px;border-color:#8299aa38}
.week-ticks .time-tick.major{border-color:#8299aa88}
html[data-theme=light] .week-ticks .time-tick{border-color:#9fb3bd55}
html[data-theme=light] .week-ticks .time-tick.major{border-color:#879faeb3}
@media print{.week-print-tick{right:18px;border-color:#dfe7ea}.week-print-tick.major{border-color:#aabfc9}}
.week-ticks .time-tick.major{border-top-width:1.5px}@media print{.week-print-tick.major{border-top-width:1.5px}}
/* Extend the hourly rule to the next grid column. */
.week-ticks .time-tick,.week-ticks .time-tick.major{right:12px}
@media print{.week-print-tick{right:12px}}
/* Leave a little more space between the hour label and the rule. */
.week-ticks .time-tick,.week-ticks .time-tick.major{left:42px}
.week-ticks .time-tick::before{left:-42px}.week-ticks .time-tick span{left:-37px}
@media print{.week-print-tick{left:38px}.week-print-tick::before{left:-38px}.week-print-tick span{left:-33px}}
/* Shared header information remains available while scrolling. */
@media screen{.memo-header,.week-header{gap:16px}.memo-header strong,.week-header strong{margin-right:0;flex:none}.memo-header .header-context,.week-header .header-context{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;color:#a9c0d0}.memo-header .header-account,.week-header .header-account{margin-left:auto;flex:none;flex-wrap:nowrap;gap:14px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}.memo-header .header-account span,.week-header .header-account span{margin:0;color:#8794a5}.memo-header #memo-save,.week-header #week-save{margin-left:auto;font-size:11px;white-space:nowrap}.memo-header .header-account:not([hidden])~*,.week-header .header-account:not([hidden])~*{margin-left:0}html[data-theme=light] .memo-header .header-context,html[data-theme=light] .week-header .header-context{color:#405e70}@media(max-width:800px){.memo-header,.week-header{gap:8px}.memo-header .header-account,.week-header .header-account{gap:8px}.memo-header #header-username,.week-header #header-username{display:none}.memo-header .header-context,.week-header .header-context{font-size:10px}.memo-header strong,.week-header strong{font-size:13px}.memo-header #memo-save,.week-header #week-save{font-size:10px}.memo-header .header-account,.week-header .header-account{font-size:10px}}}
@media screen{.memo-header .header-account,.week-header .header-account{margin-left:0}}

/* Keep each day readable when a tablet cannot show all seven at once. */
@media screen and (min-width:700px){.week-grid{min-width:1050px;grid-template-columns:repeat(7,minmax(150px,1fr))}}

/* The dates and time grid remain visible while each day's entries load. */
@media screen{
 .week-day.is-loading .week-paper::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background-image:linear-gradient(#8ba4b733,#8ba4b733),linear-gradient(#8ba4b72a,#8ba4b72a),linear-gradient(#8ba4b72a,#8ba4b72a);background-size:65% 14px,78% 14px,52% 14px;background-position:12px 16%,12px 31%,12px 51%;background-repeat:no-repeat}
}

@media screen{.week-heading-placeholder span{visibility:hidden}.week-heading-placeholder{position:relative}.week-heading-placeholder::before{content:'';position:absolute;left:8px;top:50%;width:45%;height:10px;transform:translateY(-50%);background:#8ba4b733;border-radius:4px}#week-title{display:grid;font-variant-numeric:tabular-nums}#week-title::after{content:'00-00 — 00-00';visibility:hidden;white-space:nowrap;grid-area:1/1}#week-title-text{grid-area:1/1}}

/* Match Sunday's colored heading and subtle column tint for today. */
@media screen{
 .week-day:has(> .week-day-heading.today){background-color:#8ebcf009}
 .week-day:not(.sunday) > .week-day-heading.today{background:#293d50;color:#b9d9f5}
 html[data-theme=light] .week-day:has(> .week-day-heading.today){background-color:#b3d9f51a}
 html[data-theme=light] .week-day:not(.sunday) > .week-day-heading.today{background:#d9eaf3;color:#355e78}
}

/* The cut guide already includes its own inner margin. Keep the browser's
   page box at the selected paper size so an A5 guide fits on A5 paper. */
@page{size:auto;margin:0}
@media print{.week-print-card:last-child{break-after:auto;page-break-after:auto}}

@media screen{.week-day.other-notebook-year{opacity:.65}.week-day.other-notebook-year .week-day-heading{cursor:default}.week-day.other-notebook-year .week-day-heading::after{content:"READ ONLY";font-size:8px;letter-spacing:0}}

/* Use the same 1400 × 935 writing layout as the printed weekly page. */
@media screen{
 .week-grid{width:1400px;min-width:1400px;grid-template-columns:repeat(7,200px)}
 .week-day-heading{box-sizing:border-box;height:35px}
 .week-paper{height:576px;background-size:18px 12px}
 .week-day .timeline-notes.free-notebook{width:200%;min-height:648px;zoom:.5}
}

/* The visible notes area ends at the shared daily writing boundary. */
@media screen{
 .week-day .timeline-notes-wrap{height:306px;box-sizing:content-box;background-image:linear-gradient(to right,#8299aa18 1px,transparent 1px),linear-gradient(to bottom,#8299aa22 1px,transparent 1px);background-size:9px 9px}
 .week-day .timeline-notes.free-notebook{min-height:612px;background-image:none}
 html[data-theme=light] .week-day .timeline-notes-wrap{background-image:linear-gradient(to right,#8ba4b718 1px,transparent 1px),linear-gradient(to bottom,#8ba4b720 1px,transparent 1px)}
}
@media print{
 .week-print-notes{height:306px}
 .week-print-notes-stage{position:relative;height:612px;zoom:.5}
}

@media screen{.week-scroll{overflow-y:hidden}}

@media screen{.week-grid{overflow-x:clip;overflow-y:visible}}
