*{box-sizing:border-box}body{margin:0;background:#f5f4ed;color:#283d35;font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN',sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #c89b55;outline-offset:3px}[hidden]{display:none!important}.wrap{max-width:1120px;margin:auto;padding:30px 30px 24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0d3;padding-bottom:22px;gap:16px}.brand{color:inherit;text-decoration:none;font-size:21px;font-weight:750;letter-spacing:.12em}.brand span{color:#7f9261;margin-right:9px}.brand small{font-size:10px;font-weight:500;letter-spacing:.08em;margin-left:14px;color:#7b8974}.account{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.date,#username{font-size:11px;color:#7d8977}.clear{border:0;background:transparent;padding:8px 0;color:#63805d;font-size:12px}.hero{margin:32px 0 30px;display:flex;align-items:end;justify-content:space-between;gap:24px}.eyebrow{font-size:10px;letter-spacing:.18em;color:#83916c;font-weight:750}h1{font-size:32px;letter-spacing:.03em;line-height:1.55;margin:8px 0}p{font-size:13px;color:#7a8775;line-height:1.9}.hero p{margin:0}.hero-note{text-align:right;font-size:12px}.hero-note span{display:block;font-size:10px;letter-spacing:.12em;color:#9aa18d}.app-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:28px;align-items:start}.panel{background:#fffefa;border:1px solid #e0e5d8;border-radius:18px;box-shadow:0 8px 25px #3c55200a}.sidebar{padding:23px 20px}.month-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.month-head h2{font-size:17px;margin:0;letter-spacing:.04em}.arrows{display:flex;gap:5px}.icon-button{border:1px solid #e0e6d7;background:#fffefa;color:#617757;border-radius:8px;width:30px;height:30px;display:inline-grid;place-items:center;font-size:18px}.icon-button:hover{background:#eef3e5}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{margin-top:24px;margin-bottom:8px}.weekdays span{font-size:10px;text-align:center;color:#a0a98f}.day{position:relative;min-height:32px;background:none;border:0;border-radius:8px;color:#596951;font-size:11px;display:flex;align-items:center;justify-content:center;padding-bottom:4px}.day.today{box-shadow:inset 0 0 0 1px #c5d0b5}.day.selected{background:#365e49;color:white;box-shadow:none}.day.recorded:after{content:'';width:3px;height:3px;border-radius:50%;position:absolute;bottom:4px;background:#9faf75}.day.selected:after{background:#d9e4c7}.calendar-legend{font-size:10px;color:#8d987e;margin:13px 0 0}.calendar-legend span{color:#91a16b}.month-stat{border-top:1px solid #e7ebdf;border-bottom:1px solid #e7ebdf;padding:20px 0;margin-top:20px;display:flex;align-items:baseline;gap:7px}.month-stat strong{font-size:28px;font-weight:500}.month-stat span{color:#89957c;font-size:11px}.history-title{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.history-title h3{font-size:12px;margin:0}.history{list-style:none;padding:0;margin:10px 0 0}.history button{border:0;border-bottom:1px solid #ecf0e5;background:none;text-align:left;width:100%;padding:12px 0;color:#51674f;display:flex;gap:10px;align-items:start}.history .stamp{font-size:11px;color:#8b977d;white-space:nowrap;padding-top:2px}.history .snippet{font-size:12px;line-height:1.7;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.history-empty{font-size:12px;color:#939d87;line-height:1.9;padding:16px 0}.editor{padding:30px 32px}.editor-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.editor-head h2{font-size:24px;line-height:1.5;margin:4px 0 0;font-weight:650}.pill{background:#eff3e7;color:#7c8d65;border-radius:30px;padding:6px 10px;font-size:10px;white-space:nowrap}.day-tools{display:flex;align-items:center;gap:10px;margin:18px 0 28px;flex-wrap:wrap}.day-tools input{border:1px solid #dfe6d4;border-radius:8px;padding:7px 9px;background:#fafbf7;color:#6c7e61;font-size:11px;min-width:0}.day-tools .clear{margin-left:auto}.field{display:block;margin-top:24px}.label-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.label-line span,fieldset legend{font-size:12px;color:#526b4d;font-weight:650}.label-line small{font-size:10px;color:#a0a98f}.field input,.field textarea{width:100%;border:1px solid #dfe5d6;border-radius:10px;background:#fcfdf8;color:#344e3c;padding:13px 14px;line-height:1.9;font-size:13px;resize:vertical;margin-top:9px}.field textarea{min-height:190px}.field input::placeholder,.field textarea::placeholder{color:#a7af9b}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-row textarea{min-height:100px}.moods{border:0;margin:0;padding:0}.mood-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.mood{position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fafbf5;border:1px solid #e5eadc;border-radius:12px;padding:12px 5px;font-size:10px;color:#8a977a}.mood input{position:absolute;opacity:0;width:1px;height:1px}.mood:has(input:checked){background:#edf3e1;border-color:#829b62;color:#4e7144}.mood:has(input:focus-visible){outline:3px solid #c89b55;outline-offset:2px}.mood .face{font-size:23px;line-height:1.3}.mood-options .mood:nth-child(1) .face{filter:grayscale(.4)}.save-area{border-top:1px solid #e7ebde;margin-top:28px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.save-note{font-size:10px;color:#8f9b80;line-height:1.8}.primary{border:0;border-radius:10px;background:#365e49;color:#fff;padding:13px 22px;font-size:12px;white-space:nowrap}.primary:hover{background:#284e39}.status{min-height:18px;color:#7d8b67;font-size:11px;line-height:1.8;margin:12px 0 0}.status.error{color:#a2533b}.archive{margin-top:24px;font-size:11px;color:#8b967e}.archive summary{cursor:pointer;padding:8px 0}.archive ul{padding-left:20px;max-height:160px;overflow:auto;line-height:1.9;overflow-wrap:anywhere}.archive .done{text-decoration:line-through}.notice{padding:16px;border:1px solid #e0e7d4;background:#f5f8ec;border-radius:10px;margin-bottom:24px;font-size:12px}.notice p{font-size:11px;margin:5px 0}.auth-panel{max-width:480px;margin:25px auto 50px;padding:30px}.auth-panel h2{font-size:20px;margin:0}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:23px}.auth-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5d7453}.auth-form input{padding:12px;border:1px solid #dfe6d6;border-radius:9px;background:#fcfdf8;min-width:0;color:#344e3c}.hint{font-size:11px;line-height:1.9;margin:0}.google-box{margin-top:24px}.google-box .hint{margin-top:9px}.divider{display:flex;align-items:center;gap:12px;color:#97a18f;font-size:11px;margin-top:22px}.divider:before,.divider:after{content:'';height:1px;background:#e3e8dc;flex:1}footer{margin-top:36px;display:flex;justify-content:space-between;gap:15px;color:#949d87;font-size:10px;line-height:1.8}footer a{color:#7b8f69}.loading{padding:60px;text-align:center;color:#8c987b;font-size:13px}.save-area .primary{min-width:160px}.editor-body{transition:opacity .15s}.editor-body[aria-busy=true]{opacity:.5;pointer-events:none}.sync-conflict{background:#fff3e9;color:#94613c;border-radius:8px;padding:12px;margin-top:12px;font-size:11px;line-height:1.8}@media(max-width:800px){.wrap{padding:22px 18px}.hero{margin:25px 0}.hero-note{display:none}h1{font-size:27px}.app-layout{grid-template-columns:1fr;gap:18px}.sidebar{padding:20px}.sidebar-top{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:24px}.month-stat{border:0;margin:0;flex-direction:column;justify-content:center;gap:0;padding:0}.month-stat strong{font-size:36px}.calendar{gap:4px}.day{min-height:35px}.history{max-height:160px;overflow:auto}.history-title{margin-top:16px}.editor{padding:23px 20px}.editor-head h2{font-size:22px}.brand small{display:none}.account{gap:8px;max-width:65%}.date{display:none}.field-row{grid-template-columns:1fr;gap:0}.mood-options{gap:5px}.mood{padding:10px 3px}.save-area{align-items:flex-start;flex-direction:column;gap:12px}.save-area .primary{width:100%}footer{flex-direction:column;margin-top:26px}.auth-panel{padding:25px 20px}.editor-head{gap:8px}}@media(prefers-reduced-motion:reduce){.editor-body{transition:none}}
/* A single daily page with a slim schedule and generous writing space. */
.wrap{max-width:1264px}.hero{margin:25px 0}.hero h1{font-size:28px}.app-layout{grid-template-columns:minmax(280px,0.8fr) minmax(0,2fr);gap:0;align-items:stretch}.schedule-page{order:1;padding:28px 18px 22px;border-radius:18px 0 0 18px;min-width:0}.editor{order:2;border-radius:0 18px 18px 0;border-left:0;padding:28px 28px 22px;min-width:0;box-shadow:inset 10px 0 16px -18px #38542e}.sidebar{order:3;grid-column:1/-1;margin-top:24px;display:grid;grid-template-columns:340px minmax(0,1fr);gap:0 36px;align-content:start}.sidebar-top{grid-row:1/5;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:22px}.sidebar .month-stat{border:0;margin:0;flex-direction:column;gap:0;justify-content:center;padding:0}.sidebar .history-title{margin-top:0}.sidebar .history{max-height:190px;overflow:auto}.sidebar .history-status{grid-column:2}.schedule-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.schedule-heading h2{font-size:24px;margin:4px 0 0;line-height:1.5;font-weight:650}.schedule-timezone{font-size:10px;color:#98a18d;margin:10px 0 20px}.calendar-connection{background:#f6f8f0;border:1px solid #e1e8d6;border-radius:10px;padding:14px;margin-bottom:20px}.connection-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.connection-title strong{font-size:12px;font-weight:600}.connection-title>span:last-child{font-size:10px;color:#92a07e}.google-mark{font-size:17px;font-weight:700;color:#577ebd}.calendar-connection .hint{font-size:10px;margin-top:8px;color:#919c85;line-height:1.8}.connection-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:10px}.calendar-connect{border:1px solid #d7dfce;background:#fffefa;padding:9px 14px;border-radius:7px;color:#4b6547;font-size:11px}.calendar-connection .status{font-size:10px;margin-top:8px;min-height:0}.timeline-shell{padding:7px 0 14px 43px}.timeline-paper{position:relative;height:864px;border:1px solid #e6e9e0;border-top:0;border-bottom:0;background-image:linear-gradient(to right,#e9ece333 1px,transparent 1px),linear-gradient(to bottom,#e9ece388 1px,transparent 1px);background-size:18px 18px}.schedule-ticks{position:absolute;inset:0;pointer-events:none}.time-tick{position:absolute;left:0;right:0;height:1px;background:#e8ecdf}.time-tick.major{background:#dbe2d1}.time-tick span{position:absolute;right:calc(100% + 10px);top:-7px;font-size:10px;color:#929d85;white-space:nowrap}.schedule-events{position:absolute;inset:0 6px 0 0}.schedule-event{position:absolute;min-height:17px;overflow:hidden;padding:4px 7px;background:#e5edd9;border-left:3px solid #93aa75;border-radius:3px;color:#456439;font-size:11px;line-height:1.5;box-shadow:0 1px 2px #536d2810}.schedule-event .event-time{display:block;font-size:9px;color:#81946c;white-space:nowrap}.schedule-event a,.schedule-event>span:last-child{display:block;color:inherit;text-decoration:none;overflow-wrap:anywhere}.schedule-event a:hover{text-decoration:underline}.all-day{display:grid;grid-template-columns:36px 1fr;gap:7px;margin-bottom:13px}.all-day-label{font-size:10px;color:#95a087;padding-top:6px}.all-day-event{border-radius:4px;background:#edf1e5;font-size:11px;padding:6px 9px;margin-bottom:4px;color:#63774f}.all-day-event a{color:inherit;text-decoration:none}.schedule-foot{font-size:10px;color:#9aa58d;margin:6px 0 0 43px}.editor .field textarea#entry-content{min-height:430px;line-height:2.25;background-color:#fffefa;background-image:linear-gradient(to right,#edf0e555 1px,transparent 1px),linear-gradient(to bottom,#edf0e588 1px,transparent 1px);background-size:24px 29.25px}.editor .field-row{grid-template-columns:1fr;gap:0}.editor .field-row textarea{min-height:100px}.editor .mood .face{font-size:20px}.editor .mood-options{gap:5px}.editor .mood{font-size:9px}.editor .day-tools{gap:8px}.editor .save-area{align-items:flex-start;flex-direction:column}.editor .save-area .primary{width:100%}@media(max-width:800px){.app-layout{grid-template-columns:1fr;gap:18px}.schedule-page{border-radius:16px;padding:22px 20px;order:2}.editor{border-radius:16px;border-left:1px solid #e0e5d8;padding:22px 20px;order:1}.sidebar{order:3;grid-template-columns:1fr;gap:16px;margin-top:0}.sidebar-top{grid-row:auto;grid-template-columns:minmax(0,1fr) 85px}.sidebar .history-status{grid-column:auto}.schedule-heading h2{font-size:22px}.timeline-paper{height:864px}.editor .field textarea#entry-content{min-height:250px}.schedule-foot{margin-left:0}.hero h1{font-size:25px}}
.schedule-event.compact{padding:2px 6px;font-size:10px}.schedule-event.compact .event-time{display:none}

/* One sheet of grid paper, divided with a light rule. */
.app-layout{display:block}.notebook{background:#fffefa;border:1px solid #e0e5d8;border-radius:9px;padding:30px;box-shadow:0 8px 25px #3c55200a}.notebook-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 30px;padding-bottom:22px}.notebook-header .editor-head{grid-column:1/-1}.notebook-header .editor-head h2{font-size:28px}.notebook-header .day-tools{margin:0;align-self:start}.notebook-header .moods{grid-column:2;grid-row:2/4}.notebook-header .mood-options{margin-top:8px}.notebook-header .mood{padding:7px 3px;background:transparent;border-radius:5px}.notebook-header .mood .face{font-size:18px}.notebook-header .calendar-connection{grid-column:1;grid-row:3;padding:0;margin:0;background:transparent;border:0;border-radius:0}.notebook-header .calendar-connection>.hint,.notebook-header .connection-title{display:none}.notebook-header .connection-buttons{margin-top:0}.notebook-header .calendar-connect{padding:7px 10px}.notebook-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,3fr);gap:0;background-image:linear-gradient(to right,#dfe4d955 1px,transparent 1px),linear-gradient(to bottom,#dfe4d955 1px,transparent 1px);background-size:18px 18px;border-top:1px solid #dfe5d7;border-bottom:1px solid #dfe5d7}.notebook-body .schedule-page,.notebook-body .editor{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;min-width:0}.notebook-body .schedule-page{border-right:1px solid #ccd6c2;padding-right:12px}.notebook-body .editor{padding:12px 0 12px 24px}.notebook-body .schedule-heading{display:none}.notebook-body .schedule-timezone{font-size:9px;margin:8px 0 12px;background:#fffefa;display:table}.notebook-body .timeline-shell{padding-top:0;padding-bottom:7px}.notebook-body .timeline-paper{background:none;border:0}.notebook-body .time-tick{background:#dfe5d755}.notebook-body .time-tick.major{background:#d7dfcd88}.notebook-body .schedule-foot{margin:8px 0 12px 0;background:#fffefa;font-size:9px}.notebook-body .all-day{background:#fffefa}.notebook-body .field{margin-top:0}.notebook-body .label-line{background:#fffefa;width:100%;padding:0 0 5px}.notebook-body .field textarea,.notebook-body .field textarea#entry-content{background:transparent;border:0;border-radius:0;padding:10px 0;margin-top:0;box-shadow:none;line-height:36px;min-height:504px}.notebook-body .field-row{gap:18px}.notebook-body .field-row textarea{min-height:108px}.notebook-body .save-area{margin-top:18px;padding-top:14px;border:0;flex-direction:row;align-items:center;background:#fffefa}.notebook-body .save-area .primary{width:auto}.notebook-body .status,.notebook-body .archive{background:#fffefa}.notebook-body .schedule-event{background:#e5edd9ed}.sidebar{margin-top:24px}
@media(max-width:800px){.notebook{padding:18px 14px}.notebook-header{grid-template-columns:1fr;gap:14px}.notebook-header .moods,.notebook-header .calendar-connection{grid-column:1;grid-row:auto}.notebook-header .editor-head h2{font-size:22px}.notebook-body{grid-template-columns:minmax(100px,1fr) minmax(0,2fr)}.notebook-body .schedule-page{order:1;padding-right:6px}.notebook-body .editor{order:2;padding-left:12px}.notebook-body .timeline-shell{padding-left:32px}.notebook-body .time-tick span{font-size:9px;right:calc(100% + 5px)}.notebook-body .schedule-timezone{max-width:100%;font-size:8px;overflow-wrap:anywhere}.notebook-body .field textarea#entry-content{min-height:504px}.notebook-body .save-area{flex-direction:column;align-items:stretch}.notebook-body .save-area .primary{width:100%;min-width:0;padding:12px 6px;font-size:10px}.notebook-body .label-line small{font-size:8px}.notebook-body .schedule-event{padding:2px 3px;font-size:9px;border-left-width:2px}.notebook-body .schedule-event .event-time{font-size:8px}.notebook-body .schedule-foot{line-height:1.6}.sidebar{display:block}.sidebar .history-title{margin-top:20px}}

main{margin-top:26px}

.entry-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.entry-actions .primary{padding:10px 16px}@media(max-width:600px){.entry-actions{gap:6px}.entry-actions .primary{font-size:10px;padding:9px 10px}}

/* Dark editor-inspired notebook */
body{background:#11151b;color:#d7dce4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Hiragino Kaku Gothic ProN',monospace}
header{border-color:#303845}.brand{color:#e6ebf2}.brand span,.brand small,.eyebrow{color:#80a5bb}.date,#username,.save-note,.schedule-timezone,.schedule-foot,.hint,.calendar-legend,footer{color:#8794a5}footer a,.clear{color:#9ebed1}.clear:hover{color:#d9e9f4}.panel,.notebook{background:#191f28;border-color:#343c49;box-shadow:0 18px 48px #0004}.notebook{border-radius:6px}.notebook-header .editor-head h2,.month-head h2,.editor-head h2{color:#e9edf3}.pill{background:#293442;color:#aebecb;border:1px solid #3b4b5c}.primary{background:#719cb5;color:#101b24;border-radius:4px;font-weight:700}.primary:hover{background:#91b7cb}.icon-button,.day-tools input{background:#202833;border-color:#3a4654;color:#c4d4de;border-radius:4px}.icon-button:hover{background:#334252}.notebook-header .mood{background:#202833;border-color:#354150;color:#aab6c2}.notebook-header .mood:has(input:checked){background:#33495b;border-color:#84b2cf;color:#eef8ff}.label-line span,fieldset legend,.history-title h3{color:#a9c0d0}.label-line small{color:#75879a}.notebook-body{border-color:#384454;background-color:#171d25;background-image:linear-gradient(to right,#42505d35 1px,transparent 1px),linear-gradient(to bottom,#42505d35 1px,transparent 1px)}.notebook-body .schedule-page{border-color:#4c6171}.notebook-body .schedule-timezone,.notebook-body .schedule-foot,.notebook-body .label-line,.notebook-body .save-area,.notebook-body .status,.notebook-body .archive,.notebook-body .all-day{background:#171d25}.time-tick span{color:#8494a5}.notebook-body .time-tick{background:#3f4d5b55}.notebook-body .time-tick.major{background:#52647399}.field textarea,.field input,.notebook-body .field textarea,.notebook-body .field textarea#entry-content{color:#dbe4ed;caret-color:#8bc9eb}.field textarea::placeholder,.field input::placeholder{color:#68798a}.day{color:#afbdc8}.day:hover,.icon-button:hover{background:#303d4a}.day.selected{background:#5e89a1;color:#fff}.day.today{box-shadow:inset 0 0 0 1px #6a8799}.weekdays span,.month-stat span,.history-empty{color:#81909e}.history button{border-color:#303c49;color:#bfccd6}.history .stamp{color:#8092a1}.month-stat strong{color:#dbe6ed}.save-note,.status{color:#8c9dac}.status.error{color:#e39b89}.notice,.sync-conflict{background:#283543;border-color:#43596a;color:#ccdeea}.auth-form input{background:#202833;border-color:#3a4654;color:#d7dce4}.auth-form label{color:#b0c2ce}.divider:before,.divider:after{background:#354252}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-color:#9ac2da}

/* Align each line of text with one notebook grid row. */
.notebook-body .field textarea,.notebook-body .field textarea#entry-content{line-height:18px}

.habit-tracker{margin-top:24px;padding:18px 0;border-top:1px solid #3a4755}.habit-heading{display:flex;align-items:baseline;justify-content:space-between;color:#a9c0d0;font-size:11px;letter-spacing:.12em;font-weight:700}.habit-heading small{color:#8794a5;font-weight:400;letter-spacing:0}.habit-tracker ul{padding:0;margin:12px 0;list-style:none}.habit-tracker li{display:flex;align-items:center;justify-content:space-between;min-height:34px;border-bottom:1px solid #303c49;color:#d7dce4;font-size:12px}.habit-tracker label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer}.habit-tracker input[type=checkbox]{accent-color:#83b1ca;width:16px;height:16px}.habit-tracker li button{border:0;background:none;color:#8794a5;font-size:17px;padding:4px 8px}.habit-tracker .habit-empty{color:#8794a5;border:0}.habit-add{display:flex;gap:8px}.habit-add input{flex:1;min-width:0;background:#202833;color:#d7dce4;border:1px solid #3a4654;border-radius:4px;padding:9px;font-size:12px}.habit-add button{border:1px solid #526c7f;background:#273745;color:#c5dce9;border-radius:4px;padding:8px 12px;font-size:11px}.habit-tracker p{color:#e39b89;font-size:11px;margin:5px 0 0}

.free-notebook{position:relative;min-height:504px;overflow:hidden;cursor:text}.free-notebook .free-hint{position:absolute;top:10px;left:0;color:#68798a;font-size:12px;pointer-events:none}.free-notebook.has-blocks .free-hint{display:none}.notebook-body .free-notebook .free-block{position:absolute;resize:none;overflow:hidden;min-height:18px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#dbe4ed;line-height:18px;font-size:13px;font-family:inherit;outline-offset:1px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none}.free-notebook:focus-visible{outline:2px solid #9ac2da;outline-offset:2px}

.free-notebook .block-delete{position:absolute;z-index:2;transform:none;min-width:23px;height:21px;padding:0;border:1px solid #607484;border-radius:4px;background:#24313e;color:#d7e7f2;font-size:16px;line-height:18px;cursor:pointer}.free-notebook .block-delete:hover{background:#8d4b4f;color:#fff;border-color:#bd777b}

.free-notebook .block-move{position:absolute;z-index:2;min-width:23px;height:21px;padding:0;border:1px solid #607484;border-radius:4px;background:#24313e;color:#d7e7f2;font-size:15px;line-height:18px;cursor:grab;touch-action:none}.free-notebook .block-move:hover,.free-notebook .block-move.dragging{background:#405a6c}.free-notebook .block-move.dragging{cursor:grabbing}
.free-notebook .block-move .drag-resize{position:absolute;right:-7px;bottom:-7px;z-index:5;width:14px;height:14px;border:1px solid #29495d;border-radius:2px;background:#c3e7f6;pointer-events:auto;touch-action:none;cursor:nwse-resize}
.free-notebook .block-move .drag-resize::before{content:'';position:absolute;inset:-7px}

.free-notebook .block-font{position:absolute;z-index:2;min-width:29px;height:21px;padding:0 3px;border:1px solid #607484;border-radius:4px;background:#24313e;color:#d7e7f2;font:11px/18px system-ui,sans-serif;cursor:pointer}.free-notebook .block-font:hover{background:#405a6c}

/* The focus frame doubles as the drag handle. */
.notebook-body .free-notebook .free-block:focus-visible{outline:none}.free-notebook .block-move{box-sizing:border-box;position:absolute;z-index:3;min-width:0;padding:0;border:1px solid #9ac2da;border-radius:0;background:transparent;pointer-events:none;touch-action:none;cursor:move}.free-notebook .block-move:hover,.free-notebook .block-move.dragging{background:transparent;border-color:#c6e9ff}.free-notebook .block-move .drag-edge{position:absolute;display:block;pointer-events:auto;touch-action:none;cursor:move}.free-notebook .block-move .drag-edge.top,.free-notebook .block-move .drag-edge.bottom{left:-4px;right:-4px;height:8px}.free-notebook .block-move .drag-edge.top{top:-4px}.free-notebook .block-move .drag-edge.bottom{bottom:-4px}.free-notebook .block-move .drag-edge.left,.free-notebook .block-move .drag-edge.right{top:4px;bottom:4px;width:8px}.free-notebook .block-move .drag-edge.left{left:-4px}.free-notebook .block-move .drag-edge.right{right:-4px}

.free-notebook .block-color{position:absolute;z-index:4;width:20px;height:20px;padding:0;border:2px solid #283644;border-radius:50%;background:var(--swatch);cursor:pointer;box-shadow:0 0 0 1px #748899}.free-notebook .block-color[aria-pressed=true]{box-shadow:0 0 0 2px #fff}.free-notebook .block-color:hover{transform:scale(1.12)}

.free-notebook .block-color{border-radius:3px}.free-notebook .color-toggle{background:var(--swatch);border:2px solid #283644;box-shadow:0 0 0 1px #748899;min-width:22px;width:22px;height:21px;padding:0;border-radius:3px}.free-notebook .color-toggle:hover{background:var(--swatch);filter:brightness(1.1)}

.free-notebook .block-delete{display:grid;place-items:center}.free-notebook .block-delete[hidden]{display:none}


/* Writable schedule blocks */
.schedule-events{cursor:text;z-index:1}.schedule-events.locked{pointer-events:none}.schedule-note{position:absolute;left:3px;right:3px;min-height:0;border:1px solid var(--note-color);border-left-width:3px;background:color-mix(in srgb,var(--note-color) 15%,#171d25);color:var(--note-color);border-radius:3px;cursor:default}.schedule-note:focus-within,.schedule-note.resizing{z-index:3;box-shadow:0 0 0 1px var(--note-color)}.schedule-note textarea{display:block;width:100%;height:100%;min-height:0;padding:6px 25px 6px 7px;margin:0;resize:none;border:0;outline:0;background:transparent;color:var(--note-color);caret-color:var(--note-color);font-family:inherit;font-size:14px;line-height:1.35;overflow:auto}.schedule-note textarea::placeholder{color:color-mix(in srgb,var(--note-color) 65%,transparent)}.schedule-delete{position:absolute;right:2px;top:4px;border:0;background:#202833dd;border-radius:3px;font-size:13px;padding:2px;line-height:1;display:none}.schedule-note:focus-within .schedule-delete,.schedule-note:hover .schedule-delete{display:block}.schedule-resize{position:absolute;left:0;right:0;width:100%;height:9px;border:0;padding:0;background:transparent;cursor:ns-resize;touch-action:none}.schedule-resize.start{top:-5px}.schedule-resize.end{bottom:-5px}.schedule-resize:hover,.schedule-resize:focus-visible{background:color-mix(in srgb,var(--note-color) 45%,transparent)}

.schedule-add-overlap{position:absolute;right:25px;top:4px;border:0;background:#202833dd;color:#dcecf4;border-radius:3px;font-size:17px;padding:0 3px;line-height:17px;display:none}.schedule-note:focus-within .schedule-add-overlap,.schedule-note:hover .schedule-add-overlap{display:block}.schedule-note textarea{padding-right:48px}@media(max-width:600px){.schedule-note textarea{padding-right:4px;padding-top:25px}}

/* Pixel faces for mood choices */
.mood .face svg{display:block;width:24px;height:24px;image-rendering:pixelated}.mood-options .mood:nth-child(1) .face{filter:none}
.history .stamp{display:flex;align-items:center;gap:3px}.history .stamp svg{width:14px;height:14px;flex:none}

.demo-link-area{border-top:1px solid #354252;margin-top:18px;padding-top:18px}.demo-link{display:inline-block;color:#a6e6dd;font-size:13px;font-weight:700;text-decoration:none}.demo-link:hover{text-decoration:underline}.demo-link-area p{font-size:11px;margin:6px 0 0}.demo-banner{margin:18px 0;padding:12px 16px;border:1px solid #486278;background:#202e3a;color:#c7ddeb;border-radius:4px;font-size:12px;line-height:1.6}.demo-banner strong{color:#8ef5d0;margin-right:8px}.demo-banner a{color:#a6e6dd;margin-left:10px}

/* Make the demo easy to find before and after sign-in. */
.demo-link-area{margin:18px 0 22px;padding:16px;border:1px solid #527587;background:#233541;border-radius:5px}.demo-link{font-size:14px;color:#b7f5eb}.demo-link-area p{margin:6px 0 0;color:#a9bfc9}.demo-header-link{color:#a6e6dd;text-decoration:none;font-size:11px;white-space:nowrap}.demo-header-link:hover{text-decoration:underline}body:has(.demo-banner) .demo-header-link{display:none}


/* A full year of habit checkmarks, one habit at a time. */
.habit-year{margin-top:16px;border-top:1px solid #3a4755;padding-top:12px}.habit-year-toggle{color:#a6e6dd;background:transparent;border:0;padding:6px 0;font-size:12px;font-weight:700}.habit-year-toggle:hover{text-decoration:underline}.year-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}.year-toolbar label{display:flex;align-items:center;gap:8px;color:#a9c0d0;font-size:12px}.year-toolbar select,.year-navigation button{border:1px solid #455769;border-radius:4px;background:#202a35;color:#dbe8f2;padding:7px;font:inherit}.year-toolbar select{max-width:210px}.year-navigation{display:flex;align-items:center;gap:12px;color:#dbe8f2;font-size:13px}.year-navigation button{width:30px;height:30px;padding:0;font-size:20px;line-height:1}.year-hint,#year-empty{color:#8c9dac;font-size:11px;margin:6px 0 12px}.year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;padding:15px 0 8px}.year-month{min-width:0}.year-month h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;color:#ccd9e2;font-size:13px}.year-count{color:var(--habit-color);font-size:10px;font-weight:400}.year-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.year-weekday{color:#8597a7;font-size:10px;line-height:23px}.year-day{width:100%;aspect-ratio:1;border:1px solid transparent;border-radius:50%;padding:0;background:transparent;color:#c5d2dc;font-size:11px;line-height:1}.year-day:hover{background:#334451}.year-day[aria-pressed=true]{color:var(--habit-color);border-color:var(--habit-color);background:color-mix(in srgb,var(--habit-color) 12%,transparent);font-weight:700}.year-day.year-today{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.year-day:focus-visible,.habit-year-toggle:focus-visible,.year-navigation button:focus-visible,.year-toolbar select:focus-visible{outline:2px solid #a6d9f5;outline-offset:2px}@media(max-width:900px){.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.year-grid{grid-template-columns:1fr;max-width:280px}.year-day{max-width:36px;justify-self:center}}


/* Navigation and a dedicated annual habit view */
.menu-toggle{border:1px solid #425769;border-radius:4px;background:#202a35;color:#d5e5ed;font-size:18px;width:36px;height:34px;line-height:1;margin-right:10px}.menu-toggle:hover{background:#304452}.drawer-backdrop{position:fixed;inset:0;background:#0009;z-index:100}.app-drawer{position:fixed;z-index:101;inset:0 auto 0 0;width:min(300px,85vw);overflow:auto;padding:20px 15px;background:#171f29;border-right:1px solid #405164;box-shadow:12px 0 40px #0007}.drawer-head{display:flex;justify-content:space-between;align-items:center;color:#e6edf3;font-weight:700;letter-spacing:.12em;padding:2px 5px 18px}.drawer-head button{background:none;border:0;color:#a9bdc9;font-size:25px}.drawer-caption{font-size:10px;letter-spacing:.16em;color:#8093a2;padding:20px 10px 8px}.drawer-item{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:4px;padding:11px 10px;color:#c8d5df;background:transparent;text-align:left;font-size:13px;overflow-wrap:anywhere}.drawer-item:hover{background:#2a3b49}.drawer-item[aria-current=page]{background:#33495b;color:#f0f8ff}.drawer-habit{padding-left:16px}.drawer-dot{font-size:10px}.drawer-empty{font-size:11px;color:#8495a5;line-height:1.6;padding:0 10px}.annual-view{padding:30px;min-width:0}.annual-heading h2{font-size:24px;margin:7px 0;color:#e9edf3}.annual-heading p{color:#8799a9;margin:0 0 22px;font-size:12px}.annual-view .year-toolbar{border-top:1px solid #3a4755;padding-top:18px}.annual-view .year-grid{max-width:1000px;gap:30px 32px}.annual-view .year-day{max-width:38px;justify-self:center}.annual-view #year-status{font-size:11px;color:#e39b89}@media(max-width:600px){.menu-toggle{margin-right:6px;flex:none}.annual-view{padding:20px 16px}.annual-view .year-grid{gap:25px 14px}}

header .brand{margin-right:auto}


/* Sibling tabs for individual habits */
.habit-tabs{display:flex;align-items:stretch;gap:4px;overflow-x:auto;border-bottom:1px solid #415262;margin-top:18px;scrollbar-width:thin}.habit-tab{flex:none;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:11px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:#aab9c5;font-size:13px}.habit-tab:hover{background:#263440;color:#e1edf4}.habit-tab[aria-selected=true]{border-bottom-color:var(--habit-color);color:var(--habit-color);background:#202d38}.habit-tab:focus-visible{outline:2px solid #a6d9f5;outline-offset:-3px}.annual-view .year-toolbar{border:0;padding-top:0;justify-content:flex-end;margin-top:16px}

/* Compact annual overview */
.annual-view{padding:20px 24px}.annual-heading h2{font-size:20px;margin:4px 0}.annual-heading p{margin:0 0 8px}.annual-view .habit-tabs{margin-top:8px}.annual-view .habit-tab{padding:8px 14px}.annual-view .year-toolbar{margin-top:6px}.annual-view .year-navigation button{width:26px;height:26px;font-size:18px}.annual-view .year-hint{margin:3px 0 5px}.annual-view .year-grid{max-width:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 20px;padding:5px 0}.annual-view .year-month h4{margin:0 0 3px;font-size:12px}.annual-view .year-days{gap:0}.annual-view .year-weekday{line-height:17px}.annual-view .year-day{width:20px;height:20px;aspect-ratio:auto;max-width:none;font-size:10px}
@media(max-width:1100px){.annual-view .year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
@media(max-width:750px){.annual-view .year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.annual-view .year-day{width:25px;height:25px;font-size:11px}}
@media(max-width:480px){.annual-view{padding:18px 14px}.annual-view .year-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:18px 12px}.annual-view .year-day{width:30px;height:30px}}

@media(min-width:1101px){.annual-view .year-grid{row-gap:8px}.annual-view .year-weekday{line-height:14px}.annual-view .year-day{width:17px;height:17px;font-size:10px}}

@media(min-width:1101px){.annual-heading p{display:none}}

.annual-view .year-count{font-size:11px;font-weight:700}

.annual-view .year-count{color:#ff8884;font-size:11px;font-weight:700}

/* Soft habit-colored squares mark completed days. */
.annual-view .year-day{color:var(--habit-color);border-radius:3px}.annual-view .year-day[aria-pressed=true]{color:var(--habit-color);border-color:transparent;box-shadow:none;background:color-mix(in srgb,var(--habit-color) 26%,transparent)}.annual-view .year-day[aria-pressed=true]:hover{background:color-mix(in srgb,var(--habit-color) 38%,transparent)}

/* Monthly totals appear beside the month name. */
.annual-view .year-month h4{justify-content:flex-start;gap:0}
.annual-view .year-count{color:var(--habit-color);font:inherit;margin-left:3px}

/* Each month takes on the selected habit's color, like the daily schedule. */
.annual-view .year-month{padding:4px 5px;border-radius:3px;background:#242b34}
.annual-view .year-day{max-width:100%}

/* Keep the space between months consistent in both directions. */
.annual-view .year-grid{gap:12px}
@media(min-width:1101px){.annual-view .year-grid{gap:8px}}

/* Center the total over each monthly calendar. */
.annual-view .year-month h4{position:relative}
.annual-view .year-count{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;white-space:nowrap}

/* Typeface selector for each notebook block. */
.free-notebook .block-typeface{width:82px;min-width:82px;padding:0 3px;cursor:pointer}

/* Pick a schedule block's color without changing its time or text. */
.schedule-color-toggle{position:absolute;right:50px;top:4px;width:20px;height:20px;padding:0;border:1px solid #748899;border-radius:3px;background:var(--swatch);cursor:pointer;display:none}
.schedule-note:focus-within .schedule-color-toggle,.schedule-note:hover .schedule-color-toggle{display:block}
.schedule-color-menu{position:absolute;z-index:6;top:27px;right:2px;display:grid;grid-template-columns:repeat(5,20px);gap:4px;padding:5px;background:#202833;border:1px solid #607484;border-radius:4px;box-shadow:0 4px 12px #0008}
.schedule-color-choice{width:20px;height:20px;flex:none;padding:0;border:2px solid #283644;border-radius:3px;background:var(--swatch);cursor:pointer}
.schedule-color-choice[aria-pressed=true]{box-shadow:0 0 0 2px #fff}
.schedule-color-choice:hover{filter:brightness(1.15)}

/* Account settings and combined date selector */
.settings-controls{display:grid;gap:12px;padding:6px 10px 14px}.settings-controls label{display:grid;gap:6px;color:#aab9c5;font-size:11px;letter-spacing:.03em}.settings-controls select{width:100%;padding:8px;border:1px solid #526678;border-radius:4px;background:#202a35;color:#d7e5ee;font:inherit}.settings-controls p{min-height:1em;margin:0;font-size:10px;color:#a9bdc9}
.date-control{position:relative;min-width:0}.date-title-row{display:flex;align-items:center;gap:8px}.date-title-row h2{margin:0!important;min-width:0}.date-trigger{display:inline-flex;align-items:center;gap:8px;padding:2px 3px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.date-trigger:hover{color:#a6d9f5}.date-caret{font-size:.55em;color:#8ca4b5}.date-today{font-size:10px;padding:5px 0}.date-popover{position:absolute;z-index:40;top:100%;left:0;width:280px;max-width:min(90vw,320px);padding:12px;background:#202a35;border:1px solid #506273;border-radius:6px;box-shadow:0 12px 32px #0008}.date-picker-nav{display:flex;align-items:center;gap:8px}.date-picker-nav label{flex:1;min-width:0}.date-picker-nav input{width:100%;background:#17202a;border:1px solid #435668;border-radius:4px;color:#dce8ef;padding:6px;font:12px inherit;color-scheme:dark}.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:8px;text-align:center}.date-picker-weekdays span{font-size:9px;color:#a6bac8}.picker-day{border:0;border-radius:4px;background:transparent;color:#d7e5ee;min-height:30px;padding:3px;font:12px inherit}.picker-day:hover{background:#33495b}.picker-day[aria-current=date]{background:#5e89a1;color:white}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.date-title-row{gap:3px}.notebook-header .editor-head h2{font-size:clamp(14px,4.4vw,22px)}.date-title-row .icon-button{width:25px;height:28px;flex:none}.date-trigger{gap:3px}.date-popover{left:0;width:270px}}
/* Light appearance */
html[data-theme=light]{color-scheme:light}
html[data-theme=light] body{background:#edf1f4;color:#263846}
html[data-theme=light] header{border-color:#cbd4dc}
html[data-theme=light] .brand,html[data-theme=light] .notebook-header .editor-head h2,html[data-theme=light] .month-head h2,html[data-theme=light] .annual-heading h2{color:#223746}
html[data-theme=light] .brand small,html[data-theme=light] .eyebrow,html[data-theme=light] .date,html[data-theme=light] #username,html[data-theme=light] footer,html[data-theme=light] .hint{color:#526b7c}
html[data-theme=light] .panel,html[data-theme=light] .notebook{background:#fff;border-color:#ced8e0;box-shadow:0 10px 30px #18344614}
html[data-theme=light] .notebook-body{border-color:#cad6de;background-color:#f8fbfd;background-image:linear-gradient(to right,#8ba4b71e 1px,transparent 1px),linear-gradient(to bottom,#8ba4b71e 1px,transparent 1px)}
html[data-theme=light] .notebook-body .schedule-page{border-color:#b5c8d4}
html[data-theme=light] .notebook-body .schedule-timezone,html[data-theme=light] .notebook-body .label-line,html[data-theme=light] .notebook-body .status,html[data-theme=light] .notebook-body .archive{background:#f8fbfd}
html[data-theme=light] .time-tick span,html[data-theme=light] .schedule-timezone,html[data-theme=light] .weekdays span,html[data-theme=light] .year-weekday,html[data-theme=light] .month-stat span,html[data-theme=light] .history-empty{color:#526d7e}
html[data-theme=light] .notebook-body .time-tick{background:#8fa6b855}html[data-theme=light] .notebook-body .time-tick.major{background:#8299aab3}
html[data-theme=light] .label-line span,html[data-theme=light] fieldset legend,html[data-theme=light] .history-title h3,html[data-theme=light] .habit-heading{color:#3e6071}
html[data-theme=light] .clear,html[data-theme=light] footer a{color:#315f76}html[data-theme=light] .clear:hover{color:#15394c}
html[data-theme=light] .pill{background:#e8f0f4;border-color:#c3d3dc;color:#405c6a}
html[data-theme=light] .icon-button,html[data-theme=light] .auth-form input,html[data-theme=light] .habit-add input{background:#f4f8fa;border-color:#c3d1d9;color:#273e4b}
html[data-theme=light] .icon-button:hover,html[data-theme=light] .day:hover{background:#e4eef3}
html[data-theme=light] .notebook-header .mood{background:#f3f7f9;border-color:#cbd9e0;color:#435c6a}html[data-theme=light] .notebook-header .mood:has(input:checked){background:#d6eaf3;border-color:#5e91aa;color:#1d4559}
html[data-theme=light] .day{color:#344e5e}html[data-theme=light] .day.selected{background:#487d96;color:white}html[data-theme=light] .month-stat strong,html[data-theme=light] .history button{color:#294453}html[data-theme=light] .history button,html[data-theme=light] .habit-tracker li,html[data-theme=light] .habit-tracker{border-color:#d7e2e8}
html[data-theme=light] .habit-tracker li label span{filter:brightness(.5) saturate(1.4)}html[data-theme=light] .habit-add button{background:#dceaf1;border-color:#a8c2d0;color:#294b5d}
html[data-theme=light] .notebook-body .free-notebook .free-block{filter:brightness(.5) saturate(1.4)}
html[data-theme=light] .free-notebook .free-hint{color:#627887}
html[data-theme=light] .schedule-note{background:color-mix(in srgb,var(--note-color) 22%,#f7fafc);border-color:color-mix(in srgb,var(--note-color) 70%,#405a6b)}
html[data-theme=light] .schedule-note textarea{color:color-mix(in srgb,var(--note-color) 35%,#163649);caret-color:#163649}
html[data-theme=light] .annual-view .year-month{background:#f7fafc}
html[data-theme=light] .annual-view .year-month h4,html[data-theme=light] .annual-view .year-count,html[data-theme=light] .annual-view .year-day,html[data-theme=light] .annual-view .year-day[aria-pressed=true]{color:color-mix(in srgb,var(--habit-color) 32%,#173b4d)}
html[data-theme=light] .annual-view .year-day[aria-pressed=true]{background:color-mix(in srgb,var(--habit-color) 55%,#c9dfe5)}
html[data-theme=light] .habit-tab{color:#526f7f}html[data-theme=light] .habit-tab[aria-selected=true]{color:color-mix(in srgb,var(--habit-color) 30%,#1b4656);background:#e5eff3;border-color:color-mix(in srgb,var(--habit-color) 50%,#28576a)}
html[data-theme=light] .habit-tabs{border-color:#c9d9e1}html[data-theme=light] .year-hint,html[data-theme=light] .annual-heading p{color:#526d7e}
html[data-theme=light] .app-drawer{background:#f4f8fa;border-color:#c4d3db;box-shadow:12px 0 40px #162b3c33}html[data-theme=light] .drawer-head{color:#273f4d}html[data-theme=light] .drawer-head button,html[data-theme=light] .drawer-caption{color:#597383}html[data-theme=light] .drawer-item{color:#385666}html[data-theme=light] .drawer-item:hover,html[data-theme=light] .drawer-item[aria-current=page]{background:#dcebf2;color:#244a5c}
html[data-theme=light] .settings-controls label,html[data-theme=light] .settings-controls p{color:#456271}html[data-theme=light] .settings-controls select{background:white;border-color:#b8ccd6;color:#284958}
html[data-theme=light] .date-popover{background:#fff;border-color:#b6c9d4;box-shadow:0 12px 32px #1b374c33}html[data-theme=light] .date-picker-nav input{background:#f4f8fa;border-color:#b7cad4;color:#284958;color-scheme:light}
html[data-theme=light] .date-picker-weekdays span{color:#516e7d}html[data-theme=light] .picker-day{color:#294a5a}html[data-theme=light] .picker-day:hover{background:#e2eff5}html[data-theme=light] .picker-day[aria-current=date]{background:#487d96;color:#fff}
html[data-theme=light] .demo-banner,html[data-theme=light] .demo-link-area{background:#edf8f7;border-color:#a5ccc7;color:#315d5a}html[data-theme=light] .demo-banner strong,html[data-theme=light] .demo-link,html[data-theme=light] .demo-banner a{color:#226b65}
html[data-theme=light] .date-trigger:hover{color:#326d87}

/* Improve contrast and keep the date on one line on small screens. */
html[data-theme=light] .year-navigation{color:#294a5a}
html[data-theme=light] .year-navigation button{background:#f1f7fa;border-color:#b7cbd5;color:#294a5a}
@media(max-width:600px){.notebook-header .editor-head h2{font-size:clamp(12px,3.5vw,20px)}.date-trigger{white-space:nowrap}}

/* Keep the shared notebook grid visible in light mode. */
html[data-theme=light] .notebook-body .schedule-page,html[data-theme=light] .notebook-body .editor{background:transparent;box-shadow:none}

/* Selected habit color */
.habit-color-picker{position:relative;margin-right:auto}
.habit-color-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #455769;border-radius:4px;background:#202a35;color:#dbe8f2;font:inherit;font-size:11px;cursor:pointer}
.habit-color-swatch{display:block;width:17px;height:17px;border:1px solid #8ba0ae;border-radius:3px;background:var(--swatch)}
.habit-color-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:15;display:flex;flex-wrap:wrap;gap:6px;width:252px;max-width:80vw;padding:8px;background:#202a35;border:1px solid #526678;border-radius:4px;box-shadow:0 5px 18px #0008}
.habit-color-choice{width:20px;height:20px;padding:0;flex:none;border:2px solid #283644;border-radius:3px;background:var(--swatch);cursor:pointer}
.habit-color-choice[aria-pressed=true]{box-shadow:0 0 0 2px #fff}
.habit-color-choice:hover{filter:brightness(1.15)}
html[data-theme=light] .habit-color-toggle{background:#f1f7fa;border-color:#b7cbd5;color:#294a5a}
html[data-theme=light] .habit-color-menu{background:#f4f8fa;border-color:#b7cbd5;box-shadow:0 5px 18px #18344633}
html[data-theme=light] .habit-color-choice[aria-pressed=true]{box-shadow:0 0 0 2px #294a5a}

/* Keep the notebook canvas readable on narrow screens while preserving saved positions. */
@media(max-width:800px){
 .notebook-scroll{overflow-x:auto;overscroll-behavior-x:contain}
 .notebook-header::after{content:'← Swipe to see more →';grid-column:1;color:#8794a5;font-size:11px;text-align:right}
 .notebook-body{min-width:1140px;grid-template-columns:minmax(200px,1fr) minmax(0,3fr)}
 .notebook-body .schedule-page{padding-right:12px}
 .notebook-body .editor{padding-left:24px}
 .notebook-body .timeline-shell{padding-left:43px}
 .schedule-note textarea{padding:6px 7px}
 .schedule-note:focus-within textarea{padding-right:48px}
}

.print-button{border:1px solid #455769;border-radius:4px;background:#202a35;color:#dbe8f2;padding:7px 10px;font:inherit;font-size:11px;cursor:pointer}
.print-button:hover{background:#304452}
html[data-theme=light] .print-button{background:#f3f7f9;border-color:#b9cbd5;color:#304d5b}
#print-sheet{display:none}
@page{size:auto;margin:5mm}
@media print{
 html,body{margin:0!important;padding:0!important;background:#fff!important;color:#243b46!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 body>*:not(#print-sheet){display:none!important}
 #print-sheet{display:block;color:#243b46;font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN',sans-serif}
 #print-sheet *{box-sizing:border-box}
 .print-card{position:relative;width:105mm;height:148mm;border:.25mm dashed #a7b3b8;padding:5mm;break-after:page;page-break-after:always;background:white}
 body:not([data-memo-page="true"]) .print-card{padding:5mm 6mm}
 .print-card:last-child{break-after:auto;page-break-after:auto}
 .print-window{position:relative;width:95mm;height:138mm;overflow:hidden}
 body:not([data-memo-page="true"]) .print-window{width:92.5mm;height:137.5mm}
 .print-stage{position:absolute;top:0;left:0;width:1140px;transform-origin:top left;color:#29414e;font-size:14px}
 .print-page-head{display:flex;justify-content:space-between;align-items:center;height:82px;border-bottom:1px solid #afc0c9;padding:0 14px 12px}
 .print-date{font-size:28px;font-weight:750}
 .print-mood{display:flex;gap:8px;align-items:center;font-size:14px;color:#56717e}.print-mood svg{width:26px;height:26px;filter:brightness(.65)}
 .print-notebook{display:grid;grid-template-columns:285px 855px;min-height:1607px;background-image:linear-gradient(to right,#f3f6f8 1px,transparent 1px),linear-gradient(to bottom,#f3f6f8 1px,transparent 1px);background-size:18px 18px}
 .print-timeline{border-right:1px solid #a8bcc8;padding:0 12px 0 0}
 .print-timezone{height:38px;font-size:11px;color:#637d8a;padding-top:8px}
 .print-axis{position:relative;height:864px;margin-left:43px;margin-right:6px}
 .print-tick{position:absolute;left:0;right:0;border-top:1px solid #e9eef1}
 .print-tick span{position:absolute;right:calc(100% + 7px);top:-8px;font-size:11px;color:#587282}
 .print-event{position:absolute;border:1px solid color-mix(in srgb,var(--event-color) 65%,#526979);border-left-width:3px;background:color-mix(in srgb,var(--event-color) 25%,#f3f8fa);border-radius:3px;overflow:hidden}
 .print-event-text{padding:4px 5px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.35;color:color-mix(in srgb,var(--event-color) 35%,#163649)}
 .print-editor{display:flex;flex-direction:column;padding:12px 0 0 24px;min-width:0}
 .print-label{height:26px;font-size:12px;font-weight:700;color:#587282;background:transparent}
 .print-canvas{position:relative;min-height:504px}
 .print-note{position:absolute;white-space:pre-wrap;overflow-wrap:anywhere;filter:brightness(.5) saturate(1.4)}
 .print-image{position:absolute;height:auto;transform-origin:center;z-index:1}
 .print-habits{margin-top:auto;margin-bottom:24px;padding:12px 0;border-top:1px solid #b8c9d2;background:transparent}.print-habits .print-label{background:transparent}
 .print-habit-list{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.print-habit{display:flex;align-items:center;gap:8px;font-size:17px;line-height:22px}.print-habit-title{filter:brightness(.5) saturate(1.4)}.print-habit-mark{--habit-ink:color-mix(in srgb,var(--habit-color,#bdcbd5) 48%,#142633);display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border:1.5px solid var(--habit-ink);border-radius:2px;color:var(--habit-ink);font-size:16px;font-weight:900;line-height:1}.print-habit-mark.is-done{background:color-mix(in srgb,var(--habit-color,#bdcbd5) 23%,#fff);color:var(--habit-ink)}
}

/* Let the notebook grid continue behind the daily notes heading. */
.notebook-body .label-line,html[data-theme=light] .notebook-body .label-line{background:transparent}

/* Image stickers share the same coordinate space as the notebook. */
.note-actions{display:flex;align-items:center;gap:12px}
#daily-view .label-line{justify-content:flex-end}
#daily-view .note-actions{gap:calc(12px * var(--daily-ui-inverse,1));padding-right:calc(8px * var(--daily-ui-inverse,1))}
.usage-meter,#daily-view .label-line .usage-meter{font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#91cbb4;white-space:nowrap}
#daily-view .label-line .usage-meter{zoom:var(--daily-ui-inverse,1)}
.usage-meter[data-usage=warning],#daily-view .label-line .usage-meter[data-usage=warning]{color:#e5bc70}
.usage-meter[data-usage=full],#daily-view .label-line .usage-meter[data-usage=full]{color:#ef9991}
html[data-theme=light] .usage-meter,html[data-theme=light] #daily-view .label-line .usage-meter{color:#26795f}
html[data-theme=light] .usage-meter[data-usage=warning],html[data-theme=light] #daily-view .label-line .usage-meter[data-usage=warning]{color:#966320}
html[data-theme=light] .usage-meter[data-usage=full],html[data-theme=light] #daily-view .label-line .usage-meter[data-usage=full]{color:#b34b45}
.image-add{padding:3px 7px;border:1px solid #526777;border-radius:3px;background:#202a35;color:#bfd6e3;font:inherit;font-size:11px}
.notebook-body .image-add{zoom:var(--daily-ui-inverse,1);font-weight:400}
.image-add:hover{background:#304452}
.image-status{margin:4px 0;color:#9ebdcd;font-size:11px}.image-status.error{color:#e39b89}
.notebook-stage{position:relative;min-width:0}
.notebook-stage::after{content:'';position:absolute;top:var(--notebook-bottom,844px);left:0;right:0;border-top:1px dashed #768e9a88;pointer-events:none;z-index:2}
.image-layer{position:absolute;inset:0;pointer-events:none;z-index:4}
.image-block{position:absolute;pointer-events:auto;z-index:1}
.image-block:has(.image-controls:not([hidden])){z-index:5}
.image-visual{width:100%;transform:rotate(var(--angle,0deg));transform-origin:center;cursor:move;touch-action:none}
.image-move{display:none}
@media (hover:none) and (pointer:coarse){
 .image-visual{touch-action:pan-x pan-y}
 .image-block.selected .image-move{display:grid;place-items:center;position:absolute;top:-32px;left:calc(50% - 46px);width:28px;height:28px;padding:0;border:1px solid #8cb8d0;border-radius:4px;background:#24313e;color:#e4f2f9;font-size:20px;line-height:1;touch-action:none;cursor:grab;z-index:4}
 .image-move::before{content:'';position:absolute;inset:-6px}
}
.image-visual img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.image-block.selected .image-visual,.image-block:has(.image-controls:not([hidden])) .image-visual{outline:2px solid #9ac2da;outline-offset:2px}
.image-controls{position:absolute;top:calc(100% + 8px);left:0;display:flex;align-items:center;gap:5px;width:max-content;max-width:290px;padding:5px;background:#202a35;border:1px solid #526777;border-radius:4px;color:#dbe8f2;box-shadow:0 4px 12px #0006}
.image-controls button{padding:2px 6px;border:1px solid #526777;border-radius:3px;background:#273744;color:#e4eff5;font:inherit;font-size:12px;line-height:18px}
.image-controls input[type=range]{width:85px;accent-color:#9ac2da}
.image-controls span{min-width:32px;font-size:10px}
html[data-theme=light] .image-add,html[data-theme=light] .image-controls{background:#eef5f8;border-color:#a9beca;color:#294a5a}
html[data-theme=light] .image-controls button{background:#fff;border-color:#a9beca;color:#294a5a}
html[data-theme=light] .image-status{color:#405e6b}
html[data-theme=light] .notebook-stage::after{border-color:#819aa888}



@media screen{.notebook-scroll{overflow-x:auto;overscroll-behavior-x:contain}.notebook-body{min-width:1140px}}
@media print{.print-habit{width:100%;min-width:0}.print-habit-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}

/* Labels distinguish block-wide formatting from selected-text formatting. */
.free-notebook .block-scope{position:absolute;z-index:2;height:21px;display:flex;align-items:center;padding:0 5px;border-radius:4px;background:#24313e;color:#e5eef4;font:10px/1 system-ui,sans-serif;white-space:nowrap;pointer-events:none}
.free-notebook .block-scope[hidden]{display:none}
html[data-theme=light] .free-notebook .block-scope{background:#f1f7fa;color:#294a5a}

.free-block [data-note-size="11"],.print-note [data-note-size="11"]{font-size:11px;line-height:18px}
.free-block [data-note-size="12"],.print-note [data-note-size="12"]{font-size:12px;line-height:18px}
.free-block [data-note-size="13"],.print-note [data-note-size="13"]{font-size:13px;line-height:18px}
.free-block [data-note-size="14"],.print-note [data-note-size="14"]{font-size:14px;line-height:19px}
.free-block [data-note-size="15"],.print-note [data-note-size="15"]{font-size:15px;line-height:20px}
.free-block [data-note-size="16"],.print-note [data-note-size="16"]{font-size:16px;line-height:21px}
.free-block [data-note-size="17"],.print-note [data-note-size="17"]{font-size:17px;line-height:23px}
.free-block [data-note-size="18"],.print-note [data-note-size="18"]{font-size:18px;line-height:24px}
.free-block [data-note-size="19"],.print-note [data-note-size="19"]{font-size:19px;line-height:25px}
.free-block [data-note-size="20"],.print-note [data-note-size="20"]{font-size:20px;line-height:26px}
.free-block [data-note-size="21"],.print-note [data-note-size="21"]{font-size:21px;line-height:28px}
.free-block [data-note-size="22"],.print-note [data-note-size="22"]{font-size:22px;line-height:29px}
.free-block [data-note-size="23"],.print-note [data-note-size="23"]{font-size:23px;line-height:30px}
.free-block [data-note-size="24"],.print-note [data-note-size="24"]{font-size:24px;line-height:32px}
.free-block [data-note-size="25"],.print-note [data-note-size="25"]{font-size:25px;line-height:33px}
.free-block [data-note-size="26"],.print-note [data-note-size="26"]{font-size:26px;line-height:34px}
.free-block [data-note-size="27"],.print-note [data-note-size="27"]{font-size:27px;line-height:36px}
.free-block [data-note-color="#8ef5d0"],.print-note [data-note-color="#8ef5d0"]{color:#8ef5d0}
.free-block [data-note-color="#ff91ce"],.print-note [data-note-color="#ff91ce"]{color:#ff91ce}
.free-block [data-note-color="#9abaff"],.print-note [data-note-color="#9abaff"]{color:#9abaff}
.free-block [data-note-color="#f4e77c"],.print-note [data-note-color="#f4e77c"]{color:#f4e77c}
.free-block [data-note-color="#cba5ff"],.print-note [data-note-color="#cba5ff"]{color:#cba5ff}
.free-block [data-note-color="#83e7f2"],.print-note [data-note-color="#83e7f2"]{color:#83e7f2}
.free-block [data-note-color="#ffb884"],.print-note [data-note-color="#ffb884"]{color:#ffb884}
.free-block [data-note-color="#bdcbd5"],.print-note [data-note-color="#bdcbd5"]{color:#bdcbd5}
.free-block [data-note-color="#e5e9e7"],.print-note [data-note-color="#e5e9e7"]{color:#e5e9e7}
.free-block [data-note-font="default"],.print-note [data-note-font="default"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Hiragino Kaku Gothic ProN",monospace}
.free-block [data-note-font="mincho"],.print-note [data-note-font="mincho"]{font-family:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", serif}
.free-block [data-note-font="rounded"],.print-note [data-note-font="rounded"]{font-family:"Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif}
.free-block [data-note-font="mono"],.print-note [data-note-font="mono"]{font-family:"Osaka-Mono", "Noto Sans Mono CJK JP", monospace}

/* Image handles stay attached to the rotated image. */
.image-controls{padding:0;border:0;background:transparent;box-shadow:none;max-width:none}
.image-controls .image-delete{display:grid;place-items:center;width:23px;height:21px;padding:0;border:1px solid #607484;border-radius:4px;background:#24313e;line-height:18px}
.image-controls .image-delete:hover{background:#8d4b4f;border-color:#bd777b}
.image-handle{position:absolute;z-index:3;width:14px;height:14px;padding:0;border:1px solid #29495d;border-radius:2px;background:#c3e7f6;touch-action:none}
.image-block:not(.selected) .image-handle{display:none}
.image-handle.top-left{top:-7px;left:-7px;cursor:nwse-resize}.image-handle.top-right{top:-7px;right:-7px;cursor:nesw-resize}.image-handle.bottom-left{bottom:-7px;left:-7px;cursor:nesw-resize}.image-handle.bottom-right{bottom:-7px;right:-7px;cursor:nwse-resize}
.image-handle.rotate{top:-32px;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#e4f2f9;background:#24313e;border-color:#8cb8d0;cursor:grab}
.image-block:not(.selected) .image-handle.rotate{display:none}
.image-handle.rotate:active{cursor:grabbing}.image-handle:focus-visible{outline:2px solid #9ac2da;outline-offset:2px}
@media (hover:none) and (pointer:coarse){
 .image-controls .image-delete{width:44px;height:44px}
 .image-controls .image-delete svg{width:23px;height:23px}
 .image-handle.rotate{top:-50px;width:44px;height:44px}
 .image-handle.rotate svg{width:23px;height:23px}
 .image-block.selected .image-move{top:-48px;left:calc(50% - 70px);width:40px;height:40px}
}
.image-handle::before{content:'';position:absolute;inset:-9px}

/* Change each habit color directly from the daily checklist. */
.habit-tracker .daily-habit-picker{position:relative;flex:none;margin-left:8px}
.habit-tracker li .daily-habit-color{display:block;width:20px;height:20px;padding:0;border:1px solid #748899;border-radius:3px;background:var(--swatch)}
.habit-tracker li .daily-habit-color:hover{filter:brightness(1.1)}
.habit-tracker .daily-habit-colors{position:absolute;right:0;bottom:calc(100% + 6px);z-index:20;display:grid;grid-template-columns:repeat(5,24px);gap:6px;padding:8px;background:#202a35;border:1px solid #526678;border-radius:4px;box-shadow:0 5px 18px #0008}
.habit-tracker li .daily-habit-choice{width:24px;height:24px;padding:0;border:1px solid #748899;border-radius:3px;background:var(--swatch)}
.habit-tracker .daily-habit-choice[aria-pressed=true]{box-shadow:0 0 0 2px #fff}
html[data-theme=light] .habit-tracker .daily-habit-colors{background:#f4f8fa;border-color:#b7cbd5;box-shadow:0 5px 18px #18344633}
html[data-theme=light] .habit-tracker .daily-habit-choice[aria-pressed=true]{box-shadow:0 0 0 2px #294a5a}

@media screen{body > .wrap > header{position:sticky;top:0;z-index:80;background:#11151b;padding-top:10px;padding-bottom:10px}html[data-theme=light] body > .wrap > header{background:#edf1f4}.sticky-entry-date{display:none;white-space:nowrap;font-size:13px;font-weight:700;color:#d7e5ee}body:has(#journal:not([hidden]) #daily-view:not([hidden])) .sticky-entry-date{display:block}body:has(#journal:not([hidden]) #daily-view:not([hidden])) header .date{display:none}html[data-theme=light] .sticky-entry-date{color:#263846}@media(max-width:600px){header .brand{display:none}.sticky-entry-date{font-size:11px;letter-spacing:-.03em}header .account{margin-left:auto;max-width:none}header #username,header .demo-header-link{display:none!important}header .menu-toggle{margin-right:0}}}

.mood{-webkit-user-select:none;user-select:none}

#history-view{margin-top:24px;min-height:420px;align-content:start;gap:0 36px}#history-view .entries-heading{grid-column:1/-1;margin:0 0 24px;font-size:20px;color:#e9edf3}#history-view .sidebar-top{grid-row:2/5}#history-view .history{grid-column:2;max-height:none;margin-top:0}#history-view .history-status{grid-column:2}html[data-theme=light] #history-view .entries-heading{color:#223746}@media(max-width:800px){#history-view{display:grid;grid-template-columns:1fr;gap:18px}#history-view .entries-heading{grid-column:1;margin:0}#history-view .sidebar-top{grid-row:auto}#history-view .history,#history-view .history-status{grid-column:1}}

.schedule-point-toggle{position:absolute;right:48px;top:4px;width:19px;height:19px;padding:0;border:0;border-radius:3px;background:#202833dd;color:#dcecf4;font-size:16px;line-height:19px;display:none}.schedule-note:hover .schedule-point-toggle,.schedule-note:focus-within .schedule-point-toggle{display:block}.schedule-note.is-point,html[data-theme=light] .schedule-note.is-point{background:transparent;border-color:transparent}.schedule-note.is-point:not(:focus-within){box-shadow:none}.schedule-note.is-point textarea{padding:2px 4px;white-space:nowrap;overflow:auto}.schedule-note.is-point:focus-within textarea{padding-right:70px}.schedule-note.is-point .schedule-resize.start{top:-4px}.schedule-note:not(.is-point):focus-within textarea{padding-right:70px}@media print{.print-event.is-point{background:transparent;border:0}.print-event.is-point .print-event-text{padding:2px 4px}}
.schedule-delete,.schedule-add-overlap,.schedule-point-toggle{width:20px;height:20px;padding:0;line-height:20px;text-align:center}
.schedule-delete{right:2px}
.schedule-add-overlap{right:26px}
.schedule-point-toggle{right:50px}
.schedule-note:focus-within textarea,.schedule-note.is-point:focus-within textarea,.schedule-note:not(.is-point):focus-within textarea{padding-right:74px}

.schedule-move{position:absolute;left:-4px;top:2px;bottom:2px;width:9px;padding:0;border:0;border-radius:3px;background:transparent;cursor:ns-resize;touch-action:none;z-index:2}.schedule-note:hover .schedule-move,.schedule-note:focus-within .schedule-move,.schedule-note.moving .schedule-move{background:color-mix(in srgb,var(--note-color) 55%,transparent)}.schedule-note.moving{z-index:4;box-shadow:0 0 0 1px var(--note-color)}.schedule-note.is-point .schedule-move{top:5px;bottom:5px}
.schedule-note:not(.is-point) textarea{padding-top:0;line-height:1.15}
@media print{.print-event:not(.is-point) .print-event-text{padding-top:0;line-height:1.15}}

.schedule-color-toggle{right:74px;top:4px}.schedule-color-menu{top:auto;bottom:calc(100% + 6px);right:2px}.schedule-note:focus-within textarea,.schedule-note.is-point:focus-within textarea,.schedule-note:not(.is-point):focus-within textarea{padding-right:98px}html[data-theme=light] .schedule-color-menu{background:#f4f8fa;border-color:#b7cbd5;box-shadow:0 5px 18px #18344633}html[data-theme=light] .schedule-color-choice[aria-pressed=true]{box-shadow:0 0 0 2px #294a5a}

.schedule-point-marker{display:none}.schedule-note.is-point .schedule-point-marker{display:block;position:absolute;left:4px;top:2px;max-width:calc(100% - 8px);overflow:hidden;white-space:pre;pointer-events:none;color:transparent;background:color-mix(in srgb,var(--note-color) 32%,transparent);font-family:inherit;font-size:14px;line-height:1.35}.schedule-note.is-point textarea{position:relative;z-index:1}.schedule-note.is-point .schedule-delete,.schedule-note.is-point .schedule-add-overlap,.schedule-note.is-point .schedule-point-toggle,.schedule-note.is-point .schedule-color-toggle,.schedule-note.is-point .schedule-color-menu{z-index:3}@media print{.print-event.is-point .print-event-text{display:inline-block;max-width:100%;background:color-mix(in srgb,var(--event-color) 32%,transparent)}}
.free-block [data-note-marker="#8ef5d0"],.print-note [data-note-marker="#8ef5d0"]{--marker-ink:#67d9ae}
.free-block [data-note-marker="#ff91ce"],.print-note [data-note-marker="#ff91ce"]{--marker-ink:#f77d91}
.free-block [data-note-marker="#9abaff"],.print-note [data-note-marker="#9abaff"]{--marker-ink:#78b8e3}
.free-block [data-note-marker="#f4e77c"],.print-note [data-note-marker="#f4e77c"]{--marker-ink:#f1d75a}
.free-block [data-note-marker="#cba5ff"],.print-note [data-note-marker="#cba5ff"]{--marker-ink:#c194d2}
.free-block [data-note-marker="#83e7f2"],.print-note [data-note-marker="#83e7f2"]{--marker-ink:#74c8d6}
.free-block [data-note-marker="#ffb884"],.print-note [data-note-marker="#ffb884"]{--marker-ink:#f4ad70}
.free-block [data-note-marker="#bdcbd5"],.print-note [data-note-marker="#bdcbd5"]{--marker-ink:#879a9b}
.free-block [data-note-marker="#e5e9e7"],.print-note [data-note-marker="#e5e9e7"]{--marker-ink:#dfe4df}
.free-block [data-note-marker="none"],.print-note [data-note-marker="none"]{background:transparent}
/* A new marker at the caret must cover the previous marker behind it. */
.free-block [data-note-marker] [data-note-marker]{background-color:#171d25}
html[data-theme=light] .free-block [data-note-marker] [data-note-marker]{background-color:#f8fbfd}
@media print{.print-note [data-note-marker] [data-note-marker]{background-color:#fff}}
/* Distinct text and highlight controls keep the formatting toolbar easy to scan. */
.free-notebook .color-toggle{background:#24313e;color:#e5eef4;font-weight:700;font-size:12px;box-shadow:inset 0 -4px var(--swatch),0 0 0 1px #748899}
.free-notebook .color-toggle:hover{background:#405a6c}
.free-notebook .block-marker{font-size:15px;color:#e5eef4;text-decoration:underline;text-decoration-color:var(--swatch,#f4e77c);text-decoration-thickness:3px;text-underline-offset:2px}
.free-notebook .block-marker-menu{position:absolute;z-index:8;width:310px;max-width:100%;box-sizing:border-box;display:flex;align-items:center;gap:4px;padding:7px;background:#24313e;border:1px solid #607484;border-radius:5px;box-shadow:0 5px 18px #0004;cursor:default}
.free-notebook .block-marker-menu[hidden]{display:none}
.free-notebook .marker-menu-title{font:700 9px/1 system-ui,sans-serif;color:#c1d1dc;margin-right:3px}
.free-notebook .marker-choice{flex:0 0 17px;width:17px;height:19px;padding:0;border:1px solid #8ca1ac;border-radius:2px;background:var(--swatch);cursor:pointer}
.free-notebook .marker-choice:hover,.free-notebook .marker-choice:focus-visible{outline:2px solid #fff;outline-offset:1px}
.free-notebook .marker-clear{margin-left:auto;padding:3px 4px;border:0;background:transparent;color:#d7e7f2;font:700 9px/1 system-ui,sans-serif;cursor:pointer}
html[data-theme=light] .free-notebook .block-marker-menu{background:#f1f7fa;border-color:#b7cbd5}
html[data-theme=light] .free-notebook .marker-menu-title,html[data-theme=light] .free-notebook .marker-clear{color:#294a5a}
/* Keep formatting controls above the note's draggable border. */
.free-notebook .block-delete,.free-notebook .block-font,.free-notebook .block-scope{z-index:4}
.free-notebook .block-color{z-index:5}

.free-notebook .marker-choice[aria-pressed=true]{outline:2px solid #294a5a;outline-offset:1px}
html[data-theme=dark] .free-notebook .marker-choice[aria-pressed=true]{outline-color:#fff}

/* Keep the ink readable without muting the marker itself in light and print views. */
html[data-theme=light] .notebook-body .free-notebook .free-block{filter:none;color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important;caret-color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important}
@media print{.print-note{filter:none;color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important}}
html[data-theme=light] .free-block [data-note-color="#8ef5d0"],.print-note [data-note-color="#8ef5d0"]{color:color-mix(in srgb,#8ef5d0 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#ff91ce"],.print-note [data-note-color="#ff91ce"]{color:color-mix(in srgb,#ff91ce 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#9abaff"],.print-note [data-note-color="#9abaff"]{color:color-mix(in srgb,#9abaff 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#f4e77c"],.print-note [data-note-color="#f4e77c"]{color:color-mix(in srgb,#f4e77c 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#cba5ff"],.print-note [data-note-color="#cba5ff"]{color:color-mix(in srgb,#cba5ff 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#83e7f2"],.print-note [data-note-color="#83e7f2"]{color:color-mix(in srgb,#83e7f2 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#ffb884"],.print-note [data-note-color="#ffb884"]{color:color-mix(in srgb,#ffb884 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#bdcbd5"],.print-note [data-note-color="#bdcbd5"]{color:color-mix(in srgb,#bdcbd5 48%,#142633)}
html[data-theme=light] .free-block [data-note-color="#e5e9e7"],.print-note [data-note-color="#e5e9e7"]{color:color-mix(in srgb,#e5e9e7 48%,#142633)}

/* A translucent pen stroke sits across the lower part of the letters. */
.free-block [data-note-marker]:not([data-note-marker="none"]),.print-note [data-note-marker]:not([data-note-marker="none"]){background:linear-gradient(to bottom,transparent 45%,color-mix(in srgb,var(--marker-ink) 56%,transparent) 48%,color-mix(in srgb,var(--marker-ink) 68%,transparent) 86%,color-mix(in srgb,var(--marker-ink) 43%,transparent) 92%,transparent 96%);box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:1px}
.schedule-note.is-point .schedule-point-marker{background:linear-gradient(to bottom,transparent 45%,color-mix(in srgb,var(--note-color) 56%,transparent) 48%,color-mix(in srgb,var(--note-color) 68%,transparent) 86%,color-mix(in srgb,var(--note-color) 43%,transparent) 92%,transparent 96%)}
@media print{.print-event.is-point .print-event-text{background:linear-gradient(to bottom,transparent 45%,color-mix(in srgb,var(--event-color) 56%,transparent) 48%,color-mix(in srgb,var(--event-color) 68%,transparent) 86%,color-mix(in srgb,var(--event-color) 43%,transparent) 92%,transparent 96%)}}
/* The writing page keeps A6 proportions and a stable coordinate system. */
@media screen{.wrap:has(#daily-view:not([hidden])){max-width:810px}}
@media screen and (min-width:700px){
 .notebook-scroll{overflow-x:hidden}
 .notebook-body{width:1140px;min-width:1140px;min-height:1607px;grid-template-columns:285px 855px}
 .notebook-body .schedule-page{padding-right:12px}
 .notebook-body .editor{display:flex;flex-direction:column;padding:12px 0 12px 24px}
 .notebook-body .timeline-shell{padding-left:43px}
 .notebook-body #entry-form{display:flex;flex:1;flex-direction:column}
 .notebook-body .habit-tracker{margin-top:auto}
 .notebook-body .habit-tracker li{min-height:25px}
 .notebook-header::after{content:none}
}
/* Keep the same daily page coordinates on phones, with horizontal scrolling. */
@media screen and (max-width:699px){
 #daily-view .notebook-body{width:1140px;min-width:1140px;min-height:1607px;grid-template-columns:285px 855px}
 #daily-view .notebook-body .schedule-page{padding-right:12px}
 #daily-view .notebook-body .timeline-shell{padding-left:43px}
 #daily-view .notebook-body .editor{display:flex;flex-direction:column;padding:12px 0 12px 24px}
 #daily-view .notebook-body #entry-form{display:flex;flex:1;flex-direction:column}
 #daily-view .notebook-body .habit-tracker{margin-top:auto}
 #daily-view .notebook-body .habit-tracker li{min-height:25px}
}
@media screen{
 .notebook-body .habit-tracker ul:has(li:nth-child(7)){display:grid;grid-auto-flow:column;grid-template-rows:repeat(6,minmax(25px,auto));grid-auto-columns:minmax(0,1fr);gap:0 18px}
 .notebook-body .habit-tracker ul:has(li:nth-child(7)) li{min-width:0}
}

@media screen{.notebook-body .habit-tracker li label{min-width:0}.notebook-body .habit-tracker li label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

@media print{.print-habit-list:has(.print-habit:nth-child(7)){display:grid;grid-auto-flow:column;grid-template-rows:repeat(6,22px);grid-auto-columns:minmax(0,1fr);align-items:center;gap:5px 18px}}

/* Keep the time handles out of the way until the entry is selected on touch screens. */
@media (hover:none) and (pointer:coarse){.schedule-note:not(:focus-within) .schedule-move,.schedule-note:not(:focus-within) .schedule-resize{pointer-events:none}}

/* Daily habit controls keep their full touch area while using a quieter swatch. */
.habit-tracker li .daily-habit-color{display:grid;place-items:center;width:24px;height:24px;border:0;background:transparent}
.habit-tracker li .daily-habit-color::before{content:"";display:block;width:10px;height:10px;border:1px solid color-mix(in srgb,var(--swatch) 65%,#596d78);border-radius:2px;background:var(--swatch)}
.habit-tracker li .daily-habit-color:focus-visible{outline:2px solid #6c98b0;outline-offset:1px}
.habit-tracker input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;flex:none;width:16px;height:16px;margin:0;border:1.5px solid var(--habit-color);border-radius:2px;background:transparent;cursor:pointer}
.habit-tracker input[type=checkbox]:checked{background:color-mix(in srgb,var(--habit-color) 18%,#171d25)}
.habit-tracker input[type=checkbox]:checked::after{content:"";width:7px;height:4px;border-left:2px solid var(--habit-color);border-bottom:2px solid var(--habit-color);transform:translateY(-1px) rotate(-45deg)}
.habit-tracker input[type=checkbox]:focus-visible{outline:2px solid #8ab8d1;outline-offset:2px}
html[data-theme=light] .habit-tracker input[type=checkbox]{--habit-ink:color-mix(in srgb,var(--habit-color) 48%,#142633);border-color:var(--habit-ink)}
html[data-theme=light] .habit-tracker input[type=checkbox]:checked{background:color-mix(in srgb,var(--habit-color) 23%,#fff)}
html[data-theme=light] .habit-tracker input[type=checkbox]:checked::after{border-color:var(--habit-ink)}
@media (forced-colors:active){.habit-tracker input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox}.habit-tracker input[type=checkbox]:checked::after{content:none}}

/* Keep the shared navigation groups compact and their links aligned with buttons. */
.app-drawer a.drawer-item{text-decoration:none}
.app-drawer .drawer-caption{padding-top:16px}
.timeline-notes-wrap{position:relative;margin-top:8px;border-top:1px solid #859aaa55}.timeline-notes.free-notebook{min-height:648px;overflow:visible}.timeline-notes .free-block{position:absolute;resize:none;overflow:hidden;min-height:18px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#dbe4ed;line-height:18px;font-size:13px;font-family:inherit;outline-offset:1px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none}.timeline-notes .free-block:focus-visible{outline:none}.timeline-notes:focus-within{z-index:20}html[data-theme=light] .timeline-notes .free-block{color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important;caret-color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important}

@media print{.print-timeline-notes{position:relative;height:648px;margin-top:8px}}
/* Let the daily graph paper show through scheduled blocks. */
.notebook-body .schedule-note:not(.is-point){background:color-mix(in srgb,var(--note-color) 25%,transparent)}
html[data-theme=light] .notebook-body .schedule-note:not(.is-point){background:color-mix(in srgb,var(--note-color) 28%,transparent)}
@media print{.print-event:not(.is-point){background:color-mix(in srgb,var(--event-color) 25%,transparent)}}
/* Put timeline controls above the block so text keeps the available width. */
.schedule-note .schedule-delete,.schedule-note .schedule-add-overlap,.schedule-note .schedule-point-toggle,.schedule-note .schedule-color-toggle{top:-24px}
.schedule-note .schedule-color-menu{bottom:calc(100% + 30px)}
.schedule-note textarea,.schedule-note:focus-within textarea,.schedule-note.is-point:focus-within textarea,.schedule-note:not(.is-point):focus-within textarea{padding-right:7px}
/* Keep the active timeline actions off the schedule so adjacent blocks remain selectable. */
@media screen{
 .schedule-note .schedule-delete,.schedule-note .schedule-add-overlap,.schedule-note .schedule-point-toggle,.schedule-note .schedule-color-toggle{position:fixed;top:auto;bottom:16px;z-index:90}
 .schedule-note .schedule-delete{right:16px}.schedule-note .schedule-add-overlap{right:40px}.schedule-note .schedule-point-toggle{right:64px}.schedule-note .schedule-color-toggle{right:88px}
 .schedule-note .schedule-color-menu{position:fixed;top:auto;bottom:43px;right:16px;z-index:91}
}
@media screen{.schedule-note:not(:focus-within) .schedule-delete,.schedule-note:not(:focus-within) .schedule-add-overlap,.schedule-note:not(:focus-within) .schedule-point-toggle,.schedule-note:not(:focus-within) .schedule-color-toggle{display:none}}
/* Keep actions close to their event; avoid shrinking the text area. */
@media screen{
 .schedule-note .schedule-delete,.schedule-note .schedule-add-overlap,.schedule-note .schedule-point-toggle,.schedule-note .schedule-color-toggle{position:absolute;top:4px;bottom:auto;z-index:4}
 .schedule-note .schedule-delete{right:2px}.schedule-note .schedule-add-overlap{right:26px}.schedule-note .schedule-point-toggle{right:50px}.schedule-note .schedule-color-toggle{right:74px}
 .schedule-note .schedule-color-menu{position:absolute;top:auto;bottom:calc(100% + 6px);right:2px;z-index:6}
 .schedule-note:hover .schedule-delete,.schedule-note:hover .schedule-add-overlap,.schedule-note:hover .schedule-point-toggle,.schedule-note:hover .schedule-color-toggle{display:block}
}
@media (hover:hover) and (pointer:fine){
 html[data-timeline-input=pointer] .schedule-note:not(:hover) .schedule-delete,html[data-timeline-input=pointer] .schedule-note:not(:hover) .schedule-add-overlap,html[data-timeline-input=pointer] .schedule-note:not(:hover) .schedule-point-toggle,html[data-timeline-input=pointer] .schedule-note:not(:hover) .schedule-color-toggle{display:none}
}
@media screen{.schedule-note .schedule-delete,.schedule-note .schedule-add-overlap,.schedule-note .schedule-point-toggle,.schedule-note .schedule-color-toggle{width:min(20px,25%)}.schedule-note .schedule-delete{right:0}.schedule-note .schedule-add-overlap{right:min(24px,25%)}.schedule-note .schedule-point-toggle{right:min(48px,50%)}.schedule-note .schedule-color-toggle{right:min(72px,75%)}}
/* Keep the daily save state beside the account actions, as on other pages. */
@media screen{
 #entry-badge{display:none;margin-left:auto;color:#aebecb;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;white-space:nowrap}
 body:has(#journal:not([hidden]) #daily-view:not([hidden])) #entry-badge{display:block}
 html[data-theme=light] #entry-badge{color:#526f7f}
 @media(max-width:600px){#entry-badge{font-size:10px;white-space:normal;max-width:110px;overflow-wrap:anywhere}}
}

/* Monthly entries: text list or miniature daily pages. */
#history-view .history-view-switch{grid-column:2;display:flex;justify-self:start;align-items:stretch;gap:0;margin:0 0 14px;padding:3px;border:1px solid #425769;border-radius:6px;background:#19242e}
.history-view-switch button{flex:none;min-width:68px;padding:6px 12px;border:0;border-radius:4px;background:transparent;color:#aab9c5;font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;cursor:pointer}
.history-view-switch button:hover{color:#e1edf4}
.history-view-switch button[aria-pressed=true]{background:#354f60;color:#eff8fc}
.history-view-switch button:focus-visible{outline:2px solid #a6d9f5;outline-offset:-2px}
html[data-theme=light] #history-view .history-view-switch{border-color:#c4d4dc;background:#f4f8fa}
html[data-theme=light] .history-view-switch button{color:#526f7f}
html[data-theme=light] .history-view-switch button:hover{color:#25485a}
html[data-theme=light] .history-view-switch button[aria-pressed=true]{background:#dcebf2;color:#25485a}
#history-view .history-pages{grid-column:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px;list-style:none;padding:0;margin:0;align-content:start}
#history-view .history-pages[hidden]{display:none}
.monthly-page-card{min-width:0}.monthly-page-button{width:100%;padding:0;background:transparent;border:0;color:#dbe5ed;text-align:left;cursor:pointer}.monthly-page-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:700}.monthly-page-card-head svg{width:18px;height:18px}.monthly-page-paper{position:relative;display:block;width:100%;aspect-ratio:1140 / 1607;overflow:hidden;border:1px solid #475968;background:#171d25;color:#9fb2be;font-size:11px}.monthly-page-paper.preview-error{padding:12px}.monthly-page-button:hover .monthly-page-paper{border-color:#8ab8d1}.monthly-page-stage{position:absolute;top:0;left:0;width:1140px;height:1607px;transform-origin:top left;display:grid;grid-template-columns:285px 855px;overflow:hidden;background-image:linear-gradient(to right,#42505d35 1px,transparent 1px),linear-gradient(to bottom,#42505d35 1px,transparent 1px);background-size:18px 18px}
.monthly-page-timeline{border-right:1px solid #526b79;padding:12px 12px 0 0}.monthly-page-zone{height:38px;font-size:11px}.monthly-page-axis{position:relative;height:864px;margin-left:43px}.monthly-page-tick{position:absolute;left:0;right:0;border-top:1px solid #52647399;font-size:11px;color:#8fa7b6}.monthly-page-event{position:absolute;left:2px;right:2px;overflow:hidden;border:1px solid color-mix(in srgb,var(--event-color) 65%,#526979);border-left-width:3px;background:color-mix(in srgb,var(--event-color) 25%,transparent);color:var(--event-color);white-space:pre-wrap;font-size:14px}.monthly-page-timeline-notes{position:relative;margin-top:8px;height:576px}.monthly-page-editor{display:flex;flex-direction:column;padding:12px 0 12px 24px;min-width:0}.monthly-page-label{height:26px;font-size:12px;font-weight:700;color:#9cb4c3}.monthly-page-canvas{position:relative;min-height:1296px}.monthly-page-note{position:absolute;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.monthly-page-image{position:absolute;height:auto;transform-origin:center;z-index:1}.monthly-page-habits{margin-top:auto;margin-bottom:24px;padding:12px 0;border-top:1px solid #526b79}.monthly-page-habit-list{display:grid;grid-auto-flow:column;grid-template-rows:repeat(6,22px);grid-auto-columns:minmax(0,1fr);gap:5px 18px}.monthly-page-habit{display:flex;gap:8px;align-items:center;min-width:0;font-size:17px}.monthly-page-habit span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-page-mark{display:inline-grid;place-content:center;width:20px;height:20px;flex:none;border:1px solid currentColor}.monthly-page-mark.done{background:color-mix(in srgb,currentColor 20%,transparent)}
html[data-theme=light] .monthly-page-button{color:#294453}html[data-theme=light] .monthly-page-paper{border-color:#c5d4dd;background:#f8fbfd;color:#526d7e}html[data-theme=light] .monthly-page-stage{background-image:linear-gradient(to right,#d8e3ea70 1px,transparent 1px),linear-gradient(to bottom,#d8e3ea70 1px,transparent 1px)}html[data-theme=light] .monthly-page-label{color:#526d7e}html[data-theme=light] .monthly-page-note{color:color-mix(in srgb,var(--note-ink) 48%,#142633)!important}html[data-theme=light] .monthly-page-habit{filter:brightness(.55) saturate(1.3)}
@media(max-width:800px){#history-view .history-view-switch,#history-view .history-pages{grid-column:1}#history-view .history-pages{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:14px}}
#history-view .history-print-tools{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px}
#history-view .history-selection-bar{grid-column:1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid #415262}
.history-select-all{display:inline-flex;align-items:center;gap:8px;color:#aab9c5;font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.history-select-all input,.history-select{appearance:none;display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border:1.5px solid #7892a1;border-radius:3px;background:transparent;cursor:pointer}
.history-select-all input{margin:0}
.history-select-all input:checked,.history-select-all input:indeterminate,.history-select:checked{background:#6e9cb5;border-color:#6e9cb5}
.history-select-all input:checked::after,.history-select:checked::after{content:'';width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.history-select-all input:indeterminate::after{content:'';width:9px;border-top:2px solid #fff}
.history-select-all:has(input:disabled){opacity:.5;cursor:default}
#history-view .history-selection-count{grid-column:1;margin:0;color:#8c9dac;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}
html[data-theme=light] #history-view .history-selection-bar{border-color:#d7e2e8}
html[data-theme=light] .history-select-all{color:#3e6071}
html[data-theme=light] #history-view .history-selection-count{color:#526f7f}
.history-print-tools button{padding:7px 10px;border:1px solid #526778;border-radius:4px;background:transparent;color:#aec2cf;font:700 11px/1.2 ui-monospace,monospace}
.history-print-tools button:disabled{opacity:.45}.history-print-tools button:not(:disabled):hover{background:#354b5b}.history-print-tools #history-print-status{font-size:11px;color:#aabfcd}.history-print-tools #history-print-status.error{color:#e39b89}
html[data-theme=light] .history-print-tools button{border-color:#bfd0d9;color:#345b70}html[data-theme=light] .history-print-tools button:not(:disabled):hover{background:#dcebf2}
#history-view .history li:not(.history-empty){display:flex;align-items:flex-start;gap:10px}.history-select{margin:12px 0 0}.monthly-page-card{position:relative}.monthly-page-select{position:absolute;right:4px;top:27px;z-index:2;margin:0;box-shadow:0 0 0 3px #191f28;border-radius:3px}.monthly-page-select:not(:checked){background:#191f28}html[data-theme=light] .monthly-page-select{box-shadow:0 0 0 3px #f8fbfd}html[data-theme=light] .monthly-page-select:not(:checked){background:#f8fbfd}.monthly-page-card-head{padding-right:0}
@media (forced-colors:active){.history-select-all input,.history-select{appearance:auto}.history-select-all input::after,.history-select::after{content:none}}
@media(max-width:800px){#history-view .history-print-tools{grid-column:1}}
@media print{.batch-print-stage .print-notebook{background-image:linear-gradient(to right,#e8eef2 2px,transparent 2px),linear-gradient(to bottom,#e8eef2 2px,transparent 2px)}}
.daily-print-size{display:inline-flex;align-items:center;gap:6px;color:#9ab2c2;font-size:11px;white-space:nowrap}.daily-print-size select{font:inherit;padding:6px;border:1px solid #425769;border-radius:4px;background:#202833;color:#d5e5ed}html[data-theme=light] .daily-print-size{color:#456271}html[data-theme=light] .daily-print-size select{background:#f4f8fa;border-color:#b7cbd5;color:#294a5a}
@media print{body:not([data-memo-page="true"]) .print-card.a5{width:148mm;height:210mm;padding:7.048mm 8.457mm}body:not([data-memo-page="true"]) .print-card.a5 .print-window{width:130.381mm;height:193.81mm}}

/* Darker inks for legible daily printouts, without changing screen colors. */
@media print{
 #print-sheet .print-stage .print-note{color:color-mix(in srgb,var(--note-ink,#bdcbd5) 25%,#101b25)!important}
 #print-sheet .print-stage .print-note [data-note-color="#8ef5d0"]{--print-text-ink:#8ef5d0}
 #print-sheet .print-stage .print-note [data-note-color="#ff91ce"]{--print-text-ink:#ff91ce}
 #print-sheet .print-stage .print-note [data-note-color="#9abaff"]{--print-text-ink:#9abaff}
 #print-sheet .print-stage .print-note [data-note-color="#f4e77c"]{--print-text-ink:#f4e77c}
 #print-sheet .print-stage .print-note [data-note-color="#cba5ff"]{--print-text-ink:#cba5ff}
 #print-sheet .print-stage .print-note [data-note-color="#83e7f2"]{--print-text-ink:#83e7f2}
 #print-sheet .print-stage .print-note [data-note-color="#ffb884"]{--print-text-ink:#ffb884}
 #print-sheet .print-stage .print-note [data-note-color="#bdcbd5"]{--print-text-ink:#bdcbd5}
 #print-sheet .print-stage .print-note [data-note-color="#e5e9e7"]{--print-text-ink:#e5e9e7}
 #print-sheet .print-stage .print-note [data-note-color]{color:color-mix(in srgb,var(--print-text-ink) 25%,#101b25)!important}
 #print-sheet .print-stage .print-event-text{color:color-mix(in srgb,var(--event-color,#bdcbd5) 25%,#101b25)}
 #print-sheet .print-stage .print-habit-title{filter:none;color:color-mix(in srgb,var(--habit-color,#bdcbd5) 25%,#101b25)!important}
 #print-sheet .print-stage .print-habit-mark{--habit-ink:color-mix(in srgb,var(--habit-color,#bdcbd5) 25%,#101b25)}
 #print-sheet .print-stage .print-timezone,#print-sheet .print-stage .print-tick span,#print-sheet .print-stage .print-label,#print-sheet .print-stage .print-mood{color:#344a56}
}
@media print{
 #print-sheet .print-stage .print-tick span{font-size:22px;top:-14px}
 #print-sheet .print-stage .print-habit{font-size:22px;line-height:26px}
 #print-sheet .print-stage .print-habit-mark{width:24px;height:24px;font-size:20px}
 #print-sheet .print-stage .print-habit-list:has(.print-habit:nth-child(7)){grid-template-rows:repeat(6,26px)}
 #print-sheet .print-stage .print-habits{margin-bottom:12px;padding:8px 0}
 #print-sheet .print-stage .print-habit-list{row-gap:9px}
}
/* Newly created daily timeline entries can carry their own default size. */
.notebook-body .schedule-note textarea,.notebook-body .schedule-note.is-point .schedule-point-marker{font-size:var(--schedule-font-size,14px)}

/* Match the daily page's time labels and habits to its printed layout. */
@media screen{
 #daily-view .notebook-body .time-tick span{font-size:22px;top:-14px;right:calc(100% + 7px)}
 #daily-view .habit-tracker ul{display:flex;flex-direction:column;gap:5px}
 #daily-view .notebook-body .habit-tracker li{min-height:26px;border-bottom:0;font-size:22px;line-height:26px}
 #daily-view .habit-tracker label{gap:8px;min-width:0}
 #daily-view .habit-tracker input[type=checkbox]{width:24px;height:24px}
 #daily-view .habit-tracker input[type=checkbox]:checked::after{width:11px;height:7px}
 #daily-view .notebook-body .habit-tracker ul:has(li:nth-child(7)){display:grid;grid-template-rows:repeat(6,26px);gap:5px 18px}
}

/* Keep note formatting controls large and reachable on phone touch screens. */
@media screen and (max-width:699px) and (pointer:coarse){
 .free-notebook .block-delete,.free-notebook .block-font{
  position:fixed!important;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));
  left:var(--touch-left)!important;
  z-index:90;width:calc(11.111111vw - 4.777778px);min-width:0;height:44px;font-size:16px;line-height:1;
 }
 .free-notebook .block-typeface{width:calc(22.222222vw - 6.555556px);font-size:13px}
 .free-notebook .block-scope{position:fixed!important;top:auto!important;left:8px!important;bottom:calc(54px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));z-index:90;height:22px;padding:0 6px;border-radius:4px;background:#24313e;color:#e5eef4;font-size:12px}
 html[data-theme=light] .free-notebook .block-scope{background:#f1f7fa;color:#294a5a}
 .free-notebook .block-color{position:fixed!important;top:auto!important;left:var(--touch-left)!important;bottom:calc(80px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));z-index:91;width:calc(11.111111vw - 4.777778px);height:40px}
 .free-notebook .block-marker-menu{position:fixed!important;top:auto!important;left:8px!important;bottom:calc(80px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));z-index:91;width:min(320px,calc(100vw - 16px));max-width:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 .free-notebook .marker-menu-title{grid-column:1/-1;font-size:11px}
 .free-notebook .marker-choice{width:100%;height:40px}
}

/* Put timeline actions within reach and enlarge habit controls on phones. */
@media screen and (max-width:699px) and (pointer:coarse){
 .schedule-note .schedule-delete,.schedule-note .schedule-add-overlap,.schedule-note .schedule-point-toggle,.schedule-note .schedule-color-toggle{position:fixed;top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));width:40px!important;height:44px;font-size:22px;line-height:1;z-index:90}
 .schedule-note .schedule-delete{right:8px}.schedule-note .schedule-add-overlap{right:52px}.schedule-note .schedule-point-toggle{right:96px}.schedule-note .schedule-color-toggle{right:140px}
 .schedule-note .schedule-delete svg{width:22px;height:22px}
 .schedule-note .schedule-color-menu{position:fixed;top:auto;bottom:calc(58px + env(safe-area-inset-bottom,0px) + var(--note-keyboard-inset,0px));right:8px;grid-template-columns:repeat(5,40px);gap:5px;z-index:91}
 .schedule-note .schedule-color-choice{width:40px;height:40px}
 #daily-view .notebook-body .habit-tracker li{min-height:38px}
 #daily-view .notebook-body .habit-tracker ul:has(li:nth-child(7)){grid-template-rows:repeat(6,38px)}
 #daily-view .habit-tracker li .daily-habit-color,#daily-view .habit-tracker li>button{width:38px;height:38px;padding:0}
 #daily-view .habit-tracker li .daily-habit-color::before{width:17px;height:17px}
 #daily-view .habit-tracker li>button{font-size:24px}
 #daily-view .habit-tracker .daily-habit-colors{grid-template-columns:repeat(5,40px);gap:5px}
 #daily-view .habit-tracker li .daily-habit-choice{width:40px;height:40px}
}

/* Keep active note controls above photos but below the sticky header. */
@media screen{
 .free-notebook .block-move{z-index:74}
 .free-notebook .block-delete,.free-notebook .block-font,.free-notebook .block-scope{z-index:75}
 .free-notebook .block-color,.free-notebook .block-marker-menu{z-index:76}
}

/* Empty status messages need no space; use that room between habit rows. */
@media screen{
 #daily-view #entry-form>#status:empty,#daily-view #habit-status:empty{display:none}
 #daily-view .habit-tracker{padding-bottom:8px}
 #daily-view .habit-tracker ul,#daily-view .notebook-body .habit-tracker ul:has(li:nth-child(7)){row-gap:9px}
}

/* Keep the formatting controls near the caret or the selected text. */
@media screen{
 .free-notebook .block-delete,.free-notebook .block-font,.free-notebook .block-scope{top:var(--note-toolbar-y,0px)!important}
 .free-notebook .block-color,.free-notebook .block-marker-menu{top:var(--note-palette-y,0px)!important}
}
@media screen and (max-width:699px) and (pointer:coarse){
 .free-notebook .block-delete,.free-notebook .block-font{top:var(--note-toolbar-screen-y,8px)!important;bottom:auto!important}
 .free-notebook .block-scope{top:var(--note-scope-screen-y,8px)!important;bottom:auto!important}
 .free-notebook .block-color,.free-notebook .block-marker-menu{top:var(--note-palette-screen-y,8px)!important;bottom:auto!important}
}

@media screen{
.floating-memo[hidden]{display:none}
.floating-memo{position:fixed;z-index:99;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0;border:1px solid #526b7a;border-radius:7px;background:#191f28;box-shadow:0 12px 40px #0006}
@media screen{.floating-memo.is-behind{z-index:1}body.floating-memo-behind #daily-view,body.floating-memo-behind #history-view,body.floating-memo-behind #habit-year-panel,body.floating-memo-behind .week-shell #journal{position:relative;z-index:2}}
.floating-memo-bar{display:flex;align-items:center;flex:none;background:#263744;border-bottom:1px solid #526b7a;color:#e1edf3}
.floating-memo-handle{flex:1;min-height:42px;border:0;padding:8px 12px;background:transparent;color:inherit;text-align:left;font:700 12px ui-monospace,monospace;letter-spacing:.07em;cursor:grab;touch-action:none}
.floating-memo-handle:active{cursor:grabbing}.floating-memo-close{width:44px;height:42px;border:0;background:transparent;color:inherit;font-size:25px;cursor:pointer}
.floating-memo iframe{display:block;width:100%;flex:1;min-height:0;border:0;background:#f8fbfd}
.floating-memo-resize{position:absolute;right:0;bottom:0;width:26px;height:26px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 55%,#7896a6 56%,#7896a6 60%,transparent 61%,transparent 70%,#7896a6 71%,#7896a6 75%,transparent 76%)}
.floating-memo-resize-left{left:0;right:auto;cursor:nesw-resize;transform:scaleX(-1)}
html[data-theme=light] .floating-memo{background:#f8fbfd;border-color:#adc3cf;box-shadow:0 12px 40px #29495d40}html[data-theme=light] .floating-memo-bar{background:#e1edf3;border-color:#bfd0da;color:#294a5a}
}
@media print{.floating-memo{display:none!important}}

/* Let each habit month keep enough room as its card changes width. */
@media screen{
 .annual-view .year-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;padding:5px 0}
 .annual-view .year-month{padding:8px}
 .annual-view .year-weekday{line-height:24px}
 .annual-view .year-day{width:100%;height:auto;max-width:30px;aspect-ratio:1;justify-self:center;font-size:11px}
 /* Keep the calendar, view options and entries legible within the narrower card. */
 #history-view{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start}
 #history-view .entries-heading,#history-view .sidebar-top,#history-view .history-print-tools,#history-view .history-view-switch,#history-view .history,#history-view .history-pages,#history-view .history-status{grid-column:1;grid-row:auto;min-width:0}
 #history-view .entries-heading{margin:0 0 4px}
 #history-view .sidebar-top{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:20px}
 #history-view .sidebar-top .month-stat{margin:0;align-self:center}
 #history-view .history-print-tools{margin:0}
 #history-view .history-view-switch{justify-content:flex-start;margin:0}
 #history-view .history-pages{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:16px}
 @media(max-width:480px){.annual-view .year-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:12px}#history-view .sidebar-top{grid-template-columns:minmax(0,1fr) auto;gap:12px}#history-view .sidebar-top .month-stat{flex-direction:column;align-items:flex-start;gap:0}#history-view .history-pages{grid-template-columns:repeat(auto-fill,minmax(min(100%,135px),1fr));gap:12px}}
}

@media screen{
 .annual-view{padding:24px 30px}
 .annual-view > .year-navigation{justify-content:flex-start;gap:8px;padding-top:22px;margin-bottom:16px;font-size:28px;line-height:1.5}
 .annual-view > .year-navigation button{width:30px;height:30px;font-size:20px}
 .annual-view > .year-navigation #habit-print{width:auto;height:auto;margin-left:auto;padding:7px 10px;font:400 11px ui-monospace,SFMono-Regular,Menlo,Consolas,'Hiragino Kaku Gothic ProN',monospace}
 @media(max-width:699px){
  .annual-view{padding:16px 12px}
  .annual-view > .year-navigation{gap:3px;font-size:clamp(14px,4.4vw,22px)}
  .annual-view > .year-navigation button{width:25px;height:28px}
 }
}

@media print{
 #print-sheet .habit-print-card{box-sizing:border-box;width:148mm;height:210mm;padding:7mm 8mm;border:.25mm dashed #a7b3b8;background:#fff;color:#223b49;overflow:hidden;break-after:page}
 #print-sheet .habit-print-title{display:flex;align-items:baseline;gap:5mm;height:11mm;color:#223b49;font:700 16px/1.3 ui-monospace,monospace}
 #print-sheet .habit-print-title span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #print-sheet .habit-print-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,43mm);gap:2mm 4mm}
 #print-sheet .habit-print-grid .year-month{min-width:0;padding:2mm;border:1px solid #d1dee5;background:#fff;break-inside:avoid}
 #print-sheet .habit-print-grid .year-month h4{display:flex;justify-content:space-between;margin:0 0 1mm;color:#263e4c;font:700 10px/1.2 ui-monospace,monospace}
 #print-sheet .habit-print-grid .year-count{font:400 9px/1.2 ui-monospace,monospace;color:#526d7e}
 #print-sheet .habit-print-grid .year-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
 #print-sheet .habit-print-grid .year-weekday,#print-sheet .habit-print-grid .year-day{display:flex;align-items:center;justify-content:center;width:100%;height:4.3mm;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#263e4c;font:400 9px/1 ui-monospace,monospace;opacity:1}
 #print-sheet .habit-print-grid .year-weekday{font-weight:700;color:#526d7e}
 #print-sheet .habit-print-grid .year-day[aria-pressed=true]{background:color-mix(in srgb,var(--habit-color) 70%,#fff);box-shadow:inset 0 0 0 .3mm color-mix(in srgb,var(--habit-color) 45%,#263e4c);color:#17313f;font-weight:700}
}

/* Keep editing controls readable when the daily paper is scaled to fit. */
@media screen and (min-width:700px){
 #daily-view .free-notebook .block-delete,#daily-view .free-notebook .block-font,#daily-view .free-notebook .block-scope,#daily-view .free-notebook .block-color,#daily-view .free-notebook .block-marker-menu{transform:scale(var(--daily-ui-inverse,1));transform-origin:top left}
 #daily-view .free-notebook .block-color:hover{transform:scale(var(--daily-ui-inverse,1))}
 #daily-view .free-notebook .drag-resize{transform:scale(var(--daily-ui-inverse,1));transform-origin:center}
 #daily-view .image-handle:not(.rotate){transform:scale(var(--daily-ui-inverse,1));transform-origin:center}
 #daily-view .image-handle.rotate{transform:translateX(-50%) scale(var(--daily-ui-inverse,1));transform-origin:center}
 #daily-view .image-controls .image-delete{transform:scale(var(--daily-ui-inverse,1));transform-origin:top left}
 #daily-view .image-block.selected .image-move{transform:scale(var(--daily-ui-inverse,1));transform-origin:center}
 #daily-view .schedule-note .schedule-delete,#daily-view .schedule-note .schedule-add-overlap,#daily-view .schedule-note .schedule-point-toggle,#daily-view .schedule-note .schedule-color-toggle{width:20px;transform:scale(var(--daily-ui-inverse,1));transform-origin:top right}
 #daily-view .schedule-note .schedule-delete{right:0}
 #daily-view .schedule-note .schedule-add-overlap{right:var(--daily-ui-24,24px)}
 #daily-view .schedule-note .schedule-point-toggle{right:var(--daily-ui-48,48px)}
 #daily-view .schedule-note .schedule-color-toggle{right:var(--daily-ui-72,72px)}
 #daily-view .schedule-note .schedule-color-menu{transform:scale(var(--daily-ui-inverse,1));transform-origin:bottom right}
 #daily-view .habit-add input,#daily-view .habit-add button{font-size:var(--daily-input-font,12px);padding-top:var(--daily-input-padding,9px);padding-bottom:var(--daily-input-padding,9px)}
}

/* Keep the calendar's structure visible while its checkmarks are loading. */
@media screen{
 .annual-view .year-grid[aria-busy=true] .year-day{opacity:.58;cursor:default}
 .annual-view .year-count-skeleton{display:block;width:20px;height:7px;border-radius:4px;background:#78909e66}
 html[data-theme=light] .annual-view .year-count-skeleton{background:#b9cbd4}
}

/* Show quiet placeholders over the paper while a day is being fetched. */
@media screen{
 #daily-view .editor-body[aria-busy=true] .notebook-stage::before{content:'';position:absolute;z-index:6;top:28px;left:18px;width:min(70%,500px);height:110px;pointer-events:none;background-image:linear-gradient(#8ba4b735,#8ba4b735),linear-gradient(#8ba4b72a,#8ba4b72a),linear-gradient(#8ba4b72a,#8ba4b72a);background-size:55% 11px,95% 11px,74% 11px;background-position:0 0,0 28px,0 56px;background-repeat:no-repeat}
}

/* Keep the month layout in place while entry data and previews load. */
@media screen{
 #history-view .history-loading-row{height:44px;margin:0 0 8px;border-radius:4px;background:linear-gradient(#8ba4b733,#8ba4b733) 0 10px/24% 10px no-repeat,linear-gradient(#8ba4b726,#8ba4b726) 30% 10px/60% 10px no-repeat}
 #history-view .history-loading-card{min-width:0;aspect-ratio:105/148;border:1px solid #8ba4b74d;border-radius:4px;background:linear-gradient(#8ba4b733,#8ba4b733) 14px 18px/48% 8px no-repeat,linear-gradient(#8ba4b726,#8ba4b726) 14px 36px/70% 8px no-repeat}
 .monthly-page-paper.is-loading::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#8ba4b733,#8ba4b733) 12px 18px/48% 8px no-repeat,linear-gradient(#8ba4b726,#8ba4b726) 12px 36px/70% 8px no-repeat}
}

/* A neutral page frame is visible while the account is being checked. */
@media screen{
 #loading{box-sizing:border-box;width:min(100%,750px);min-height:840px;margin:24px auto;padding:0;border:1px solid #343c49;border-radius:6px;background:#191f28;font-size:0;text-align:left;position:relative}
 #loading::before{content:'';position:absolute;inset:32px;background:linear-gradient(#8ba4b733,#8ba4b733) 0 0/38% 15px no-repeat,linear-gradient(#8ba4b726,#8ba4b726) 0 45px/100% 1px no-repeat,linear-gradient(#8ba4b726,#8ba4b726) 28% 75px/45% 12px no-repeat,linear-gradient(#8ba4b722,#8ba4b722) 28% 106px/55% 12px no-repeat}
 html[data-theme=light] #loading{background:#fff;border-color:#ced8e0;box-shadow:0 10px 30px #18344614}
}

@media screen{.notebook-stage.image-drop-target{outline:2px dashed #6d9ab1;outline-offset:-2px;background-color:#90c4db18}}

/* Highlight choices use the same swatches as text color. */
.free-notebook .marker-choice.block-color{width:20px;height:20px;padding:0;border:2px solid #283644;border-radius:3px;box-shadow:0 0 0 1px #748899}
.free-notebook .marker-choice.block-color[aria-pressed=true]{outline:0;box-shadow:0 0 0 2px #fff}
@media screen and (max-width:699px) and (pointer:coarse){.free-notebook .marker-choice.block-color{width:calc(11.111111vw - 4.777778px);height:40px}}

/* Highlight the selected text and marker color in both themes. */
.free-notebook .block-color,.free-notebook .marker-choice.block-color{border:1px solid #748899;box-shadow:none}
.free-notebook .block-color[aria-pressed=true],.free-notebook .marker-choice.block-color[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px #e7f4fc;outline:0}
html[data-theme=light] .free-notebook .block-color[aria-pressed=true],html[data-theme=light] .free-notebook .marker-choice.block-color[aria-pressed=true]{border-color:#294a5a;box-shadow:0 0 0 2px #294a5a}

/* Make completed habits read as a clearly filled, checked square. */
@media screen{
 #daily-view .habit-tracker input[type=checkbox]:checked,
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked{background:var(--habit-color);border-color:color-mix(in srgb,var(--habit-color) 55%,#17313f)}
 #daily-view .habit-tracker input[type=checkbox]:checked::after,
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked::after{width:12px;height:7px;border-left:3px solid #17313f;border-bottom:3px solid #17313f}
 #daily-view .habit-tracker label:has(input:checked) span{font-weight:700}
}
@media print{
 #print-sheet .print-stage .print-habit-mark.is-done{background:var(--habit-color,#bdcbd5);border-color:var(--habit-ink);color:#17313f;font-weight:900;font-size:24px}
 #print-sheet .print-stage .print-habit:has(.print-habit-mark.is-done) .print-habit-title{font-weight:700}
}

/* Round habit marks look like small completion stamps. */
@media screen{#daily-view .habit-tracker input[type=checkbox]{border-radius:50%}}
@media print{#print-sheet .print-stage .print-habit-mark{border-radius:50%}}

/* Mark completed habit names with a soft stroke of their own color. */
@media screen{
 #daily-view .habit-tracker label:has(input:checked) span{background:linear-gradient(to bottom,transparent 46%,color-mix(in srgb,var(--habit-color) 32%,transparent) 48%,color-mix(in srgb,var(--habit-color) 38%,transparent) 87%,transparent 93%)}
 html[data-theme=light] #daily-view .habit-tracker label:has(input:checked) span{filter:none;color:color-mix(in srgb,var(--habit-color) 38%,#142633)!important;background:linear-gradient(to bottom,transparent 46%,color-mix(in srgb,var(--habit-color) 60%,transparent) 48%,color-mix(in srgb,var(--habit-color) 70%,transparent) 87%,transparent 93%)}
}
@media print{
 #print-sheet .print-stage .print-habit:has(.print-habit-mark.is-done) .print-habit-title{background:linear-gradient(to bottom,transparent 46%,color-mix(in srgb,var(--habit-color) 60%,transparent) 48%,color-mix(in srgb,var(--habit-color) 70%,transparent) 87%,transparent 93%)}
}

/* Use the habit title's ink for the check, with a light, contrasting fill. */
@media screen{
 #daily-view .habit-tracker label{--habit-check-ink:var(--habit-color)}
 html[data-theme=light] #daily-view .habit-tracker label{--habit-check-ink:color-mix(in srgb,var(--habit-color) 38%,#142633)}
 #daily-view .habit-tracker input[type=checkbox]:checked{background:color-mix(in srgb,var(--habit-color) 18%,#171d25);border-color:var(--habit-check-ink)}
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked{background:color-mix(in srgb,var(--habit-color) 23%,#fff);border-color:var(--habit-check-ink)}
 #daily-view .habit-tracker input[type=checkbox]:checked::after,
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked::after{border-left:2px solid var(--habit-check-ink);border-bottom:2px solid var(--habit-check-ink)}
}
@media print{
 #print-sheet .print-stage .print-habit-mark.is-done{background:color-mix(in srgb,var(--habit-color,#bdcbd5) 23%,#fff);color:var(--habit-ink);font-weight:700;font-size:22px}
}

/* Strengthen only completed habit marks while keeping their item color. */
@media screen{
 #daily-view .habit-tracker input[type=checkbox]:checked{border-width:3px;box-shadow:inset 0 0 0 1.5px var(--habit-check-ink)}
 #daily-view .habit-tracker input[type=checkbox]:checked::after,
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked::after{border-left-width:3px;border-bottom-width:3px}
}
@media print{
 #print-sheet .print-stage .print-habit-mark.is-done{border-width:2.5px;font-weight:900}
}

/* A completed habit uses a simple color dot and a marker, without bold text. */
@media screen{
 #daily-view .habit-tracker input[type=checkbox]:checked{border-width:1.5px;box-shadow:none;background:color-mix(in srgb,var(--habit-color) 38%,#171d25)}
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked{background:color-mix(in srgb,var(--habit-color) 70%,#f8fbfd)}
 #daily-view .habit-tracker input[type=checkbox]:checked::after{content:none}
 #daily-view .habit-tracker label:has(input:checked) span{font-weight:inherit}
}
@media print{
 #print-sheet .print-stage .print-habit-mark.is-done{border-width:1.5px;background:color-mix(in srgb,var(--habit-color,#bdcbd5) 70%,#fff)}
 #print-sheet .print-stage .print-habit:has(.print-habit-mark.is-done) .print-habit-title{font-weight:inherit}
}

/* Let the check extend slightly beyond the circular habit mark. */
@media screen{
 #daily-view .habit-tracker input[type=checkbox]:checked::after,
 html[data-theme=light] #daily-view .habit-tracker input[type=checkbox]:checked::after{content:'';display:block;width:18px;height:9px;border:0;border-left:2.5px solid var(--habit-check-ink);border-bottom:2.5px solid var(--habit-check-ink);transform:translate(4px,-3px) rotate(-45deg)}
}
@media print{
 #print-sheet .print-stage .print-habit-mark.is-done::after{content:'';display:block;width:18px;height:9px;border-left:2.5px solid var(--habit-ink);border-bottom:2.5px solid var(--habit-ink);transform:translate(4px,-3px) rotate(-45deg)}
}
@media (forced-colors:active){#daily-view .habit-tracker input[type=checkbox]:checked::after{content:none}}

/* Nested inline style wrappers around lines must not create empty line boxes. */
#daily-view .free-block span:has(div):not([data-note-marker]){display:contents}
/* Daily notes do not show the editing boundary as a dotted line. */
#daily-view .notebook-stage::after{display:none}
/* Keep the daily writing area at its actual lower boundary. */
@media screen{
 #daily-view .notebook-stage::after{display:none}
 #daily-view .notebook-stage .free-notebook{overflow:visible}
 #daily-view .notebook-body{min-height:1551px}
}

@media screen{#daily-view #page-limit-status{position:absolute;z-index:8;top:0;right:0;max-width:min(90%,420px);margin:0;padding:5px 8px;border:1px solid #526777;border-radius:4px;background:#202a35;color:#e6ebf2}#daily-view .field:has(>#page-limit-status){position:relative}html[data-theme=light] #daily-view #page-limit-status{background:#f8fbfd;border-color:#b7cbd5;color:#405e6b}}
/* Additional high-contrast text colours; marker colours remain unchanged. */
.free-block [data-note-color="#b3263e"],.print-note [data-note-color="#b3263e"]{color:#ff8291}
.free-block [data-note-color="#1761ae"],.print-note [data-note-color="#1761ae"]{color:#8ac1ff}
.free-block [data-note-color="#11735a"],.print-note [data-note-color="#11735a"]{color:#77e1b5}
.free-block [data-note-color="#7139a6"],.print-note [data-note-color="#7139a6"]{color:#d9a5ff}
.free-block [data-note-color="#a44812"],.print-note [data-note-color="#a44812"]{color:#ffb177}
.free-block [data-note-color="#182d3a"],.print-note [data-note-color="#182d3a"]{color:#fff}
html[data-theme=light] .free-block [data-note-color="#b3263e"],.print-note [data-note-color="#b3263e"]{color:#b3263e}
html[data-theme=light] .free-block [data-note-color="#1761ae"],.print-note [data-note-color="#1761ae"]{color:#1761ae}
html[data-theme=light] .free-block [data-note-color="#11735a"],.print-note [data-note-color="#11735a"]{color:#11735a}
html[data-theme=light] .free-block [data-note-color="#7139a6"],.print-note [data-note-color="#7139a6"]{color:#7139a6}
html[data-theme=light] .free-block [data-note-color="#a44812"],.print-note [data-note-color="#a44812"]{color:#a44812}
html[data-theme=light] .free-block [data-note-color="#182d3a"],.print-note [data-note-color="#182d3a"]{color:#182d3a}
@media screen{.free-notebook .text-color-choice{top:calc(var(--note-palette-y,0px) - var(--palette-row,0)*var(--note-palette-step,24px))!important}}
@media screen and (max-width:699px) and (pointer:coarse){.free-notebook .text-color-choice{top:max(4px,calc(var(--note-palette-screen-y,48px) - var(--palette-row,0)*40px))!important}}

@media screen and (max-width:699px) and (pointer:coarse){.free-notebook .text-color-choice{width:calc(20vw - 4.8px)}}

html[data-theme=dark] .free-notebook .light-only-black{display:none!important}

/* Native dropdown options do not inherit the toolbar's inverse transform. */
@media screen and (min-width:700px){#daily-view .block-typeface option{font-size:calc(14px * var(--daily-ui-inverse,1))}}
@media screen{
 .note-font-menu{position:absolute;z-index:80;width:120px;padding:4px;border:1px solid #607484;border-radius:5px;background:#202a35;color:#e5eef4;box-shadow:0 5px 14px #0004;transform:scale(var(--font-menu-scale,1));transform-origin:top left}
 .note-font-menu[hidden]{display:none}.note-font-menu button{display:block;width:100%;height:25px;padding:2px 7px;border:0;border-radius:3px;background:transparent;color:inherit;text-align:left;font:13px/21px system-ui,sans-serif}.note-font-menu button:hover,.note-font-menu button:focus-visible{background:#405a6c}.note-font-menu button[aria-selected=true]{background:#344b59}
 html[data-theme=light] .note-font-menu{background:#f4f8fa;color:#294a5a;border-color:#b7cbd5}html[data-theme=light] .note-font-menu button:hover,html[data-theme=light] .note-font-menu button:focus-visible{background:#dcebf2}html[data-theme=light] .note-font-menu button[aria-selected=true]{background:#c9e1eb}
 .free-notebook .block-typeface{text-align:left}
}

html[data-theme=dark] .free-notebook .free-block[data-note-base-color="#182d3a"]{color:#fff!important;caret-color:#fff!important}
html[data-theme=light] .notebook-body .free-notebook .free-block[data-note-base-color="#182d3a"]{color:#182d3a!important;caret-color:#182d3a!important}
@media print{#print-sheet .print-stage .print-note [data-note-color="#182d3a"]{--print-text-ink:#182d3a}}

@font-face{font-family:"Dela Gothic One";src:url("/fonts/DelaGothicOne-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.free-block [data-note-font="dela"],.print-note [data-note-font="dela"]{font-family:"Dela Gothic One",sans-serif}

.free-block [data-note-size="28"],.print-note [data-note-size="28"]{font-size:28px;line-height:37px}
.free-block [data-note-size="29"],.print-note [data-note-size="29"]{font-size:29px;line-height:38px}
.free-block [data-note-size="30"],.print-note [data-note-size="30"]{font-size:30px;line-height:39px}
.free-block [data-note-size="31"],.print-note [data-note-size="31"]{font-size:31px;line-height:41px}
.free-block [data-note-size="32"],.print-note [data-note-size="32"]{font-size:32px;line-height:42px}
.free-block [data-note-size="33"],.print-note [data-note-size="33"]{font-size:33px;line-height:43px}
.free-block [data-note-size="34"],.print-note [data-note-size="34"]{font-size:34px;line-height:45px}
.free-block [data-note-size="35"],.print-note [data-note-size="35"]{font-size:35px;line-height:46px}
.free-block [data-note-size="36"],.print-note [data-note-size="36"]{font-size:36px;line-height:47px}
.free-block [data-note-size="37"],.print-note [data-note-size="37"]{font-size:37px;line-height:49px}
.free-block [data-note-size="38"],.print-note [data-note-size="38"]{font-size:38px;line-height:50px}
.free-block [data-note-size="39"],.print-note [data-note-size="39"]{font-size:39px;line-height:51px}
.free-block [data-note-size="40"],.print-note [data-note-size="40"]{font-size:40px;line-height:52px}
.free-block [data-note-size="41"],.print-note [data-note-size="41"]{font-size:41px;line-height:54px}
.free-block [data-note-size="42"],.print-note [data-note-size="42"]{font-size:42px;line-height:55px}
.free-block [data-note-size="43"],.print-note [data-note-size="43"]{font-size:43px;line-height:56px}
.free-block [data-note-size="44"],.print-note [data-note-size="44"]{font-size:44px;line-height:58px}
.free-block [data-note-size="45"],.print-note [data-note-size="45"]{font-size:45px;line-height:59px}
.free-block [data-note-size="46"],.print-note [data-note-size="46"]{font-size:46px;line-height:60px}
.free-block [data-note-size="47"],.print-note [data-note-size="47"]{font-size:47px;line-height:62px}
.free-block [data-note-size="48"],.print-note [data-note-size="48"]{font-size:48px;line-height:63px}
.free-block [data-note-size="49"],.print-note [data-note-size="49"]{font-size:49px;line-height:64px}
.free-block [data-note-size="50"],.print-note [data-note-size="50"]{font-size:50px;line-height:65px}
.free-block [data-note-size="51"],.print-note [data-note-size="51"]{font-size:51px;line-height:67px}
.free-block [data-note-size="52"],.print-note [data-note-size="52"]{font-size:52px;line-height:68px}
.free-block [data-note-size="53"],.print-note [data-note-size="53"]{font-size:53px;line-height:69px}
.free-block [data-note-size="54"],.print-note [data-note-size="54"]{font-size:54px;line-height:71px}
.free-block [data-note-size="55"],.print-note [data-note-size="55"]{font-size:55px;line-height:72px}
.free-block [data-note-size="56"],.print-note [data-note-size="56"]{font-size:56px;line-height:73px}
.free-block [data-note-size="57"],.print-note [data-note-size="57"]{font-size:57px;line-height:75px}
.free-block [data-note-size="58"],.print-note [data-note-size="58"]{font-size:58px;line-height:76px}
.free-block [data-note-size="59"],.print-note [data-note-size="59"]{font-size:59px;line-height:77px}
.free-block [data-note-size="60"],.print-note [data-note-size="60"]{font-size:60px;line-height:78px}
.free-block [data-note-size="61"],.print-note [data-note-size="61"]{font-size:61px;line-height:80px}
.free-block [data-note-size="62"],.print-note [data-note-size="62"]{font-size:62px;line-height:81px}
.free-block [data-note-size="63"],.print-note [data-note-size="63"]{font-size:63px;line-height:82px}
.free-block [data-note-size="64"],.print-note [data-note-size="64"]{font-size:64px;line-height:84px}
.free-block [data-note-size="65"],.print-note [data-note-size="65"]{font-size:65px;line-height:85px}
.free-block [data-note-size="66"],.print-note [data-note-size="66"]{font-size:66px;line-height:86px}
.free-block [data-note-size="67"],.print-note [data-note-size="67"]{font-size:67px;line-height:88px}
.free-block [data-note-size="68"],.print-note [data-note-size="68"]{font-size:68px;line-height:89px}
.free-block [data-note-size="69"],.print-note [data-note-size="69"]{font-size:69px;line-height:90px}
.free-block [data-note-size="70"],.print-note [data-note-size="70"]{font-size:70px;line-height:91px}
.free-block [data-note-size="71"],.print-note [data-note-size="71"]{font-size:71px;line-height:93px}
.free-block [data-note-size="72"],.print-note [data-note-size="72"]{font-size:72px;line-height:94px}

@media screen{.free-notebook .block-size{width:52px;min-width:52px;text-align:center;cursor:text;font-variant-numeric:tabular-nums}}
@media screen and (max-width:699px) and (pointer:coarse){.free-notebook .block-size{width:calc(22.222222vw - 6.555556px);min-width:0;font-size:16px}}

@media screen{.notebook-body .field .free-notebook input.block-size,.memo-paper .free-notebook input.block-size{box-sizing:border-box;width:52px;min-width:52px;height:21px;margin:0;padding:0 3px;border:1px solid #607484;border-radius:4px;background:#24313e;color:#d7e7f2;font:11px/18px system-ui,sans-serif;text-align:center;resize:none}}
@media screen and (max-width:699px) and (pointer:coarse){.notebook-body .field .free-notebook input.block-size,.memo-paper .free-notebook input.block-size{width:calc(22.222222vw - 6.555556px);min-width:0;height:44px;font-size:16px;line-height:1}}

@media screen{.free-notebook .block-delete{display:none!important}.free-notebook:focus-within .free-hint{display:none}}
@media screen{.free-notebook .block-move:focus{border:2px solid #527f9c;outline:none}}

/* Outline the full region where notes can be written. */
@media screen{
 #daily-view #free-notebook{width:calc(100% - 18px)}
 #daily-view .notebook-stage{margin-bottom:18px}
 #daily-view #image-layer{right:18px}
 #daily-view #timeline-notes{margin-left:18px;width:calc(100% - 18px)}
 #daily-view :is(#free-notebook,#timeline-notes)::before{content:'';position:absolute;left:0;top:0;width:calc(100% - 4px);height:var(--note-placement-bottom,0px);box-sizing:border-box;border:1px dashed #7d9eb2;pointer-events:none;z-index:2}
 html[data-theme=light] #daily-view :is(#free-notebook,#timeline-notes)::before{border-color:#6a93aa}
}
@media print{
 .print-canvas{width:calc(100% - 18px);margin-bottom:18px}
 .print-timeline-notes{margin-left:18px}
}

.annual-habit-add{max-width:420px;margin:10px 0 12px}
.annual-habit-add[hidden],.habit-open-add[hidden]{display:none}
.habit-tabs-row{display:flex;align-items:stretch;min-width:0;border-bottom:1px solid #415262;margin-top:8px}
.annual-view .habit-tabs{flex:0 1 auto;min-width:0;margin:0;border:0}
.habit-open-add{flex:none;align-self:center;border:0;background:transparent;color:#aab9c5;font-size:20px;line-height:1;padding:6px 10px;cursor:pointer}
.habit-open-add:hover{color:#e1edf4}
.habit-add-dialog{width:min(400px,calc(100% - 40px));box-sizing:border-box;border:1px solid #9eb8c7;border-radius:8px;padding:22px;background:#f8fbfd;color:#294e63}
.habit-add-dialog::backdrop{background:#10202baa}
.habit-add-dialog h2{margin:0 0 16px;font:700 16px ui-monospace,monospace}
.habit-add-dialog p{color:#b84343;font-size:12px}
.habit-add-dialog > button{border:1px solid #a8c2d0;border-radius:4px;padding:7px 12px;background:#dceaf1;color:#294b5d}
html[data-theme=light] .habit-tabs-row{border-color:#c9d9e1}
html[data-theme=light] .habit-open-add{color:#42677b}
html[data-theme=light] .habit-add-dialog input{background:#f4f8fa;border-color:#c3d1d9;color:#273e4b}
html[data-theme=light] .habit-add-dialog .habit-add button{background:#dceaf1;border-color:#a8c2d0;color:#294b5d}
html[data-theme=dark] .habit-add-dialog{background:#19242d;color:#d5e6ed}
.habit-tab-wrap{display:flex;align-items:stretch;flex:none;min-width:0}
.habit-tab-wrap:has(.habit-tab[aria-selected=true]){border-bottom:2px solid var(--habit-color,#83b1ca);background:#202d38}
.habit-tab-wrap .habit-tab[aria-selected=true]{border-bottom-color:transparent}
.habit-edit{display:inline-flex;align-items:center;justify-content:center;align-self:center;border:0;padding:7px;background:transparent;color:#aab9c5;cursor:pointer}
.habit-edit::before{content:'';width:14px;height:14px;background:currentColor;mask:var(--icon-rename) center/contain no-repeat;-webkit-mask:var(--icon-rename) center/contain no-repeat}
.habit-edit:hover{color:#e1edf4}
html[data-theme=light] .habit-tab-wrap:has(.habit-tab[aria-selected=true]){background:#e2edf2}
html[data-theme=light] .habit-edit{color:#42677b}

html[data-theme=light] .habit-tab-wrap .habit-tab[aria-selected=true]{border-bottom-color:transparent}
.annual-view .habit-tab-wrap:has(.habit-edit) .habit-tab{padding-right:3.5px}
@media screen{
 #daily-view .habit-tracker li{justify-content:flex-start}
 #daily-view .habit-tracker li label{flex:0 1 auto}
 #daily-view .habit-tracker li .daily-habit-edit{flex:none;display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:7px;border:0;background:transparent;color:#8794a5}
 html[data-theme=light] #daily-view .habit-tracker li .daily-habit-edit{color:#42677b}
}
.habit-dialog-colors{border:0;padding:0;margin:16px 0}
.habit-dialog-colors[hidden]{display:none}
.habit-dialog-colors legend{font:700 11px ui-monospace,monospace;margin-bottom:8px}
.habit-dialog-palette{display:flex;flex-wrap:wrap;gap:10px}
.habit-dialog-palette .habit-color-choice{width:26px;height:26px}
@media screen and (max-width:699px) and (pointer:coarse){#daily-view .habit-tracker li .daily-habit-edit{min-width:38px;min-height:38px}}

.habit-dialog-footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.habit-dialog-footer button{border:1px solid #a8c2d0;border-radius:4px;padding:7px 12px;background:#dceaf1;color:#294b5d;font:inherit;cursor:pointer}
.habit-dialog-footer button:disabled{opacity:.6;cursor:default}
html[data-theme=dark] .habit-dialog-footer button{background:#273745;border-color:#526c7f;color:#dbe8f2}
.habit-actions{flex:none;align-self:center;border:0;border-radius:3px;padding:4px 7px;background:transparent;color:#aab9c5;font:700 17px/1 system-ui,sans-serif;cursor:pointer}
.annual-view .habit-tab-wrap:has(.habit-actions) .habit-tab{padding-right:3.5px}
#daily-view .habit-tracker li .habit-actions{flex:none;width:auto;height:auto;padding:4px 7px;font:700 17px/1 system-ui,sans-serif}
html[data-theme=light] .habit-actions,html[data-theme=light] #daily-view .habit-tracker li .habit-actions{color:#42677b}
.habit-actions:hover,.habit-actions:focus-visible{background:#405d6c}
html[data-theme=light] .habit-actions:hover,html[data-theme=light] .habit-actions:focus-visible{background:#c9e1eb}
.habit-actions-menu{position:fixed;z-index:1000}
.action-menu{font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;min-width:92px;padding:4px;border:1px solid #52697a;border-radius:4px;background:#202833;color:#dbe8f2;box-shadow:0 4px 12px #0004}
.action-menu[hidden]{display:none}
.action-menu .action-menu-command{display:flex;align-items:center;gap:6px;width:100%;padding:6px;border:0;border-radius:3px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.action-menu .action-menu-command:hover,.action-menu .action-menu-command:focus-visible{background:#344b59}
.action-menu-command::before{content:'';width:16px;height:16px;flex:none;background:currentColor;mask:var(--action-icon) center/contain no-repeat;-webkit-mask:var(--action-icon) center/contain no-repeat}
.action-menu-command.edit,.action-menu-command.rename{--action-icon:var(--icon-rename)}.action-menu-command.delete{--action-icon:var(--icon-delete)}
html[data-theme=light] .action-menu{background:#f8fbfd;border-color:#b7cbd5;color:#315f76}
html[data-theme=light] .action-menu .action-menu-command:hover,html[data-theme=light] .action-menu .action-menu-command:focus-visible{background:#dcebf2}
@media screen and (max-width:699px) and (pointer:coarse){#daily-view .habit-tracker li .habit-actions{min-width:38px;min-height:38px}}
/* Keep an empty entries card comparable in height to the weekly card. */
@media screen{
 #history-view{min-height:1000px}
 @media(max-width:699px){#history-view{min-height:760px}}
}
