:root{color-scheme:light;--bg:#f3f7f5;--paper:#fff;--ink:#243b38;--muted:#5f7771;--line:#dce8e3;--accent:#1c786b;--soft:#e6f4ef;--indigo:#587bba;--indigo-soft:#e8effb;--shadow:0 6px 20px rgba(28,62,52,.055);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3c8cce;outline-offset:2px}
.app{width:min(100%,450px);margin:0 auto;min-height:100dvh;background:#f8fbf9;padding-bottom:calc(96px + env(safe-area-inset-bottom));box-shadow:0 5px 35px rgba(35,71,61,.08)}.svg-icon{display:inline-block;flex:none;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-icon.sm{width:17px;height:17px}.svg-icon.md{width:25px;height:25px}.svg-icon.lg{width:29px;height:29px}
header{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 12px;gap:8px}.brand-title{display:flex;align-items:center;gap:7px;color:#1a655b;font-size:24px;font-weight:850;letter-spacing:-.4px}.brand-title .svg-icon{width:25px;height:25px}.subtitle{font-size:11px;color:var(--muted);margin:3px 0 0 33px}.weather{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);background:#fff;border-radius:14px;min-height:51px;white-space:nowrap}.weather .svg-icon{color:#d49a3b}.weather strong{display:block;font-size:13px}.weather small{display:block;font-size:10px;color:var(--muted)}
.ribbon{background:#e9f1ee;color:#506e66;margin:0 16px 12px;border-radius:10px;font-size:11px;padding:9px 11px;line-height:1.5}.page{padding:0 15px 25px}.page.hidden{display:none}.intro{padding:5px 4px 12px}.intro h1{font-size:20px;letter-spacing:-.4px;margin:0 0 4px}.intro p{font-size:12px;color:var(--muted);margin:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.card{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:14px;box-shadow:var(--shadow);text-align:left}.card h2{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;line-height:1.3;font-weight:800}.card h2 .svg-icon{color:var(--accent)}.tap{width:100%;text-align:left}.tap:hover{border-color:#8abfb0}.tap:active{transform:scale(.995)}.status-row{display:flex;align-items:center;gap:8px;margin:0 0 12px}.status-badge{width:31px;height:31px;border-radius:10px;background:#edf6f2;color:var(--accent);display:grid;place-items:center;flex:none}.status-row small{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}.status-row strong{font-size:13px}.status-foot{border-top:1px solid #edf2f0;margin-top:5px;padding-top:10px;color:var(--accent);font-size:11px;font-weight:700}.insight{background:linear-gradient(145deg,#edf7e8,#fff 72%);display:flex;flex-direction:column}.insight p{font-size:12.5px;line-height:1.7;margin:0;flex:1}.insight .hint{font-size:10px;line-height:1.4;color:var(--muted);margin-top:8px}.link{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:11px;font-weight:750;color:var(--accent)}
.section{margin-top:13px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.section-title h2{font-size:15px;margin:0;display:flex;align-items:center;gap:6px}.section-title h2 .svg-icon{color:var(--accent)}.section-title small{font-size:11px;color:var(--muted)}
.trend-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}.trend{border:1px solid var(--line);border-radius:14px;background:#fafdfb;padding:10px 9px;text-align:left;min-width:0}.trend h3{display:flex;align-items:center;gap:5px;font-size:12px;margin:0 0 3px}.trend h3 .svg-icon{color:var(--accent)}.trend.steps h3 .svg-icon{color:var(--indigo)}.trend-meta{font-size:10px;color:var(--muted);margin:0 0 5px}.bars{height:57px;display:flex;align-items:flex-end;gap:6px;padding:1px 1px 0}.bars .barcol{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0;gap:4px}.bars .bar{display:block;min-height:5px;width:100%;border-radius:5px 5px 2px 2px;background:#85c7b6}.bars .barcol:last-child .bar{background:#20786a}.bars .day{font-size:9px;color:var(--muted);line-height:1}.steps .bars .bar{background:#aec6ed}.steps .bars .barcol:last-child .bar{background:#5479b4}.chart-note{font-size:10px;color:var(--muted);margin:9px 0 0;line-height:1.35}
.shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shortcut{min-height:76px;border-radius:14px;border:1px solid #dbe9e3;background:#f2f8f5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.shortcut .svg-icon{color:#22796b;width:26px;height:26px}.shortcut span{font-size:12px;font-weight:750}.tasks{display:grid;gap:12px}.task{display:flex;align-items:flex-start;gap:9px;font-size:12px}.due{background:var(--soft);color:var(--accent);padding:4px 7px;border-radius:7px;font-size:11px;white-space:nowrap}.muted{font-size:11px;color:var(--muted);line-height:1.55}.tasks .muted{margin-top:2px}
.bottom{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,450px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.98);padding:9px 9px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -4px 19px rgba(28,62,52,.06)}.tab{min-height:56px;background:transparent;border:none;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;font-size:11px;font-weight:750;color:var(--muted)}.tab .svg-icon{width:24px;height:24px}.tab.active{background:var(--soft);color:var(--accent)}
.btn{display:block;border:0;border-radius:12px;min-height:48px;background:var(--accent);color:#fff;font-weight:750;width:100%;padding:10px 14px;margin-top:16px;text-align:center}.btn.secondary{background:#fff;color:var(--accent);border:1px solid #9ac7ba}.btn:disabled{color:#778a84;background:#eff3f1;border:1px solid var(--line);cursor:not-allowed}.backrow{display:flex;align-items:center;gap:10px;margin:12px 0 20px}.back{min-width:43px;min-height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}.backrow h1{margin:0;font-size:19px}.desc{font-size:13px;line-height:1.75;color:var(--muted)}.label{display:block;font-size:13px;font-weight:800;margin:18px 0 8px}.field{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.rate{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 2px;min-height:83px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.rate .svg-icon{width:27px;height:27px;color:#527f75}.rate span{font-size:10px}.rate.selected{background:var(--soft);border:2px solid var(--accent)}.message{padding:12px;border:1px solid #cfe7dd;background:#edf7f1;color:#4e6d62;font-size:12px;line-height:1.65;border-radius:12px;margin:14px 0}.listbtn{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:54px;margin:9px 0;padding:12px;text-align:left;gap:8px;font-size:13px}.listbtn small{color:var(--muted)}.event-line{font-size:12px;border-top:1px solid var(--line);padding:9px 0;line-height:1.5}.event-line:first-child{border-top:none}.placeholder{color:var(--muted);font-size:12px;padding:10px 0}.fade{font-size:11px;color:var(--muted)}.button-row{display:flex;gap:8px;margin-top:10px}.button-row>*{flex:1}
/* R05: two indicators share the same five-level vertical scale, not two independent axes. */
.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;color:#47605a;margin:4px 0 6px;line-height:1.2}.chart-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.legend-chip{width:9px;height:9px;display:inline-block;border-radius:2px}.legend-chip.mood{background:#287c6e}.legend-chip.body{background:#da985b}.paired-bars .barpair{display:flex;align-items:flex-end;justify-content:space-between;gap:2px;flex:1;width:100%;min-height:0}.paired-bars .barpair .bar{width:calc(50% - 1px);background:#287c6e!important;display:block;min-height:5px}.paired-bars .barpair .bar.body{background:#da985b!important}.paired-bars .barcol:last-child .bar{filter:brightness(.93)}.bars.paired-bars{height:68px}.tasks-caption{font-size:10px;line-height:1.5;color:var(--muted);border-top:1px solid #edf2f0;padding-top:8px;margin-top:12px}.task-bullet{width:6px;height:6px;flex:none;border-radius:100%;background:#6eaaa0;margin-top:6px}.task-text{min-width:0;word-break:break-word;white-space:pre-wrap;line-height:1.55}.tasks .task{gap:7px}.hintfield{font-size:11px;line-height:1.55;color:var(--muted);margin-top:8px}.counter{font-size:11px;color:var(--muted);text-align:right;margin-top:4px}.editor-actions{display:flex;gap:8px;align-items:center}.editor-actions button{flex:1}.editor-actions .btn{margin-top:12px}
/* R06: structured weekly items. Date/time are optional and a true blank displays as dashes. */
.tasks-edit-link{background:#eff8f3;color:var(--accent);border:1px solid #cbe6d8;border-radius:9px;padding:8px 9px;min-height:38px;font-size:11px;font-weight:750;white-space:nowrap}
.tasks-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px;line-height:1.5}
.tasks-table th{color:#526e66;text-align:left;font-size:10.5px;font-weight:800;letter-spacing:0;padding:7px 6px 8px;border-bottom:1px solid #cfded7;background:#f2f8f5;overflow-wrap:anywhere}
.tasks-table td{border-bottom:1px solid #e8f0eb;padding:9px 6px;vertical-align:top;overflow-wrap:anywhere}
.tasks-table tr:last-child td{border-bottom:0}
.tasks-table th:nth-child(1),.tasks-table td:nth-child(1){width:23%}
.tasks-table th:nth-child(2),.tasks-table td:nth-child(2){width:26%}
.tasks-table th:nth-child(3),.tasks-table td:nth-child(3){width:51%}
.task-unknown{font-size:10.5px;color:#84948e;white-space:nowrap;font-weight:600;letter-spacing:-.7px}
.task-known{font-size:11.5px;color:#265f56;font-weight:700;white-space:nowrap}
.task-placeholder{color:var(--muted);font-size:11px}
.task-preview-more{font-size:11px;color:var(--muted);margin:9px 2px 0}
.tasks-form-card{padding:13px 12px;margin:12px 0;border:1px solid #d9e8e1;border-radius:13px;background:#f8fbf9}
.tasks-form-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:750}
.tasks-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:6px}
.tasks-field{min-width:0}
.tasks-field label{display:block;font-size:11px;font-weight:750;margin:10px 0 6px;color:#47685d}
.tasks-field input{min-width:0;width:100%;max-width:100%;height:44px;padding:8px 6px;border:1px solid #cbded5;background:white;border-radius:9px;font-size:16px}
.tasks-field.wide{grid-column:1/-1}
.tasks-field.wide input{padding:8px 11px}
.tasks-del{border:1px solid #d7e3dc;border-radius:8px;background:white;color:#65776e;min-height:36px;padding:6px 9px;font-size:11px}
.tasks-add{width:100%;margin:3px 0 5px;border:1px dashed #7ca99a;border-radius:11px;color:#1c786b;background:#eef8f2;min-height:46px;font-size:13px;font-weight:750}
.tasks-error{color:#a73c35;background:#fff0ee;border:1px solid #e7c5c0;border-radius:9px;padding:10px;margin-top:11px;font-size:12px;line-height:1.5}
@media(max-width:350px){.tasks-table{font-size:11px}.tasks-table th,.tasks-table td{padding-left:3px;padding-right:3px}.tasks-table th{font-size:10px}.task-unknown{font-size:10px}.task-known{font-size:10.5px}}
@media(min-width:520px){.app{margin:20px auto;border-radius:24px;min-height:calc(100dvh - 40px)}}@media(max-width:365px){.card{padding:11px}.pair,.trend-pair{gap:8px}.status-row{gap:5px}.status-badge{width:27px;height:27px}.card h2{font-size:12px}.shortcuts{gap:5px}.shortcut span{font-size:11px}.rate span{font-size:9px}}

/* Record R02: show summaries and optional details rather than making every input mandatory. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.summary-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-pair>div{border-radius:12px;background:#f1f8f4;padding:11px;color:#5c716b;font-size:12px;line-height:1.7}.summary-pair strong{color:#1d6257;font-size:16px}
.record-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.record-actions .shortcut{min-height:77px}
.time-ruler{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding:4px 0 7px}.timeline-content{display:grid;gap:12px;padding:12px 0 4px}
.tline-row{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;padding:9px 10px;min-height:76px}
.tline-head{display:flex;justify-content:space-between;gap:9px;font-size:12px;margin-bottom:7px;align-items:center}.tline-head strong{font-size:12px}.tline-head small{font-size:10px;color:var(--muted)}
.tline-track{height:17px;border-radius:6px;position:relative;background:repeating-linear-gradient(to right,#eff4f1 0%,#eff4f1 calc(25% - 1px),#d3e2da 25%,#eff4f1 calc(25% + 1px));overflow:hidden}
.tline-band{position:absolute;top:2px;bottom:2px;border-radius:4px;background:#6caa9a;min-width:3px}.tline-band.sleep{background:#7d88c3}.tline-band.work{background:#5e8db8}.tline-band.out{background:#c79b5b}.tline-band.exercise{background:#489979}
.tline-dot{width:10px;height:10px;border-radius:50%;top:3px;position:absolute;background:#4a8e7a;transform:translateX(-50%);border:2px solid white;box-shadow:0 0 0 1px #2e806b}
.tline-comment{font-size:11px;line-height:1.5;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.event-entry{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line);background:white;padding:11px 0;text-align:left}.event-entry:last-child{border:0}.event-entry strong{font-size:12px}.event-entry span{font-size:11px;line-height:1.6;color:var(--muted)}
.note-entry{border-bottom:1px solid var(--line);padding:11px 0}.note-entry:last-child{border:0}.note-entry p{margin:5px 0;font-size:12px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.note-entry button{border:1px solid #c9ded4;border-radius:7px;padding:6px 10px;background:white;color:#23695c;font-size:11px}
.emotion-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:7px 0}.emotion-chip{border:1px solid var(--line);border-radius:10px;min-height:45px;background:#fff;font-size:12px}.emotion-chip.selected{border:2px solid #318475;background:#e9f7f0;font-weight:800}.pill-tags{display:flex;gap:5px;flex-wrap:wrap}.pill-tags span{border-radius:7px;background:#ebf3ef;padding:3px 7px;color:#286759;font-size:10px}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.form-grid>div{min-width:0}.form-grid input,.form-grid select{min-width:0;width:100%;font-size:16px}.form-grid .label{margin-top:12px}.form-group{margin:10px 0}
.detail-optional{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbfa}.detail-optional summary{cursor:pointer;font-size:13px;color:#265f56;font-weight:750;min-height:32px;padding:6px 0}
.alert-review{font-size:12px;line-height:1.7;padding:10px 12px;border:1px solid #dfd2b5;background:#fff8e9;border-radius:12px;color:#65522f;margin-top:12px}
.protobtn{border:1px solid #bcd7cc;background:white;color:#226b5e;font-size:12px;border-radius:9px;padding:8px 12px;min-height:39px}
.form-error{font-size:12px;color:#a33831;margin-top:8px;line-height:1.6}
@media(max-width:350px){.record-actions{gap:5px}.record-actions .shortcut span{font-size:10px}}

/* R02: unified 24-hour horizontal timeline. Color and textual labels are both provided. */
.timeline-content{display:block;padding:3px 0 0}
.r02-legend{display:flex;gap:6px 12px;flex-wrap:wrap;margin:8px 0 13px;font-size:11px;color:#506d64;line-height:1.5}
.r02-legend-item{display:inline-flex;align-items:center;gap:5px}
.r02-swatch{display:inline-block;width:12px;height:9px;border-radius:3px;border:1px solid rgba(0,0,0,.12)}
.r02-swatch.sleep{background:#7d88c3}.r02-swatch.work{background:#5285ad}.r02-swatch.out{background:#d09d59}.r02-swatch.exercise{background:#349578}
.r02-point-icon{font-size:15px;line-height:1;font-weight:900;color:#177467;min-width:15px;display:inline-block;text-align:center}
.r02-point-icon.med{color:#965b9b}.r02-point-icon.other{color:#bc8154}
.r02-timeline{position:relative;margin-top:11px}
.r02-ruler{display:flex;justify-content:space-between;margin:0 0 5px;font-size:10px;color:#576f68}
.r02-track{position:relative;height:86px;border-radius:12px;border:1px solid #d4e2db;
 background:repeating-linear-gradient(to right,transparent 0%,transparent calc(25% - 1px),#d7e5df 25%,transparent calc(25% + 1px)),#f0f6f2;overflow:hidden}
.r02-track-line{position:absolute;left:0;right:0;top:28px;height:30px;border-radius:5px;background:rgba(202,219,209,.55);pointer-events:none}
.r02-track-label{position:absolute;right:8px;bottom:2px;font-size:9px;color:#72877e;pointer-events:none}
.r02-band{position:absolute;top:31px;height:24px;min-width:3px;border:none;border-radius:4px;padding:2px 1px;cursor:pointer;
 color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:750;
 text-shadow:0 1px 1px rgba(0,0,0,.27);white-space:nowrap}
.r02-band.sleep{background:#7d88c3}.r02-band.work{background:#5285ad}.r02-band.out{background:#d09d59;color:#342617;text-shadow:none}.r02-band.exercise{background:#349578}.r02-band.other{background:#6a9990}
.r02-band.collision{height:10px;top:43px;border-radius:2px}
.r02-band:focus-visible,.r02-marker:focus-visible{outline:3px solid #27577c;outline-offset:2px;z-index:8!important}
.r02-marker{position:absolute;top:3px;transform:translateX(-50%);width:24px;height:25px;border:0;background:rgba(255,255,255,.92);border-radius:10px;display:flex;align-items:center;justify-content:center;
 font-size:18px;font-weight:bold;cursor:pointer;line-height:1;color:#187264;box-shadow:0 1px 2px #adbfb4}
.r02-marker.med{color:#995c9b}.r02-marker.other{color:#b47948}
.r02-marker.second{top:58px}.r02-marker.third{top:58px}
.r02-track-foot{margin:9px 0 3px;font-size:11px;line-height:1.6;color:#59736a}
.r02-selected-details{font-size:11px;line-height:1.7;margin-top:8px;border:1px solid #d6e7dd;background:#fafdfb;border-radius:10px;padding:10px}
.r02-selected-details strong{font-size:12px;color:#266b5d}
.r02-example-btn{font-size:11px;color:#1b705f;min-height:36px;border:1px solid #a8d1be;background:#eef8f2;border-radius:9px;padding:6px 10px}
.r02-emoji{font-size:23px;line-height:1;display:inline-block}
.r02-sum-emoji{font-size:17px;vertical-align:-1px;margin-right:4px}
.rate .r02-emoji{font-size:25px}
@media(max-width:365px){.r02-track{height:90px}.r02-band{font-size:9px}.r02-legend{gap:5px 7px;font-size:10px}.r02-marker{width:23px}}

/* R03: separate sleep bedtime date, flexible activity records and compact summary order. */
.r02-swatch.bath{background:#6f9cbe}.r02-swatch.custom{background:#a67bad}
.r02-band.bath{background:#6f9cbe}.r02-band.custom{background:#a67bad}
.r02-marker.bath-point,.r02-point-icon.bath-point{color:#4d7b9b}
#event-end-container[hidden],#score-panel[hidden]{display:none!important}
#record-day{font-size:16px}

/* R04: the home dashboard uses consistent SVGs and plain labels; emoji selection remains in the entry screen. */
#page-home .status-row strong{overflow-wrap:anywhere}
#page-home .task-status{display:inline-block;border-radius:6px;padding:3px 4px;font-size:10px;font-weight:800;white-space:nowrap;line-height:1.25;background:#ebf2ef;color:#385a51}
#page-home .task-status.done{background:#e5f3ea;color:#176b42}
#page-home .task-status.hold{background:#fff1de;color:#795018}
#page-home .task-status.overdue{background:#ffede9;color:#a13e34}
.tasks-table th:nth-child(1),.tasks-table td:nth-child(1){width:19%}
.tasks-table th:nth-child(2),.tasks-table td:nth-child(2){width:21%}
.tasks-table th:nth-child(3),.tasks-table td:nth-child(3){width:39%}
.tasks-table th:nth-child(4),.tasks-table td:nth-child(4){width:21%}
@media(max-width:390px){.tasks-table{font-size:11px}.tasks-table th,.tasks-table td{padding-left:3px;padding-right:3px}.tasks-table th{font-size:10px}}
.tasks-field select{min-width:0;width:100%;min-height:44px;padding:7px;border:1px solid #cbded5;background:white;border-radius:9px;font-size:16px}
/* One shared 24h ruler; as needed, colliding bands use a separate row within the SAME time axis. */
.r02-track{height:auto;min-height:103px;overflow:visible}
.r02-track-line{top:40px;height:28px}
.r02-band{height:24px;top:42px;min-width:4px}
.r02-band.collision{height:24px;border-radius:4px}
.r02-marker,.r02-marker.second{top:5px}
.r02-marker.group{width:38px;min-height:30px;border:1px solid #9ab6ac;background:#fff;gap:1px;font-size:13px;z-index:6!important}
.r02-group-count{position:absolute;right:-5px;top:-7px;min-width:15px;padding:1px 3px;border-radius:8px;background:#355e55;color:#fff;font-size:9px;line-height:13px}
.r04-group-menu{margin-top:10px;padding:10px;background:#f2f8f4;border:1px solid #cbded5;border-radius:11px}
.r04-group-menu h3{margin:0 0 6px;font-size:12px}
.r04-group-menu .listbtn{margin:5px 0;background:#fff;min-height:44px}
.form-error{color:#a73c35}
.r04-collision{margin-top:12px;border:1px solid #e4c29f;background:#fff8eb;border-radius:12px;padding:11px;line-height:1.55;font-size:12px}
.r04-collision strong{display:block;color:#70451a;margin-bottom:4px}
.r04-collision button{margin-top:9px;width:100%;min-height:44px;border:1px solid #ba844d;border-radius:9px;background:#fff;font-weight:750;color:#6d441f}

/* Analysis tab R02. Scoped to prevent changes to the FIXed home/record screens, except optional fatigue field. */
#page-analysis .ana-modebar {padding:17px 18px;}
#page-analysis .ana-source {color:#486f69;font-weight:700;font-size:.78rem;}
#page-analysis .ana-switch {display:flex;gap:7px;padding:5px;border:1px solid #d1e3df;border-radius:16px;background:#eff6f3; margin:10px 0 4px;}
#page-analysis .ana-switch button {min-width:0;flex:1;border:0;border-radius:12px;background:transparent;color:#496d67;font:inherit;font-weight:700;font-size:.86rem;min-height:44px;cursor:pointer;}
#page-analysis .ana-switch button.active {background:#fff;color:#156457;box-shadow:0 1px 5px rgba(16,60,52,.12);}
#page-analysis .ana-caption {font-size:.76rem;line-height:1.65;color:#60756f;margin:9px 0 0;}
#page-analysis .ana-insight-item {border-left:4px solid #58958a;padding:8px 11px;background:#f3f8f5;border-radius:0 11px 11px 0;margin:10px 0;}
#page-analysis .ana-insight-item strong {display:block;color:#23574f;font-size:.92rem;}
#page-analysis .ana-insight-item p {font-size:.86rem;line-height:1.7;margin:5px 0 0;}
#page-analysis .ana-insight-item details {margin-top:8px;font-size:.8rem;line-height:1.6;color:#4d635d;}
#page-analysis .ana-insight-item summary {cursor:pointer;color:#226957;font-weight:700;min-height:32px;}
#page-analysis .ana-empty {border:1px dashed #c6dbd3;border-radius:12px;padding:14px;color:#526d65;background:#fafcfb;line-height:1.65;font-size:.88rem;}
#page-analysis .ana-trend-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0 12px;min-height:155px;}
#page-analysis .ana-day {min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:144px;border:1px solid transparent;background:transparent;border-radius:11px;padding:6px 1px;cursor:pointer;color:#57746c;font:inherit;font-size:.74rem;}
#page-analysis .ana-day[aria-pressed="true"] {border-color:#9dc9bb;background:#f0f8f4;}
#page-analysis .ana-barbox {height:106px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;border-bottom:1px solid #d5e4dd;}
#page-analysis .ana-bar {width:min(35%,16px);border-radius:5px 5px 0 0;min-height:0;display:block;}
#page-analysis .ana-bar.mood {background:#288679;}
#page-analysis .ana-bar.body {background:#e1a05d;}
#page-analysis .ana-bar.missing {height:2px !important;background:#b7cac4;opacity:.6;}
#page-analysis .ana-day-date {font-size:.72rem;white-space:nowrap;}
#page-analysis .ana-day-note {background:#f3f7f4;border-radius:12px;padding:11px 13px;color:#375d55;font-size:.84rem;line-height:1.55;min-height:44px;}
#page-analysis .ana-dual {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:11px;}
#page-analysis .ana-subpanel {min-width:0;border:1px solid #dfeae4;border-radius:13px;padding:12px 10px;}
#page-analysis .ana-subpanel h3 {margin:0 0 10px;font-size:.89rem;color:#345f57;}
#page-analysis .ana-subpanel h3 span {font-size:.69rem;font-weight:400;color:#687f78;}
#page-analysis .ana-metric {display:grid;grid-template-columns:25px minmax(0,1fr) 42px;gap:6px;align-items:center;font-size:.77rem;min-height:27px;color:#536b63;}
#page-analysis .ana-metric .ana-track {display:block;background:#edf2f0;border-radius:6px;height:9px;overflow:hidden;}
#page-analysis .ana-metric .ana-fill {display:block;height:100%;border-radius:6px;background:#7198c4;}
#page-analysis .ana-subpanel.fatigue .ana-fill {background:#bc8eae;}
#page-analysis .ana-metric b {font-size:.73rem;text-align:right;white-space:nowrap;font-weight:600;}
#page-analysis .ana-data-foot {color:#537168;font-size:.79rem;line-height:1.55;margin-top:11px;}
#page-analysis .ana-event-row {padding:10px 0;border-bottom:1px solid #e6efeb;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;font-size:.83rem;line-height:1.5;}
#page-analysis .ana-event-row:last-child {border-bottom:0;}
#page-analysis .ana-event-row strong {color:#285e54;}
#page-analysis .ana-event-row span {color:#60756e;}
#page-analysis button:focus-visible, #page-analysis summary:focus-visible {outline:3px solid #277e74;outline-offset:2px;}
@media(max-width:370px){#page-analysis .ana-dual{grid-template-columns:1fr}#page-analysis .ana-metric{grid-template-columns:33px 1fr 50px}}
@media(min-width:700px){#page-analysis .ana-trend-grid{max-width:600px;margin-left:auto;margin-right:auto}}
/* R02: readable five-point scale, hours/steps reference and optional fatigue recording. */
#page-analysis .ana-health-plot{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:5px;align-items:start;position:relative;margin-top:12px;}
#page-analysis .ana-health-plot .ana-trend-grid{margin:0 0 12px;}
#page-analysis .ana-axis{height:106px;margin-top:6px;position:relative;font-size:11px;font-weight:800;color:#54756c;}
#page-analysis .ana-axis span{position:absolute;right:2px;transform:translateY(-50%);}
#page-analysis .ana-axis .v5{top:0;transform:none;}#page-analysis .ana-axis .v3{top:40%;}#page-analysis .ana-axis .v1{top:80%;}
#page-analysis .ana-axis-legend{margin:0 0 8px 29px;font-size:11px;color:#58766d;}
#page-analysis .ana-barbox{background-image:linear-gradient(to bottom,transparent calc(20% - .5px),#dce8e1 20%,transparent calc(20% + .5px)),linear-gradient(to bottom,transparent calc(40% - .5px),#dce8e1 40%,transparent calc(40% + .5px)),linear-gradient(to bottom,transparent calc(60% - .5px),#cbded4 60%,transparent calc(60% + .5px)),linear-gradient(to bottom,transparent calc(80% - .5px),#dce8e1 80%,transparent calc(80% + .5px));}
#page-analysis .ana-bar{z-index:1;}
#page-analysis .ana-reftag{font-size:10px;color:#526f66;display:inline-block;background:#eaf4ef;padding:3px 6px;border-radius:6px;white-space:nowrap;}
#page-analysis .ana-step-row{display:grid;grid-template-columns:26px minmax(0,1fr) 75px;gap:6px;align-items:center;min-height:39px;font-size:12px;}
#page-analysis .ana-step-bar{height:13px;background:#eaf0f3;border-radius:7px;position:relative;overflow:visible;}
#page-analysis .ana-step-fill{height:100%;background:#8faed3;border-radius:7px;display:block;}
#page-analysis .ana-step-threshold{position:absolute;top:-4px;bottom:-4px;border-left:2px dashed #9b6b30;pointer-events:none;}
#page-analysis .ana-step-number{text-align:right;font-weight:700;white-space:nowrap;font-size:11px;}
#page-analysis .ana-step-status{font-size:10px;color:#5e746e;margin:2px 0 6px 32px;line-height:1.35;}
#page-analysis .ana-sleep-scale{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#58766d;margin:5px 1px 0 31px;}
#page-analysis .ana-fact-note{background:#f4f8f6;border-left:3px solid #90b5a7;padding:8px 9px;font-size:11px;line-height:1.6;color:#4b6a61;margin-top:10px;}
.summary-pair .fatigue-summary{grid-column:1 / -1;}
#page-home .paired-bars{background-image:linear-gradient(to bottom,transparent 39%,#dfeae4 40%,transparent 41%),linear-gradient(to bottom,transparent 79%,#dfeae4 80%,transparent 81%);}


/* Settings R01 - keep low cognitive load, emphasize backup before integrations. */
.settings-banner{background:#eaf3ed;border:1px solid #c9e3d6;color:#3b5f56;padding:12px 13px;border-radius:13px;font-size:12px;line-height:1.75}
.settings-badge{font-size:10px;font-weight:750;border-radius:12px;padding:4px 8px;background:#e5f6ee;color:#206a54;white-space:nowrap}.settings-badge.subdued{background:#f2f5f3;color:#62796f}
.settings-stat{padding:12px;border-radius:10px;background:#f2f8f5;font-size:12px;line-height:1.7;color:#345b52;margin:12px 0}
.settings-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.settings-action-grid .btn{margin:0;min-height:47px;font-size:12px;padding:9px 6px}
.settings-file-label{display:block;margin:15px 0 7px;font-size:12px;font-weight:750}.settings-file{font-size:13px;max-width:100%;min-height:52px}.settings-file::file-selector-button{border:1px solid #b4d8cd;background:#edf8f3;border-radius:7px;padding:5px 7px;color:#236657;margin-right:5px}
.settings-result{min-height:26px;color:#356e5c;font-size:11px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}.settings-result.error{color:#9d3634}
.settings-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #e5eee9}.settings-line:last-child{border:0;padding-bottom:0}
.settings-line strong{display:block;font-size:12px;line-height:1.5}.settings-line small,.settings-detail{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px}.settings-line>div,.listbtn span:first-child{min-width:0}
.settings-muted-tag{background:#f1f5f2;border-radius:8px;padding:4px 7px;font-size:10px!important;white-space:nowrap;color:#61756c!important;display:inline-block;flex:none}
.settings-danger{background:#fff;border:1px solid #d7ada6;border-radius:10px;padding:12px;color:#a0463c;font-size:12px;min-height:44px;margin-top:14px;width:100%;font-weight:750}
.settings-footer{font-size:11px;text-align:center;line-height:1.8;color:var(--muted);margin:18px 6px}
@media(max-width:350px){.settings-action-grid{gap:5px}.settings-action-grid .btn{font-size:11px}}


/* Analysis R02.1: make the R02 grid and reference line visibly distinct on phones. */
#page-analysis .ana-health-plot {grid-template-columns:27px minmax(0, 1fr);column-gap:7px;}
#page-analysis .ana-axis {font-size:12px;color:#304f47;font-weight:800;}
#page-analysis .ana-axis .v4 {top:20%;}
#page-analysis .ana-axis .v2 {top:60%;}
#page-analysis .ana-barbox {
  background-image:
    linear-gradient(to bottom,transparent calc(20% - 1px),#abc7ba calc(20% - 1px),#abc7ba calc(20% + 1px),transparent calc(20% + 1px)),
    linear-gradient(to bottom,transparent calc(40% - 1px),#abc7ba calc(40% - 1px),#abc7ba calc(40% + 1px),transparent calc(40% + 1px)),
    linear-gradient(to bottom,transparent calc(60% - 1px),#abc7ba calc(60% - 1px),#abc7ba calc(60% + 1px),transparent calc(60% + 1px)),
    linear-gradient(to bottom,transparent calc(80% - 1px),#abc7ba calc(80% - 1px),#abc7ba calc(80% + 1px),transparent calc(80% + 1px));
}
#page-analysis .ana-axis-legend {font-weight:700;color:#46665c;}
#page-analysis .ana-step-guide {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:1px 0 9px;color:#375e52;font-size:12px;}
#page-analysis .ana-step-guide strong {border:1px solid #bc823b;border-radius:7px;color:#704a17;background:#fff4e2;padding:5px 7px;font-size:13px;}
#page-analysis .ana-step-guide small {font-weight:500;font-size:11px;}
#page-analysis .ana-step-threshold {top:-7px;bottom:-7px;border-left:3px dashed #a26418;}
#page-analysis .ana-step-status {font-size:11px;margin-bottom:9px;}
#page-analysis .ana-step-status.reached strong {color:#15634c;}
#page-analysis .ana-step-status.below strong {color:#835b25;}

/* W3 storage readiness and status (no redesign of the four tabs). */
.storage-indicator{margin:0 12px 8px;border:1px solid #c6dacf;border-radius:10px;padding:8px 11px;background:#edf7f1;color:#275843;font-size:12px;line-height:1.45;}
.storage-indicator.error{border-color:#e6b4aa;background:#fff2f0;color:#983f30;}
.storage-indicator.pending{border-color:#e5d5ad;background:#fff9e7;color:#715a23;}
.storage-gate:not([hidden]){position:fixed;inset:0;background:rgba(14,31,25,.62);z-index:9999;display:grid;place-items:center;padding:18px;}
.storage-gate-card{width:min(430px,100%);background:#fff;border-radius:18px;padding:24px 20px;box-shadow:0 10px 50px #0003;}
.storage-gate-card h2{font-size:19px;margin:0 0 12px;}
.storage-gate-card p{font-size:14px;line-height:1.65;}
.storage-gate-card button{margin-top:8px;}

/* W3 UX verification improvements 2026-10-28. */
html{scroll-behavior:auto}
textarea.field{max-width:100%;min-width:0;resize:vertical;overflow-wrap:anywhere}
#detail-body,.card,.tasks-field{min-width:0;max-width:100%}
#detail-body textarea{resize:none;overflow-x:hidden}
#page-record .summary-pair>button{display:block;text-align:left;width:100%;border:1px solid #d6e8de;border-radius:12px;background:#f1f8f4;padding:11px;color:#5c716b;font-size:12px;line-height:1.7;min-height:63px}
#page-record .summary-pair>button:active{background:#e0f1e7}
#page-record .summary-pair>button strong{color:#1d6257;font-size:16px}
#page-record .summary-pair>button::after{content:'タップして記録・修正 →';display:block;color:#3d8170;font-size:10px;margin-top:3px}
.legend-chip.mood{background:#df77ac!important}
.paired-bars .barpair .bar.mood{background:#df77ac!important}
#page-analysis .ana-bar.mood{background:#df77ac}
.legend-chip.fatigue{background:#8769be!important;width:13px;height:4px;border-radius:3px}
.paired-bars{position:relative}
.paired-bars .fatigue-spark{position:absolute;inset:0 0 auto 0;height:53px;width:100%;overflow:visible;pointer-events:none;z-index:3}
.paired-bars .fatigue-spark polyline{fill:none;stroke:#8769be;stroke-width:4.2;stroke-linejoin:round;stroke-linecap:round}
.paired-bars .fatigue-spark circle{fill:#fff;stroke:#8769be;stroke-width:4}
/* 7 days on narrow screens: two-line labels, never omit the weekday. */
#page-home .bars .day{font-size:8px;line-height:1.12;white-space:normal;text-align:center;min-height:19px}
#page-home .bars.paired-bars{height:81px}
#page-home .bars.steps{height:67px}
#page-home .trend .chart-legend{gap:4px}
#page-home .trend .chart-legend span{font-size:9px}
#page-home .status-row{margin-bottom:9px}
#page-home .status-row:last-of-type{margin-bottom:4px}
#page-home .status-row strong{font-size:12px;overflow-wrap:anywhere}
#page-home .task-status{display:inline-block}
#page-home .task-status.overdue{margin-top:3px}
#page-home .task-status.in-progress{background:#e5f0fa;color:#315e83}
#page-home .task-status.pending{background:#f0f3f2;color:#486258}
.emotion-chip.selected{font-weight:800;border-width:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.emotion-chip.selected::after{content:' ✓';font-weight:900}
.emotion-chip.selected[data-emotion='うれしい']{background:#fff1b8;border-color:#d7aa38;color:#6a4912}
.emotion-chip.selected[data-emotion='安心']{background:#d6f3de;border-color:#569d69;color:#21562c}
.emotion-chip.selected[data-emotion='落ち着く']{background:#dceef8;border-color:#6495bc;color:#234d70}
.emotion-chip.selected[data-emotion='不安']{background:#ede4f8;border-color:#9278b7;color:#563b76}
.emotion-chip.selected[data-emotion='いらいら']{background:#ffe2dc;border-color:#c97263;color:#782f26}
.emotion-chip.selected[data-emotion='悲しい']{background:#e0e7f5;border-color:#788fbd;color:#3d507a}
.emotion-chip.selected[data-emotion='疲れた']{background:#f2e4d7;border-color:#b49271;color:#745133}
.emotion-chip.selected[data-emotion='その他']{background:#e9efed;border-color:#879b92;color:#42574e}
@media(max-width:360px){#page-home .trend-pair{grid-template-columns:1fr;gap:8px}#page-home .bars .day{font-size:9px}}

/* Place week labels on a full-width graph; 7 dates cannot be read in two half-width cards. */
#page-home .trend-pair{grid-template-columns:1fr;gap:10px}
#page-home .bars .day{font-size:10px;min-height:27px;line-height:1.22;white-space:normal}
#page-home .bars.paired-bars{height:90px}
#page-home .paired-bars .fatigue-spark{height:62px}
#page-home .trend.steps .bars{height:76px}
#page-home .trend-pair>.trend{padding:12px}
#page-home .trend .chart-legend span{font-size:10px}

/* Phase1 W3 additional improvements: scoped home overview and consistent chart scale. */
#page-home .intro{padding-bottom:9px}
#page-home .pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:stretch}
#page-home .pair>.card{min-width:0;padding:11px;border-radius:15px}
#page-home .pair>.card h2{font-size:12px;line-height:1.45;margin:0 0 8px}
#page-home .status-row{gap:5px;margin-bottom:7px;align-items:center}
#page-home .status-row small{font-size:10px}
#page-home .status-row strong{font-size:12px;line-height:1.45;display:block}
#page-home .status-foot{font-size:10px;margin-top:5px}
#page-home .status-badge{width:25px;height:25px}
#page-home .status-badge .svg-icon{width:20px;height:20px}
#page-home .home-daily-card{display:flex;flex-direction:column;gap:0;padding:0!important;overflow:hidden}
#page-home .home-daily-card button{border:0;width:100%;text-align:left;background:transparent;padding:12px 10px;color:inherit;min-width:0}
#page-home .home-daily-card button:focus-visible{outline-offset:-3px}
#page-home .home-steps{border-bottom:1px solid var(--line)!important;flex:0 0 auto}
#page-home .home-tiny-heading{font-size:11px;font-weight:800;color:#3b6d60;display:flex;gap:4px;align-items:center}
#page-home .home-steps strong{display:block;color:#295c58;font-size:23px;margin-top:5px;white-space:nowrap;line-height:1.15;letter-spacing:-.5px}
#page-home .home-steps strong small{font-size:12px;font-weight:650}
#page-home .home-steps>small{font-size:10px;display:block;margin-top:4px;color:var(--muted)}
#page-home .home-brief-insight{flex:1;display:flex;flex-direction:column;gap:5px;justify-content:flex-start}
#page-home #home-insight-text{font-size:11px;line-height:1.5;color:#4d695e;overflow-wrap:anywhere}
#page-home .home-brief-insight>small{color:#266f5e;font-size:10px;margin-top:auto}
#page-home .tasks-caption{margin-top:7px;padding-top:6px}
#page-home .section{margin-top:10px;padding:11px}
#page-home .section-title{margin-bottom:7px}
#page-home .tasks-table td{padding-top:6px;padding-bottom:6px}
/* Soft colours on charts; avoid dropping contrast needed for reading. */
.legend-chip.mood{background:#ca7d9f}
.legend-chip.body{background:#77aa9d}
.legend-chip.fatigue{background:#a28fc7}
#page-analysis .ana-bar.mood{background:#ca7d9f}
#page-analysis .ana-bar.body{background:#77aa9d}
/* All numbers are at 0/20/40/60/80% of the same chart height; identical text anchoring. */
#page-analysis .ana-axis .v5,#page-analysis .ana-axis .v4,#page-analysis .ana-axis .v3,#page-analysis .ana-axis .v2,#page-analysis .ana-axis .v1{transform:translateY(-50%)}
#page-analysis .ana-axis .v5{top:0%}
#page-analysis .ana-axis .v4{top:20%}
#page-analysis .ana-axis .v3{top:40%}
#page-analysis .ana-axis .v2{top:60%}
#page-analysis .ana-axis .v1{top:80%}
#page-analysis .ana-day-note{word-spacing:.2em}
/* Recorded feeling chips retain the exact emotion colours used while editing. */
.pill-tags{display:inline-flex;flex-wrap:wrap;gap:5px;max-width:100%;vertical-align:middle}
.pill-tags span{border:1px solid transparent}
.pill-tags .emotion-tone-0{background:#fff1b8;border-color:#d7aa38;color:#6a4912}
.pill-tags .emotion-tone-1{background:#d6f3de;border-color:#569d69;color:#21562c}
.pill-tags .emotion-tone-2{background:#dceef8;border-color:#6495bc;color:#234d70}
.pill-tags .emotion-tone-3{background:#ede4f8;border-color:#9278b7;color:#563b76}
.pill-tags .emotion-tone-4{background:#ffe2dc;border-color:#c97263;color:#782f26}
.pill-tags .emotion-tone-5{background:#e0e7f5;border-color:#788fbd;color:#3d507a}
.pill-tags .emotion-tone-6{background:#f2e4d7;border-color:#b49271;color:#745133}
.pill-tags .emotion-tone-7{background:#e9efed;border-color:#879b92;color:#42574e}
.emotion-chip.selected[data-emotion='イライラ']{background:#ffe2dc;border-color:#c97263;color:#782f26}
/* Before and after must never render as arrows attached to field labels. */
.event-score-grid{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);column-gap:5px;row-gap:8px;align-items:end}
.event-score-grid>div{min-width:0}
.event-score-grid select{width:100%;min-width:0;font-size:15px}
.event-score-grid .label{font-size:11px;line-height:1.35;min-height:27px;display:flex;align-items:end}
.event-score-arrow{font-size:14px;color:#648b7e;text-align:center;align-self:end;padding-bottom:12px}
#record-health-section,#record-diary-section{scroll-margin-top:9px}
@media(max-width:350px){#page-home .pair>.card{padding:9px}#page-home .home-steps strong{font-size:20px}#page-home .home-daily-card button{padding:10px 8px}}

/* W3 U2: subtab navigation. Keep the established mint visual language; typography palette remains open for later review. */
.subtab-panel[hidden]{display:none!important}
.record-sticky{position:sticky;top:0;z-index:4;background:#f8fbf9;padding:2px 0 9px;margin-bottom:2px;box-shadow:0 7px 13px -14px #3f6254}
#page-record .record-datebox{padding:10px 13px;border-radius:13px;box-shadow:none;margin-bottom:8px}
#page-record .record-datebox .section-title{margin-bottom:5px}
#page-record .record-datebox .section-title h2{font-size:12px}
#page-record .record-datebox .section-title .muted{font-size:10px}
#page-record .record-datebox #record-day{min-height:42px;padding:6px 9px}
.subtab-grid{display:grid;gap:6px;margin:10px 0 12px}
.record-subtabs{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.analysis-subtabs{grid-template-columns:repeat(2,minmax(0,1fr));margin:3px 0 10px}
.subtab-grid [role="tab"]{min-width:0;min-height:43px;border:1px solid #d0e3db;border-radius:11px;background:#fff;color:#436a60;font-size:12px;line-height:1.25;font-weight:650;white-space:normal;padding:7px 3px;text-align:center}
.subtab-grid [role="tab"][aria-selected="true"]{background:#e3f3eb;color:#185f53;border:2px solid #74aa98;font-weight:850}
.subtab-grid [role="tab"]:focus-visible{outline:3px solid #2477a1;outline-offset:2px}
#page-record .subtab-panel>.card:first-child{margin-top:0}
#page-analysis .subtab-panel>.card:first-child{margin-top:10px}
#page-analysis .ana-weekbox{padding:10px 12px;border-radius:13px;margin-bottom:9px;box-shadow:none}
.ana-week-head{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:7px}
.ana-week-head strong{font-size:13px;color:#305e55;letter-spacing:-.15px}
.ana-week-head small{font-size:10px;color:var(--muted)}
.ana-week-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.ana-week-actions button{border:1px solid #cfdfd7;background:#f5faf7;border-radius:9px;min-height:38px;font-size:12px;font-weight:700;color:#33685b}
.ana-week-actions button[data-ana-week="0"]{background:#e6f2ee}
.ana-week-actions button:active{background:#d9ece3}
#page-analysis .ana-modebar{padding:9px 12px;border-radius:13px;box-shadow:none}
#page-analysis .ana-modebar .section-title{margin-bottom:7px}
#page-analysis .ana-modebar .section-title h2{font-size:12px}
#page-analysis .ana-modebar .section-title .ana-source{font-size:10px;text-align:right}
.ana-data-help{font-size:11px;color:var(--muted);margin-top:8px}
.ana-data-help summary{cursor:pointer}
.ana-data-help .ana-caption{margin:6px 0 0}
.ana-activity-details{margin-top:12px;padding:9px 12px;background:#f7fbf9;border:1px solid #dce9e2;border-radius:13px}
.ana-activity-details summary{cursor:pointer;font-size:12px;font-weight:750;color:#326f61}
#page-analysis .ana-activity-inner{margin-top:9px;box-shadow:none;padding:10px}
#page-analysis .ana-activity-inner .section-title{margin-bottom:8px}
#page-analysis .ana-day-date{font-size:.69rem}
#page-analysis .ana-day-date small{display:block;font-size:9px;line-height:1.15;color:#647d75}
#daily-notes{padding:0}
#daily-notes>.placeholder{padding:8px 0}
#daily-notes .note-entry{padding:4px 0 2px}
#daily-notes .note-entry p{margin:2px 0 5px}
#diary-error:empty{display:none}
#diary-error:not(:empty){margin-bottom:3px}
@media(max-width:350px){.subtab-grid [role="tab"]{font-size:10.5px;padding:5px 1px}.ana-week-actions button{font-size:11px}.ana-week-head strong{font-size:12px}}

/* W4: preview the parsed backup before any destructive restore. */
.settings-restore-preview{background:#f0f8f4;border:1px solid #b5d6c6;border-radius:11px;padding:12px;margin:12px 0 8px;color:#315b4e;font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.settings-restore-preview strong{display:block;font-size:13px;margin-bottom:4px}
.settings-restore-preview p{margin:3px 0}
.settings-restore-preview.error{border-color:#e3b7ac;background:#fff5f2;color:#923d35}
.settings-restore-apply{margin-top:9px;width:100%;min-height:44px}
.settings-restore-apply:disabled{opacity:.52;cursor:not-allowed}
.settings-backup-note{margin-top:9px;font-size:11px;line-height:1.65;color:#566d63}
.settings-legacy-details{margin-top:12px;padding-top:8px;border-top:1px solid #dcebe4}
.settings-legacy-details summary{font-size:11px;color:#376759;cursor:pointer;min-height:35px;display:flex;align-items:center}
.settings-legacy-details button{width:100%;margin-top:4px}
