/* Useful space first; decoration stays around the work. */
html[data-theme] body .calendarWorkspace,html[data-theme] body .studyCalendarWorkspace { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
html[data-theme] body :is(.calendarWorkspace,.studyCalendarWorkspace):has(>aside:not([hidden])) { grid-template-columns:minmax(0,1fr) minmax(280px,360px); }
html[data-theme] body #calendarGrid { width:100%; max-width:none; min-width:0; box-sizing:border-box; }
html[data-theme] body :is(#calendarDayDialog,#studySessionDialog) { position:static; inset:auto; width:100%; max-width:none; max-height:75dvh; overflow:auto; margin:0; padding:16px; box-sizing:border-box; background:var(--note-paper); color:var(--text-main); border:2px solid var(--note-ink); border-radius:3px; box-shadow:3px 4px 0 var(--note-shadow); }
html[data-theme] body :is(#calendarDayDialog,#studySessionDialog)[hidden] { display:none; }
html[data-theme] body :is(#calendarDayDialog,#studySessionDialog)>header { display:flex; justify-content:space-between; align-items:start; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--note-line); }
html[data-theme] body :is(#calendarDayDialog,#studySessionDialog)>header h2 { font-size:16px; margin:0; line-height:1.6; }
html[data-theme] body :is(#calendarDayDialog,#studySessionDialog)>header button { min-width:36px; min-height:36px; padding:4px; }
html[data-theme] body #calendarDayTasks { padding:0; list-style:none; }
html[data-theme] body #calendarDayTasks>li { display:block; padding:14px 0; border-bottom:1px solid var(--note-line); }
.dayTaskHeading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-size:13px; line-height:1.6; }
.dayAnswerRow { margin-top:12px; padding:12px; background:var(--note-bar); border:1px solid var(--note-line); }
.dayAnswerRow p { font-size:12px; line-height:1.7; margin:6px 0; overflow-wrap:anywhere; }
.dayAnswerForm { display:flex; gap:8px; margin-block:10px; }
.dayAnswerForm input { min-width:0; width:100%; padding:8px; font-size:16px; background:var(--note-paper); color:var(--text-main); border:1px solid var(--note-ink); }
.dayAnswerForm button { flex-shrink:0; font-size:11px; }
html[data-theme] body .calendarCell[data-selected-day] { outline:2px solid var(--text-accent); outline-offset:-3px; }
html[data-theme] body #studySessionContent .studyPlanBlock { padding:14px 0; margin:0; background:none; border:0; box-shadow:none; }
html[data-theme] body #studySessionContent :is(h2,h3) { font-size:14px; line-height:1.6; margin-block:10px; }
html[data-theme] body #studySessionContent p { font-size:12px; line-height:1.7; }
html[data-theme] body #studySessionContent ul { margin:12px 0; padding:0; gap:0; }
html[data-theme] body #studySessionContent li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px 0; border-bottom:1px solid var(--note-line); }
html[data-theme] body #studySessionContent li>a { font-size:12px; line-height:1.6; }
html[data-theme] body #studySessionContent .studyPlanRemove { margin:0; }
html[data-theme] body #studySessionContent .studyPlanRemove button { min-height:32px; padding:5px 8px; font-size:10px; box-shadow:none; }
.studyPlanAddForm { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.studyPlanAddForm label { flex:0 1 320px; min-width:0; display:grid; gap:8px; font-size:13px; }
.studyPlanAddForm input { width:100%; box-sizing:border-box; }
html[data-theme] body .studyPlanAddForm button { flex:0 0 auto; align-self:end; width:auto; min-height:44px; padding:10px 20px; font-size:13px; }
html[data-theme] body #taskPreview.taskPreviewPanel { position:fixed; inset:12px 12px 12px auto; z-index:10050; width:min(660px,calc(100vw - 24px)); max-height:none; height:calc(100dvh - 24px); margin:0; display:flex; flex-direction:column; box-sizing:border-box; }
html[data-theme] body #taskPreview[hidden] { display:none!important; }
html[data-theme] body #taskPreview iframe { flex:1; height:auto; min-height:0; }
html[data-theme] body #taskPreview h2 { font-size:16px; }
html[data-theme] body .fontPanel { padding:10px; max-width:calc(100vw - 24px); }
html[data-theme] body .fontPanel .sinusSearch { padding:12px 14px!important; min-height:48px!important; line-height:1.5; margin:0 0 8px; box-shadow:none; }
html[data-theme] body .fontList button { padding:10px 12px!important; min-height:42px; }
html[data-theme] body .filterPicker .fontTrigger { text-align:left; min-height:50px; height:auto; padding:12px 16px!important; }
html[data-theme] body .filtersGrid { gap:18px; }
html[data-theme] body .sinusSearch { min-height:48px; line-height:1.5; }
.pickerActions { display:flex; justify-content:space-between; gap:12px; padding-top:10px; border-top:1px solid var(--note-line); }
.pickerActions button { min-height:36px; padding:6px 10px; font-size:12px; }
html[data-theme] body .fontPanel[data-multiple] .fontList button[aria-selected=true]::before { content:'✓ '; }
.boardMarquee { fill:color-mix(in srgb,var(--text-accent) 14%,transparent); stroke:var(--text-accent); stroke-width:1; vector-effect:non-scaling-stroke; pointer-events:none; }
@media(max-width:1100px) { html[data-theme] body :is(.calendarWorkspace,.studyCalendarWorkspace):has(>aside:not([hidden])) { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { html[data-theme] body #calendarDayDialog,html[data-theme] body #studySessionDialog { max-height:65dvh; } .studyPlanAddForm label { flex-basis:100%; } }
.calendarDayPanel,.studySessionPanel { scroll-margin-top:85px; }
html[data-theme] body #studySessionContent .studyButton { min-height:34px; padding:6px 10px; font-size:11px; box-shadow:none; }
