/* design-tokens.css */
/* DESIGN v2 foundations and approved category palette (2026-10-21). */
:root {
  --cat-life:#8E66B6; --cat-life-ink:#604176; --cat-life-tint:#F1EBF7;
  --cat-work:#4881C6; --cat-work-ink:#24558F; --cat-work-tint:#EAF1FA;
  --cat-study:#81AA3C; --cat-study-ink:#48641F; --cat-study-tint:#EDF4E3;
  --cat-hobby:#ED8B35; --cat-hobby-ink:#8A450D; --cat-hobby-tint:#FEF0E3;
  --cat-sport:#36C8BB; --cat-sport-ink:#14685F; --cat-sport-tint:#E5F6F3;
  --cat-food:#D47E44; --cat-food-ink:#85461E; --cat-food-tint:#F9EEE5;
  --cat-wallet:#F6E08A; --cat-wallet-ink:#5C4700; --cat-wallet-tint:#FBF5DC;

  --ink:#202020; --ink-secondary:#626262; --ink-tertiary:#8a8a8a;
  --inverse:#fff; --canvas:#f7f7f7; --surface:#fff; --surface-sunken:#f2f2f2;
  --line:#e6e6e6; --line-strong:#d4d4d4; --error:#a13629;
  --notice-bg:#fff4e0; --notice-ink:#7a4a00;
  --font-system:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;
  --text-display:26px; --leading-display:34px; --text-title:20px; --leading-title:28px;
  --text-heading:17px; --leading-heading:24px; --text-input:16px; --text-body:15px;
  --leading-body:24px; --text-caption:13px; --leading-caption:20px;
  --text-micro:11px; --leading-micro:16px; --text-number:32px; --leading-number:40px;
  --radius-xs:8px; --radius-sm:12px; --radius-md:20px; --radius-lg:24px; --radius-pill:999px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px;
  --page-gutter:16px; --card-padding:16px; --header-height:72px; --touch-min:44px;
  --elevation:0 8px 24px rgba(0,0,0,.08);
}
@media(max-width:350px){:root{--text-display:22px;--leading-display:30px;--text-number:28px;--leading-number:36px;--card-padding:12px}}

/* styles.css */
:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;--muted:var(--ink-secondary);--legacy-line:var(--line);--green:#387567}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.38}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #77ad9e;outline-offset:3px}button{border:0;background:none}button:hover:not(:disabled){filter:brightness(.96)}svg{width:20px;height:20px;stroke-width:1.7;flex-shrink:0}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-display);letter-spacing:-.8px;margin-bottom:var(--space-3)}h2{font-size:var(--text-title)}h3{font-size:var(--text-input)}small,.muted{color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.app{display:flex;height:100vh;min-height:400px}.sidebar{width:232px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-title)}.brand svg{color:var(--green);width:26px;height:26px}.brand-note{font-size:var(--text-caption);color:var(--muted);margin:var(--space-3) 0 42px var(--space-10)}.sidebar nav{display:grid;gap:var(--space-2)}.nav-button{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-4) var(--space-4);border-radius:var(--radius-sm);text-align:left;min-height:48px}.nav-button.active{background:#e7efec;color:#285e51;font-weight:600}.nav-button .count{margin-left:auto;color:var(--muted);font-size:var(--text-caption);font-weight:400}.side-bottom{margin-top:auto;font-size:var(--text-caption);color:var(--ink-secondary);padding:var(--space-5) var(--space-3) 0}.side-bottom p{color:var(--ink-secondary);margin:var(--space-3) 0 0 var(--space-4)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:var(--space-2)}.workspace{min-width:0;flex:1;display:flex;flex-direction:column;position:relative}.topbar{height:66px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 var(--space-10);display:flex;align-items:center;justify-content:space-between;font-size:var(--text-caption);color:var(--muted)}.topbar>span:first-child{visibility:hidden}.prototype-label{font-size:var(--text-micro);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs)}.scroll-area{overflow-y:auto;flex:1;overscroll-behavior:contain;scrollbar-gutter:stable}.content{max-width:760px;margin:auto;padding:var(--space-10) var(--space-8) var(--space-8)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-8)}.page-heading p{font-size:var(--text-caption);color:var(--muted);margin:0}.date-mark{font-size:var(--text-caption);color:var(--green);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);white-space:nowrap}.day-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-8) 0 var(--space-5);color:var(--muted);font-size:var(--text-caption)}.day-divider:before,.day-divider:after{content:"";height:1px;background:var(--line);flex:1}.record{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-3);border:1px solid transparent}.record.recent{border-color:#93b8ac}.record-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--muted);font-size:var(--text-caption);margin-bottom:var(--space-3)}.record-head span{display:flex;align-items:center;gap:var(--space-2)}.record-head svg{width:16px;height:16px}.record-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;margin:0 0 var(--space-4);font-size:var(--text-input)}.record-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.classify{font-size:var(--text-caption);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--canvas);border-radius:var(--radius-xs);min-height:36px;max-width:100%;overflow-wrap:anywhere;text-align:left}.classify svg{width:13px;height:13px}.record-actions{display:flex;gap:var(--space-1);margin-left:auto}.text-button{font-size:var(--text-caption);color:var(--ink-secondary);min-height:36px;padding:var(--space-2) var(--space-2)}.text-button.accent{color:var(--green)}.save-label{font-size:var(--text-micro);color:var(--green);display:block;margin-top:var(--space-3)}.bottom-area{flex-shrink:0;background:var(--canvas);border-top:1px solid var(--line);padding:var(--space-3) var(--space-8) max(var(--space-3),env(safe-area-inset-bottom))}.bottom-inner{max-width:696px;margin:auto;position:relative}.quick-nav{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);overflow-x:auto;scrollbar-width:none}.quick-nav .nav-button{background:var(--surface);padding:var(--space-2) var(--space-4);min-height:42px;white-space:nowrap;font-size:var(--text-caption);gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.quick-nav .nav-button.active{background:#e7efec;border-color:#d0dfd9;color:#285e51}.quick-nav svg{width:17px;height:17px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--space-3)}.composer textarea{display:block;width:100%;resize:none;border:0;outline:0;background:transparent;max-height:150px;line-height:1.6;padding:0 var(--space-1);color:var(--ink);font-size:var(--text-input)}.composer textarea::placeholder{color:var(--ink-secondary)}.composer:focus-within{border-color:#83a99c;box-shadow:none}.composer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-1)}.composer-bottom span{font-size:var(--text-micro);color:var(--ink-secondary)}.send{width:40px;height:40px;background:var(--green);border-radius:50%;display:grid;place-items:center;color:var(--inverse)}.composer-caption{text-align:center;font-size:var(--text-micro);color:var(--ink-secondary);margin:var(--space-2) 0 0}.latest{position:absolute;bottom:calc(100% + 24px);right:0;display:flex;gap:var(--space-2);align-items:center;background:var(--surface);box-shadow:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-caption)}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin:var(--space-6) 0 var(--space-4)}.section-heading h2{font-size:var(--text-heading);margin:0}.section-heading span{font-size:var(--text-caption);color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(3,1fr);padding:var(--space-6) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--space-8)}.summary>div+div{border-left:1px solid var(--line);padding-left:var(--space-6)}.summary strong{font-size:var(--text-display);font-weight:500}.summary small{font-size:var(--text-caption);margin-left:var(--space-1)}.summary p{margin:var(--space-2) 0 0;font-size:var(--text-micro);color:var(--muted)}.timeline-row{display:grid;grid-template-columns:52px 1fr;gap:var(--space-5)}.timeline-time{font-size:var(--text-caption);color:var(--muted);padding-top:var(--space-6);position:relative}.timeline-time:after{content:"";position:absolute;right:-11px;top:28px;height:calc(100% - 4px);border-right:1px solid var(--line-strong)}.timeline-row:last-child .timeline-time:after{display:none}.timeline-row .record{position:relative}.timeline-row .record:before{content:"";position:absolute;left:-15px;top:27px;width:6px;height:6px;background:#8bab9e;border-radius:50%}.plan-card{border-left:3px solid #bac3ca}.review{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-5)}.review h3{margin-bottom:var(--space-3)}.review textarea{width:100%;border:0;background:transparent;resize:vertical;font-size:var(--text-body);line-height:1.7;min-height:72px;display:block}.review button{display:block;margin:var(--space-3) 0 0 auto}.primary,.secondary{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-body);min-height:44px}.primary{background:var(--green);color:white}.secondary{background:var(--surface-sunken)}.month-control{display:flex;align-items:center;justify-content:space-between;margin:var(--space-3) 0 var(--space-8)}.month-control h2{margin:0;font-size:var(--text-display);font-weight:600}.month-control>div{display:flex;gap:var(--space-1)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:white}.diary-row{display:grid;grid-template-columns:57px 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.diary-date{position:relative;padding-top:var(--space-4)}.diary-date strong{font-size:var(--text-number);font-weight:500;display:block}.diary-date small{font-size:var(--text-caption)}.diary-date:after{content:"";position:absolute;right:-9px;top:28px;height:calc(100% + 23px);border-right:1px dashed #bac4ca}.diary-row:last-child .diary-date:after{display:none}.diary-card{display:block;position:relative;background:white;text-align:left;padding:var(--space-6);border-radius:var(--radius-md);width:100%;min-width:0}.diary-card:before{content:"";position:absolute;left:-19px;top:23px;width:9px;height:9px;background:var(--canvas);border:2px solid #93aaa0;border-radius:50%}.diary-row:first-child .diary-card:before{border-color:var(--green)}.diary-card h3{font-size:var(--text-heading);margin:0 0 var(--space-3)}.diary-card p{font-size:var(--text-body);color:var(--ink-secondary);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-5)}.diary-card footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--text-caption)}.back{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--green);font-size:var(--text-caption);min-height:44px;margin:-16px 0 var(--space-3);padding:0}.empty{padding:45px var(--space-5);background:white;border-radius:var(--radius-md);text-align:center;color:var(--muted);line-height:1.8}.empty h3{color:var(--ink)}.empty button{margin-top:var(--space-2)}.topic-note{font-size:var(--text-caption);color:var(--muted);margin:-8px 0 var(--space-6)}
dialog{border:0;border-radius:var(--radius-lg);padding:var(--space-6);width:min(520px,calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;box-shadow:none}dialog::backdrop{background:#252e3b52}dialog h2{margin:0}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head .icon-button{background:var(--surface-sunken)}.dialog-note{color:var(--muted);font-size:var(--text-caption);margin:var(--space-3) 0 var(--space-5)}dialog label{display:block;font-size:var(--text-caption);margin:var(--space-4) 0 var(--space-2)}dialog textarea,dialog input,dialog select{width:100%;min-width:0;border:1px solid #dce1e5;border-radius:var(--radius-xs);background:var(--surface);padding:var(--space-3) var(--space-3);line-height:1.5}dialog textarea{resize:vertical}dialog input,dialog select{height:46px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);min-width:0}.field-row>div{min-width:0}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}#edit-error{color:#a03f32;font-size:var(--text-caption);margin:var(--space-3) 0 0}.toast{position:fixed;left:50%;top:20px;transform:translateX(-50%);background:#2c443b;color:white;font-size:var(--text-caption);max-width:calc(100% - 32px);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);box-shadow:none;z-index:5;pointer-events:none}
#editor[open]{overflow:hidden}#editor form{max-height:calc(100vh - 92px);display:flex;flex-direction:column;min-height:0}.dialog-scroll{overflow:auto;min-height:0;padding:0 var(--space-1)}.dialog-head{flex:0 0 auto;background:var(--surface);position:sticky;top:0;z-index:2}.dialog-actions{flex:0 0 auto;background:var(--surface);position:sticky;bottom:0;z-index:2;padding-top:var(--space-3);margin-top:0}.sheet-header{position:sticky;top:0;z-index:3;background:var(--surface)}
.todo-toggle{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;color:#387567;font-size:var(--text-caption);white-space:nowrap}.todo-toggle svg{width:15px;height:15px}.todo-complete .chat-text,.todo-complete .memo-card-open{color:var(--ink-secondary);text-decoration:line-through}.todo-complete .chat-bubble,.todo-complete.memo-card{background:var(--canvas)}
.choice-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.inline-choice{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.inline-choice button{min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-secondary);font-size:var(--text-caption)}.inline-choice button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--inverse)}.edit-type-field{min-width:0}.edit-type-field .inline-choice{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%;padding-bottom:var(--space-1)}.edit-type-field .inline-choice::-webkit-scrollbar{display:none}.edit-type-field .inline-choice button{flex:0 0 auto}.edit-calories-field{display:flex;align-items:center;border:1px solid #dce1e5;border-radius:var(--radius-xs);background:var(--surface);overflow:hidden}.edit-calories-field input{border:0;background:transparent;flex:1}.edit-calories-field span{padding:0 var(--space-3);color:var(--ink-secondary);font-size:var(--text-caption)}.edit-calories-field:focus-within{outline:3px solid #77ad9e;outline-offset:3px}.edit-calories-field input:focus-visible{outline:0}.edit-calories-field input::-webkit-outer-spin-button,.edit-calories-field input::-webkit-inner-spin-button{appearance:none}
.edit-category-new{margin-top:var(--space-2);padding:var(--space-2) var(--space-1);color:var(--ink-secondary);font-size:var(--text-caption)}.edit-schedule-choices>div+div{margin-top:var(--space-1)}#edit-category:not([hidden]){margin-top:var(--space-2)}

body[data-page="memo-edit"] .workspace,body[data-page="knowledge-compose"] .workspace{background:var(--surface)}.memo-edit-screen,.knowledge-compose-screen{min-height:100%;background:var(--surface);color:var(--ink)}.memo-full-form,.knowledge-full-form{min-height:100%;display:flex;flex-direction:column}.memo-edit-header,.knowledge-compose-header{height:52px;padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:3;background:var(--surface);border-bottom:1px solid var(--line)}.memo-edit-header h1{font-size:var(--text-heading);line-height:24px;margin:0}.memo-edit-header>button:first-child,.knowledge-compose-header>button:first-child{width:36px;height:36px;border-radius:50%;background:var(--canvas);display:grid;place-items:center}.memo-edit-header svg,.knowledge-compose-header svg{width:20px}.memo-full-save,.knowledge-full-save{font-size:var(--text-input);font-weight:700;padding:var(--space-2);color:var(--ink)}.memo-kind-switch{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-1)}.memo-kind-switch button{height:34px;border-radius:var(--radius-lg);padding:0 var(--space-5);background:var(--surface-sunken);color:var(--ink-secondary);font-size:var(--text-body)}.memo-kind-switch button[aria-pressed="true"]{background:var(--ink);color:var(--inverse)}.memo-full-title{height:52px;margin:var(--space-2) var(--space-5) 0;padding:var(--space-1) 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:var(--text-title);font-weight:600;outline:0}.memo-full-form>textarea{width:calc(100% - 40px);min-height:220px;flex:1;margin:0 var(--space-5);padding:var(--space-4) 0;border:0;background:transparent;resize:none;outline:0;font:16px/27px inherit}.memo-editor-section{padding:var(--space-2) var(--space-5);border-top:1px solid var(--line)}.memo-editor-section h2{font-size:var(--text-caption);color:var(--ink-secondary);margin:0 0 var(--space-2)}.memo-editor-section .memo-compose-categories{height:auto;padding:0}.memo-todo-options{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--space-3)}.memo-todo-options label{grid-column:1/-1;font-size:var(--text-caption);color:var(--ink-secondary)}.memo-todo-options input{height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--canvas)}.memo-complete-toggle{height:44px;border-radius:var(--radius-sm);padding:0 var(--space-4);background:#eaf2ef;color:#387567;font-weight:600}.memo-full-form .memo-compose-toolbar{position:sticky;bottom:0;background:var(--surface);margin-top:auto}.memo-full-form .sheet-error{margin-bottom:var(--space-2)}
@media(min-width:1300px){.content{padding-top:48px}.sidebar{width:252px;padding-left:var(--space-8);padding-right:var(--space-8)}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s ease,border-color .15s ease}}

.plan-reminder{width:100%;display:flex;align-items:center;gap:var(--space-3);text-align:left;background:#fff7df;border:1px solid #eadcae;border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);margin:0 0 var(--space-5);color:var(--ink)}.plan-reminder>svg:first-child{color:#b98218}.plan-reminder>svg:last-child{margin-left:auto;color:var(--ink-secondary)}.plan-reminder span{min-width:0;display:grid;gap:var(--space-1)}.plan-reminder strong{font-size:var(--text-body)}.plan-reminder small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-caption);color:var(--ink-secondary)}
.detection-result{display:grid;gap:var(--space-1);margin:var(--space-4) 0 var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--surface-sunken);color:#345e53}.detection-result strong{font-size:var(--text-caption)}.detection-result span{font-size:var(--text-body)}.detection-result small{font-size:var(--text-caption);color:var(--ink-secondary)}.check-row{display:flex;align-items:center;gap:var(--space-2)}.check-row input,.weekday-picker input{width:18px;height:18px}.weekday-picker{border:0;margin:var(--space-4) 0 0;padding:0}.weekday-picker legend{font-size:var(--text-caption);margin-bottom:var(--space-2)}.weekday-picker label{display:inline-flex;align-items:center;gap:var(--space-1);margin:0 var(--space-3) var(--space-2) 0}.chat-detection{width:100%;display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--ink-secondary);text-align:left;font-size:var(--text-caption)}.chat-detection span{flex:1;min-width:0}.chat-detection svg{width:15px;height:15px}.chat-detection svg:last-child{color:#8b5cf6}
/* Batch 1 components. Phone-specific geometry lives in mobile.css. */
body[data-page="diary"] .workspace,body[data-page="review"] .workspace,body[data-page="settings"] .workspace{background:var(--surface)}
.screen-header{height:44px;display:flex;align-items:center;padding:0 var(--space-1);background:var(--surface);flex-shrink:0}.screen-header h1{flex:1;font-size:var(--text-heading);line-height:24px;margin:0;font-weight:600;white-space:nowrap}.screen-header .icon-button{background:none;flex-shrink:0;color:var(--ink-secondary)}.screen-header .icon-button:first-child{color:var(--ink)}.screen-header .icon-button svg{width:22px;height:22px}
.week-calendar{display:flex;padding:0 var(--space-3) var(--space-2);background:var(--surface-sunken);height:65px;align-items:center}.week-month{width:50px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--ink-secondary);padding:0}.week-month small{font-size:var(--text-micro);line-height:16.5px}.week-month strong{font-size:var(--text-heading);line-height:26px;font-weight:600}.week-days{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;border:0}.week-days button{position:relative;padding:var(--space-1) 0 var(--space-2);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:var(--text-body);line-height:24px}.week-days small{font-size:var(--text-micro);line-height:16.5px;font-weight:400;color:var(--ink-secondary)}.week-days button>span{width:28px;height:26px;border-radius:var(--radius-xs)}.week-days [aria-current]>span{background:#26292e;color:var(--inverse);font-weight:600}.week-days i{position:absolute;bottom:0;width:4px;height:4px;background:#8b5cf6;border-radius:50%}
.overview-scroller{display:flex;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4);overflow-x:auto;scrollbar-width:none;scroll-padding-left:16px}.overview-scroller::-webkit-scrollbar{display:none;width:0;height:0}.time-card{background:var(--surface-sunken);border-radius:var(--radius-lg);width:240px;height:150px;padding:var(--space-4);flex-shrink:0;position:relative}.overview-scroller>.time-card:only-child{width:100%}.time-card-heading{display:flex;align-items:center;gap:var(--space-1);height:32px}.figma-card-icon{display:block;width:22px;height:22px;flex:0 0 22px}.time-card-heading strong{font-size:var(--text-body);line-height:21px;font-weight:600}.time-card-heading small{margin-left:auto;color:var(--ink-secondary);font-size:var(--text-caption);line-height:18px}.time-card-body{display:flex;align-items:center;justify-content:space-between;height:86px}.time-chart{position:relative;width:84px;height:84px;display:grid;place-items:center}.time-chart canvas{position:absolute;width:84px;height:84px}.time-chart>strong{position:relative;font-size:var(--text-body);line-height:18px;font-weight:600}.time-legend{width:90px;display:grid;gap:var(--space-1);font-size:var(--text-caption);line-height:18px}.time-legend>div,.time-legend>div>span{display:flex;align-items:center;gap:var(--space-2)}.time-legend>div{justify-content:space-between}.time-legend i{width:8px;height:8px;border-radius:50%}.time-legend small{font-size:var(--text-caption);color:var(--ink-secondary)}.stats-warning{font-size:var(--text-micro);color:#95671b}.time-card>.stats-warning{position:absolute;bottom:1px;left:16px;font-size:var(--text-micro)}
.health-card{width:220px;height:150px;border:0;box-shadow:none;border-radius:var(--radius-lg);background:var(--surface-sunken);padding:var(--space-4);text-align:left;flex-shrink:0}.health-card>strong{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-body);line-height:21px;height:32px;font-weight:600}.health-card-value{height:38px;display:flex;align-items:baseline;gap:var(--space-1)}.health-card b{font-size:var(--text-display);line-height:28px}.health-card small{font-size:var(--text-caption);line-height:19.5px;color:var(--ink-secondary);white-space:nowrap}.health-bar{height:8px;border-radius:var(--radius-sm);margin:var(--space-2) 0;overflow:hidden}.health-bar i{display:block;height:100%;border-radius:inherit}.health-card.food .health-bar{background:rgba(238,214,208,.8)}.health-card.food .health-bar i{background:#f2734c}.health-card.sport .health-bar{background:rgba(207,223,221,.8)}.health-card.sport .health-bar i{background:#36c8bb}
.diary-schedule{padding:var(--space-3) var(--space-4) var(--space-4)}.schedule-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);height:31.5px}.schedule-heading h2{font-size:var(--text-body);line-height:22.5px;margin:0;font-weight:600}.review-pill{font-size:var(--text-caption);line-height:19.5px;display:flex;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-sunken);white-space:nowrap}.review-pill img{display:block;width:13px;height:13px}.diary-timeline{position:relative}.diary-tick{position:absolute;left:0;right:0;display:flex;align-items:center;height:18px;pointer-events:none}.diary-tick time{width:44px;font-size:var(--text-caption);line-height:18px;color:var(--ink-secondary);flex-shrink:0}.diary-tick i{height:1px;background:var(--surface-sunken);flex:1}.diary-event{position:absolute;display:flex;flex-direction:column;justify-content:flex-start;text-align:left;border-left:3px solid var(--event-color);border-radius:var(--radius-xs);background:var(--event-fill);padding:var(--space-2) var(--space-3);overflow:hidden;min-width:0}.diary-event strong{display:block;font-size:var(--text-body);line-height:21px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diary-event>span{display:block;font-size:var(--text-caption);line-height:25px;color:var(--ink-secondary);white-space:nowrap}.diary-event em{background:#ffffffcc;color:var(--event-label);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);margin-left:var(--space-2);font-style:normal;font-size:var(--text-micro)}.diary-event.compact{padding:var(--space-1) var(--space-3)}.diary-event.compact>span{display:none}.empty-timeline{position:absolute;top:90px;left:60px;color:var(--ink-secondary);font-size:var(--text-caption);background:var(--surface)}.week-navigation{display:flex;justify-content:space-between;padding:var(--space-4) 0}.week-navigation button{padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--text-caption)}.pending-time,.day-records,.saved-review{padding-top:var(--space-5)}.saved-review p{white-space:pre-wrap;overflow-wrap:anywhere}
.diary-timeline-scroll{height:auto;overflow:visible}.diary-todos{margin:var(--space-1) 0 var(--space-6)}.diary-todos h2{font-size:var(--text-body);line-height:23px;margin:0 0 var(--space-2)}.diary-todos>div{display:grid;gap:var(--space-2)}.diary-todo-row{width:100%;min-width:0;min-height:55px;display:flex;align-items:center;gap:var(--space-3);text-align:left;background:var(--surface-sunken);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.diary-todo-row span{font-size:var(--text-body);line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.diary-todo-row small{font-size:var(--text-micro);line-height:17px;color:var(--ink-secondary);white-space:nowrap;flex-shrink:0}.diary-todos+.schedule-heading{margin-top:0}
.diary-event.partial{outline:1px dashed var(--event-color);outline-offset:-1px}.diary-event.partial>span{display:none}.diary-todo-row[data-diary-plan] small{color:var(--ink-secondary)}
#edit-text{height:72px;min-height:72px}.plan-reminder-panel{display:grid;gap:var(--space-2);margin:-5px 0 var(--space-4)}.plan-reminder-panel[hidden]{display:none}.plan-reminder-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);background:var(--surface);text-align:left;font-size:var(--text-caption)}.plan-reminder-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-reminder-item time{flex-shrink:0;color:var(--ink-secondary);font-size:var(--text-caption)}.plan-reminder[aria-expanded="true"]>svg:last-child{transform:rotate(90deg)}
.day-records h3{font-size:var(--text-body);line-height:22.5px;font-weight:600;margin:0 0 var(--space-3)}.diary-record-row{display:block;width:100%;min-width:0;padding:var(--space-3) 0;border-bottom:1px solid var(--line);text-align:left}.diary-record-content{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-body);line-height:21px;color:var(--ink)}.diary-record-meta{display:flex;justify-content:space-between;gap:var(--space-3);min-width:0;margin-top:var(--space-1);color:var(--ink-secondary);font-size:var(--text-caption);line-height:18px}.diary-record-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diary-record-meta time{flex-shrink:0}
.personal-module-icon{width:20px;height:20px;display:block;flex-shrink:0;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.personal-module-icon-food{-webkit-mask-image:url("assets/figma/diary/food.svg");mask-image:url("assets/figma/diary/food.svg")}
.personal-module-icon-sport{-webkit-mask-image:url("assets/figma/diary/sport.svg");mask-image:url("assets/figma/diary/sport.svg")}
.review-form{padding:var(--space-4) var(--space-5) var(--space-8)}.review-time-card{width:100%;height:155px;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);margin-bottom:var(--space-5)}.review-time-card .time-card-heading{height:21px;gap:var(--space-2)}.review-time-card .figma-card-icon{width:15px;height:15px;flex-basis:15px}.review-time-card .time-card-body{height:111px;padding-top:var(--space-2)}.review-chart{width:74px;height:74px}.review-ring{width:52px;height:52px;border:4px solid #64b5f6;border-radius:50%;position:absolute}.review-chart>strong{font-size:var(--text-caption)}.review-time-card .time-legend{width:93px;gap:var(--space-2)}.review-form>label{display:block;color:var(--ink-secondary);font-size:var(--text-caption);line-height:19.5px;padding-bottom:var(--space-2);height:26px}.review-form>textarea{display:block;width:100%;height:97.1px;resize:none;border:0;background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-body);line-height:24.375px;color:var(--ink)}.review-form>textarea::placeholder{color:var(--ink-secondary)}.review-form #review-feeling{margin-bottom:var(--space-6)}.review-save{display:block;width:100%;height:46.485px;margin-top:var(--space-6);border-radius:var(--radius-sm);background:#26292e;color:white;font-size:var(--text-body);font-weight:600}.review-form #review-error{font-size:var(--text-caption);color:#a03f32;margin:var(--space-3) 0 0}
#personal{position:fixed;top:0;right:auto;bottom:0;left:0;margin:0;width:346.164px;max-width:calc(100vw - 56px);height:100vh;max-height:100vh;border-radius:0;padding:var(--space-8) var(--space-5);box-shadow:none;background:var(--surface);scrollbar-width:none;color:var(--ink)}#personal::backdrop{background:rgba(35,38,42,.2)}.personal-profile{display:flex;align-items:center;width:100%;padding:var(--space-3) 0;gap:var(--space-3);height:72px;text-align:left}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface-sunken);color:var(--ink-secondary);flex-shrink:0}.avatar svg{width:23px;height:23px}.personal-profile strong{font-size:var(--text-title);font-weight:600;line-height:28.5px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-profile>svg{width:24px;height:24px}.personal-overview{padding-top:var(--space-5);padding-bottom:var(--space-5);border-bottom:.585px solid var(--line)}.personal-counts{display:flex;justify-content:space-between;height:50px}.personal-counts>div{display:flex;flex-direction:column;gap:var(--space-1)}.personal-counts strong{font-size:var(--text-display);line-height:28px;font-weight:600}.personal-counts small{font-size:var(--text-caption);line-height:18px;color:var(--ink-secondary)}.heatmap{display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(4,16.31px);gap:var(--space-2);margin-top:var(--space-5);height:83.225px}.heatmap span{background:var(--surface-sunken);border-radius:var(--radius-xs)}.heat-months{display:flex;justify-content:space-around;padding-top:var(--space-2);font-size:var(--text-micro);line-height:16.5px;color:var(--ink-secondary)}.personal-nav{display:grid;gap:var(--space-1);padding-top:var(--space-4)}.personal-nav button,.personal-modules>div,.personal-tools>button{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);width:100%;height:48px;text-align:left}.personal-nav strong,.personal-modules strong{font-size:var(--text-input);font-weight:600;line-height:24px;flex:1}.personal-nav small{margin-left:auto;color:var(--ink-secondary);font-size:var(--text-body)}.personal-modules,.personal-tools{display:grid;gap:var(--space-1);border-top:.585px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-4)}.personal-modules>div{height:52px}.personal-tools>button{font-size:var(--text-body)}.personal-tools>button span{flex:1}.personal-tools>button>svg:last-child{width:16px;height:16px;color:var(--ink-secondary)}.switch{width:30px;height:28px;position:relative;padding:0;flex-shrink:0}.switch:before{content:'';position:absolute;left:0;top:6px;width:30px;height:16px;border-radius:var(--radius-xs);background:var(--line-strong)}.switch[aria-checked=true]:before{background:#26292e}.switch span{position:absolute;top:8px;left:2px;width:12px;height:12px;background:white;border-radius:50%}.switch[aria-checked=true] span{left:16px}
.settings-content{background:var(--surface-sunken);padding:var(--space-4);min-height:calc(100vh - 44px)}.settings-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) 0;font-size:var(--text-body);line-height:24px;gap:var(--space-3);text-align:left}.settings-row strong{font-size:var(--text-input);line-height:24px;font-weight:600}.settings-row>span:not(.avatar){display:flex;align-items:center;gap:var(--space-2)}.settings-row>strong+span:not(.avatar){color:var(--ink-secondary)}.settings-row>span:not(.avatar)>svg{width:18px;height:18px}.settings-row.avatar-row{padding:var(--space-3) 0 0;height:58px}.settings-row .avatar{background:var(--surface)}.settings-group{border-top:1px solid var(--line);padding-top:var(--space-4)}.cache-section>div{display:flex;align-items:center;justify-content:space-between}.cache-section strong{font-size:var(--text-input);font-weight:600;line-height:24px}.cache-clear{background:#26292e;color:var(--inverse);font-size:var(--text-body);line-height:21px;border-radius:var(--radius-xs);height:26px;padding:0 var(--space-4)}.cache-section p{font-size:var(--text-caption);line-height:24px;color:var(--ink-secondary);max-width:297px;margin:var(--space-2) 0 0}.cache-link{color:#8b5cf6;font-size:var(--text-caption);line-height:19.5px;padding:var(--space-2) 0 0}.avatar-choice{padding:var(--space-4)}.avatar-choice svg{width:28px;height:28px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line)}.trash-row>span{font-size:var(--text-body);overflow-wrap:anywhere}
body[data-theme="sage"]{--surface:#eff5f0;--accent:#356e56}body[data-theme="sand"]{--surface:#faf1e4;--accent:#8b6740}body[data-theme]:not([data-theme="default"]) .workspace,body[data-theme]:not([data-theme="default"]) .topbar,body[data-theme]:not([data-theme="default"]) .bottom-area,body[data-theme]:not([data-theme="default"]) .settings-content,body[data-theme]:not([data-theme="default"]) .week-calendar{background:var(--surface)}body[data-theme]:not([data-theme="default"]) .primary,body[data-theme]:not([data-theme="default"]) .review-save,body[data-theme]:not([data-theme="default"]) .send{background:var(--accent)}

.exclude-time{display:flex;align-items:center;gap:var(--space-2)}.exclude-time input{width:18px;height:18px;flex-shrink:0}

.settings-group>div.settings-row{padding:var(--space-4) 0}

.week-calendar,.diary-event strong{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}

/* P10 memo list replaces the generic topic cards; dimensions from node 210:13226. */
body[data-page="memo"] .workspace{background:var(--surface-sunken);color:var(--ink)}
body[data-page="memo"] .content{padding:0;max-width:760px;width:100%}
.memo-toolbar{position:sticky;top:0;background:var(--surface-sunken);z-index:2}
.memo-header{height:44px;padding:0 var(--space-1) 0 var(--space-4);display:flex;align-items:center}
.memo-header h1{margin:0;flex:1;font-size:var(--text-heading);line-height:24px;font-weight:600;letter-spacing:0}
.memo-header>button{width:44px;height:44px;padding:0;display:grid;place-items:center;flex-shrink:0}
.memo-header svg{width:20px;height:20px;stroke-width:1.8}
.memo-filters{height:44.657px;display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-4) var(--space-2);overflow-x:auto;scrollbar-width:none}
.memo-filter-group{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}
.memo-filter{background:var(--surface);border:.585px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-caption);line-height:19.5px;white-space:nowrap}
.memo-filter[aria-pressed="true"]{color:var(--inverse);background:#26292e;border-color:#26292e}
.memo-category-more{padding:0;width:24px;height:24px;display:grid;place-items:center;color:var(--ink-secondary)}
.memo-category-more svg{width:14px;height:14px}
.memo-list{padding:var(--space-3) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.memo-swipe-shell{position:relative;overflow:hidden;border-radius:var(--radius-lg);min-width:0;touch-action:pan-y}.memo-swipe-actions{position:absolute;right:0;top:0;bottom:0;width:168px;display:grid;grid-template-columns:repeat(3,56px);background:var(--surface-sunken);visibility:hidden}.memo-swipe-shell.open .memo-swipe-actions{visibility:visible}.memo-swipe-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1);color:var(--ink-secondary);font-size:var(--text-micro);line-height:14px}.memo-swipe-actions button:last-child{color:#ad514a}.memo-swipe-actions svg{width:18px;height:18px}.memo-swipe-shell .memo-card{position:relative;z-index:1;margin:0;transition:transform .18s ease}.memo-swipe-shell.open .memo-card{transform:translateX(-168px)}
.memo-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-4);flex-shrink:0;min-width:0;overflow:hidden}
.memo-card-open{display:block;width:100%;padding:0;text-align:left}
.memo-card h2{font-size:var(--text-input);font-weight:600;line-height:22px;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.memo-card p{font-size:var(--text-body);line-height:22.75px;color:rgba(35,38,42,.7);margin:var(--space-2) 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}
.memo-card footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);min-height:22px}
.memo-badge{background:var(--surface-sunken);color:var(--ink-secondary);box-shadow:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-caption);line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.memo-badge.warm{color:#c77a00;background:#fff7e6;border-radius:var(--radius-xs);box-shadow:none;padding:var(--space-1) var(--space-2)}
.memo-card time{margin-left:auto;flex-shrink:0;font-size:var(--text-caption);line-height:18px;color:var(--ink-secondary)}
.memo-link{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:#8b5cf6;font-size:var(--text-caption);line-height:19.5px;text-decoration:none;min-width:0}
.memo-link svg{width:13px;height:13px}.memo-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.memo-search-field{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}
.memo-search-field input{border:0;background:transparent;min-width:0;width:100%;height:36px;font-size:var(--text-body);outline-offset:-2px}
.memo-header>.memo-search-cancel{width:48px;font-size:var(--text-caption)}
.memo-empty{padding:44px var(--space-3);text-align:center;color:var(--ink-secondary);font-size:var(--text-body)}
#memo-category-error{font-size:var(--text-caption);color:#a03f32}

/* Batch 3 bottom sheets: P03, P05 and P06. */
#batch3-sheet{padding:0;border:0;background:var(--surface);color:var(--ink);overflow:hidden}
#batch3-sheet::backdrop{background:rgba(0,0,0,.7)}
#batch3-body,.sheet-form{min-width:0}
.sheet-form{display:flex;flex-direction:column}
.sheet-handle{width:40px;height:4px;border-radius:var(--radius-lg);background:var(--surface-sunken);margin:var(--space-3) auto var(--space-1);flex:0 0 auto;touch-action:none}
.sheet-header{height:40px;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;padding:0 var(--space-5);flex:0 0 auto}
.sheet-header h2{font-size:var(--text-heading);line-height:25.5px;text-align:center;margin:0;font-weight:700}
.sheet-header button{height:44px;padding:0;color:var(--ink-secondary);font-size:var(--text-input);line-height:24px}
.sheet-header button:first-child{text-align:left}.sheet-header button:last-child{text-align:right;font-weight:600}
.sheet-header button:disabled{opacity:.45}
.sheet-error{min-height:20px;margin:var(--space-2) var(--space-5) 0;color:#a03f32;font-size:var(--text-caption);line-height:20px}
.memo-compose{height:338px}
.memo-compose-title{height:42px;margin:0 var(--space-5) var(--space-1);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:var(--space-2) 0;font-size:var(--text-input)}
.memo-compose>textarea{width:calc(100% - 40px);height:160px;min-height:160px;margin:0 var(--space-5);padding:var(--space-2) 0 var(--space-3);border:0;border-radius:0;background:transparent;resize:none;font:18px/30px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}
.memo-compose>textarea::placeholder{color:var(--ink-secondary)}
.memo-compose-categories{height:43px;display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:0 var(--space-5) var(--space-3)}
.memo-compose-chip{flex:0 0 auto;border-radius:var(--radius-lg);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);font-size:var(--text-caption);line-height:19.5px;white-space:nowrap}
.memo-compose-chip[aria-pressed="true"]{background:#eaf2ef;color:#387567}
.memo-compose-extra{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5) var(--space-2);font-size:var(--text-caption)}.memo-compose-extra[hidden]{display:none}
.memo-pending{display:flex;align-items:center;gap:var(--space-2)}.memo-pending input{width:18px;height:18px}
.memo-plan{margin-left:auto;color:#387567;font-weight:600}
.memo-compose-toolbar{margin:auto var(--space-5) 0;border-top:.585px solid var(--line);padding:var(--space-3) 0 var(--space-3);display:flex;align-items:center;justify-content:space-between}
.memo-compose-toolbar>div{display:flex;gap:var(--space-1)}.memo-compose-toolbar button{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-lg);color:var(--ink-secondary)}
.memo-compose-toolbar button svg{width:20px;height:20px}.memo-compose-toolbar .tool-active{background:#eaf2ef;color:#387567}.memo-compose-toolbar button strong{font-size:var(--text-title);font-weight:500}
.memo-compose-toolbar .memo-arrow-save{width:40px;height:40px;background:#26292e;color:var(--inverse)}.memo-compose-toolbar .memo-arrow-save:disabled{opacity:.45}
.health-form{padding-bottom:var(--space-5);max-height:calc(100vh - 12px);overflow:auto}
.health-form fieldset{border:0;margin:0;padding:var(--space-1) var(--space-5) var(--space-4);min-width:0}.health-form legend,.health-form>label{display:block;margin:0 var(--space-5) var(--space-2);color:var(--ink-secondary);font-size:var(--text-body);line-height:21px}.health-form fieldset legend{margin:0 0 var(--space-2)}
.health-choices{display:flex;gap:var(--space-3);overflow-x:auto;scrollbar-width:none}.health-choices button{height:34px;min-width:60px;padding:0 var(--space-4);border:.585px solid var(--line);border-radius:var(--radius-lg);white-space:nowrap;font-size:var(--text-body)}.health-choices button[aria-pressed="true"]{background:#26292e;border-color:#26292e;color:var(--inverse)}
.sport-choices{gap:var(--space-2)}.sport-choices button{min-width:58px;padding:0 var(--space-4)}
.health-form>textarea{margin:0 var(--space-5) var(--space-5);width:calc(100% - 40px);height:70px;min-height:70px;padding:var(--space-3) var(--space-4);border:.585px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);resize:none;font:16px/24px inherit}
.health-form>textarea::placeholder,.health-input input::placeholder{color:var(--ink-secondary)}
.health-input{height:48px;margin:0 var(--space-5) var(--space-5);padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-3);border:.585px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--ink-secondary)}
.health-input svg{width:18px;height:18px;color:#ef5748;flex:0 0 auto}.health-input input{flex:1;min-width:0;border:0;background:transparent;padding:0;font-size:var(--text-input);height:48px}.health-input span{font-size:var(--text-body)}
.batch3-sheet input:focus,.batch3-sheet textarea:focus{outline:0;box-shadow:none}.sheet-error:empty{display:none}
@media(min-width:761px){#batch3-sheet{width:min(620px,calc(100% - 40px));max-width:620px;border-radius:var(--radius-lg);margin:auto}.memo-compose{height:338px}.health-form{padding-bottom:var(--space-6)}}
.memo-todo-options{grid-template-columns:1fr}.memo-todo-options label{grid-column:auto}.memo-todo-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.memo-todo-actions button{height:44px;border-radius:var(--radius-sm);padding:0 var(--space-3);font-weight:600}.memo-todo-actions .memo-plan{margin:0;background:var(--surface-sunken);color:var(--ink-secondary)}.memo-todo-actions .memo-complete-toggle{background:#eaf2ef;color:#387567}
.memo-full-form{min-height:calc(100vh - 62px)}.memo-edit-header{border-bottom:0}.memo-full-title{height:auto;min-height:54px;margin:var(--space-5) var(--space-5) 0;padding:0;border-bottom:0;color:var(--ink);font-size:var(--text-title);line-height:30px;font-weight:700}.memo-created{margin:0 var(--space-5) var(--space-4);color:var(--ink-secondary);font-size:var(--text-caption);line-height:20px}.memo-category-section{border-top:0;padding-top:0;padding-bottom:var(--space-3)}.memo-category-section h2{margin-bottom:var(--space-2)}.memo-category-section .memo-compose-categories{gap:var(--space-2);white-space:nowrap}.memo-todo-options{padding-top:var(--space-3);padding-bottom:var(--space-4)}.memo-todo-options label{font-size:var(--text-caption)}.memo-todo-options .memo-todo-actions[hidden]{display:none}.memo-content-heading{position:relative;margin:0 var(--space-5);border-bottom:1px solid var(--line);padding:var(--space-4) 0 var(--space-3);color:var(--ink);font-size:var(--text-body);line-height:24px;font-weight:600}.memo-content-heading:after{content:"";position:absolute;bottom:-1px;left:0;width:56px;height:3px;border-radius:var(--radius-xs);background:var(--ink)}.memo-full-form>textarea{min-height:220px;margin:0 var(--space-5);padding:var(--space-5) 0;color:var(--ink);font-size:var(--text-body);line-height:26px}.memo-full-form .memo-compose-toolbar{margin:0 var(--space-5) auto;padding:var(--space-3) 0;background:var(--surface)}
.dialog-head,.sheet-header{position:sticky;top:0;z-index:3;background:var(--surface)}


/* Swipe actions retain the shared record flags and mobile vertical scrolling. */
.memo-status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-secondary)}.memo-status svg{width:14px;height:14px}.memo-status[aria-label="已收藏"] svg{fill:currentColor}.memo-swipe-actions button[aria-pressed="true"]{color:var(--ink);background:var(--line)}
@media(prefers-reduced-motion:reduce){.memo-swipe-shell .memo-card{transition:none}}

.memo-card footer{flex-wrap:wrap;row-gap:4px}

/* mobile.css */
/* Phone geometry follows Figma frame 210:9207 (402 × 874). */
@media(min-width:0px){html,body,body *{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none;width:0;height:0}}
.preview-status{display:none}.type-nav{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.type-nav button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-size:var(--text-caption);line-height:20px}.type-nav button.selected{color:var(--inverse);background:var(--ink);border-color:var(--ink)}
.header-date{display:flex;align-items:center;gap:var(--space-2);justify-content:center;font-weight:600;font-size:var(--text-heading);color:var(--ink)}.header-date svg{width:12px;height:12px;color:var(--ink-secondary)}.header-date:disabled{opacity:1}.header-date:disabled svg{display:none}
.attachment-button{width:36px;height:36px;display:grid;place-items:center;color:var(--ink-secondary)}.attachment-button svg{width:22px;height:22px}
.chat-list{display:flex;flex-direction:column;gap:var(--space-3)}.chat-time-divider{text-align:center;color:var(--ink-secondary);font-size:var(--text-caption);line-height:18px;margin:var(--space-3) 0 var(--space-1)}.chat-item{display:flex;flex-direction:column;align-items:flex-end;max-width:100%}.chat-bubble{background:var(--surface);border-radius:var(--radius-lg) var(--radius-xs) var(--radius-lg) var(--radius-lg);padding:var(--space-3) var(--space-4);width:max-content;min-width:min(192px,100%);max-width:min(332px,100%)}.chat-text{font-size:var(--text-input);line-height:26px;letter-spacing:-.3125px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--ink);min-width:0}.chat-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);min-height:36px}.chat-category{padding:0;display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1;color:var(--ink-secondary);font-size:var(--text-caption);font-weight:600;line-height:19.5px;text-align:left;overflow-wrap:anywhere}.chat-category.work{color:#4881c6}.chat-category.learning{color:#81aa3c}.chat-category.life,.chat-category.knowledge{color:#8e66b6}.chat-category.sport{color:#36c8bb}.chat-category.food{color:#ca6b4b}.chat-category.todo{color:var(--ink-secondary)}.category-symbol{width:26px;height:26px;border-radius:var(--radius-xs);display:grid;place-items:center;background:color-mix(in srgb,currentColor 16%,white);flex-shrink:0}.category-symbol svg{width:18px;height:18px;stroke-width:1.8}.chat-actions{position:relative;flex-shrink:0;margin-left:auto}.chat-more{width:28px;height:28px;padding:0;display:grid;place-items:center;color:var(--ink-secondary);border-radius:50%}.chat-more svg{width:17px;height:17px}.chat-more[aria-expanded="true"]{background:var(--surface-sunken)}.chat-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:8;width:154px;display:grid;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:none}.chat-menu.above{top:auto;bottom:calc(100% + 8px)}.chat-menu[hidden]{display:none}.chat-menu button{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-xs);text-align:left;white-space:nowrap;font-size:var(--text-caption);color:var(--ink)}.chat-menu button:hover,.chat-menu button:focus-visible{background:var(--surface-sunken)}.chat-menu svg{width:16px;height:16px}.chat-menu [data-trash]{color:#aa514c}.chat-link{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:#8b5cf6;text-decoration:none;font-size:var(--text-caption);line-height:19.5px;overflow-wrap:anywhere}.chat-link svg{width:14px;height:14px}.empty-history{text-align:center;color:var(--ink-secondary);font-size:var(--text-caption)}
.menu-row{width:100%;display:flex;text-align:left;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-1);border-bottom:1px solid var(--line);font-size:var(--text-body)}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:var(--space-4) 0}.calendar-heading button{width:40px;height:40px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);text-align:center}.calendar-grid>span{font-size:var(--text-caption);color:var(--ink-secondary);min-height:24px}.calendar-grid button{height:40px;border-radius:var(--radius-sm);position:relative;font-size:var(--text-caption)}.calendar-grid button.selected{background:var(--ink);color:white}.calendar-grid button i{position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;background:#8b5cf6;border-radius:50%}.calendar-today{margin-top:var(--space-3);width:100%}
.attachment-draft{display:flex;gap:var(--space-2);overflow-x:auto;padding:0 0 var(--space-2);max-width:100%}.attachment-chip{display:flex;align-items:center;gap:var(--space-1);background:white;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);max-width:240px;flex-shrink:0;font-size:var(--text-caption)}.attachment-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip button{width:36px;height:36px;padding:var(--space-2);flex-shrink:0}.attachment-chip svg{width:16px;height:16px}.record-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);min-width:0}.record-attachments a{display:flex;flex-direction:column;gap:var(--space-1);max-width:100%;font-size:var(--text-caption);color:var(--ink-secondary);overflow-wrap:anywhere;text-decoration:none}.record-attachments img{width:160px;max-width:100%;max-height:180px;object-fit:cover;border-radius:var(--radius-sm)}.search-field{display:flex;align-items:center;gap:var(--space-1)}.search-field input{min-width:0;flex:1}.search-field button{width:44px;height:44px}.search-panel>label,.search-filters label{display:grid;gap:var(--space-2);color:var(--ink-secondary);font-size:var(--text-caption)}.search-filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-3) 0}.search-filters label:first-child{grid-column:1/-1}.search-filters input,.search-filters select{width:100%;min-width:0;height:42px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.search-empty{color:var(--ink-secondary);font-size:var(--text-body);padding:var(--space-6) 0}.search-result{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid var(--line)}.search-result>button:first-child{min-width:0;padding:var(--space-4) var(--space-1);text-align:left;display:grid;gap:var(--space-1)}.search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-body)}.search-result small{font-size:var(--text-caption)}.search-result span{display:flex;align-items:center;gap:var(--space-1);color:#387567;font-size:var(--text-caption)}.search-result span svg{width:14px;height:14px}.search-result>button:last-child{width:44px;height:44px;display:grid;place-items:center;color:var(--ink-secondary)}.menu-row small{display:block;margin-top:var(--space-1);font-size:var(--text-caption)}.calendar-handle:focus-visible{outline-offset:0}
.diary-nav-asset{display:none}
@media(min-width:761px){.quick-nav{display:none}.topbar{color:var(--ink)}}
@media(min-width:0px){
 body.keyboard-open .app{height:var(--visual-height);position:fixed;top:var(--visual-top);left:var(--visual-left);right:calc(100vw - var(--visual-left) - var(--visual-width));width:var(--visual-width);max-height:var(--visual-height)}body.keyboard-open .quick-nav{display:none}body.keyboard-open .preview-status{display:none}body.keyboard-open dialog{max-height:calc(var(--visual-height) - 12px)}
 body.has-record-dock.keyboard-open .workspace{--record-dock-bottom:8px}
 :root{background:var(--surface-sunken);color:var(--ink);--muted:var(--ink-secondary);--legacy-line:var(--line);--green:#23262a;font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif}
 .app{min-height:0}.sidebar{display:none}.workspace{overflow:hidden}.topbar{height:44px;min-height:44px;padding:0;border:0;background:var(--surface-sunken)}.topbar .icon-button{width:44px;height:44px;background:transparent;color:var(--ink)}.topbar .icon-button svg{width:20px;height:20px}.header-date{padding:var(--space-3) 0;line-height:24px}.header-date #mobile-title{font-size:var(--text-heading);font-weight:600}.header-date:disabled{cursor:default}
 .design-preview .preview-status{display:block;height:62px;flex-shrink:0;overflow:hidden;background:var(--surface-sunken)}.preview-status img{display:block;width:100%;height:62px;object-fit:contain}
 .scroll-area{scrollbar-gutter:auto;scrollbar-width:none;min-height:0}.content{padding:var(--space-6) var(--space-4) var(--space-4);max-width:none;margin:0}.day-divider{font-size:var(--text-caption);line-height:18px;gap:var(--space-3);margin:0 0 var(--space-3);white-space:nowrap}.day-divider:before,.day-divider:after{background:var(--surface-sunken)}.page-heading{margin:0 0 var(--space-5)}.page-heading h1{display:none}.page-heading p{font-size:var(--text-caption)}.date-mark{background:var(--surface-sunken);color:var(--ink-secondary);font-size:var(--text-micro)}
 .bottom-area{padding:var(--space-2) var(--space-3) var(--space-3);border-top:.585px solid var(--line);background:var(--surface-sunken);flex-shrink:0}.bottom-inner{max-width:none}.type-nav{display:none}
 .composer{display:flex;align-items:center;gap:var(--space-1);border:0;box-shadow:none;border-radius:var(--radius-lg);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);min-height:52px;height:auto;background:var(--surface)}.composer textarea{flex:1;width:0;min-width:0;height:42px;min-height:42px;padding:var(--space-2) 0;resize:none;font-size:var(--text-input);line-height:26px;letter-spacing:-.3125px;font-family:inherit}.composer textarea::placeholder{color:var(--ink-secondary)}.composer-bottom{margin:0;align-self:center;gap:var(--space-1)}.composer-bottom>span,.composer-caption{display:none}.send{height:36px;width:36px;background:var(--ink)}.attachment-button{padding:0}.composer:focus-within{box-shadow:none}
 .quick-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;height:calc(65px + max(20px,env(safe-area-inset-bottom)));padding:var(--space-1) 0 max(var(--space-5),env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);flex-shrink:0;overflow:visible}.quick-nav .nav-button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-1);padding:var(--space-3) 0 0;min-height:0;height:64px;border:0;border-radius:0;background:none;font-size:var(--text-micro);line-height:16.5px;font-weight:400;color:var(--ink-secondary)}.nav-icon{display:grid;place-items:center;width:26px;height:26px}.quick-nav .nav-button.active{background:none;color:var(--ink);font-weight:500}.quick-nav .nav-button.active .nav-icon{background:var(--ink);color:var(--inverse);border-radius:var(--radius-xs)}.quick-nav .nav-button svg{width:20px;height:20px;stroke-width:1.8}.quick-nav .nav-button.active svg{width:18px;height:18px}.diary-nav-asset{display:none}
 .record{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.record-body{font-size:var(--text-input);line-height:26px}.record-foot{border-top:1px solid var(--line);padding-top:var(--space-2)}.classify{background:none;color:var(--ink)}.record-head,.record-actions .text-button{font-size:var(--text-micro)}.summary{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface);border:0;border-radius:var(--radius-md)}.summary strong{font-size:var(--text-display)}.summary>div+div{padding-left:var(--space-3)}.summary p{font-size:var(--text-micro)}.section-heading h2{font-size:var(--text-heading)}.section-heading span{font-size:var(--text-micro)}.diary-row{grid-template-columns:42px 1fr;gap:var(--space-6)}.diary-card{padding:var(--space-5);border-radius:var(--radius-lg)}.diary-card h3{font-size:var(--text-input)}.diary-card p{font-size:var(--text-body)}.diary-card footer{font-size:var(--text-micro)}.back{margin:0 0 var(--space-3)}.review{background:white;border-radius:var(--radius-lg)}.review textarea{font-size:var(--text-input)}
 dialog{margin:auto 0 0;width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;padding:var(--space-5) var(--space-5) max(var(--space-6),env(safe-area-inset-bottom));box-shadow:none}dialog::backdrop{background:#0006}.dialog-head h2{font-size:var(--text-heading)}.dialog-head .icon-button{width:36px;height:36px}.field-row{gap:var(--space-3)}.dialog-actions{display:grid;grid-template-columns:1fr 2fr}.toast{top:56px;font-size:var(--text-caption)}.design-preview .toast{top:118px}.plan-reminder{margin:0 0 var(--space-3);background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:var(--radius-md)}.plan-reminder>svg:first-child{color:var(--ink-secondary)}#editor[open]{height:min(92vh,760px)}#editor form{height:100%;max-height:none}.dialog-scroll{padding-right:var(--space-1)}.dialog-actions{padding-bottom:max(0px,env(safe-area-inset-bottom))}
 .chat-detection{font-size:var(--text-micro);line-height:17px}.weekday-picker label{margin-right:var(--space-2)}.detection-result{margin-top:var(--space-3)}

}
/* P08, P09, P17 have their own measured page headers; P16 is a full-height drawer. */
@media(min-width:0px){
 body[data-page="diary"] .content,body[data-page="review"] .content,body[data-page="settings"] .content{padding:0;margin:0;max-width:none}
 body[data-page="review"] .preview-status,body[data-page="settings"] .preview-status{background:var(--surface)}
 body[data-page="diary"] .quick-nav .nav-icon>svg{display:none}
 body[data-page="diary"] .quick-nav .diary-nav-asset{display:block;object-fit:contain}
 body[data-page="diary"] .quick-nav [data-page="home"] .diary-nav-asset{width:24px;height:24px}
 body[data-page="diary"] .quick-nav [data-page="diary"] .diary-nav-asset{width:16px;height:16px}
 body[data-page="diary"] .quick-nav [data-page="memo"] .diary-nav-asset{width:20px;height:20px}
 body[data-page="diary"] .quick-nav [data-page="knowledge"] .diary-nav-asset{width:24px;height:25px}
 body[data-page="settings"] .settings-content{min-height:calc(100vh - 44px);width:400px;max-width:100%}
 body.design-preview[data-page="settings"] .settings-content{min-height:calc(100vh - 106px)}
 .screen-header{position:sticky;top:0;z-index:2}.screen-header h1{font-size:var(--text-heading);letter-spacing:0;line-height:24px}.screen-header .icon-button{height:44px;width:44px}
 .week-calendar{position:sticky;top:0;z-index:2}.diary-screen{background:var(--surface)}.time-card,.health-card{scroll-snap-align:start}.overview-scroller{scroll-snap-type:x proximity}.review-form{padding-top:var(--space-4)}
}
@media(min-width:761px){body[data-page="diary"] .content{padding:var(--space-6) var(--space-8)}.screen-header{border-bottom:1px solid var(--line)}.review-form,.settings-content{max-width:620px;margin:auto}.settings-content{min-height:600px}.week-calendar{border-radius:var(--radius-md);height:76px}.time-card,.health-card{flex:1;min-width:210px}.diary-schedule{padding-top:var(--space-4)}}

@media(min-width:0px){
 body[data-page="memo"] .content,body[data-page="memo-edit"] .content{padding:0;margin:0;max-width:none}
 .memo-edit-screen{min-height:calc(100vh - 62px)}
 .memo-header,.memo-list{width:100%}
 .memo-filters{width:100%;max-width:none;padding-right:var(--space-4)}
 #batch3-sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
 #batch3-sheet.memo{height:min(338px,90vh)}
 #batch3-sheet.food{height:min(682px,90vh)}
 #batch3-sheet.sport{height:min(652px,90vh)}
}
@media(min-width:761px){
 body[data-page="memo"] .content{padding-top:var(--space-5)}
}
.batch-plan-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--space-2);align-items:end;margin:var(--space-2) 0}.batch-plan-row label{min-width:0;margin:0;color:var(--ink-secondary);font-size:var(--text-caption)}.batch-plan-row input{margin-top:var(--space-1);width:100%;min-width:0;padding:var(--space-2);height:40px}.batch-plan-row input[type="date"]{font-size:var(--text-caption)}.batch-plan-row input:not([type="date"]){font-size:var(--text-caption)}#batch-plan-error{min-height:18px;color:#a03f32;font-size:var(--text-caption)}#batch-plan-form .dialog-actions button{white-space:nowrap}#batch-plan-form .dialog-actions .primary{flex:1}

/* Memo uses the knowledge editor structure; only time/category settings are additional. */
 .memo-edit-meta .memo-time-chip{display:flex;align-items:center;gap:var(--space-1);max-width:100%;height:auto;min-height:29px;white-space:normal;text-align:left}
 .memo-time-chip svg{width:14px;height:14px;flex-shrink:0}
 .memo-time-chip[aria-expanded="true"]{background:#eaf2ef;color:#387567}

@media(min-width:0px){
 .memo-full-form{padding-bottom:var(--space-2)}
 .memo-edit-meta{flex-wrap:wrap;overflow:visible}
 .memo-property-panel{margin:var(--space-1) var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface)}
 .memo-property-panel .memo-compose-categories{display:flex;flex-wrap:wrap;gap:var(--space-2);height:auto;padding:0;overflow:visible}
 .memo-property-panel .memo-compose-chip{min-height:40px;font-size:var(--text-caption);padding:var(--space-2) var(--space-3)}
 .memo-property-panel label{display:block;font-size:var(--text-caption);color:var(--ink-secondary);margin:0 0 var(--space-2)}
 .memo-date-row{display:flex;gap:var(--space-2);align-items:center}
 .memo-date-row input{flex:1;min-width:0;width:100%;height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--surface);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
 .memo-date-row button{min-width:44px;min-height:44px;color:var(--ink-secondary);font-size:var(--text-caption)}
 .memo-property-hint{font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary);margin:var(--space-2) 0 0}
 .memo-property-panel .memo-todo-actions{margin-top:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap}
 .memo-property-panel .memo-todo-actions button{min-height:42px;height:auto;flex:1;white-space:nowrap;font-size:var(--text-caption);font-weight:500;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}
 .memo-todo-actions .memo-plan svg{width:14px;height:14px}
 .memo-edit-attachments{margin:var(--space-3) var(--space-4)}
 .memo-full-form .sheet-error:empty{display:none}
}

/* batch4.css */
/* Batch 4: P04, P11 and P12. */
body[data-page="knowledge"] .workspace,body[data-page="knowledge-category"] .workspace{background:var(--surface-sunken);color:var(--ink)}
body[data-page="knowledge"] .content,body[data-page="knowledge-category"] .content{padding:0;max-width:760px;width:100%}
.knowledge-screen,.knowledge-category-screen{min-height:100%;background:var(--surface-sunken)}
.knowledge-home-header{height:44px;display:flex;align-items:center;padding:0 var(--space-1) 0 var(--space-4);gap:0;background:var(--surface-sunken);border:0}
.knowledge-category-header{height:56px;display:flex;align-items:center;padding:0 var(--space-4);gap:var(--space-1);background:var(--surface-sunken);border-bottom:1px solid transparent}
.knowledge-home-header h1{margin:0;flex:1;font-size:var(--text-heading);line-height:24px;font-weight:600;letter-spacing:0}
.knowledge-category-header h1{margin:0;font-size:var(--text-title);line-height:30px;font-weight:700;letter-spacing:0}
.knowledge-home-header>div,.knowledge-category-header>div{display:flex;margin-left:auto}
.knowledge-home-header button,.knowledge-category-header button{width:44px;height:44px;padding:0;display:grid;place-items:center;color:var(--ink);flex-shrink:0}
.knowledge-home-header svg{width:20px;height:20px;stroke-width:1.8}
.knowledge-category-header svg{width:22px;height:22px;stroke-width:1.8}
.knowledge-search-field{height:40px;display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface);box-shadow:none}
.knowledge-search-field svg{width:18px;height:18px;color:var(--ink-secondary);flex-shrink:0}.knowledge-search-field input{height:40px;width:100%;min-width:0;padding:0;border:0;background:transparent;font-size:var(--text-body)}.knowledge-search-field input:focus{outline:0}
.knowledge-home-header>.knowledge-search-field+button,.knowledge-category-header.searching>button:last-child{width:48px;font-size:var(--text-caption)}
.knowledge-category-list{padding:var(--space-2) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.knowledge-category-card{min-height:90px;width:100%;display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-lg);text-align:left;overflow:hidden}
.knowledge-category-card>svg{width:20px;height:20px;color:var(--ink-secondary)}.knowledge-symbol{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-sm);font-size:var(--text-display);color:var(--ink-secondary)}.knowledge-symbol.blue{background:#e7f1ff}.knowledge-symbol.yellow{background:#fff4d2}.knowledge-symbol.mint{background:#dff6f2}.knowledge-symbol.gray{background:var(--surface-sunken)}.knowledge-symbol.purple{background:#f1eafb}
.knowledge-category-copy{display:flex;flex-direction:column;min-width:0}.knowledge-category-copy strong{font-size:var(--text-title);line-height:27px;font-weight:700}.knowledge-category-copy>span{font-size:var(--text-body);line-height:21px;color:var(--ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knowledge-category-copy small{font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.knowledge-search-results{padding:var(--space-2) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.knowledge-search-results>button{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);text-align:left}.knowledge-search-results strong{font-size:var(--text-input)}.knowledge-search-results span{color:var(--ink-secondary);font-size:var(--text-caption)}
.knowledge-empty{padding:48px var(--space-5);text-align:center;color:var(--ink-secondary)}.knowledge-empty p{margin:0 0 var(--space-4)}.knowledge-empty .secondary{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--surface)}

.knowledge-category-header{background:var(--canvas);border:0}.knowledge-category-header>h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-category-header>div{gap:0}.knowledge-category-header svg{width:20px;height:20px;stroke-width:1.8}.knowledge-category-header.searching{gap:var(--space-1)}.knowledge-category-header.searching>.knowledge-search-field{margin-left:0}
.knowledge-timeline{padding:var(--space-3) var(--space-4) var(--space-8);display:flex;flex-direction:column;gap:var(--space-3)}
.knowledge-timeline-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:stretch;min-height:75px}
.knowledge-timeline-row>time{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-2);color:var(--ink-secondary);line-height:1}.knowledge-timeline-row>time small{font-size:var(--text-micro);line-height:16px}.knowledge-timeline-row>time strong{font-size:var(--text-title);line-height:22px;font-weight:700}.knowledge-timeline-row>time span{font-size:var(--text-caption);line-height:18px;color:var(--ink-secondary)}
.knowledge-course-card{min-width:0;min-height:75px;padding:var(--space-4);background:var(--surface);border-radius:var(--radius-md);display:flex;align-items:center;overflow:hidden}.knowledge-course-card>button{display:block;width:100%;padding:0;text-align:left;min-width:0}.knowledge-course-card>button strong{display:block;font-size:var(--text-input);line-height:21px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knowledge-course-excerpt{display:block;margin-top:var(--space-2);color:var(--ink-secondary);font-size:var(--text-caption);line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#batch4-sheet{padding:0;border:0;background:var(--surface);color:var(--ink);overflow:hidden}#batch4-sheet::backdrop{background:rgba(0,0,0,.7)}
#batch4-body,.knowledge-compose{min-width:0;width:100%}.knowledge-compose{height:430px;display:flex;flex-direction:column}.knowledge-compose>.sheet-header{flex:0 0 auto}.knowledge-compose>#knowledge-title{width:calc(100% - 40px);height:46px;margin:var(--space-1) var(--space-5) 0;padding:var(--space-1) 0;border:0;border-radius:0;background:transparent;font-size:var(--text-title);line-height:30px;font-weight:600}.knowledge-compose>#knowledge-title::placeholder{color:var(--ink-secondary)}.knowledge-compose>#knowledge-text{width:calc(100% - 40px);height:138px;min-height:100px;margin:0 var(--space-5);padding:var(--space-1) 0 var(--space-3);border:0;border-radius:0;background:transparent;resize:none;font:18px/30px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}.knowledge-compose>#knowledge-text::placeholder{color:var(--ink-secondary)}.knowledge-compose input:focus,.knowledge-compose textarea:focus{outline:0}
.knowledge-chips{height:54px;display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:var(--space-1) var(--space-5) var(--space-3)}.knowledge-chip{flex:0 0 auto;border-radius:var(--radius-lg);background:var(--surface-sunken);padding:var(--space-2) var(--space-3);font-size:var(--text-body);line-height:21px;white-space:nowrap}.knowledge-chip[aria-pressed="true"]{background:#e7f2ef;color:#387567}
.knowledge-extra{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:0 var(--space-5) var(--space-2)}.knowledge-extra[hidden]{display:none}.knowledge-extra label{font-size:var(--text-micro);color:var(--ink-secondary)}.knowledge-extra input{width:100%;height:34px;margin-top:var(--space-1);padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-xs);font-size:var(--text-caption);background:var(--canvas)}
.knowledge-toolbar{margin:auto var(--space-5) 0;border-top:.585px solid var(--line);padding:var(--space-3) 0 var(--space-3);display:flex;align-items:center;justify-content:space-between}.knowledge-toolbar>div{display:flex;gap:var(--space-1)}.knowledge-toolbar button{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:var(--radius-lg);color:var(--ink-secondary)}.knowledge-toolbar button svg{width:20px;height:20px}.knowledge-toolbar button strong{font-size:var(--text-title);font-weight:500}.knowledge-toolbar .tool-active{color:#387567}.knowledge-toolbar .knowledge-arrow-save{width:40px;height:40px;background:#26292e;color:var(--inverse)}.knowledge-toolbar .knowledge-arrow-save:disabled{opacity:.35}.knowledge-compose>.sheet-error{margin-top:0}
#knowledge-category-error{font-size:var(--text-caption);color:#a03f32}
.knowledge-compose-header>div{display:flex;align-items:center;gap:var(--space-3)}.knowledge-compose-header>div>button:first-child{width:34px;height:34px;border-radius:50%;background:var(--canvas);display:grid;place-items:center;color:var(--ink-secondary)}.knowledge-compose-header>div svg{width:18px}.knowledge-full-form>#knowledge-title{width:calc(100% - 40px);height:44px;margin:var(--space-3) var(--space-5) 0;padding:0;border:0;background:transparent;color:var(--ink);font:700 20px/29px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif;outline:0}.knowledge-compose-created{margin:var(--space-1) var(--space-5) 0;color:var(--ink-secondary);font-size:var(--text-caption);line-height:20px}.knowledge-full-form>.knowledge-chips{height:49px;padding:var(--space-2) var(--space-5)}.knowledge-compose-tabs{height:47px;display:flex;align-items:flex-end;gap:var(--space-8);padding:0 var(--space-8);border-bottom:1px solid var(--line)}.knowledge-compose-tabs span{height:47px;position:relative;padding:var(--space-3) 0 var(--space-3);color:var(--ink-secondary);font-size:var(--text-body);line-height:24px;font-weight:500}.knowledge-compose-tabs span:first-child{color:var(--ink)}.knowledge-compose-tabs span:first-child:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:27px;height:3px;border-radius:var(--radius-xs);background:var(--ink)}.knowledge-full-form>#knowledge-text{display:block;width:calc(100% - 40px);min-height:240px;flex:1;margin:var(--space-5) var(--space-5) 0;padding:0;border:0;background:transparent;resize:none;outline:0;color:var(--ink);font:14px/24px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif}.knowledge-full-form>.knowledge-extra{grid-template-columns:1fr;padding:var(--space-3) var(--space-5);border-top:1px solid var(--line)}.knowledge-full-form>.knowledge-toolbar{position:sticky;bottom:0;background:var(--surface);margin-top:auto;padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.knowledge-full-form>.sheet-error{margin-bottom:var(--space-2)}

@media(min-width:0px){
 body[data-page="knowledge"] .content,body[data-page="knowledge-category"] .content,body[data-page="knowledge-compose"] .content{padding:0;margin:0;max-width:none}
 .knowledge-compose-screen{min-height:calc(100vh - 62px)}
 #batch4-sheet{margin:auto 0 0;width:100%;max-width:100%;height:min(430px,90vh);border-radius:var(--radius-lg) var(--radius-lg) 0 0}
 body.keyboard-open #batch4-sheet{height:min(430px,calc(var(--visual-height) - 12px))}.knowledge-compose{height:100%}
}
@media(min-width:761px){
 body[data-page="knowledge"] .content,body[data-page="knowledge-category"] .content{padding-top:var(--space-5)}
 body[data-page="knowledge-compose"] .content{padding:var(--space-5) var(--space-8)}.knowledge-compose-screen{max-width:720px;margin:auto;border-radius:var(--radius-lg);overflow:hidden;min-height:760px;box-shadow:none}
 .knowledge-screen,.knowledge-category-screen{border-radius:var(--radius-md);overflow:hidden;min-height:700px}.knowledge-category-list{display:grid;grid-template-columns:1fr 1fr}
 #batch4-sheet{width:min(620px,calc(100% - 40px));max-width:620px;border-radius:var(--radius-lg);margin:auto}.knowledge-compose{height:430px}
}

/* batch5.css */
/* Batch 5 follows the 402 × 874 Figma detail frames. */
.knowledge-detail-screen,.knowledge-edit-screen{min-height:100%;background:var(--surface);color:var(--ink);font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif}
.knowledge-detail-header,.knowledge-edit-header{height:50px;padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:space-between;background:var(--surface)}
.knowledge-detail-header button,.knowledge-edit-header button{border:0;background:var(--canvas);color:var(--ink);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0}
.knowledge-detail-header button svg,.knowledge-edit-header button svg{width:20px;height:20px;stroke-width:2.2}
.knowledge-detail-header>div,.knowledge-edit-header>div{display:flex;align-items:center;gap:var(--space-3)}
.knowledge-detail-header.searching{gap:var(--space-2)}.knowledge-detail-header.searching label{height:38px;flex:1;display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--canvas);padding:0 var(--space-3);color:var(--ink-secondary)}.knowledge-detail-header.searching label svg{width:18px}.knowledge-detail-header.searching input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:15px/22px inherit}.knowledge-detail-header.searching>button:last-child{width:auto;border-radius:0;background:transparent;font-size:var(--text-body)}
.knowledge-detail-title{padding:var(--space-2) var(--space-5) 0}.knowledge-detail-title h1{font-size:var(--text-title);line-height:29px;letter-spacing:-.35px;margin:0;font-weight:700;color:var(--ink)}.knowledge-detail-title p{font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary);margin:var(--space-1) 0 0}
.knowledge-detail-meta,.knowledge-edit-tags{display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:var(--space-2) var(--space-5) var(--space-2)}.knowledge-detail-meta>span,.knowledge-detail-meta>button:not(.knowledge-category-add),.knowledge-edit-tags>span,.knowledge-edit-tags>button:not(:first-child){flex:0 0 auto;height:29px;border:0;border-radius:var(--radius-lg);background:var(--canvas);padding:var(--space-1) var(--space-3);color:var(--ink-secondary);font-size:var(--text-caption);line-height:21px;white-space:nowrap}.knowledge-detail-meta .knowledge-category-add,.knowledge-edit-tags>button:first-child{flex:0 0 auto;width:28px;height:28px;border:1px solid #d8dde5;border-radius:50%;background:var(--surface);color:var(--ink-secondary);display:grid;place-items:center;padding:0}.knowledge-category-add svg,.knowledge-edit-tags>button:first-child svg{width:16px;height:16px}.knowledge-more-tags{font-weight:500}
.knowledge-detail-tabs,.knowledge-edit-tabs{height:47px;display:flex;align-items:flex-end;gap:var(--space-8);padding:0 var(--space-8);border-bottom:1px solid var(--line)}.knowledge-detail-tabs button,.knowledge-edit-tabs span{height:47px;position:relative;border:0;background:transparent;padding:var(--space-3) 0 var(--space-3);color:var(--ink-secondary);font-size:var(--text-body);line-height:24px;font-weight:500}.knowledge-detail-tabs button[aria-selected="true"],.knowledge-edit-tabs span:first-child{color:var(--ink)}.knowledge-detail-tabs button[aria-selected="true"]:after,.knowledge-edit-tabs span:first-child:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:27px;height:3px;border-radius:var(--radius-xs);background:var(--ink)}
.knowledge-detail-panel{padding:var(--space-4) var(--space-5) 60px}.knowledge-detail-copy{font-size:var(--text-body);line-height:24px;letter-spacing:0;color:var(--ink)}.knowledge-detail-copy p{margin:0 0 var(--space-5)}.knowledge-detail-copy .knowledge-detail-lead{font-size:var(--text-title);line-height:28px;font-weight:700;color:var(--ink);margin-bottom:var(--space-5)}.knowledge-detail-copy ul{list-style:none;margin:0;padding:0}.knowledge-detail-copy li{position:relative;padding-left:var(--space-4);margin:0 0 var(--space-5)}.knowledge-detail-copy li:before{content:"•";position:absolute;left:0;top:0;color:var(--ink)}.knowledge-detail-copy mark,.knowledge-detail-title mark{background:#fff1a8;color:inherit;border-radius:var(--radius-xs)}.knowledge-search-result{margin:-12px 0 var(--space-4);border-radius:var(--radius-sm);background:var(--canvas);padding:var(--space-2) var(--space-3);color:var(--ink-secondary);font-size:var(--text-caption)}.knowledge-detail-assets{border-top:1px solid var(--line);padding-top:var(--space-5)}.knowledge-detail-assets h2{font-size:var(--text-input);margin:0 0 var(--space-3)}
.knowledge-reference-list{display:flex;flex-direction:column;gap:var(--space-3)}.knowledge-reference-card{min-height:63px;width:100%;display:flex;align-items:center;gap:var(--space-3);text-align:left;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3) var(--space-3)}.knowledge-reference-card .reference-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#fff0d9;font-size:var(--text-title)}.knowledge-reference-card strong{min-width:0;flex:1;color:var(--ink-secondary);font-size:var(--text-body);line-height:21px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knowledge-reference-card>svg{width:18px;color:var(--ink-secondary)}.knowledge-reference-card.unavailable{color:var(--ink-secondary)}.knowledge-reference-card.unavailable>div{min-width:0;flex:1;display:flex;flex-direction:column}.knowledge-reference-card.unavailable strong{color:var(--ink-secondary)}.knowledge-reference-card.unavailable small{font-size:var(--text-caption)}.knowledge-reference-card.unavailable>button{width:32px;height:32px}.knowledge-reference-empty{text-align:center;padding:55px var(--space-5);color:var(--ink-secondary)}.knowledge-reference-empty p{font-size:var(--text-input);color:var(--ink);margin:0 0 var(--space-2)}.knowledge-reference-empty span{display:block;font-size:var(--text-caption);margin-bottom:var(--space-4)}.knowledge-reference-empty button{border-radius:var(--radius-sm);background:var(--ink);color:var(--inverse);padding:var(--space-2) var(--space-4)}.reference-manager-list{max-height:46vh;overflow:auto}.reference-manager-list .menu-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-row.danger{color:#b5473b}

.knowledge-edit-screen{min-height:100%}.knowledge-edit-screen form{min-height:100%;display:flex;flex-direction:column}.knowledge-edit-header{height:50px;position:sticky;top:0;z-index:3}.knowledge-edit-header>div{gap:var(--space-2)}.knowledge-edit-header .knowledge-edit-save{width:auto;border-radius:0;background:transparent;color:var(--ink);padding:0 var(--space-1);font-size:var(--text-input);font-weight:700}.knowledge-edit-header button:disabled{color:var(--ink-secondary);background:var(--canvas);opacity:1}
:-webkit-any(#knowledge-edit-title,#memo-compose-title){display:block;width:calc(100% - 32px);min-height:29px;margin:var(--space-2) var(--space-4) 0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:700 20px/29px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.35px;outline:0;resize:none;overflow:hidden}.knowledge-edit-created{margin:var(--space-1) var(--space-4) 0;color:var(--ink-secondary);font-size:var(--text-caption);line-height:20px}.knowledge-edit-tags{padding:var(--space-2) var(--space-4) var(--space-2)}.knowledge-edit-tabs{padding:0 var(--space-6);gap:var(--space-8)}.knowledge-edit-tabs span{font-size:var(--text-body)}
:-webkit-any(#knowledge-edit-text,#memo-compose-text){display:block;width:calc(100% - 32px);height:360px;min-height:220px;margin:var(--space-5) var(--space-4) 0;padding:0;border:0;border-radius:0;background:transparent;resize:none;outline:0;color:var(--ink);font:13.5px/23px "PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0}.knowledge-edit-toolbar{position:sticky;bottom:0;margin-top:auto;min-height:55px;padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:space-between}.knowledge-edit-toolbar>div{display:flex;gap:var(--space-3)}.knowledge-edit-toolbar button{width:34px;height:34px;display:grid;place-items:center;padding:0;color:var(--ink-secondary)}.knowledge-edit-toolbar button svg{width:20px;height:20px}.knowledge-edit-toolbar button strong{font-size:var(--text-title);font-weight:500}.knowledge-edit-toolbar output{color:var(--ink-secondary);font-size:var(--text-caption)}.knowledge-edit-screen .sheet-error{margin:0;padding:0 var(--space-4) var(--space-2);color:#a03f32;font-size:var(--text-caption)}

@media(min-width:0px){
 body[data-page="knowledge-detail"],body[data-page="knowledge-edit"]{background:var(--surface)}
 body[data-page="knowledge-detail"] .content,body[data-page="knowledge-edit"] .content{padding:0;margin:0;max-width:none}
 body[data-page="knowledge-detail"] .preview-status,body[data-page="knowledge-edit"] .preview-status{background:var(--surface)}
 body[data-page="knowledge-detail"] .scroll-area,body[data-page="knowledge-edit"] .scroll-area{background:var(--surface)}
 .knowledge-detail-screen,.knowledge-edit-screen{min-height:calc(100vh - 62px)}
 body.keyboard-open .knowledge-edit-toolbar{position:sticky;bottom:0}
 body.keyboard-open :-webkit-any(#knowledge-edit-text,#memo-compose-text){height:210px}
}
@media(min-width:761px){
 body[data-page="knowledge-detail"] .content,body[data-page="knowledge-edit"] .content{padding:var(--space-5) var(--space-8)}
 .knowledge-detail-screen,.knowledge-edit-screen{max-width:720px;margin:auto;border-radius:var(--radius-lg);overflow:hidden;min-height:760px;box-shadow:none}
 :-webkit-any(#knowledge-edit-text,#memo-compose-text){height:430px}
}

/* soft-mono.css */
/* Reference-led visual layer. Layout routes, fields and timeline geometry stay in existing modules. */
:root{--green:#151515;--muted:var(--ink-secondary);--legacy-line:var(--line);--ui-canvas:var(--canvas);--ui-ink:var(--ink);--ui-secondary:#696969}
body{color:var(--ui-ink);background:var(--ui-canvas)}
.app,.workspace,.topbar,.bottom-area,.memo-screen,.knowledge-screen,.knowledge-category-screen{background:var(--ui-canvas)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--line-strong);outline-offset:3px}
button.primary,.review-save,.send{background:var(--ink);color:var(--inverse);border-radius:var(--radius-pill)}
button.secondary{background:var(--surface-sunken);color:var(--ink);border-radius:var(--radius-pill)}
.toast{background:var(--ink);box-shadow:none;border-radius:var(--radius-md)}
.chat-bubble{border-radius:var(--radius-lg);background:var(--surface)}
.chat-text{color:var(--ink)}.chat-footer{border-color:var(--line)}.chat-time-divider{color:var(--ink-secondary)}
.composer{background:var(--surface);border-color:transparent;box-shadow:none;border-radius:var(--radius-lg)}
.composer:focus-within{box-shadow:none}
.chat-menu{border-color:var(--line);border-radius:var(--radius-md);box-shadow:none}
.chat-menu button{border-radius:var(--radius-sm)}
.memo-filter,.memo-badge,.knowledge-more-tags{border-color:transparent;color:var(--ink-secondary);background:var(--surface-sunken)}
.memo-filter[aria-pressed="true"]{background:var(--ink);color:var(--inverse);border-color:var(--ink)}
.memo-card{background:var(--surface);border-color:transparent;border-radius:var(--radius-lg)}
.memo-card h2{color:var(--ink)}.memo-card p{color:var(--ink-secondary)}.memo-card time{color:var(--ink-secondary)}
.memo-search-field,.knowledge-search-field,.knowledge-category-header.searching label{background:var(--surface-sunken);border-color:transparent;border-radius:var(--radius-pill)}
.knowledge-category-card{background:var(--surface);border-radius:var(--radius-lg)}
.knowledge-category-copy strong{color:var(--ink)}.knowledge-category-copy small{color:var(--ink-secondary)}
.knowledge-symbol{background:var(--surface-sunken)!important;color:var(--ink)}
.knowledge-detail-screen,.knowledge-edit-screen,.memo-edit-screen,.knowledge-compose-screen{background:var(--surface);color:var(--ink)}
.knowledge-detail-header,.knowledge-edit-header,.memo-edit-header,.knowledge-compose-header{background:var(--surface)}
.knowledge-detail-header button,.knowledge-edit-header button,.memo-edit-header>button:first-child,.knowledge-compose-header>button:first-child{background:var(--surface-sunken);color:var(--ink)}
.knowledge-edit-header .knowledge-edit-save,.memo-full-save,.knowledge-full-save{background:var(--ink);color:var(--inverse);border-radius:var(--radius-pill);padding:0 var(--space-4);min-height:34px;font-size:var(--text-body)}
.knowledge-edit-header .knowledge-edit-save:disabled{background:var(--surface-sunken);color:var(--ink-secondary)}
.knowledge-edit-tags>span,.knowledge-edit-tags>button:not(:first-child),.knowledge-detail-meta>span{background:var(--surface-sunken);color:var(--ink-secondary)}
.memo-time-chip[aria-expanded="true"]{background:var(--surface-sunken);color:var(--ink)}
.memo-property-panel{background:var(--canvas);border-radius:var(--radius-md)}
.memo-property-panel .memo-compose-chip{border-radius:var(--radius-pill)}
.memo-complete-toggle{background:var(--surface-sunken);color:var(--ink)}
.knowledge-edit-toolbar{border-color:var(--line)}.knowledge-edit-toolbar button{color:var(--ink-secondary)}
.knowledge-detail-tabs,.knowledge-edit-tabs{border-color:var(--line)}
.knowledge-reference-card{background:var(--canvas);border-color:transparent;border-radius:var(--radius-md)}
.time-card,.health-card{background:var(--surface-sunken);border-radius:var(--radius-lg)}
.week-calendar{background:var(--canvas)}.week-days{border-color:var(--line)}.week-days [aria-current]>span{background:var(--ink)}
.diary-tick i{background:var(--surface-sunken)}.diary-tick time{color:var(--ink-secondary)}
.diary-event{border-radius:var(--radius-xs)}.diary-event strong{color:var(--ink)}.diary-event>span{color:var(--ink-secondary)}
.diary-todo-row,.review-pill{background:var(--surface-sunken);border-radius:var(--radius-md);color:var(--ink)}
.plan-reminder{background:var(--surface);border-color:var(--line);border-radius:var(--radius-md);color:var(--ink)}
.plan-reminder>svg:first-child{color:var(--ink)}
.review-form textarea{background:var(--surface-sunken);border-color:transparent;border-radius:var(--radius-md)}
.settings-group,.personal-overview,.personal-modules,.personal-tools{background:var(--surface);border-radius:var(--radius-lg)}
.settings-row,.personal-modules>div,.personal-tools>button{border-color:var(--line)}
.settings-content,.personal-drawer{background:var(--canvas)}
.dialog-head h2{color:var(--ink);font-size:var(--text-title);font-weight:650}
dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:none}
dialog::backdrop{background:#0006}
dialog .dialog-head .icon-button{background:var(--surface-sunken);color:var(--ink)}
dialog textarea,dialog input,dialog select{background:var(--surface-sunken);border-color:transparent;border-radius:var(--radius-md);color:var(--ink)}
dialog label{color:var(--ink-secondary)}.dialog-actions{gap:var(--space-3)}
.inline-choice button{background:var(--surface-sunken);border-color:transparent;border-radius:var(--radius-pill);color:var(--ink-secondary)}
.inline-choice button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--inverse)}
.planner-range-label{color:var(--ink-secondary)}
@media(min-width:0px){
 .workspace,.topbar,.bottom-area,.quick-nav{background:var(--canvas)}
 .topbar,.bottom-area,.quick-nav{border-color:var(--line)}
 .quick-nav .nav-button{color:var(--ink-secondary)}.quick-nav .nav-button.active{color:var(--ink)}
 .quick-nav .nav-button.active .nav-icon{background:var(--ink);color:var(--inverse)}
 .memo-toolbar,.memo-header,.knowledge-header,.knowledge-category-header{background:var(--canvas)}
 .memo-card{border-radius:var(--radius-lg)}.memo-badge{background:var(--surface-sunken)}
 dialog{border-radius:var(--radius-lg) var(--radius-lg) 0 0}
 .screen-header{background:var(--canvas)}
}
@media(min-width:761px){
 .desktop-header{background:var(--canvas);border-color:var(--line)}
 .desktop-brand{color:var(--ink)}
 .desktop-header nav{align-items:center;gap:var(--space-3)}
 .desktop-header nav button{height:36px;padding:0 var(--space-5);border-radius:var(--radius-pill);color:var(--ink-secondary)}
 .desktop-header nav button[aria-current="page"]{color:var(--inverse);background:var(--ink);font-weight:550}
 .desktop-header nav button[aria-current="page"]:after{display:none}
 .desktop-account{background:var(--surface-sunken);color:var(--ink);border-radius:50%}
 .desktop-account:hover{background:var(--surface-sunken)}
 .planner-workspace>.memo-screen{background:var(--canvas);border-color:var(--line)}
 .planner-workspace .memo-toolbar{background:var(--canvas)}
 .planner-workspace .memo-filter{background:transparent;color:var(--ink-secondary)}
 .planner-workspace .memo-filter[aria-pressed="true"]{background:var(--ink);color:var(--inverse)}
 .planner-workspace .memo-list{padding-top:var(--space-2)}
 .planner-workspace .memo-swipe-shell{margin-bottom:var(--space-3);border-radius:var(--radius-md)}
 .planner-workspace .memo-card{background:var(--surface);border:0;border-radius:var(--radius-md)}
 .planner-workspace .memo-card-open{padding:var(--space-4) var(--space-4) 48px}
 .planner-workspace .memo-card h2{color:var(--ink);font-weight:600}
 .planner-workspace .memo-card p{color:var(--ink-secondary)}
 .planner-workspace .memo-arrange{right:12px;bottom:10px;color:var(--ink);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3)}
 .planner-workspace .memo-arrange:hover{background:var(--surface-sunken)}
 .planner-heading,.planner-controls{background:var(--canvas)}
 .planner-heading-actions{color:var(--ink-secondary)}
 .planner-heading-actions button{color:var(--ink);background:var(--surface);border-radius:var(--radius-pill)}
 .planner-controls{border-color:var(--line)}
 .planner-controls button{background:var(--surface);color:var(--ink);border-color:transparent;border-radius:var(--radius-pill)}
 .planner-controls input{color:var(--ink)}
 .planner-calendar{background:var(--surface)}
 .planner-summary{border-color:var(--line)}.planner-summary summary{color:var(--ink-secondary)}.planner-summary summary>span{color:var(--ink-secondary)}
 .planner-summary-body{background:var(--canvas)}.planner-pending{border-color:var(--line);color:var(--ink-secondary)}
 .planner-pending button{color:var(--ink)}
 .planner-calendar .diary-event{border-radius:var(--radius-xs)}
 .planner-drag-preview{background:#eeeeeedc;border-color:var(--ink);color:var(--ink);border-radius:var(--radius-xs)}
 .planner-calendar .diary-event em{background:#ffffffc9}
 body[data-page^="knowledge"] .workspace{background:var(--canvas)}
 .knowledge-screen,.knowledge-category-screen{background:var(--canvas)}
 .knowledge-header,.knowledge-category-header{background:var(--canvas)}
}
.knowledge-home-header{background:var(--canvas)}
body[data-page="knowledge"] .workspace,body[data-page="knowledge-category"] .workspace{background:var(--canvas)}
@media(min-width:761px){.planner-workspace .memo-swipe-shell{flex-shrink:0;margin-bottom:0}}
.composer-date-preview{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2);color:var(--ink-secondary);font-size:var(--text-caption);line-height:18px}
.composer-date-preview span{min-width:0;overflow-wrap:anywhere}
.composer-date-preview button{flex-shrink:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink);font-size:var(--text-caption)}
.composer-date-preview.has-date-error{color:#9b423b}
.memo-swipe-hint{margin:0;padding:var(--space-1) var(--space-4) var(--space-2);color:var(--ink-secondary);font-size:var(--text-micro);line-height:17px}

.memo-swipe-actions button{min-height:44px}
.desktop-record-menu{position:fixed;z-index:100;width:198px;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none}
.desktop-record-menu button{width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:39px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);text-align:left;font-size:var(--text-caption);color:var(--ink)}
.desktop-record-menu button:hover,.desktop-record-menu button:focus{background:var(--surface-sunken);outline:0}
.desktop-record-menu button.danger{color:#b3443a}.desktop-record-menu button.danger:hover{background:#fbf0ee}
.desktop-record-menu svg{width:16px;height:16px;flex-shrink:0}
.desktop-record-details h3{font-size:var(--text-heading);line-height:27px;overflow-wrap:anywhere;margin:var(--space-5) 0 var(--space-2)}
.desktop-record-details .detail-meta{font-size:var(--text-caption);color:var(--ink-secondary);line-height:20px}
.desktop-record-details .detail-copy{font-size:var(--text-body);line-height:24px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto}
@media(min-width:761px){.planner-workspace .memo-swipe-actions{display:none}.planner-workspace .memo-swipe-shell.open .memo-card{transform:none}}

/* assistant.css */
/* Mobile canvas: neutral interface, expressive companions. */
:root{--green:#202020;--ui-ink:var(--ink);--ui-canvas:var(--canvas);--muted:var(--ink-secondary);--legacy-line:var(--line);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--surface-sunken);color:var(--ink)}.app{display:block!important;max-width:480px;width:100%;height:100vh;min-height:0!important;margin:0 auto;background:var(--canvas);box-shadow:none}.sidebar,.desktop-header,.preview-status{display:none!important}.workspace{width:100%;height:100%;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--canvas)}.topbar{height:64px;min-height:64px;padding:var(--space-2) var(--space-5);background:transparent;border:0}.topbar .header-date{font-size:var(--text-heading)}.topbar #header-date svg{display:none}.topbar #header-left{width:42px;height:42px}.scroll-area{flex:1;overflow:auto;min-height:0;scrollbar-width:none}.content{max-width:none;padding:var(--space-4) var(--space-5) var(--space-8);margin:0}.bottom-area{padding:var(--space-3) var(--space-4);background:var(--canvas);border:0}.bottom-inner{max-width:none}.composer{min-height:56px;border-radius:var(--radius-lg);background:white;border:1px solid var(--line);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);box-shadow:none}.composer textarea{font-size:var(--text-input)}.send,button.primary,.review-save{background:var(--ink)!important;color:white!important;border-radius:var(--radius-lg)}.composer-bottom>span{display:none}.composer-caption{display:none}.quick-nav{display:grid!important;grid-template-columns:repeat(4,1fr);height:calc(72px + env(safe-area-inset-bottom));flex-shrink:0;padding:var(--space-2) var(--space-2) max(var(--space-2),env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);gap:0}.quick-nav[hidden]{display:none!important}.quick-nav .nav-button{background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);height:56px;padding:var(--space-1) 0;color:var(--ink-secondary);font-size:var(--text-micro);min-width:0}.quick-nav .nav-button.active{color:var(--ink)}.quick-nav .nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm)}.quick-nav .nav-button.active .nav-icon{background:var(--ink);color:white}.quick-nav svg{width:21px;height:21px}.diary-nav-asset{display:none!important}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--line-strong);outline-offset:3px}button:disabled{opacity:.45}svg{flex-shrink:0}.pa-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-1) 0 var(--space-6)}.pa-heading h1{font-size:var(--text-display);letter-spacing:-1px;margin:var(--space-2) 0}.eyebrow{font-size:var(--text-micro);letter-spacing:1.4px;color:var(--ink-secondary);margin:0}.pa-actions{display:flex;align-items:center;gap:var(--space-2)}.pa-pill{background:white;border:1px solid var(--line);border-radius:var(--radius-lg);min-height:44px;padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;font-size:var(--text-caption)}.pa-pill svg{width:17px}.buddy-avatar{display:inline-flex;position:relative;width:72px;height:76px;flex-shrink:0;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-md);align-items:center;justify-content:center;font-size:var(--text-display);font-weight:800;color:var(--ink);transform:rotate(-4deg);background:#bddbfa}.buddy-eyes{position:absolute;bottom:8px;font-size:var(--text-body);letter-spacing:6px;line-height:12px;padding-left:var(--space-2)}.buddy-gentle{background:#c4e8a4;transform:rotate(4deg)}.buddy-bright{background:#ffce8b;transform:rotate(-5deg)}.buddy-wise{background:#d5c7fb;transform:rotate(3deg)}#header-left .buddy-avatar{width:34px;height:36px;font-size:var(--text-input);border-radius:var(--radius-sm)}#header-left .buddy-eyes{font-size:var(--text-micro);bottom:4px;letter-spacing:3px;padding-left:var(--space-1)}.companion-hero{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:var(--space-6);width:100%;background:transparent;padding:var(--space-4) 0 var(--space-6)}.companion-hero small{font-size:var(--text-caption);color:var(--ink-secondary)}.companion-hero h1{font-size:var(--text-display);line-height:1.4;letter-spacing:-.6px;margin:var(--space-2) 0}.companion-hero p{font-size:var(--text-caption);line-height:1.7;color:var(--ink-secondary);margin:0}.buddy-change{display:inline-flex;align-items:center;font-size:var(--text-caption);margin-top:var(--space-4);color:var(--ink)}.buddy-change svg{width:14px}.local-notice{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);font-size:var(--text-micro);line-height:1.6;color:var(--ink-secondary);display:flex;align-items:center;gap:var(--space-2)}.local-notice svg{width:14px}.pa-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:var(--space-5) 0 var(--space-8)}.pa-shortcuts button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);font-size:var(--text-caption)}.pa-shortcuts svg{width:21px}.section-heading h2{font-size:var(--text-input)}.section-heading .text-button{font-size:var(--text-caption)}.pa-empty{padding:var(--space-10) var(--space-5);text-align:center;border-radius:var(--radius-md);border:1px dashed var(--line-strong);color:var(--ink-secondary);margin:var(--space-4) 0}.pa-empty>svg{width:28px;height:28px;color:var(--ink-secondary)}.pa-empty h2{font-size:var(--text-body);color:var(--ink-secondary);margin:var(--space-4) 0 var(--space-2)}.pa-empty p{font-size:var(--text-caption);line-height:1.8;margin:0}.saved-result{margin-bottom:var(--space-4)}.saved-result .chat-item{margin-bottom:0}.result-link{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-micro);color:var(--ink-secondary);background:transparent;padding:var(--space-3) var(--space-2)}.result-link svg{width:13px;height:13px}#type-nav{display:flex!important;align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--text-micro);color:var(--ink-secondary)}#capture-kind{width:auto;max-width:150px;background:var(--surface-sunken);border:0;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-caption);min-height:34px}#type-nav>button{margin-left:auto;min-width:36px;height:36px;background:transparent}#type-nav svg{width:18px}.ledger-month{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-caption);margin-bottom:var(--space-5)}.ledger-month input{width:155px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;padding:var(--space-2)}.balance-card{background:var(--ink);color:white;border-radius:var(--radius-lg);padding:var(--space-6)}.balance-card>small{color:var(--ink-secondary);font-size:var(--text-caption)}.balance-card>strong{display:block;font-size:var(--text-number);margin:var(--space-3) 0 var(--space-8);overflow-wrap:anywhere}.balance-card>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.balance-card span{font-size:var(--text-micro);color:var(--ink-secondary)}.balance-card b{display:block;color:white;font-size:var(--text-input);margin-top:var(--space-2);overflow-wrap:anywhere}.ledger-add{width:100%;min-height:46px;margin:var(--space-5) 0;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.ledger-add svg{width:18px}.ledger-filter{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-3);margin:var(--space-1) 0 var(--space-5)}.ledger-filter label{font-size:var(--text-micro);color:var(--ink-secondary)}.ledger-filter input,.ledger-filter select{width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);margin-top:var(--space-2);font-size:var(--text-caption);height:44px}.ledger-row{display:flex;align-items:center;width:100%;background:var(--surface);text-align:left;border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-3);gap:var(--space-3)}.ledger-row:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.ledger-row:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.ledger-row>span:nth-child(2){min-width:0;flex:1}.ledger-row strong{font-size:var(--text-body);display:block;overflow-wrap:anywhere}.ledger-row small{display:block;font-size:var(--text-micro);color:var(--ink-secondary);margin-top:var(--space-2)}.ledger-row>b{font-size:var(--text-body);max-width:45%;overflow-wrap:anywhere}.ledger-icon{background:var(--surface-sunken);border-radius:var(--radius-sm);width:32px;height:36px;display:grid;place-items:center}.ledger-icon svg{width:17px}.persona-grid{display:grid;gap:var(--space-4)}.persona-card{padding:var(--space-5);background:var(--canvas);border:2px solid transparent;border-radius:var(--radius-lg);display:grid;grid-template-columns:60px 1fr;gap:var(--space-4)}.persona-card.selected{border-color:var(--ink)}.persona-card .buddy-avatar{width:54px;height:60px;font-size:var(--text-display);border-radius:var(--radius-md)}.persona-card h2{font-size:var(--text-title);margin:0}.persona-card h2 small{display:block;font-size:var(--text-micro);font-weight:400;color:var(--ink-secondary);margin-top:var(--space-2)}.persona-card p{font-size:var(--text-caption);line-height:1.7;margin:var(--space-2) 0}.persona-card details,.persona-card>button{grid-column:1/-1}.persona-card summary{font-size:var(--text-caption);cursor:pointer;min-height:30px}.persona-card details small{font-size:var(--text-micro);color:var(--ink-secondary)}.persona-card>button{min-height:42px}.settings-buddy{display:flex;align-items:center;gap:var(--space-4);width:100%;background:var(--canvas);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;margin-bottom:var(--space-5)}.settings-buddy>span:nth-child(2){flex:1}.settings-buddy strong{font-size:var(--text-display);display:block}.settings-buddy small{font-size:var(--text-micro);color:var(--ink-secondary);display:block;line-height:1.7;margin-top:var(--space-2)}.settings-buddy>svg{width:18px}.menu-row{display:flex;align-items:center;gap:var(--space-3);min-height:52px}.menu-row svg{width:20px}.capabilities h3{font-size:var(--text-input)}.capabilities p{font-size:var(--text-caption);color:var(--ink-secondary);line-height:1.8}.pa-day-actions{display:flex;gap:var(--space-2);padding:var(--space-5) 0}.pa-day-actions button{flex:1;min-height:44px;border-radius:var(--radius-md);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:var(--text-caption);gap:var(--space-2)}.pa-day-actions svg{width:16px}.pa-error{color:#ad3d3d;font-size:var(--text-caption)}#money-form input,#money-form select,#reminder-form input[type=time]{width:100%;min-height:44px;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin:var(--space-1) 0 var(--space-4);font:inherit;background:var(--canvas)}#money-form label{font-size:var(--text-caption)}#reminder-form input[type=checkbox]{width:auto}.diary-screen .week-calendar{background:var(--canvas)}.overview-scroller{gap:var(--space-3)}.overview-card,.health-card{border-radius:var(--radius-md)!important}.memo-screen,.knowledge-screen{background:var(--canvas)}.memo-header h1,.knowledge-header h1{font-size:var(--text-display)}.memo-card,.knowledge-card{border-radius:var(--radius-md)!important}.memo-full-save,.knowledge-edit-save,.knowledge-full-save{color:var(--ink)}.inline-choice button[aria-pressed=true]{background:var(--ink);color:white}dialog{max-width:480px!important;width:100%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6);margin:auto auto 0;background:var(--surface);overflow:auto}dialog::backdrop{background:#0005}.toast{max-width:calc(100% - 32px);width:max-content;white-space:normal;z-index:100}.chat-text{overflow-wrap:anywhere}.pa-heading h1{white-space:nowrap}.content.compat-has-memo,.content.compat-has-knowledge{padding:0}.diary-screen .week-calendar{position:relative}.diary-screen .schedule-heading{margin-top:var(--space-4)}.diary-screen{padding-bottom:var(--space-3)}body[data-page=diary] .content{padding-top:var(--space-5)}body[data-page=ledger] .quick-nav [data-page=diary]{color:var(--ink)}
@media(max-width:350px){.content{padding-left:var(--space-4);padding-right:var(--space-4)}.companion-hero h1{font-size:var(--text-display)}.pa-shortcuts{gap:var(--space-2)}.pa-shortcuts button{font-size:var(--text-micro)}.balance-card{padding:var(--space-5)}.balance-card>strong{font-size:var(--text-number)}.persona-card{padding:var(--space-4)}.pa-heading h1{font-size:var(--text-display)}.pa-heading{gap:var(--space-2)}.eyebrow{font-size:var(--text-micro)}.pa-pill{padding:0 var(--space-3)}.topbar{padding:var(--space-2) var(--space-4)}}
.daily-intro{margin:var(--space-6) 0 var(--space-5)}.daily-intro h2{font-size:var(--text-title);margin:0 0 var(--space-2)}.daily-intro p{font-size:var(--text-caption);color:var(--ink-secondary)}.daily-capture{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin-bottom:var(--space-6)}.daily-capture button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-caption);background:var(--surface);border-radius:var(--radius-sm);min-height:48px}.daily-capture svg{width:16px}.daily-agenda .agenda-event{position:static!important;display:flex;width:100%!important;height:auto!important;min-height:88px;padding:var(--space-5) var(--space-4);margin:0 0 var(--space-3);border:0;border-radius:0;background:transparent;text-align:left;align-items:flex-start;gap:var(--space-4);color:var(--ink)}.agenda-event .agenda-time{min-width:40px;font-size:var(--text-caption);display:block;color:var(--ink-secondary)}.agenda-event>span:last-child{min-width:0;flex:1}.daily-agenda .agenda-event strong{font-size:var(--text-body);white-space:normal;display:block;overflow-wrap:anywhere;line-height:1.6}.daily-agenda .agenda-event small{font-size:var(--text-caption);display:block;line-height:20px;color:var(--ink-secondary);margin-top:var(--space-1)}.daily-feeling{border-radius:var(--radius-md);background:var(--surface-sunken);padding:var(--space-5);margin-top:var(--space-6)}.daily-feeling header{display:flex;align-items:center;justify-content:space-between}.daily-feeling h2{font-size:var(--text-body);margin:0}.daily-feeling p{font-size:var(--text-caption);line-height:1.8;color:var(--ink-secondary);white-space:pre-wrap}.daily-feeling button{font-size:var(--text-caption)}.daily-agenda .week-calendar{padding:var(--space-2) 0}.daily-agenda .week-month{min-width:34px}.daily-agenda .week-days{gap:0}.daily-agenda .week-days button{padding-left:0;padding-right:0}.diary-todos h2{font-size:var(--text-body)}
body[data-page=diary] #view.content{padding:var(--space-5) var(--space-4) var(--space-8)!important;background:transparent}body .quick-nav .nav-icon svg{display:block!important}body .quick-nav .diary-nav-asset{display:none!important}
body[data-page=diary] .daily-agenda{}.daily-agenda .agenda-event>span:last-child{display:block!important}.daily-agenda .agenda-event{flex-direction:row!important}.daily-agenda .agenda-event .agenda-time{display:block!important}.daily-agenda .agenda-event strong{font-size:var(--text-body)!important}.daily-feeling{margin-bottom:var(--space-3)}

/* assistant-v2.css */
/* Neutral operate surface; role color is the only saturated accent. */
:root{--muted:var(--ink-secondary);--legacy-line:var(--line);color-scheme:light}
::selection{background:#dceadf;color:var(--ink)}input,textarea{caret-color:#202020}button{min-height:44px}button:hover{filter:brightness(.97)}button:disabled{cursor:not-allowed}input,textarea,select{font:inherit}.eyebrow,#type-nav{display:none!important}.assistant-home{padding-top:var(--space-3)}.assistant-intro{padding:var(--space-3) 0 var(--space-6)}.assistant-intro h1{font-size:var(--text-display);line-height:1.45;letter-spacing:-.5px;margin:var(--space-5) 0 var(--space-2);overflow-wrap:anywhere}.assistant-intro>p{color:var(--ink-secondary);font-size:var(--text-caption);line-height:1.7;margin:0}.role-badge{width:30px;height:30px;border-radius:var(--radius-sm);display:inline-grid;place-items:center;flex-shrink:0;background:var(--cat-life);color:var(--cat-life-ink)}.role-badge svg{width:17px;height:17px}.role-badge.large{width:62px;height:62px;border-radius:var(--radius-lg)}.role-badge.large svg{width:32px;height:32px}.role-sport{background:var(--cat-sport);color:var(--cat-sport-ink)}.role-food{background:var(--cat-food);color:var(--cat-food-ink)}.role-wallet{background:var(--cat-wallet);color:var(--cat-wallet-ink)}.capture-result{border-radius:var(--radius-md);background:white;padding:var(--space-4);margin:0 0 var(--space-4)}.result-identity{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-caption)}.result-identity small{color:var(--ink-secondary);font-size:var(--text-micro);margin-left:auto}.capture-result>p{font-size:var(--text-body);line-height:1.75;margin:var(--space-3) 0;white-space:pre-wrap;overflow-wrap:anywhere}.record-meta{font-size:var(--text-caption);line-height:1.7;color:var(--ink-secondary);font-variant-numeric:tabular-nums}.capture-result>.capture-issue{font-size:var(--text-caption);color:#82500b;background:#fff5e5;padding:var(--space-3);border-radius:var(--radius-sm)}.section-heading{align-items:center;display:flex;justify-content:space-between;margin:var(--space-6) 0 var(--space-3)}.section-heading h2{margin:0;font-size:var(--text-input)}.section-heading .text-button{display:flex;align-items:center;gap:var(--space-1)}.section-heading svg{width:16px}.empty-conversation{font-size:var(--text-caption);line-height:1.9;color:var(--ink-secondary);padding:var(--space-5) 0 var(--space-6)}.recap-card{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 var(--space-4)}.recap-card strong{display:block;font-size:var(--text-caption)}.recap-card small{font-size:var(--text-micro);color:var(--ink-secondary);display:block;margin-top:var(--space-2)}.recap-card-actions{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.recap-card button{font-size:var(--text-caption);padding:0 var(--space-2);background:transparent;min-height:32px}.capture-notice{font-size:var(--text-caption);line-height:1.7;background:#fff1d8;border-radius:var(--radius-sm);padding:var(--space-4);color:#6b470a}.composer{border-radius:var(--radius-lg)}.composer textarea{min-height:45px;max-height:130px;padding:var(--space-1) 0;font-size:var(--text-input)!important}.composer-bottom{min-height:34px}.composer .attachment-button{width:36px;height:36px;min-height:36px}.composer .send{min-height:40px;width:40px;height:40px}.topbar .icon-button{color:var(--ink)}.menu-row{width:100%;text-align:left;border-bottom:1px solid var(--line);background:white;min-height:58px;gap:var(--space-3);font-size:var(--text-body)}.menu-row>span{flex:1}.menu-row>svg:last-child{width:16px;color:var(--ink-secondary)}.sheet-back{display:flex;align-items:center;gap:var(--space-1);background:transparent;color:var(--ink-secondary);padding:0;font-size:var(--text-caption);margin-bottom:var(--space-5)}.sheet-back svg{width:17px}#utility .dialog-head{position:sticky;top:-22px;background:white;z-index:3;padding-top:var(--space-1);padding-bottom:var(--space-3)}#utility .dialog-head h2{font-size:var(--text-title)}#utility-body{font-size:var(--text-body);line-height:1.7;padding-bottom:var(--space-3)}#utility-body .dialog-note,.field-help{font-size:var(--text-caption);line-height:1.8;color:var(--ink-secondary)}#utility-body h3{font-size:var(--text-heading);margin:var(--space-4) 0 var(--space-3)}.local-form label,.recap-detail>label{display:block;font-size:var(--text-body);font-weight:500;margin:var(--space-4) 0 var(--space-2)}.local-form input:not([type=checkbox]),.local-form textarea,.local-form select,.recap-detail textarea,.recap-detail>input{width:100%;min-width:0;border:1px solid var(--line-strong);background:var(--canvas);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-input);min-height:46px;color:var(--ink);box-shadow:none}.local-form textarea,.recap-detail textarea{line-height:1.75;resize:vertical;min-height:132px}.local-form fieldset{margin:var(--space-6) 0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.local-form .toggle-line,.toggle-line{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-caption);font-weight:400;line-height:1.7;min-height:44px;margin:0;padding:var(--space-2) 0}.toggle-line input{flex-shrink:0;width:19px;height:19px;margin-top:var(--space-1);accent-color:#202020}.local-form .dialog-actions{position:sticky;bottom:-22px;background:white;padding:var(--space-4) 0 var(--space-1);margin-top:var(--space-5);gap:var(--space-3)}.dialog-actions button{flex:1}.member-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.member-row .role-badge{width:40px;height:40px;border-radius:var(--radius-sm)}.member-row>div{flex:1;min-width:0}.member-row strong{font-size:var(--text-body)}.member-row small{display:block;color:var(--ink-secondary);font-size:var(--text-caption);line-height:1.8;margin-top:var(--space-1)}.member-row .text-button{font-size:var(--text-caption);text-align:left;padding-left:0}.assistant-switch{font-size:var(--text-caption);background:var(--surface-sunken);border-radius:var(--radius-lg);padding:0 var(--space-3);min-width:60px}.assistant-switch[aria-checked=true]{background:var(--ink);color:white}.memory-row{padding:var(--space-5) 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.memory-row p{white-space:pre-wrap;margin:0 0 var(--space-2)}.memory-row small{color:var(--ink-secondary);font-size:var(--text-micro)}.memory-row button{margin-right:var(--space-4)}.wide{width:100%;margin-top:var(--space-3);padding:var(--space-3)}.button-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0}.button-row button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-sunken);font-size:var(--text-caption)}.recap-detail details{margin:var(--space-5) 0;border-bottom:1px solid var(--line);padding-bottom:var(--space-4)}.recap-detail summary{min-height:44px;cursor:pointer;font-weight:600}.recap-detail details label{display:block;font-size:var(--text-caption);margin-bottom:var(--space-3)}.recap-detail details p{font-size:var(--text-caption);color:var(--ink-secondary)}.recap-detail .capability-state{background:var(--surface-sunken);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-caption)}.source-row{display:block;text-align:left;width:100%;background:var(--canvas);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-3) 0;overflow-wrap:anywhere}.source-row small{display:block;font-size:var(--text-micro);color:var(--ink-secondary);margin-top:var(--space-1)}.recap-body{white-space:pre-wrap}.recap-detail [role=alert],.local-form [role=alert],#member-error,#memory-error{font-size:var(--text-caption);color:#a13629;overflow-wrap:anywhere}.local-form [role=alert]:empty{display:none}.recap-detail [role=status]{font-size:var(--text-caption);line-height:1.8}.daily-intro p,.daily-agenda .agenda-event small,.daily-feeling p{color:var(--ink-secondary)}dialog{scrollbar-width:thin;scrollbar-color:#c4c4c4 white}.quick-nav .nav-button{color:var(--ink-secondary)}.quick-nav .nav-button.active{color:var(--ink)}
@media(max-width:350px){.assistant-intro h1{font-size:var(--text-title)}.capture-result{padding:var(--space-3)}.result-identity{gap:var(--space-1);font-size:var(--text-micro)}.result-identity small{width:100%;margin-left:var(--space-8)}.capture-result>p{font-size:var(--text-body)}.recap-card{gap:var(--space-2)}.recap-card strong{font-size:var(--text-caption)}dialog{padding:var(--space-5)}#utility .dialog-head{top:-18px}.member-row{gap:var(--space-2)}.member-row small{font-size:var(--text-micro)}.assistant-switch{padding:0 var(--space-2);min-width:54px}}
@media(prefers-reduced-motion:no-preference){.capture-result:focus-within{transition:background-color .15s ease-out;background:var(--surface)}}
/* Touch and text contrast floor, including inherited controls. */
.recap-card button{min-height:44px}.composer .attachment-button,.composer .send{width:44px;height:44px;min-height:44px}.composer-bottom{min-height:44px}.topbar #header-left,.topbar .icon-button,.dialog-head .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}button.text-button{min-height:44px}.composer textarea::placeholder{color:var(--ink-secondary)}.composer:focus-within{border-color:var(--line-strong);box-shadow:none}

/* Conversation layout from the user's 2026-10-20 reference. */
body[data-page="home"] .scroll-area{overflow-anchor:none}
.assistant-home{padding-top:var(--space-2);padding-bottom:var(--space-4)}
.conversation-tools{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}
.conversation-tools button{font-size:var(--text-caption);color:var(--ink-secondary);gap:var(--space-2);display:flex;align-items:center}
.conversation-tools svg{width:16px;height:16px}
.capture-result.conversation-turn{background:transparent;padding:0;margin:0 0 var(--space-8);border:0;border-radius:0}
.conversation-user{width:fit-content;max-width:calc(100% - 24px);margin-left:auto;margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md)}
.conversation-user>p{margin:0;font-size:var(--text-body);line-height:24px;white-space:pre-wrap;overflow-wrap:anywhere}
.conversation-turn .result-identity{font-size:var(--text-body);line-height:24px;font-weight:600;gap:var(--space-2);margin-bottom:var(--space-3)}
.conversation-turn .result-identity .role-badge{width:32px;height:32px;border-radius:var(--radius-sm)}
.conversation-turn .assistant-result{padding:var(--space-4);background:var(--surface);border-radius:var(--radius-md)}
.assistant-result>.result-content{font-size:var(--text-body);line-height:24px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.assistant-result>.record-meta{margin-top:var(--space-2);font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.assistant-result>.capture-issue{font-size:var(--text-caption);line-height:20px;color:#7a4a00;background:#fff4e0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);margin:var(--space-3) 0 0}
@media(max-width:350px){.conversation-user,.conversation-turn .assistant-result{padding:var(--space-3)}}

/* Saved content followed by the category footer from the latest reply-card reference. */
.assistant-result>.result-title{margin:0 0 var(--space-2);font-size:var(--text-body);line-height:24px;font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}
.result-footer{display:flex;align-items:center;gap:var(--space-2);border-top:1px solid var(--line);margin-top:var(--space-3);padding-top:var(--space-2)}
.result-category{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1;font-size:var(--text-caption);line-height:20px;font-weight:600;color:var(--ink-secondary)}
.result-category>span:last-child{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.result-category-icon{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-xs);background:var(--surface-sunken)}
.result-category-icon svg{width:20px;height:20px}
.result-category-main{color:var(--ink)}.result-category-main .result-category-icon{background:#edf5ed}
.result-category-sport{color:#17486d}.result-category-sport .result-category-icon{background:#edf3fa}
.result-category-food{color:#744409}.result-category-food .result-category-icon{background:#fbf1e7}
.result-category-wallet{color:#523b7a}.result-category-wallet .result-category-icon{background:#f1edf8}
.result-more{width:44px;height:44px;min-width:44px;display:grid;place-items:center;flex-shrink:0;padding:0;background:transparent;color:var(--ink-secondary);border-radius:var(--radius-xs)}
.result-more svg{width:20px;height:20px}.result-more[aria-expanded=true],.result-more:hover{background:var(--surface-sunken)}
.result-menu{position:fixed;top:auto;right:auto;bottom:auto;left:auto;margin:0;padding:var(--space-1);width:152px;max-height:calc(100vh - 16px);overflow-y:auto;border:0;border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-shadow:none}
.result-menu button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0 var(--space-3);background:transparent;border-radius:var(--radius-xs);font-size:var(--text-caption);color:inherit;text-align:left}
.result-menu button:hover,.result-menu button:focus-visible{background:var(--surface-sunken)}.result-menu svg{width:16px;height:16px}
.result-more:focus-visible,.result-menu button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* Shared passive AI state, DESIGN 8.11. */
.ai-unavailable{display:flex;align-items:flex-start;gap:var(--space-2);min-height:32px;padding:var(--space-2) var(--space-3);background:var(--surface-sunken);color:var(--ink-secondary);border-radius:var(--radius-sm);font-size:var(--text-caption);line-height:var(--leading-caption);box-sizing:border-box;overflow-wrap:anywhere}
.ai-unavailable>svg{width:16px;height:16px;flex:0 0 16px;margin-top:2px}.ai-unavailable>span{min-width:0}.ai-unavailable-detail{display:block;margin-top:var(--space-1)}
.ledger-analysis{margin-top:var(--space-6)}.ledger-analysis h2{font-size:var(--text-heading);line-height:var(--leading-heading);margin:0 0 var(--space-3)}
.knowledge-skills-entry{display:flex;align-items:center;gap:var(--space-3);width:calc(100% - 32px);margin:0 var(--space-4) var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-align:left;min-height:72px}.knowledge-skills-entry>span{flex:1;min-width:0}.knowledge-skills-entry strong{display:block;font-size:var(--text-heading)}.knowledge-skills-entry small{display:block;color:var(--ink-secondary);font-size:var(--text-caption);margin-top:var(--space-1)}.knowledge-skills-entry svg{width:20px;height:20px;flex-shrink:0}

/* feedback.css */
/* 2026-10-18 browser review: consistent chrome, quiet editing and side navigation. */
*,*::before,*::after{scrollbar-width:none!important;-ms-overflow-style:none}*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
/* Textareas remain vertically centered in the single-line composer and grow for real content. */
#composer{display:flex;align-items:center;gap:var(--space-2);min-height:60px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);border:1px solid var(--line);box-shadow:none;border-radius:var(--radius-lg)}
#composer:focus-within{border-color:var(--line-strong);box-shadow:none}html.compat-keyboard-focus #composer:focus-within{outline:2px solid var(--line-strong);outline-offset:2px}
#composer #message{display:block;flex:1;width:0;min-width:0;min-height:44px;max-height:140px;line-height:24px!important;padding:var(--space-3) 0!important;border:0!important;outline:none!important;box-shadow:none!important;border-radius:0;background:transparent}
#composer .composer-bottom{display:flex;align-items:center;justify-content:flex-end;align-self:center;gap:var(--space-1);margin:0;min-height:44px}
#composer .attachment-button,#composer .send{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0}#composer .send[hidden]{display:none!important}#composer .attachment-button{background:transparent;color:var(--ink-secondary)}#composer .attachment-button svg{width:22px;height:22px}
#header-search[hidden]{display:none!important}.topbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.topbar #header-date{grid-column:2;justify-self:center}.topbar #header-left{grid-column:1;grid-row:1}
/* Shared first-level page header. */
body[data-page=diary] #view.content{padding:0!important}.pa-heading,.memo-header,.knowledge-home-header,.knowledge-category-header{height:72px!important;min-height:72px;margin:0!important;padding:var(--space-3) var(--space-4)!important;display:flex;align-items:center;gap:var(--space-2);background:var(--canvas)}
.pa-heading h1{font-size:var(--text-display)!important;line-height:36px!important;font-weight:650;letter-spacing:-.4px;margin:0!important;flex:1}.memo-header h1,.knowledge-home-header h1,.knowledge-category-header h1{font-size:var(--text-title)!important;line-height:var(--leading-title)!important;font-weight:600;letter-spacing:-.4px;margin:0!important;flex:1}.pa-heading>div:first-child{flex:1}.pa-actions{gap:0}.pa-heading .icon-button,.memo-header>button,.knowledge-home-header button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;background:transparent;padding:0}.pa-heading svg,.memo-header svg,.knowledge-home-header svg{width:21px;height:21px;stroke-width:1.8}
.memo-toolbar{background:var(--canvas)}.memo-filters{height:auto!important;min-height:60px;align-items:center;padding:var(--space-1) var(--space-4) var(--space-3)!important;overflow-x:auto;overflow-y:hidden;flex-shrink:0;gap:var(--space-2)}.memo-filters .memo-filter{height:44px!important;min-height:44px;max-height:none;padding:0 var(--space-4)!important;line-height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.knowledge-home-header{margin-bottom:var(--space-2)!important}.knowledge-home-header h1{flex:1}.knowledge-screen{background:var(--canvas)}
/* Management surfaces enter from the left, within the same phone canvas on desktop. */
#utility.management-panel{position:fixed;top:0;right:auto;bottom:0;left:max(0px,calc((100vw - 480px)/2));margin:0!important;width:min(calc(100vw - 36px),420px);max-width:420px!important;height:100vh;max-height:100vh!important;min-height:0;border-radius:0;padding:var(--space-6) var(--space-5);overflow:auto;box-shadow:none}
#utility.management-panel .dialog-head{top:-24px;padding-top:0;padding-bottom:var(--space-3);min-height:56px;background:white}#utility.management-panel .dialog-head h2{font-size:var(--text-title)}#utility.management-panel #utility-body{padding-bottom:var(--space-6)}.management-panel .dialog-actions{bottom:-24px;padding-bottom:var(--space-1)}.sheet-back{display:none!important}
/* Personal center measured from Figma 109:6208; semantic Lucide icons and sage heatmap. */
#utility.management-panel.personal-drawer{width:min(270px,calc(100vw - 56px));max-width:270px!important;padding:32px 20px max(32px,env(safe-area-inset-bottom));background:#fff;color:#23262a;font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior:contain}
#utility.personal-drawer::backdrop{background:rgba(35,38,42,.2)}
#utility.personal-drawer>.dialog-head{display:none}
#utility.personal-drawer #utility-body{padding:0}
.drawer-identity{display:flex;align-items:center;gap:4px;width:100%;height:72px;padding:12px 0}
.drawer-profile{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:0;background:transparent;text-align:left;color:inherit;height:48px}
.drawer-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#f5f4f1;color:#8a8f96}
.drawer-avatar svg{width:23px;height:23px;stroke-width:2}
.drawer-profile strong{font-size:19px;line-height:28.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-settings-open{display:grid;place-items:center;width:36px;height:44px;margin-right:-6px;flex:0 0 36px;padding:0;background:transparent;color:inherit}
.drawer-settings-open svg{width:24px;height:24px;stroke-width:2}
.drawer-overview{padding:20px 0;border-bottom:.6px solid #ebe9e4;margin:0}
.drawer-counts{display:flex;align-items:start;justify-content:space-between;gap:8px}
.drawer-counts>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.drawer-counts strong{font-size:28px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums}
.drawer-counts span{font-size:12px;line-height:18px;color:#8a8f96;white-space:nowrap}
.drawer-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;margin-top:20px}
.drawer-calendar span{display:block;aspect-ratio:27.714/23.429;border-radius:4px;background:#f5f4f1}
.drawer-calendar .calendar-blank{background:transparent}
.drawer-calendar [data-level="1"]{background:#dce8df}
.drawer-calendar [data-level="2"]{background:#b8cfbf}
.drawer-calendar [data-level="3"]{background:#8eaf9a}
.drawer-calendar [data-level="4"]{background:#668c75}
.drawer-calendar [aria-current=date]{outline:1px solid #668c75;outline-offset:-1px}
.drawer-month-label{margin-top:8px;width:102.06px;text-align:center;font-size:11px;line-height:16.5px;color:#8a8f96}
.drawer-nav{display:flex;flex-direction:column;gap:4px;padding-top:16px}
.drawer-nav button{display:flex;align-items:center;gap:16px;min-height:48px;width:100%;padding:12px 8px;text-align:left;background:transparent;color:inherit;border-radius:16px}
.drawer-nav button>svg,.module-glyph svg,.drawer-module-link>svg,.drawer-tools .menu-row>svg:first-child{width:20px;height:20px;flex:0 0 20px;stroke-width:2}
.drawer-nav button>span,.drawer-module-copy,.drawer-module-link>span{flex:1;min-width:0;font-size:16px;line-height:24px;font-weight:600}
.drawer-nav small{font-size:16px;line-height:24px;font-weight:400;color:#8a8f96}
.drawer-modules{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding-top:16px;border-top:.6px solid #ebe9e4}
.drawer-module{display:flex;align-items:center;gap:16px;min-height:52px;padding:4px 8px}
.module-glyph{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}
.drawer-module-link{display:flex;align-items:center;gap:16px;flex:1;min-width:0;min-height:44px;text-align:left;padding:0;background:transparent;color:inherit}
.module-toggle{position:relative;width:44px;height:44px;flex:0 0 44px;margin-right:-8px;background:transparent;padding:0}
.module-toggle:before{content:"";position:absolute;left:6px;top:14px;width:30px;height:16px;border-radius:20px;background:#d2d2d2}
.module-toggle>span{position:absolute;left:8px;top:16px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .12s ease}
.module-toggle[aria-checked=true]:before{background:#26292e}
.module-toggle[aria-checked=true]>span{left:22px}
#member-error:empty{display:none}
#member-error{font-size:12px;line-height:18px;color:var(--danger);margin:4px 8px;overflow-wrap:anywhere}
.drawer-tools{display:flex;flex-direction:column;gap:4px;margin-top:16px;padding-top:16px;border-top:.6px solid #ebe9e4}
.personal-drawer .drawer-tools .menu-row,.personal-drawer #demo-open{display:flex;align-items:center;gap:16px;width:100%;padding:12px 8px;min-height:46.5px;border:0;border-radius:16px;background:transparent;color:inherit;font-size:15px;line-height:22.5px;font-weight:500;text-align:left}
.drawer-tools .menu-row>span,.personal-drawer #demo-open>span{flex:1}
.drawer-tools .menu-row>svg:last-child{width:16px;height:16px;color:#8a8f96;flex:0 0 16px}
.drawer-profile:hover,.drawer-settings-open:hover,.drawer-nav button:hover,.drawer-module-link:hover,.drawer-tools .menu-row:hover{background:#f5f4f1}
@media(prefers-reduced-motion:reduce){.module-toggle>span{transition:none}}
#profile-form input{margin-bottom:var(--space-4)}.local-form label{font-weight:400}.local-form .field-help{font-size:var(--text-caption)}
/* Local media actions and visible attachment result. */
.media-actions{display:grid;gap:var(--space-1);padding-top:var(--space-2)}.media-actions button{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);min-height:60px;background:transparent;border-radius:var(--radius-sm);text-align:left}.media-actions svg{width:23px;height:23px}.media-actions span{font-size:var(--text-input)}.record-attachments>.record-attachments{margin:0}.capture-result .record-attachments{margin:var(--space-3) 0;display:flex;gap:var(--space-2)}.capture-result .record-attachments img{width:100%;max-width:240px;max-height:260px;object-fit:contain;background:var(--surface-sunken);border-radius:var(--radius-sm)}.attachment-unavailable{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm)}.attachment-unavailable small{font-size:var(--text-micro)}.attachment-unavailable svg{width:20px}#attachment-error{font-size:var(--text-caption);line-height:1.7;color:#a13629;margin:0 var(--space-1) var(--space-2)}.attachment-draft{padding-top:var(--space-1)}.attachment-chip button{min-width:44px;min-height:44px}.management-panel .toggle-line input{margin-top:var(--space-1)}.management-panel .member-row{gap:var(--space-3)}
@media(max-width:350px){#utility.management-panel{padding:var(--space-5) var(--space-4);width:calc(100vw - 24px)}#utility.management-panel .dialog-head{top:-20px}.daily-module-card{padding:var(--space-4);min-height:148px}.daily-module-card>strong{font-size:var(--text-display)}.module-card-title{font-size:var(--text-body)}.daily-modules{gap:var(--space-3)}}

#utility.management-panel{background:var(--surface)}
body[data-page=memo] #view.content,body[data-page=knowledge] #view.content{padding:0!important}
.module-money>strong{white-space:nowrap;overflow-wrap:normal;font-size:var(--text-title)}.daily-module-card.wide-money{grid-column:1/-1}
@media(max-width:350px){.module-money>strong{font-size:var(--text-title)}}.settings-group>h3{font-size:var(--text-caption);font-weight:400;line-height:var(--leading-caption);color:var(--ink-secondary);margin:0 0 var(--space-2)}.settings-group{margin-bottom:var(--space-5)}.settings-group .menu-row{font-size:var(--text-input);font-weight:500;min-height:56px;gap:var(--space-3)}.settings-group .menu-row>span{flex:1;text-align:left}

.management-panel .settings-group{padding:0;border:0;border-radius:0;background:transparent}

/* Activity details share the app's dialog and body typography. */
#utility.activity-dialog{width:min(440px,calc(100vw - 32px));background:var(--surface)}
.activity-dialog .dialog-head h2{font-size:var(--text-title);line-height:28px}
.activity-list{display:grid;gap:var(--space-5);padding-top:var(--space-5)}
.activity-list-row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--canvas);text-align:left;width:100%}
.activity-list-row strong{font-size:var(--text-input);line-height:26px;font-weight:500;overflow-wrap:anywhere}
.activity-list-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary)}
.activity-list-meta svg{width:18px;height:18px;flex-shrink:0}.activity-list-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;font-size:var(--text-caption);line-height:20px}
.activity-list-foot>span:last-child{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-body);color:var(--ink-secondary)}.activity-list-foot svg{width:16px;height:16px}

/* Figma 118:7156: top-attached month calendar; actual dates drive its row count. */
#utility.calendar-dialog{top:0;right:0;bottom:auto;left:0;margin:0 auto;width:100%;max-width:480px;max-height:100vh;border:0;border-radius:0 0 28px 28px;padding:16px 20px 14px;background:white;box-shadow:0 12px 15px rgba(35,38,42,.16);scrollbar-width:none}
#utility.calendar-dialog::backdrop{background:rgba(0,0,0,.7)}
#utility.calendar-dialog>.dialog-head{display:none}
#utility.calendar-dialog #utility-body{padding:0}
#utility.calendar-dialog .calendar-heading{height:36px;margin:0 0 16px}
#utility.calendar-dialog .calendar-heading strong{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:17px;line-height:24px;font-weight:600;color:#23262a}
#utility.calendar-dialog .calendar-heading button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;background:transparent;position:relative}
#utility.calendar-dialog .calendar-heading button:before{content:'';position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}
#utility.calendar-dialog .calendar-heading img{display:block;flex-shrink:0}
#utility.calendar-dialog .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:30px;grid-auto-rows:52px;gap:0;text-align:center;font-family:"PingFang SC",-apple-system,BlinkMacSystemFont,sans-serif}
#utility.calendar-dialog .calendar-grid>span{height:26px;min-height:0;padding:4px 0;font-size:12px;line-height:18px;color:#8a8f96}
#utility.calendar-dialog .calendar-grid button{display:flex;align-items:flex-start;justify-content:center;height:52px;min-width:0;padding:8px 0 0;background:transparent;color:#23262a;position:relative;font-size:15px;line-height:22px}
#utility.calendar-dialog .calendar-grid button>span{display:grid;place-items:center;width:30px;height:26px;margin:0;border-radius:8px;line-height:22px;letter-spacing:-.2344px}
#utility.calendar-dialog .calendar-grid button.selected>span{background:#26292e;color:white;font-weight:600}
#utility.calendar-dialog .calendar-grid button i{position:absolute;bottom:2px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#8b5cf6}
#utility.calendar-dialog .calendar-handle{display:block;position:relative;width:64px;height:20px;min-height:20px;margin:0 auto;padding:0;background:transparent;touch-action:none}
#utility.calendar-dialog .calendar-handle:before{content:'';position:absolute;top:-12px;right:0;bottom:-12px;left:0}
#utility.calendar-dialog .calendar-handle:after{content:'';position:absolute;left:12px;top:12px;width:40px;height:4px;border-radius:4px;background:#ebe9e4;margin:0}

/* Unified first-level header geometry and fixed action positions. */
body[data-page=home] .topbar{height:72px!important;min-height:72px;flex:0 0 72px;padding:12px 16px!important}
.pa-heading,.memo-header,.knowledge-home-header,.knowledge-category-header{padding:12px 16px!important;gap:0}
.pa-actions,.knowledge-home-header>div,.knowledge-category-header>div{display:flex;align-items:center;gap:0}
#header-search,.pa-heading .icon-button,.memo-header>button,.knowledge-home-header button,.knowledge-category-header>div>button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;flex-shrink:0}
.pa-actions [data-pa=search],.memo-header [data-memo-search-open],.knowledge-home-header [data-knowledge-search-open],.knowledge-category-header [data-knowledge-category-search-open]{order:3}
.pa-actions [data-pa=add-daily],.memo-header [data-memo-add],.knowledge-home-header [data-knowledge-add],.knowledge-category-header [data-knowledge-new-current]{order:2}

/* Leave room for card shadows inside the horizontal scroll viewport. */

/* Memo editor: navigation, title, properties, content, then writing tools. */
body[data-page=memo-edit] #view.content{padding:0!important}
.memo-edit-screen{border-radius:0!important;min-height:100vh!important;overflow:visible!important}
.memo-full-form{min-height:100vh!important;padding-bottom:0}
.memo-edit-screen .knowledge-edit-header{height:72px;min-height:72px;padding:12px 16px;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;flex:0 0 auto}
.memo-editor-heading{margin:0;font-size:20px;line-height:28px;font-weight:600;text-align:center;white-space:nowrap}
.memo-edit-screen .knowledge-edit-header>div{justify-self:end}
.memo-edit-screen .knowledge-edit-header button{min-width:44px;min-height:44px;width:44px;height:44px}
.memo-edit-screen .knowledge-edit-header .knowledge-edit-save{width:auto;min-width:64px;border-radius:16px;background:var(--ink);color:var(--inverse);padding:0 16px;font-size:16px;font-weight:600}
.memo-edit-screen .knowledge-edit-header .knowledge-edit-save:disabled{background:var(--surface-sunken);color:var(--ink-secondary)}
.memo-full-form>#memo-compose-title{flex:0 0 auto;min-height:36px;max-height:144px;margin:16px 20px 0;padding:0;width:calc(100% - 40px);font-size:20px;line-height:28px;font-weight:600}
.memo-full-form>.knowledge-edit-created{margin:8px 20px 0;font-size:13px;line-height:20px}
.memo-editor-properties{margin:16px 20px 0}
.memo-editor-properties:empty{display:none}
.memo-editor-properties .correction-control{margin:0}
.memo-editor-properties .correction-control label{margin:0 0 8px;font-size:13px;line-height:20px;color:var(--ink-secondary)}
.memo-edit-screen .memo-edit-meta{height:auto;min-height:44px;margin:12px 20px 0;padding:0;display:flex;gap:8px;align-items:center}
.memo-edit-screen .memo-edit-meta>button{height:44px;min-height:44px;flex-shrink:0}
.memo-edit-screen .memo-edit-meta>span{min-height:36px;display:inline-flex;align-items:center}
.memo-edit-screen .memo-time-chip{padding:8px 12px;font-size:14px;line-height:20px}
.memo-edit-screen .memo-property-panel{margin:8px 20px 0}
.memo-edit-screen .memo-date-row .local-date-control{flex:1;min-width:0}
.memo-body-heading{margin:20px 20px 0}
.memo-body-heading h2{font-size:16px;line-height:24px;font-weight:600;margin:0}
.memo-full-form>#memo-compose-text{flex:1 0 240px;min-height:240px;width:calc(100% - 40px);margin:0 20px;padding:12px 0;font-size:16px;line-height:28px}
.memo-full-form>.knowledge-edit-toolbar{position:sticky;bottom:0;min-height:64px;margin:16px 20px 0;padding:8px 0;background:var(--surface);border-top:1px solid var(--line);flex:0 0 auto}
.memo-edit-screen .knowledge-edit-toolbar button{width:44px;height:44px;min-height:44px}

/* Detail actions and human-readable record time use the shared header rhythm. */
.knowledge-detail-header{height:72px;min-height:72px;padding:12px 16px}
.knowledge-detail-header>div{gap:0}
.knowledge-detail-header button{width:44px;height:44px;min-width:44px;min-height:44px}
.knowledge-detail-header button svg{width:20px;height:20px;stroke-width:1.8}
.knowledge-detail-header.searching{gap:8px}
.knowledge-detail-header.searching label{min-height:44px}
.knowledge-detail-header.searching>button:last-child{min-width:44px}
.knowledge-detail-title{padding-top:12px}
.knowledge-detail-title p{font-size:13px;line-height:20px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.memo-edit-screen .memo-edit-meta>[data-memo-panel=category]{width:auto;min-width:44px;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:16px;background:var(--surface-sunken);color:var(--ink-secondary);font-size:14px;line-height:20px}
.memo-edit-screen .memo-edit-meta>[data-memo-panel=category] svg{width:16px;height:16px}
.memo-editor-properties .correction-control{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px}
.memo-editor-properties .correction-control label{margin:0}
.memo-edit-screen .knowledge-edit-header .knowledge-edit-save:disabled{opacity:1}
.knowledge-detail-meta>.knowledge-category-add{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}
/* Save availability changes immediately so the label never precedes its contrast. */
.memo-edit-screen .knowledge-edit-header .knowledge-edit-save{transition:none}

/* All four main destinations share the same quiet glass surface. */
body:-webkit-any([data-page=memo],[data-page=memo-edit],[data-page=knowledge],[data-page=knowledge-category],[data-page=knowledge-compose],[data-page=knowledge-detail],[data-page=knowledge-edit]) .workspace{background:#f1f4f2}
body:-webkit-any([data-page=memo],[data-page=memo-edit],[data-page=knowledge],[data-page=knowledge-category],[data-page=knowledge-compose],[data-page=knowledge-detail],[data-page=knowledge-edit]) :-webkit-any(#scroll-area,.memo-screen,.memo-header,.knowledge-screen,.knowledge-category-screen,.knowledge-home-header,.knowledge-category-header,.knowledge-detail-screen,.knowledge-edit-screen){background:transparent}
body[data-page=memo] .memo-card,body[data-page=knowledge] .knowledge-category-card,body[data-page=knowledge-category] .knowledge-course-card{border:1px solid rgba(255,255,255,.9);background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.52));box-shadow:inset 0 1px 1px white,0 8px 22px rgba(39,56,47,.045);backdrop-filter:blur(16px) saturate(125%)}
body[data-page=memo] .memo-filter{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85)}
body[data-page=memo] .memo-filter[aria-pressed=true]{background:var(--ink);color:var(--inverse);border-color:var(--ink)}
.daily-unscheduled{margin-bottom:24px}.daily-unscheduled h3{font-size:14px;font-weight:400;color:var(--ink-secondary);margin:0 0 8px}
.daily-unscheduled .agenda-event{position:static;width:100%;height:auto;min-height:72px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px;background:transparent;border:0}
.daily-unscheduled .agenda-event strong{white-space:normal;overflow-wrap:anywhere}.daily-unscheduled .agenda-event small{display:block;font-size:13px;color:var(--ink-secondary)}
.recap-content-form{display:flex;flex-direction:column;min-height:65vh}.recap-content-form textarea{flex:1;min-height:300px;resize:vertical;border:0;background:transparent;padding:12px 0;font-size:16px;line-height:1.9;outline-offset:4px}.recap-content-form [role=status]{font-size:13px;color:var(--ink-secondary)}
.correction-inline{width:100%;min-width:0}.correction-inline .dialog-head{position:static!important}.correction-inline .dialog-scroll{max-height:none;overflow:visible}
.knowledge-editor-properties{margin:16px 20px 0}.knowledge-editor-properties:empty{display:none}
.knowledge-editor-properties .correction-control{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:8px;margin:0}
.memo-editor-properties .correction-control label,.knowledge-editor-properties .correction-control label{margin:0;font-size:13px;line-height:20px;white-space:nowrap;color:var(--ink-secondary)}
body[data-page=memo-edit] .knowledge-edit-header,body[data-page=knowledge-edit] .knowledge-edit-header{background:transparent}

/* The sticky title and category tabs cover cards scrolling behind them. */
body[data-page=memo] .memo-toolbar{background:#f1f4f2;isolation:isolate}

/* correction.css */
#correction-dialog{width:min(440px,calc(100vw - 24px));max-height:90vh;padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);scrollbar-width:none}
#correction-dialog::backdrop{background:#0006}
#correction-form{display:flex;flex-direction:column;max-height:90vh}
#correction-form .dialog-scroll{overflow:auto;padding:0 var(--space-4) var(--space-4);scrollbar-width:none;min-height:0}
#correction-form .dialog-head,#correction-form .dialog-actions{flex-shrink:0;padding:var(--space-4)}
#correction-form input,#correction-form select,#correction-form textarea,.correction-control select{box-sizing:border-box;width:100%;font:16px/24px -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface);color:var(--ink)}
#correction-form label,.correction-control label{display:block;margin:var(--space-3) 0 var(--space-2);font-size:var(--text-body)}
#correction-form [hidden]{display:none!important}
.correction-control{margin:0 0 var(--space-4)}.correction-control button{display:block;text-align:left;min-height:44px}
#correction-dialog::-webkit-scrollbar,#correction-dialog *::-webkit-scrollbar{display:none}

/* home-v3.css */
/* Reference is 804×1748 at 2x; layout below uses 402×874 CSS pixels. */
body[data-page=home]{--home-ink:var(--ink);--home-muted:var(--ink-secondary);--home-bg:#f7f7f7;--home-line:var(--line)}
body[data-page=home] .topbar{height:48px;min-height:48px;padding:0 var(--space-2);border:0;background:var(--home-bg)}
body[data-page=home] #mobile-title{font-size:var(--text-heading);line-height:24px;font-weight:600}
body[data-page=home] .preview-status{display:none!important}
body[data-page=home] #scroll-area{background:var(--home-bg);scrollbar-width:none}
body[data-page=home] #view{padding:var(--space-2) var(--space-4) var(--space-4)}
.home-v3{padding:0 0 var(--space-4)}
.home-v3 .result-identity{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-heading);line-height:24px;font-weight:600;margin:0 0 var(--space-3)}
.home-v3 .role-badge{width:30px;height:30px;border-radius:var(--radius-xs);flex-shrink:0}.home-v3 .role-badge svg{width:18px;height:18px}
.home-v3 .role-main{background:var(--cat-life);color:var(--cat-life-ink)}
.reminder-card{width:340px;max-width:calc(100% - 24px);background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4)}
.reminder-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:44px}
.reminder-heading>div{min-width:0;flex:1}.reminder-heading h2{font-size:var(--text-heading);line-height:24px;font-weight:600;margin:0;overflow-wrap:anywhere}
.reminder-fold{width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:var(--surface-sunken);color:var(--ink);display:grid;place-items:center;padding:0}.reminder-fold svg{width:20px;height:20px}
.reminder-body{margin-top:var(--space-4)}.reminder-group+ .reminder-group{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--home-line)}
.reminder-group h3{font-size:var(--text-caption);line-height:20px;color:var(--home-muted);font-weight:400;margin:0 0 var(--space-1)}
.reminder-row{display:flex;align-items:center;min-height:44px;gap:0}.reminder-check{width:44px;min-width:44px;height:44px;padding:0;display:grid;place-items:center;position:relative;background:none;color:var(--inverse)}
.reminder-check:before{content:'';position:absolute;width:22px;height:22px;border:1.5px solid var(--line-strong);border-radius:50%;left:11px;top:11px;box-sizing:border-box}.reminder-check svg{width:16px;height:16px;position:absolute;left:4px;top:14px}
.reminder-record{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);justify-content:space-between;min-height:44px;background:none;padding:var(--space-2) 0;text-align:left;font-size:var(--text-body);line-height:24px;color:var(--ink)}.reminder-record>span{overflow-wrap:anywhere;min-width:0}.reminder-record time{color:var(--ink-secondary);font-size:var(--text-caption);line-height:20px;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
.reminder-empty{font-size:var(--text-caption);line-height:20px;color:var(--ink-secondary);margin:var(--space-4) 0 0}
.home-send-time{text-align:center;color:var(--ink-secondary);font-size:12px;line-height:18px;margin:var(--space-4) 0}
.home-v3 .compact-turn{display:flex;justify-content:flex-end;margin:0 0 var(--space-3)}
.home-v3 .compact-record{width:fit-content;min-width:min(192px,100%);max-width:min(332px,100%);padding:12px 16px;border-radius:24px 8px 24px 24px;background:var(--surface);text-align:left}
.result-source{font-size:16px;line-height:26px;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.home-v3 .compact-record .result-footer{position:relative;border-top:1px solid var(--line);margin-top:10px;padding-top:10px;padding-right:28px;gap:8px;min-height:37px}
.compact-record .result-category{font-size:13px;line-height:19.5px;font-weight:600;min-width:0;white-space:normal;overflow-wrap:anywhere}
.compact-record .result-category-icon{width:26px;height:26px;border-radius:9px}.compact-record .result-category-icon svg{width:18px;height:18px}
.compact-record .result-more,.compact-record .result-quick-undo{position:absolute;right:-9px;top:1px;width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;font-size:var(--text-caption);background:transparent;color:var(--ink-secondary)}
.compact-record .result-more svg{width:17px;height:17px}.result-more[hidden]{display:none!important}
.compact-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;font-size:12px;line-height:18px;color:var(--ink-secondary)}
.compact-flags span{padding:2px 6px;background:var(--surface-sunken);border-radius:var(--radius-xs)}
.home-v3 .capture-issue{font-size:13px;line-height:20px;margin:8px 0 0}.empty-history{font-size:var(--text-body);line-height:24px;color:var(--ink-secondary);text-align:center;padding:var(--space-6) 0}
body[data-page=home] #header-date{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;color:var(--ink)}
body[data-page=home] .topbar #header-date>svg{display:block;width:12px;height:12px}
/* Record dock follows the user's interactive HTML (402 x 874 reference). */
body.has-record-dock .workspace{--record-dock-bottom:max(24px,env(safe-area-inset-bottom));--record-dock-height:72px}
body.has-record-dock #view{padding-bottom:calc(var(--record-dock-height) + var(--record-dock-bottom) + 24px)}
body.has-record-dock .bottom-area{position:absolute;z-index:5;left:16px;right:16px;bottom:var(--record-dock-bottom);padding:0;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.has-record-dock .bottom-inner{max-width:none;min-width:0;margin:0}
body.has-record-dock #type-nav,body.has-record-dock .composer-caption{display:none!important}
body.has-record-dock #composer{display:flex;align-items:center;gap:6px;min-height:72px;padding:12px 10px 12px 8px;border:0;border-radius:36px;transform-origin:right bottom}
body.has-record-dock #composer:focus-within{outline:none}
body.has-record-dock #composer #message{flex:1;width:0;min-width:0;min-height:48px;max-height:130px;padding:12px 4px!important;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;font-size:16px!important;line-height:24px!important;color:#202020;resize:none;scrollbar-width:none}
body.has-record-dock #message:placeholder-shown{white-space:nowrap;overflow-x:hidden}
body.has-record-dock #message::placeholder{color:#626262!important;opacity:1}
body.has-record-dock #composer :-webkit-any(#attach,#composer-close,#send){display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0;border:0;border-radius:24px;color:#202020;background:transparent}
body.has-record-dock #composer :-webkit-any(#attach,#composer-close,#send,#composer-mic) svg{width:22px;height:22px;flex-shrink:0;stroke-width:1.8}
body.has-record-dock #composer #attach svg{stroke-width:2}
body.has-record-dock #composer #send{background:#202020;color:#fff}
body.has-record-dock #composer #send svg{stroke-width:2.4}
body.has-record-dock #composer #composer-close{background:#F1F3F0}
body.has-record-dock #composer #composer-close svg{stroke-width:2.2}
body.has-record-dock #composer #composer-mic{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:48px;padding:0;border:0;background:transparent;color:#626262}
body.has-record-dock #composer .composer-bottom{display:flex;align-items:center;flex:0 0 48px;gap:0;margin:0;min-height:48px}
body.has-record-dock #quick-nav{position:absolute;z-index:5;left:16px;right:100px;bottom:var(--record-dock-bottom);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;box-sizing:border-box;height:72px;min-height:72px;margin:0;padding:0 6px;align-items:center;border:0;border-radius:36px;overflow:visible}
body.has-record-dock #quick-nav .nav-button{width:100%;max-width:64px;min-width:0;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:48px;min-height:48px;padding:0;border:0;border-radius:0;font-size:10px;line-height:14px;font-weight:400;color:#8a8a8a;background:transparent;box-shadow:none}
body.has-record-dock #quick-nav .nav-button.active{font-weight:700;color:#202020}
body.has-record-dock #quick-nav .nav-icon{width:24px;height:24px;border-radius:0}
body.has-record-dock #quick-nav .nav-icon .nav-system-icon{width:24px;height:24px}
#record-write{position:absolute;z-index:5;right:16px;bottom:var(--record-dock-bottom);width:72px;height:72px;padding:0;border:0;border-radius:36px;background:#202020;color:white;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.22)}
#record-write svg{width:24px;height:24px;stroke-width:1.6}
body.has-record-dock #latest{position:absolute;z-index:3;right:16px;bottom:calc(var(--record-dock-bottom) + var(--record-dock-height) + 24px);height:40px;padding:0 16px;border:0;border-radius:20px;box-shadow:0 2px 10px rgba(0,0,0,.10);background:#fff;color:#202020;font-size:14px;display:flex;align-items:center;gap:8px}
body.has-record-dock #latest svg{width:18px;height:18px}
#record-attachment-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border:0;border-radius:0;background:rgba(0,0,0,.18)}
#record-attachment-menu{position:absolute;z-index:6;left:16px;bottom:calc(var(--record-dock-bottom) + var(--record-dock-height) + 8px);width:200px;padding:8px;border-radius:24px;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.14);display:flex;flex-direction:column;max-height:calc(100% - var(--record-dock-height) - var(--record-dock-bottom) - 16px);overflow-y:auto}
#record-attachment-menu button{display:flex;align-items:center;flex-shrink:0;gap:12px;height:52px;padding:0 14px;border:0;background:transparent;text-align:left;font-size:16px;color:#202020}
#record-attachment-menu svg{width:22px;height:22px;color:#626262;stroke-width:1.8}
#record-attachment-menu button:hover{background:#F1F3F0;border-radius:16px}
/* Selected A: the navigation plate extends in place; tool content hands over inside it. */
#record-dock-surface[hidden]{display:none}
body.has-record-dock #record-dock-surface{position:absolute;left:16px;right:100px;bottom:var(--record-dock-bottom);height:var(--record-surface-height,72px);z-index:4;border-radius:36px;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.4));box-shadow:inset 0 1px 1px #fff,0 8px 26px rgba(39,56,47,.065);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);isolation:isolate;transition:height 360ms cubic-bezier(.32,.04,.2,1)}
body.has-record-dock.record-composer-open #record-dock-surface{right:16px}
body.has-record-dock #record-dock-surface::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.95);border-radius:inherit;pointer-events:none}
body.has-record-dock :-webkit-any(#composer,#quick-nav){background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-motion:reduce){body.has-record-dock #record-dock-surface{transition-duration:120ms}}
body.has-record-dock #composer{position:relative}
#record-capture-error{font-size:13px;line-height:20px;color:#a13629;margin:0 4px 8px}
.home-action-error{font-size:var(--text-caption);line-height:20px;color:#a13629;margin-top:var(--space-4)}
@media(max-width:350px){.reminder-card{padding:var(--space-3)}.reminder-heading h2{font-size:var(--text-heading)}}

/* Original Figma first-level glyphs; child categories keep the same primary icon. */
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=uncategorized]{background:rgba(136,137,125,.15)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=work]{background:rgba(72,129,198,.16)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=life]{background:rgba(142,102,182,.16)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=hobby]{background:rgba(237,139,53,.16)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=sport]{background:rgba(54,200,187,.16)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=study]{background:rgba(129,170,60,.16)}
:-webkit-any(.result-category,.reminder-record) .result-category-icon[data-first-level=food]{background:rgba(212,126,68,.16);border-radius:8px}

/* User-requested glass trial for the record and today surfaces only. */
body[data-page=home] .workspace,body[data-page=diary] .workspace{background:#f1f4f2}
body[data-page=home] .topbar,body[data-page=diary] .pa-heading{background:transparent;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
body[data-page=home] .compact-record,body[data-page=home] .reminder-card{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.48));border:1px solid rgba(255,255,255,.92);box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 8px 24px rgba(42,58,52,.045);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
body[data-page=home] .reminder-card{border-radius:28px;padding:20px}
body[data-page=home] .reminder-fold{background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.86);box-shadow:inset 0 1px 0 white,0 3px 10px rgba(34,48,44,.035)}
#reminder-undo{position:fixed;z-index:20;left:50%;bottom:calc(190px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:24px;max-width:calc(100vw - 40px);min-height:48px;padding:4px 8px 4px 20px;border:1px solid rgba(255,255,255,.95);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(31,48,38,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:var(--text-body);color:var(--ink)}
#reminder-undo[hidden]{display:none}#reminder-undo button{min-height:44px;padding:0 12px;border-radius:12px;background:rgba(30,42,34,.06);font-size:var(--text-body);font-weight:500;color:var(--ink)}

body[data-page=home] #scroll-area{background:transparent}

/* Reminder categories share the approved first-level SVG and surface treatment. */
.reminder-record .reminder-category{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-style:normal}
.reminder-record .reminder-category svg{width:18px;height:18px;stroke-width:1.8}

/* Selection belongs to the icon weight, without a filled nav tile. */
body[data-page] #quick-nav .nav-button.active,body[data-page] #quick-nav .nav-button.active .nav-icon{background:transparent;color:var(--ink);box-shadow:none}
body[data-page] #quick-nav .nav-system-icon{display:block;width:24px;height:24px;object-fit:contain;opacity:.62}
body[data-page] #quick-nav .nav-button.active .nav-system-icon{opacity:1}

/* Saved completion stays visible for three seconds, using the same business ID. */
.reminder-row.is-completed .reminder-subject{text-decoration:line-through;text-decoration-thickness:1px;color:#8a8a8a}
.reminder-row.is-completed .reminder-record time{color:#8a8a8a}
.reminder-check[aria-checked=true]:before{background:#202020;border-color:#202020}
.reminder-check[aria-checked=true] svg{position:absolute;left:15px;top:15px;width:14px;height:14px;stroke-width:2.4;color:white}

/* Inline record search keeps the existing main surface and filters. */
body.home-search-open[data-page=home] .topbar{display:flex!important}
body.home-search-open .topbar>:-webkit-any(#header-left,#header-date,#header-search){display:none!important}
body.home-search-open #latest{display:none!important}
#home-search-header{display:flex;align-items:center;gap:8px;width:100%;min-width:0}
#home-search-header .search-field{display:flex;align-items:center;flex:1;min-width:0;height:44px;border-radius:14px;background:var(--surface);padding:0 8px 0 12px}
#home-search-header input{flex:1;min-width:0;width:100%;border:0;outline:0;padding:0;background:transparent;font-size:16px;color:var(--ink)}
#home-search-header button{flex:none;min-width:44px;height:44px;padding:0 8px;background:transparent;font-size:15px;color:var(--ink)}
#home-search-header svg{width:18px;height:18px}
#home-search-panel{padding:4px 0 20px}#home-search-filters{margin:0 0 12px}#home-search-filters summary{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:14px;color:var(--ink-secondary);cursor:pointer}
#home-search-panel .search-filters{margin-top:4px}#home-search-panel .search-result{margin-bottom:12px}
.home-v3 .compact-record .result-footer{flex-wrap:wrap;align-items:center;row-gap:4px}
.record-edited-badge{flex:none;white-space:nowrap;padding:2px 6px;border-radius:6px;background:var(--surface-sunken);color:var(--ink-secondary);font-size:11px;line-height:18px;font-weight:400}

/* visual-foundation.css */
/* Shared, functional components derived from visual-review.html / visual-detail.css. */
body{font-family:var(--font-system);color:var(--ink)}
*,*::before,*::after{scrollbar-width:none}*::-webkit-scrollbar{display:none}
button:focus-visible,input:-webkit-any([type=checkbox],[type=radio],[type=range]):focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* Text entry never receives a focus rectangle, including pointer-triggered focus-visible. */
input:not([type=checkbox]):not([type=radio]):not([type=range]):-webkit-any(:focus,:focus-visible),textarea:-webkit-any(:focus,:focus-visible),select:-webkit-any(:focus,:focus-visible){outline:none!important;box-shadow:none!important}
input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:var(--text-input)!important;line-height:var(--leading-body)}
input::placeholder,textarea::placeholder{color:var(--ink-tertiary)!important;opacity:1}
button:disabled{opacity:.4}
.topbar{height:var(--header-height);min-height:var(--header-height);padding:var(--space-2) var(--page-gutter)}
.topbar #header-left,.icon-button{min-width:var(--touch-min);min-height:var(--touch-min)}
.content{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.pa-heading h1,.memo-header h1,.memo-home-header h1,.knowledge-header h1,.knowledge-home-header h1{font-size:var(--text-display);line-height:var(--leading-display);font-weight:600}
.pa-heading h1{white-space:normal}
.quick-nav,body[data-page=home] .quick-nav{height:auto;min-height:calc(80px + env(safe-area-inset-bottom));flex-shrink:0;padding:var(--space-2) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom))}
.quick-nav .nav-button{height:60px;min-height:60px;gap:var(--space-1);padding:var(--space-1) 0;color:var(--ink-secondary)}
.quick-nav .nav-button.active{color:var(--ink)}
.quick-nav .nav-icon svg,body[data-page=home] .quick-nav .nav-icon svg{width:24px;height:24px}
body[data-page=home] .quick-nav .nav-icon{height:28px}
.balance-card>strong,.overview-card .overview-value,.daily-module-card>strong{font-size:var(--text-number);line-height:var(--leading-number);font-variant-numeric:tabular-nums}
time,.record-meta,.ledger-row>b,input,.folder-count{font-variant-numeric:tabular-nums}
.composer{box-shadow:none}
.role-badge.large{border-radius:18px}
.chat-category.knowledge,.memo-card .type-tag,.tag-knowledge,.tag-memo,.knowledge-edit-tags>span,.knowledge-detail-tags>span{color:var(--ink-secondary)!important;background:var(--surface-sunken)!important}
.result-category-neutral{color:var(--ink-secondary)}.result-category-neutral .result-category-icon{background:var(--surface-sunken)}
.balance-card>small,.balance-card span{color:var(--inverse);opacity:.8}
dialog::backdrop{background:rgba(0,0,0,.4)}
dialog,.personal-drawer,.toast,.back-to-latest{box-shadow:var(--elevation)}
#editor .dialog-scroll{padding:0 var(--space-1) var(--space-3);scroll-padding-block:var(--space-4)}
#editor .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
#editor .field-row input{width:100%;min-width:0;max-width:100%}
#editor input:focus-visible,#editor select:focus-visible{outline-offset:-3px}
.local-time-input{width:100%;min-width:0;max-width:100%;font-variant-numeric:tabular-nums;cursor:pointer;padding-right:32px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23626262' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat}
#time-picker{position:fixed;top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%);margin:0;width:min(356px,calc(100vw - 32px));max-width:356px!important;max-height:calc(100vh - 32px);height:fit-content;padding:var(--space-6);border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);overflow:auto;box-shadow:var(--elevation)}
.time-picker-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.time-picker-head h2{font-size:var(--text-title);line-height:var(--leading-title);flex:1;margin:0}
.time-picker-head button{min-width:44px;min-height:44px;font-size:var(--text-caption);color:var(--ink-secondary);padding:var(--space-2) 0;background:transparent}
.time-picker-columns{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:var(--space-2);margin:var(--space-4) 0}
.time-picker-columns section{min-width:0}.time-picker-columns h3{text-align:center;font-size:var(--text-caption);color:var(--ink-secondary);font-weight:400;margin:0 0 var(--space-2)}
.time-wheel{position:relative;--time-wheel-height:min(220px,32vh)}
.time-wheel::before{content:'';position:absolute;top:calc(50% - 22px);left:0;right:0;height:44px;border-radius:var(--radius-sm);background:var(--surface-sunken);pointer-events:none}
.time-options{position:relative;height:var(--time-wheel-height);overflow:auto;overscroll-behavior:contain;touch-action:pan-y;scroll-snap-type:y mandatory;padding:calc((var(--time-wheel-height) - 44px)/2) 0;scroll-padding-block:calc((var(--time-wheel-height) - 44px)/2)}
.time-options button{display:block;width:100%;height:44px;min-height:44px;margin:0;border-radius:var(--radius-xs);font-size:var(--text-title);line-height:44px;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink-secondary);scroll-snap-align:center;scroll-snap-stop:normal;padding:0;transition:none}
.time-options button[aria-pressed=true]{background:transparent;color:var(--ink);font-weight:600}
.time-options button:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}
.time-colon{align-self:center;text-align:center;font-size:var(--text-title);color:var(--ink-secondary)}
.time-picker-actions{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3)}
.time-picker-actions button{min-height:44px;border-radius:var(--radius-pill);font-size:var(--text-body)}
.time-picker-actions.compat-has-hidden-clear .primary{grid-column:1/-1}
.time-picker-actions .primary{background:var(--ink);color:var(--inverse)}.time-picker-actions .secondary{background:var(--surface-sunken);color:var(--ink)}
.knowledge-category-card{grid-template-columns:88px minmax(0,1fr);gap:var(--space-4);min-height:124px;padding:var(--card-padding);border-radius:var(--radius-md);background:var(--surface);text-align:left;overflow:visible}
.knowledge-category-copy{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-1) 0;gap:var(--space-3)}
.knowledge-category-copy strong{font-size:var(--text-heading);line-height:var(--leading-heading);overflow-wrap:anywhere;white-space:normal}
.knowledge-category-copy small{font-size:var(--text-caption);line-height:var(--leading-caption);white-space:normal;overflow:visible;text-overflow:clip;color:var(--ink-secondary)}
.folder-count{font-size:var(--text-heading);font-weight:600;color:var(--ink)}
.knowledge-folder{width:88px;height:88px;position:relative;display:block;align-self:center;isolation:isolate}
.folder-paper{position:absolute;display:block;left:12px;top:4px;width:60px;height:64px;border:3px solid var(--surface);border-radius:var(--radius-xs);background:var(--surface);transform:rotate(-12deg);overflow:hidden;padding:var(--space-2) var(--space-1);font-size:var(--text-micro);line-height:var(--leading-micro);font-weight:500;color:var(--ink-secondary)}
.folder-paper.back{left:28px;top:0;transform:rotate(9deg);background:var(--surface-sunken)}
.folder-front{position:absolute;top:32px;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius-xs) var(--radius-sm) var(--radius-sm) var(--radius-sm);background:var(--line);color:var(--ink-secondary)}
.folder-front:before{content:'';position:absolute;left:0;top:-8px;width:36px;height:16px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--line);z-index:-1}
.folder-front svg{width:24px;height:24px;stroke-width:1.5}.knowledge-folder.empty .folder-paper{background:var(--surface-sunken)}
.toast{position:fixed;top:auto;height:auto;min-height:0;left:50%;right:auto;transform:translateX(-50%);bottom:calc(56px + env(safe-area-inset-bottom) + 16px);max-width:calc(min(100vw,480px) - 32px);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--ink);color:var(--inverse);font-size:var(--text-caption);line-height:var(--leading-caption);text-align:center;white-space:normal;pointer-events:none}
body[data-page=home] .toast{bottom:calc(56px + env(safe-area-inset-bottom) + var(--composer-height,120px) + 16px)}
@media(max-width:350px){#time-picker{padding:var(--space-5)}.knowledge-category-card{grid-template-columns:76px minmax(0,1fr);gap:var(--space-3)}.knowledge-folder{transform:scale(.86);transform-origin:left center;width:76px}}

/* Category ink is used for all category text and line icons. */
.cat-life,.result-category-life{color:var(--cat-life-ink)}.result-category-life .result-category-icon{background:var(--cat-life-tint)}
.cat-work,.result-category-work{color:var(--cat-work-ink)}.result-category-work .result-category-icon{background:var(--cat-work-tint)}
.cat-study,.result-category-study{color:var(--cat-study-ink)}.result-category-study .result-category-icon{background:var(--cat-study-tint)}
.cat-hobby,.result-category-hobby{color:var(--cat-hobby-ink)}.result-category-hobby .result-category-icon{background:var(--cat-hobby-tint)}
.cat-sport,.result-category-sport{color:var(--cat-sport-ink)}.result-category-sport .result-category-icon{background:var(--cat-sport-tint)}
.cat-food,.result-category-food{color:var(--cat-food-ink)}.result-category-food .result-category-icon{background:var(--cat-food-tint)}
.cat-wallet,.result-category-wallet{color:var(--cat-wallet-ink)}.result-category-wallet .result-category-icon{background:var(--cat-wallet-tint)}
.module-food .module-card-title>svg:first-child{color:var(--cat-food-ink)}
.module-sport .module-card-title>svg:first-child{color:var(--cat-sport-ink)}
.module-money .module-card-title>svg:first-child{color:var(--cat-wallet-ink)}
.overview-category-icon{display:inline-flex;flex-shrink:0}.overview-category-icon svg{width:20px;height:20px}
.reminder-category{display:inline-flex;vertical-align:middle;margin-right:var(--space-2);flex-shrink:0}.reminder-category svg{width:16px;height:16px}
.is-complete .reminder-category{color:var(--ink-secondary)}
.diary-event strong{color:var(--event-label,var(--ink))}

/* Independent card body and add buttons; no nested interactive controls. */

.memo-search-field input:focus,.memo-search-field input:focus-visible{outline:none;box-shadow:none}
.memo-search-field[data-keyboard-focus=true]:focus-within{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--radius-sm)}
/* Form calendar, shared with the app's neutral month grid. */
#date-picker{width:min(360px,calc(100vw - 32px));padding:var(--space-5);background:var(--surface);border-radius:var(--radius-lg)}
#date-picker .dialog-head h2{font-size:var(--text-title);line-height:28px}#date-picker .dialog-head .icon-button{background:transparent}
#date-picker .calendar-heading{margin:var(--space-3) 0}#date-picker .calendar-heading strong{font-size:var(--text-input);font-weight:500}
#date-picker .calendar-heading button{display:grid;place-items:center;width:44px;height:44px;background:transparent}#date-picker svg{width:20px;height:20px}
#date-picker .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}#date-picker .calendar-grid>span{font-size:var(--text-caption);color:var(--ink-secondary)}
#date-picker .calendar-grid button{height:44px;min-width:0;padding:0;display:grid;place-items:center;background:transparent;font-size:var(--text-body);border-radius:var(--radius-sm)}
#date-picker .calendar-grid button.selected{background:var(--ink);color:var(--inverse)}#date-picker .calendar-grid button:disabled{opacity:.3}
.local-date-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3)}.local-date-actions button{min-height:44px;background:transparent;font-size:var(--text-body);padding:0 var(--space-3)}
.local-date-input{cursor:pointer}#time-picker .time-picker-actions{grid-template-columns:1fr}

.local-date-control{display:block;position:relative;width:100%}.local-date-control input{padding-right:40px!important}.local-date-control>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-secondary);pointer-events:none}

/* Editor choices keep their shared order and scroll within the dialog. */
.health-category-options{display:flex;align-items:center;gap:var(--space-2);min-width:0}
.health-category-options .inline-choice{flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:var(--space-1) 0}
.health-category-options .inline-choice button{flex:0 0 auto;white-space:nowrap;min-height:44px}
.health-category-options>.edit-category-new{flex:0 0 auto;white-space:nowrap;min-height:44px;margin:0;padding:var(--space-2)}
.sport-add-controls{display:flex;align-items:center;gap:var(--space-2)}
.sport-add-controls input{flex:1;min-width:0}.sport-add-controls button{flex:0 0 auto;min-height:44px;padding:var(--space-2)}
#editor .edit-calories-field{position:relative;display:block;border:0;border-radius:20px;background:var(--surface-sunken);outline:none;box-shadow:none}
#editor .edit-calories-field input{width:100%;min-width:0;border:1px solid transparent;background:var(--surface-sunken);padding-right:64px}
#editor .edit-calories-field span{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none}
#editor .edit-calories-field:focus-within{outline:none;box-shadow:none}

/* health-pages.css */
/* Confirmed sport/food layouts, scoped to the new secondary pages. */
.health-page{margin:-16px -16px 0;color:var(--ink);background:#F1F3F5;min-height:100%;padding-bottom:24px;font-size:15px;line-height:24px;font-variant-numeric:tabular-nums}
body[data-page=sport] #scroll-area,body[data-page=food] #scroll-area,body[data-page=sport-detail] #scroll-area,body[data-page=sport-records] #scroll-area{padding-bottom:0;background:#F1F3F5}
.health-page *{box-sizing:border-box}.health-page button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}.health-page button:focus-visible{outline:2px solid #202020;outline-offset:2px}.health-page button:disabled{cursor:default;color:#626262}
.health-page h1,.health-page h2,.health-page h3,.health-page p{margin:0}.health-page small{font-size:13px;line-height:20px;color:#626262}.health-page svg{flex-shrink:0;width:20px;height:20px}
.hp-header{height:64px;padding:0 8px;display:flex;align-items:center;gap:4px;position:relative}.hp-header h1{flex:1;min-width:0;font-size:24px;line-height:32px;font-weight:600}.hp-icon{border:0;background:transparent;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hp-icon svg{width:24px;height:24px}
.hp-more{position:absolute;right:16px;top:56px;background:white;border:1px solid #e6e6e6;box-shadow:0 8px 24px #0001;border-radius:12px;z-index:2;padding:8px}.hp-more[hidden]{display:none}.hp-more button{display:block;min-height:44px;border:0;background:white;padding:0 12px}
.hp-date-line{display:flex;align-items:center;min-height:48px;padding:0 8px}.hp-date-line>button:not(.hp-icon){flex:1;min-width:0;min-height:44px;display:flex;justify-content:center;align-items:center;gap:4px;border:0;background:transparent;font-size:15px;color:#626262}.hp-date-line svg{width:16px;height:16px}
.hp-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:4px 8px 0;gap:0}.hp-week button{border:0;background:transparent;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 0 4px;min-height:100px}.hp-week button>span{color:#626262;font-size:15px}.hp-week b{width:40px;height:40px;border:1.5px solid transparent;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:500}.hp-week [aria-pressed=true] b{border-color:#E8590C}.hp-week .future b{color:#626262}.hp-mini-rings{width:34px;height:34px}.hp-mini-rings svg{width:100%;height:100%}
.hp-ring-overview{padding:24px 16px 20px;display:grid;grid-template-columns:minmax(0,196px) minmax(0,1fr);align-items:center;gap:12px}.hp-rings{width:100%;aspect-ratio:1;position:relative}.hp-rings>svg{width:100%;height:100%}.hp-ring-icon{position:absolute;width:12.25%;height:12.25%;border-radius:50%;display:flex;align-items:center;justify-content:center}.hp-ring-icon svg{width:65%;height:65%;color:white;stroke-width:2.4}.hp-ring-icon.ring-0{left:12.25%;top:74.5%}.hp-ring-icon.ring-1{left:20.9%;top:65.8%}.hp-ring-icon.ring-2{left:29.1%;top:57.7%}
.hp-metrics{display:flex;flex-direction:column;gap:8px;min-width:0}.hp-metrics button{border:0;background:transparent;text-align:left;padding:0;min-height:56px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hp-metrics button>span{font-size:13px;color:#626262;display:flex;align-items:center;gap:8px;white-space:nowrap}.hp-metrics i,.hp-share-items span i{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.hp-metrics strong{font-size:32px;font-weight:600;line-height:40px;white-space:nowrap}.hp-metrics strong small{font-weight:400;font-size:13px}
.hp-content{padding:0 16px 24px;display:flex;flex-direction:column;gap:12px}.hp-card{background:white;border-radius:24px;padding:16px;min-width:0}.hp-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 4px 0;min-height:56px}.hp-section-title h2{font-size:24px;line-height:32px;font-weight:700}.hp-section-title>button{display:flex;align-items:center;gap:0;border:0;background:transparent;font-size:13px;line-height:20px;color:#626262;min-height:44px;white-space:nowrap;padding:0}.hp-section-title>button svg{width:16px;height:16px}.hp-note{font-size:13px;line-height:20px;color:#626262}.hp-optional{font-size:13px;color:#626262;padding:0 4px}.hp-empty{padding:16px 0;text-align:center;font-size:15px;line-height:24px;color:#626262}
.hp-goal-empty{display:flex;align-items:center;gap:12px}.hp-goal-empty>div{flex:1;min-width:0}.hp-goal-empty h3{font-size:17px;line-height:24px;font-weight:600}.hp-goal-empty p{font-size:13px;line-height:20px;color:#626262}.hp-goal-empty .primary{flex-shrink:0;min-height:44px;padding:0 16px;white-space:nowrap}
.hp-week-summary{display:grid;grid-template-columns:1fr 1fr;row-gap:4px;padding:16px 8px;text-align:center;font-size:13px;line-height:24px}.hp-week-summary>span+span{border-left:1px solid #e6e6e6}.hp-week-summary small{grid-column:1/-1}
.hp-insight{display:flex;flex-direction:column;gap:12px}.hp-insight h3{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:500;color:#626262}.hp-insight h3 svg{color:#744409;background:#FFD6A0;border-radius:50%;width:32px;height:32px;padding:6px}.hp-insight p{font-size:17px;line-height:28px}.hp-insight b{font-size:28px;font-weight:600}.hp-comparison{height:32px}.hp-comparison span{height:32px;display:flex;align-items:center;border-radius:16px;background:#F5A623;padding:0 12px;color:#202020;font-size:15px;min-width:52px}.hp-comparison.previous span{background:#e2e2e2}.hp-estimate{display:inline-flex;align-items:center;justify-content:center;min-width:32px;white-space:nowrap;border-radius:8px;background:#efefef;padding:0 6px;font-size:12px;line-height:20px;font-weight:400;color:#626262}
.hp-records{padding:4px 16px}.hp-record{width:100%;min-height:76px;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:12px 0;text-align:left}.hp-record+.hp-record{border-top:1px solid #ededed}.hp-record>svg{width:16px;height:16px;color:#626262}.hp-record-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.hp-record-icon.sport{background:#FBF1E7;color:#744409}.hp-record-icon.food{background:#EDF5ED;color:#243C19;border-radius:12px}.hp-record-icon svg{width:24px;height:24px}.hp-record-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hp-record-name{font-size:17px;line-height:24px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;overflow-wrap:anywhere}.hp-record-copy{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hp-record-kcal{max-width:36%;font-size:15px;line-height:22px;text-align:right;flex-shrink:0;overflow-wrap:anywhere}.hp-record-content small{overflow-wrap:anywhere}.hp-plan-date{border:1.5px dashed #F59F00;border-radius:50%;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;color:#744409}.hp-plan-date small{font-size:11px;line-height:16px;color:#744409}.hp-plan-date b{font-size:15px;line-height:18px}
.hp-ai{display:flex;align-items:flex-start;gap:12px}.hp-ai .ai-unavailable{min-width:0;flex:1}.hp-profile{padding:4px 16px}.hp-profile>button{display:flex;width:100%;min-height:54px;gap:12px;align-items:center;justify-content:space-between;background:transparent;border:0;text-align:left;padding:8px 0;font-size:15px}.hp-profile>button+button{border-top:1px solid #ededed}.hp-profile>button>span:last-child{color:#626262;display:flex;align-items:center;justify-content:flex-end;gap:4px;max-width:60%;overflow-wrap:anywhere}.hp-profile svg{width:16px;height:16px}.hp-legacy{font-size:13px;line-height:20px;color:#626262;padding:12px 0;border-top:1px solid #ededed}.hp-error{color:#A13629;font-size:13px;line-height:20px}.hp-error:empty{display:none}
.hp-detail .hp-header{background:white}.hp-chart-area{background:white;padding-bottom:32px}.hp-period{display:flex;justify-content:center;gap:24px}.hp-period button{border:0;background:transparent;min-width:44px;height:48px;font-size:20px;padding:0 4px;color:#626262}.hp-period [aria-pressed=true]{box-shadow:inset 0 -3px 0 #E8590C;color:#744409;font-weight:600}.hp-range{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 0}.hp-range>button:not(.hp-icon){border:0;background:transparent;display:flex;align-items:center;min-height:44px;gap:4px}.hp-total{text-align:center;font-size:17px}.hp-total strong{font-size:52px;line-height:60px;font-weight:600}.hp-chart-area>.hp-note{text-align:center}.hp-chart{display:flex;height:220px;padding:20px 16px 28px;gap:8px}.hp-bars{flex:1;min-width:0;border-bottom:1px solid #ececec;background:linear-gradient(#ececec,#ececec) 0 0/100% 1px no-repeat,linear-gradient(#ececec,#ececec) 0 33.333%/100% 1px no-repeat,linear-gradient(#ececec,#ececec) 0 66.666%/100% 1px no-repeat;display:flex;align-items:flex-end;gap:4px}.hp-bar-group{flex:1;min-width:0;height:100%;position:relative;display:flex;justify-content:center;align-items:flex-end}.hp-bar-group>i{width:min(14px,80%);border-radius:4px 4px 0 0;display:block}.hp-bar-group>span{position:absolute;top:100%;margin-top:8px;font-size:11px;color:#626262;white-space:nowrap}.hp-bars.compat-has-many-bars .hp-bar-group:nth-child(even)>span{visibility:hidden}.hp-axis{width:32px;display:flex;flex-direction:column;justify-content:space-between;font-size:13px;color:#626262;line-height:16px;transform:translateY(-8px)}.hp-detail .hp-content{padding-top:16px}.hp-target{display:flex;flex-direction:column;gap:12px}.hp-target h2{font-size:20px;line-height:28px}.hp-target p{color:#626262}.hp-target b{font-size:28px;color:#202020}.hp-target-track{height:22px;border-radius:11px;background:#f2f2f2;overflow:hidden}.hp-target-track i{height:100%;border-radius:11px;display:block;background:linear-gradient(90deg,#E8590C,#FFB347)}
.hp-share-bar{display:flex;height:8px;gap:3px;border-radius:4px;overflow:hidden;margin:4px 0 24px}.hp-share-bar i{display:block}.hp-share-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px}.hp-share-items>div{display:flex;flex-direction:column;align-items:center;gap:4px}.hp-share-items svg{width:28px;height:28px;color:#626262}.hp-share-items b{font-size:28px;line-height:36px;color:#744409;font-weight:600}.hp-share-items span{display:flex;gap:4px;align-items:center;font-size:13px}.hp-explanation{line-height:24px;color:#626262}
.hp-food-top{background:#E3F3D9;border-radius:0 0 28px 28px;padding-bottom:20px}.hp-food-top .hp-header{justify-content:space-between;height:56px}.hp-food-top .hp-header h1:empty{display:none}.hp-food-title{padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.hp-food-title h1{font-size:24px;line-height:32px;font-weight:600}.hp-food-title>span{min-height:36px;border-radius:20px;background:#fff;display:flex;align-items:center;gap:4px;padding:4px 12px;font-size:13px;white-space:nowrap}.hp-food-title>span svg{width:16px;height:16px;color:#243C19}.hp-food-title b{color:#243C19}.hp-greeting{margin:16px 16px 0;background:#ffffffb3;border-radius:20px;padding:12px 16px;display:flex;align-items:center;gap:12px}.hp-greeting p{font-size:17px;line-height:24px;font-weight:600;color:#243C19}.hp-greeting .role-badge{width:44px;height:44px;flex-shrink:0}.hp-food>.hp-content{padding-top:12px}.hp-calorie-card{display:flex;flex-direction:column;gap:12px}.hp-calorie-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.hp-calorie-heading h2{font-size:20px;line-height:28px}.hp-calorie-heading button{border:0;background:transparent;min-height:44px;display:flex;align-items:center;gap:4px;font-size:13px;color:#626262}.hp-calorie-heading button svg{width:14px}.hp-calorie-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.hp-calorie-grid>div:first-child{min-width:0;display:flex;flex-direction:column}.hp-calorie-grid>div:first-child>span{font-size:15px;color:#626262}.hp-calorie-grid strong{font-size:32px;line-height:40px;font-weight:600;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;overflow-wrap:anywhere}.hp-calorie-grid strong small{font-weight:400}.hp-calorie-grid .hp-intake,.hp-calorie-grid>button{border:0;border-radius:16px;padding:12px 4px;background:#EDF5ED;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px}.hp-calorie-grid>button{background:#f2f3f5}.hp-calorie-grid b{font-size:20px;line-height:28px;font-weight:600;color:#243C19;overflow-wrap:anywhere;max-width:100%}.hp-calorie-grid>button b{color:#202020}.hp-calorie-grid .hp-intake>span,.hp-calorie-grid>button>span{color:#626262;font-size:13px}.hp-set-food-goal{border:0;background:transparent;text-align:left;min-height:44px;color:#243C19!important;font-weight:600!important;padding:0}.hp-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #ececec;padding-top:8px}.hp-quick button{border:0;background:transparent;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;padding:4px 0}.hp-quick svg{width:28px;height:28px}.hp-photo{border:0;border-radius:999px;min-height:52px;width:100%;background:#f2f3f5;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px!important;opacity:1!important}
.hp-food-day{display:flex;flex-direction:column;gap:12px}.hp-food-day-title{display:flex;align-items:center;justify-content:space-between;min-height:32px;color:#626262}.hp-food-day-title b{font-size:17px;font-weight:600}.hp-food-day-title button{width:44px;height:44px;background:transparent;border:0;display:grid;place-items:center}.hp-food-day-total{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hp-food-day-total>strong{font-size:44px;line-height:52px;font-weight:600}.hp-food-day-total>strong small{font-size:20px;color:#202020}.hp-food-pill{position:relative;border-radius:16px;background:#f0f0f0;height:32px;display:flex;align-items:center;padding:0 12px;overflow:hidden;font-size:13px;white-space:nowrap}.hp-food-pill>i{position:absolute;left:0;top:0;bottom:0;background:#BCE9A8}.hp-food-pill>span{position:relative;color:#243C19}.hp-meal-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hp-meal-bars>div{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:0}.hp-meal-bars span{display:flex;flex-wrap:wrap;column-gap:4px}.hp-meal-bars b{font-weight:400}.hp-meal-bars i{height:8px;border-radius:4px;background:#f0f0f0;overflow:hidden;display:block}.hp-meal-bars em{height:100%;display:block;border-radius:4px;background:#7CC35A}.hp-meals{border-top:1px dashed #e2e2e2;margin-top:4px;padding-top:8px;display:flex;flex-direction:column;gap:8px}.hp-meal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px}.hp-meal-heading h3{font-size:17px;line-height:24px;font-weight:600}.hp-meal-heading>span{font-size:13px;color:#626262}.hp-meal-add{border:0;background:transparent;min-height:44px;display:flex;align-items:center;gap:8px;color:#626262!important;padding:0}.hp-food-expand{border:0;border-top:1px dashed #e2e2e2;background:transparent;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;color:#626262!important;font-size:13px!important}.hp-food .hp-record{gap:8px}.hp-food .hp-record-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#health-profile-form label{display:block;margin-top:16px}#health-profile-form input{width:100%;font-size:16px;min-height:44px}#health-profile-form .dialog-actions{position:sticky;bottom:0;background:white;padding-top:12px}#sport-duration-edit .field-help{font-size:13px;line-height:20px}#sport-duration-edit .check-row{display:flex;align-items:center;gap:8px;min-height:44px}#sport-duration-edit input[type=checkbox]{width:20px;min-height:20px}#sport-duration-edit[hidden]{display:none}
@media(max-width:349px){.hp-ring-overview{grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:8px;padding-top:20px}.hp-metrics{gap:4px}.hp-metrics strong{font-size:28px;line-height:36px}.hp-metrics strong small{font-size:13px}.hp-metrics button>span{font-size:13px;gap:4px}.hp-metrics button{min-height:52px}.hp-card{padding:12px}.hp-records,.hp-profile{padding:4px 12px}.hp-section-title h2{font-size:24px}.hp-date-line>button:not(.hp-icon){font-size:13px}.hp-date-line .hp-icon{width:36px}.hp-week b{width:36px;height:36px}.hp-week-summary{padding:12px 4px;font-size:11px}.hp-goal-empty{flex-wrap:wrap}.hp-goal-empty>div{flex-basis:160px}.hp-record{gap:8px}.hp-record-icon{width:36px;height:36px}.hp-record-kcal{font-size:13px;max-width:34%}.hp-record-name{font-size:15px}.hp-record-content small{font-size:11px;line-height:16px}.hp-calorie-grid strong{font-size:28px;line-height:36px}.hp-calorie-grid b{font-size:17px}.hp-food-day-total>strong{font-size:36px;line-height:44px}.hp-food-title>span{padding:4px 12px}.hp-food-title{row-gap:8px}.hp-food .hp-record>svg{width:12px}.hp-food .hp-record-kcal{font-size:13px}.hp-period{gap:16px}}

.hp-plot{flex:1;min-width:0;position:relative}.hp-plot .hp-bars{width:100%;height:100%}.hp-chart-labels{position:absolute;top:100%;left:0;right:0;height:24px}.hp-chart-labels>span{position:absolute;top:8px;font-size:11px;line-height:16px;color:#626262;white-space:nowrap}

#batch3-sheet.sport #batch3-body,#batch3-sheet.food #batch3-body{height:100%}
#batch3-sheet .health-form{height:100%;max-height:100%;overflow-y:auto;scrollbar-width:none}
#batch3-sheet .health-form::-webkit-scrollbar{display:none}
#batch3-sheet .health-form .sheet-header{position:sticky;top:0;z-index:2;background:white}
#batch3-sheet .health-form>.hp-note{margin:0 20px 16px;font-size:13px;line-height:20px;color:#626262}
#hp-create-date{margin:0 20px 16px;width:calc(100% - 40px);min-height:44px;font-size:16px}
#batch3-sheet.sport .health-input>svg{color:#744409;stroke:#744409}
#batch3-sheet.food .health-input>svg{color:#243C19;stroke:#243C19}
/* Sport delivery 2026-10-29. Values follow the supplied 402px boards. */
body:-webkit-any([data-page=sport],[data-page=sport-goals],[data-page=weight],[data-page=cycle]) #scroll-area{padding:0;background:#f7f7f7;scrollbar-width:none;scrollbar-gutter:auto}
body:-webkit-any([data-page=sport],[data-page=sport-goals],[data-page=weight],[data-page=cycle]) #view{padding:0;max-width:480px;width:100%}
.sp-page{background:#f7f7f7;min-height:100%;width:100%;margin:0;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px));color:#202020;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
.sp-page *,.sp-dialog *{box-sizing:border-box}
.sp-page button,.sp-dialog button{font-family:inherit;cursor:pointer;border:0;color:inherit;letter-spacing:normal}
.sp-page button:focus-visible,.sp-dialog button:focus-visible,.sp-dialog input:focus-visible{outline:2px solid #a6430e;outline-offset:3px}
.sp-header{height:calc(128px + max(0px,env(safe-area-inset-top,0px) - 56px));display:flex;align-items:center;padding:max(56px,env(safe-area-inset-top,0px)) 8px 0 4px;gap:0;position:sticky;top:0;z-index:20;background:#f7f7f7}
.sp-header button,.sp-header-more{width:44px;height:44px;padding:0;background:transparent;display:grid;place-items:center;flex:none}
.sp-header svg{width:24px;height:24px;stroke-width:1.8}.sp-header h1{font-size:20px;line-height:28px;font-weight:600;margin:0;flex:1}
.sp-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 20px 12px;gap:0}
.sp-week button{padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:62px;background:transparent}
.sp-week span{font-size:13px;color:#8a8a8a;line-height:18px}.sp-week b{font-size:17px;font-weight:600;width:30px;height:30px;display:grid;place-items:center;border-radius:50%}
.sp-week [aria-pressed=true] b{background:#E8590C;color:#fff}.sp-week .future:not([aria-pressed=true]) b{color:#b0b0b0}.sp-week i{height:6px;width:6px;border-radius:50%;display:block}.sp-week .has-record{background:#E8590C}
.sp-body{padding:0 16px;display:flex;flex-direction:column;gap:12px}.sp-card{background:#fff;border-radius:20px;padding:16px;min-width:0}
.sp-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.sp-card-heading h2,.sp-section-title{font-size:17px;font-weight:600;line-height:24px;margin:0}.sp-card-heading>span{font-size:13px;color:#8a8a8a;text-align:right;line-height:18px}
.sp-card-heading>button{display:flex;align-items:center;gap:6px;background:transparent;padding:0 8px;min-height:44px;margin:-10px -8px -10px 0;font-size:15px;color:#626262;white-space:nowrap}.sp-card-heading>button svg{width:18px;height:18px}
.sp-progress{padding:16px 12px}.sp-progress .sp-card-heading{padding:0 4px}
.sp-rings,.sp-progress .hp-rings{width:220px;height:170px;margin:4px auto 0;display:block;position:relative}.sp-rings>svg,.sp-progress .hp-rings>svg{width:220px;height:170px;display:block}
.sp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;text-align:center}.sp-metrics>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.sp-metrics span{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;line-height:18px;color:#626262;white-space:nowrap}.sp-metrics i{width:8px;height:8px;border-radius:50%;flex:none}
.sp-metrics strong{font-size:22px;line-height:28px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sp-metrics small{font-size:12px;line-height:16px;color:#8a8a8a}
.sp-first-goal{padding:20px 16px;display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center}.sp-first-goal h2{font-size:17px;line-height:24px;font-weight:600;margin:0}.sp-first-goal p{font-size:13px;line-height:20px;color:#626262;max-width:280px;margin:0}.sp-first-goal button{margin-top:8px;height:48px;padding:0 32px;border-radius:999px;background:#202020;color:#fff;font-size:16px;font-weight:600}
.sp-section-title{padding:8px 4px 0}.sp-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sp-health-grid>.sp-card{padding:4px 0 0;display:flex;flex-direction:column}
.sp-health-head{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 4px 0 16px;gap:0}.sp-health-head button{padding:0;min-height:44px;font-size:13px;background:transparent;color:#626262;white-space:nowrap}.sp-health-head button+button{border-radius:999px;background:#f2f2f2;padding:0 12px;color:#202020;height:32px;min-height:32px;font-size:14px;font-weight:500;position:relative}.sp-health-head button+button:before{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}
.sp-health-main{padding:0 16px 16px;text-align:left;background:transparent;width:100%;min-height:76px;flex:1;display:flex;flex-direction:column;gap:2px}.sp-health-main strong{font-size:26px;line-height:34px;font-weight:700;white-space:nowrap}.sp-health-main strong small{font-size:13px;font-weight:400;margin-left:4px;color:#626262}.sp-health-main>span{font-size:12px;color:#8a8a8a;line-height:16px}
.sp-cycle-mini{display:flex;gap:6px;margin-top:auto;padding-top:14px;flex-wrap:nowrap}.sp-cycle-mini i{height:12px;width:12px;background:#ececec;border-radius:50%;flex:none}.sp-cycle-mini .period{background:#F7B9C6}.sp-cycle-mini .current{border:1.5px solid #202020}
.sp-records{padding:4px 16px}.sp-record{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;gap:12px;background:transparent;text-align:left;padding:0}.sp-record+.sp-record{border-top:1px solid #f0f0f0}.sp-record>span{display:flex;flex-direction:column;min-width:0}.sp-record b{font-size:15px;line-height:22px;font-weight:500;overflow-wrap:anywhere}.sp-record small{font-size:13px;line-height:18px;color:#8a8a8a}.sp-record>strong{font-size:15px;font-weight:600;text-align:right;flex:none;max-width:45%;overflow-wrap:anywhere}.sp-empty{text-align:center;padding:24px 0;color:#8a8a8a;font-size:15px;margin:0}
.sp-footer{position:fixed;z-index:25;bottom:0;padding:12px 16px calc(19px + env(safe-area-inset-bottom,0px));width:100%;max-width:480px;background:#fff;border-top:1px solid #eee;display:flex}
.sp-primary,.sp-dialog .sp-primary{background:#202020;color:#fff;border:0;border-radius:999px;font-weight:600;font-size:16px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:4px}.sp-footer button{width:100%}.sp-footer .sp-primary{color:#fff}.sp-footer svg{width:18px;height:18px}
.sp-settings{padding:0 16px}.sp-settings>button,.sp-cycle-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;background:transparent;text-align:left;padding:0;font-size:16px}.sp-settings>button+button{border-top:1px solid #eee}.sp-settings>button>span:last-child{display:flex;align-items:center;justify-content:flex-end;gap:2px;color:#626262;font-size:16px;text-align:right;min-width:0;max-width:60%;overflow-wrap:anywhere}.sp-settings svg{width:18px;height:18px;flex:none;color:#8a8a8a}.sp-help{font-size:13px;line-height:20px;color:#8a8a8a;margin:0;padding:0 4px}
.sp-weight-progress{padding:16px 16px 20px}.sp-weight-gauge{width:min(260px,100%);height:130px;margin:8px auto 0;position:relative}.sp-weight-gauge svg{width:100%;height:130px;display:block}.sp-weight-gauge>div{position:absolute;top:62px;width:100%;text-align:center;display:flex;flex-direction:column}.sp-weight-gauge strong{font-size:36px;line-height:40px;font-weight:700}.sp-weight-gauge span{font-size:13px;line-height:18px;color:#8a8a8a}.sp-weight-bounds{display:flex;justify-content:space-between;padding:0 8px;font-size:13px;color:#8a8a8a;line-height:18px}
.sp-weight-trend{padding:16px 16px 12px}.sp-weight-trend>svg{width:100%;height:auto;display:block;margin-top:8px}.sp-weight-trend text{font-family:inherit;font-size:12px;fill:#626262}.sp-weight-trend .sp-chart-date{fill:#8a8a8a}.sp-weight-trend .sp-chart-latest{font-size:15px;font-weight:700;fill:#202020}.sp-weight-list{padding:4px 16px}.sp-weight-list>div{display:flex;justify-content:space-between;gap:12px;min-height:52px;align-items:center;font-size:15px;color:#626262}.sp-weight-list>div+div{border-top:1px solid #f0f0f0}.sp-weight-list strong{font-size:15px;font-weight:600;color:#202020}
.sp-cycle-card{padding:16px 12px 12px}.sp-month{display:flex;align-items:center;justify-content:space-between;font-size:15px;line-height:24px;color:#626262;padding:0 4px;position:relative}.sp-month button{width:36px;height:24px;background:transparent;display:grid;place-items:center}.sp-month-controls{display:flex}.sp-month svg{width:16px;height:16px}.sp-cycle-status{font-size:26px;line-height:34px;font-weight:700;margin:2px 4px 0}.sp-cycle-card>.sp-help{padding:0 4px 12px}
.sp-cycle-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 0;margin:0}.sp-cycle-calendar>span{width:36px;height:36px;justify-self:center;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:24px;border-radius:50%}.sp-cycle-calendar>span:nth-child(-n+7){font-size:13px;line-height:28px;color:#8a8a8a;height:28px}.sp-cycle-calendar .period{background:#fce4ea;color:#c9315b}.sp-cycle-calendar .current{border:1.5px solid #202020}.sp-cycle-legend{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:8px;margin:0;font-size:13px;line-height:20px;color:#626262}.sp-cycle-legend span{display:flex;align-items:center;gap:4px}.sp-cycle-legend i{width:8px;height:8px;border-radius:50%;background:#F7B9C6}.sp-cycle-legend .today-dot{background:transparent;border:1.5px solid #202020}
.sp-cycle-settings{padding:4px 16px}.sp-cycle-settings>button,.sp-cycle-setting{min-height:60px;font-weight:500}.sp-cycle-setting{min-height:64px;border-bottom:1px solid #f0f0f0}.sp-cycle-settings>button>span:last-child{font-size:15px;font-weight:400;color:#8a8a8a}.sp-cycle-settings>button:first-of-type{border-bottom:1px solid #f0f0f0}.sp-cycle-settings>button+button{border-top:0}
.sp-switch{display:block;width:51px;height:31px;border-radius:18px;background:#d4d4d4;position:relative;flex:none}.sp-switch:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:white}.sp-switch[aria-checked=true]{background:#202020}.sp-switch[aria-checked=true]:before{left:22px}
#sport-dialog{box-sizing:border-box;margin:auto auto 0;padding:0;border:0;border-radius:24px 24px 0 0;width:min(100%,480px);max-width:100%;max-height:calc(100vh - 24px);height:fit-content;overflow-y:auto;background:#fff;color:#202020;scrollbar-width:none;box-shadow:none;overscroll-behavior:contain;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
#sport-dialog::backdrop{background:rgba(0,0,0,.35)}#sport-dialog::-webkit-scrollbar,#sport-dialog *::-webkit-scrollbar{display:none}#sport-dialog *{scrollbar-width:none}#sport-dialog[open]{animation:sp-sheet-in 180ms ease-out}body.compat-has-sport-dialog .sp-footer{visibility:hidden}.sp-dialog-content{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}.sp-dialog h2{font-size:18px;line-height:26px;font-weight:600;margin:0 0 14px}.sp-dialog label{margin:0}.sp-sheet-date{position:absolute;top:22px;right:16px;font-size:13px;line-height:22px;margin:0;color:#8a8a8a}
#sp-record-form{display:flex;flex-direction:column;gap:14px}.sp-type-heading{display:flex;justify-content:space-between;align-items:center;height:24px}.sp-type-heading label{font-size:13px;line-height:18px;color:#8a8a8a;padding:0 2px}.sp-type-heading button{height:44px;margin:-10px -4px;padding:0 4px;background:transparent;font-size:13px}.sp-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px}.sp-type-grid button{min-width:0;height:40px;min-height:40px;border-radius:20px;background:#f2f2f2;padding:0 4px;white-space:nowrap;font-size:14px;overflow:hidden;text-overflow:ellipsis}.sp-type-grid [aria-pressed=true]{background:#202020;color:#fff;font-weight:600}.sp-type-grid .editing{background:#fff;color:#202020;box-shadow:inset 0 0 0 1px #dcdcdc;font-weight:400;display:flex;align-items:center;justify-content:center;gap:2px}.sp-type-grid .editing span{font-size:14px}.sp-type-grid .sp-type-add{border:0;box-shadow:inset 0 0 0 1px #dcdcdc;background:#fff;color:#626262;font-weight:400}
.sp-dialog #sp-type-new{display:flex;gap:8px;align-items:center;margin-top:8px}.sp-dialog #sp-type-new[hidden]{display:none}.sp-dialog input{font-family:inherit;color:#202020}.sp-dialog #sp-type-name{flex:1;min-width:0;width:100%;height:40px;font-size:15px;border:0;border-radius:12px;padding:0 12px;background:#f6f6f6}.sp-dialog #sp-type-new button{height:40px;padding:0 10px;background:transparent;flex:none;font-size:15px;color:#626262}.sp-dialog #sp-type-new button:last-child{padding:0 14px;background:#202020;border-radius:20px;color:#fff;font-weight:600}
.sp-form-row{min-height:63px;border-top:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 0}.sp-form-row label{font-size:13px;line-height:18px;color:#8a8a8a;white-space:nowrap;padding:0 2px}.sp-form-row>div:first-child>small{display:block;font-size:12px;line-height:16px;color:#a0a0a0;margin-top:2px;padding:0 2px;max-width:180px}
.sp-duration{display:flex;align-items:center;gap:12px;white-space:nowrap}.sp-duration button{width:44px;height:44px;border-radius:50%;background:#f2f2f2;display:grid;place-items:center;padding:0}.sp-duration button:disabled{opacity:.4;cursor:default}.sp-duration svg{width:22px;height:22px}.sp-duration span{font-size:14px;color:#626262;min-width:76px;text-align:center}.sp-duration strong{font-size:24px;font-weight:700;color:#202020}
.sp-kcal-entry{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px;color:#626262}.sp-dialog #sp-kcal{width:88px;border:0;border-radius:12px;background:#f6f6f6;font-size:20px;font-weight:700;text-align:center;height:44px;padding:0}.sp-dialog #sp-reset{background:transparent;min-height:20px;font-size:12px;padding:0 2px;color:#202020;text-decoration:underline;text-underline-offset:3px}.sp-dialog #sp-reset[hidden]{display:none}.sp-dialog #sp-time{width:142px;min-width:0;font-size:17px;border:0;border-radius:12px;padding:0 12px;height:44px;background:#f6f6f6}
.sp-error{font-size:13px;color:#a13629;line-height:18px;margin:0}.sp-error:empty{display:none}.sp-actions{display:flex;gap:12px;padding-top:4px;margin:0}.sp-actions>button{flex:1;min-height:52px;border-radius:999px;background:#f2f2f2;font-size:16px;font-weight:600}.sp-dialog .sp-actions>.sp-primary{background:#202020;color:#fff}.sp-dialog .sp-danger{color:#D9363E}
#sport-dialog.sp-detail{margin:auto auto 24px;width:calc(100% - 32px);max-width:448px;border-radius:28px}.sp-detail .sp-dialog-content{padding:24px 20px 0}.sp-detail h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}.sp-detail-type{font-size:15px;line-height:22px;color:#626262;text-align:center;margin:0 0 4px}.sp-detail-kcal{display:block;text-align:center;font-size:32px;line-height:40px;font-weight:700;margin:0 0 12px}.sp-detail dl{margin:0}.sp-detail dl>div{display:flex;align-items:center;justify-content:space-between;min-height:49px;border-top:1px solid #f0f0f0;gap:12px;font-size:15px}.sp-detail dt{color:#8a8a8a}.sp-detail dd{margin:0;text-align:right}.sp-detail .sp-detail-actions{height:61px;align-items:center;border-top:1px solid #f0f0f0;padding:0;gap:0}.sp-detail .sp-detail-actions button{background:#fff;min-height:48px;font-size:17px}.sp-detail .sp-detail-actions button+button{border-left:1px solid #e6e6e6;border-radius:0}
#sp-weight-form{display:flex;flex-direction:column;gap:14px}.sp-weight-input{display:flex;align-items:center;gap:8px;margin:0}.sp-weight-input label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sp-dialog #sp-weight{flex:1;min-width:0;width:100%;height:52px;border:0;background:#f6f6f6;border-radius:12px;padding:0 14px;font-size:22px;font-weight:700;text-align:left}.sp-weight-input>span{font-size:15px;color:#626262}.sp-weight-note{font-size:12px;line-height:16px;color:#a0a0a0;margin:-6px 0 0}
.sp-dialog #sp-goal{width:100%;border:0;border-radius:12px;background:#f2f2f2;padding:0 14px;font-size:16px;height:48px;margin:12px 0 20px}.sp-dialog #sp-goal-form>label{font-size:14px;color:#626262}
.sp-cycle-sheet .sp-dialog-content{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}.sp-cycle-sheet h2{font-size:17px;line-height:24px;text-align:center;margin:0}.sp-cycle-toggle{display:flex;align-items:center;justify-content:space-between;min-height:61px;font-size:16px;font-weight:500;border-bottom:1px solid #f0f0f0;margin:8px 0 0!important}.sp-cycle-toggle input{appearance:none;width:51px;height:31px;border-radius:18px;background:#d4d4d4;position:relative;cursor:pointer;flex:none}.sp-cycle-toggle input:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff}.sp-cycle-toggle input:checked{background:#202020}.sp-cycle-toggle input:checked:before{left:22px}
.sp-dialog fieldset{border:0;padding:0;margin:0;position:relative}.sp-dialog legend{font-size:15px;line-height:22px;color:#8a8a8a;padding:16px 0 8px}.sp-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.sp-chip-grid label{position:relative;cursor:pointer}.sp-chip-grid input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.sp-chip-grid span{display:block;background:#f2f2f2;border-radius:999px;padding:0 14px;font-size:14px;line-height:40px}.sp-chip-grid input:checked+span{background:#202020;color:#fff;font-weight:600}.sp-chip-grid input:focus-visible+span{outline:2px solid #a6430e;outline-offset:2px}.sp-wide{width:100%;margin-top:20px}.sp-clear-mood{position:absolute;right:0;top:-32px;min-height:28px;padding:0;background:transparent;font-size:12px;color:#626262}.sp-clear-mood[hidden]{display:none}
#sport-notice{position:fixed;z-index:100000;bottom:calc(100px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:448px;min-height:48px;box-sizing:border-box;background:#202020;color:#fff;border-radius:16px;padding:0 8px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:0 1px 2px #0002;font-size:14px;line-height:20px}#sport-notice[hidden]{display:none}#sport-notice span{padding:10px 0}#sport-notice button{border:0;background:transparent;color:#fff;font:inherit;font-size:15px;font-weight:600;height:44px;padding:0 16px;white-space:nowrap}
@keyframes sp-sheet-in{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#sport-dialog[open]{animation:none}}
/* Override the shared mobile input zoom rule only on these reference controls. */
#sport-dialog #sp-kcal{font-size:20px!important}#sport-dialog #sp-weight{font-size:22px!important}#sport-dialog #sp-time{font-size:17px!important}#sport-dialog #sp-type-name{font-size:15px!important}
.sp-month button{min-height:24px;position:relative}.sp-month button:before{content:"";position:absolute;top:-10px;right:0;bottom:-10px;left:0}.sp-switch{min-height:31px}.sp-switch:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}
@media(max-width:350px){.sp-health-head{padding-left:12px;padding-right:4px}.sp-health-head button{font-size:12px}.sp-health-head button+button{padding:0 8px;font-size:13px}.sp-health-main{padding-left:12px;padding-right:12px}.sp-health-main strong{font-size:23px}.sp-cycle-mini{gap:4px}.sp-cycle-mini i{width:10px;height:10px}.sp-dialog .sp-sheet-date{font-size:11px;right:16px}.sp-duration{gap:6px}.sp-duration span{min-width:66px}.sp-kcal-entry{gap:4px}.sp-dialog #sp-kcal{width:76px}.sp-form-row{gap:6px}.sp-form-row>div:first-child>small{max-width:146px}.sp-metrics span{gap:4px;font-size:12px}.sp-metrics small{font-size:11px}.sp-card-heading>span{font-size:12px}.sp-settings>button>span:last-child{font-size:14px}.sp-type-grid{gap:6px}.sp-type-grid button{font-size:12px;padding:0 1px}.sp-chip-grid span{padding:0 12px}}
/* Food delivery 2026-10-31: shared records, four meals, and optional calorie target. */
body:-webkit-any([data-page=food],[data-page=food-goals]) #scroll-area{padding:0;background:#f7f7f7;scrollbar-width:none;scrollbar-gutter:auto}
body:-webkit-any([data-page=food],[data-page=food-goals]) #view{padding:0;max-width:480px;width:100%}
.fd-page{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}.fd-week [aria-pressed=true] b{background:#5BA833}.fd-week .has-record{background:#5BA833}
.fd-progress{padding:16px 12px 12px}.fd-progress>.sp-card-heading{padding:0 4px}.fd-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,170px) minmax(0,1fr);align-items:center;margin:4px 0 8px;gap:0;text-align:center}
.fd-side{min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;padding:0;font:inherit;min-height:62px;justify-content:center}.fd-side>span{font-size:13px;color:#626262;white-space:nowrap;line-height:20px}.fd-side strong{font-size:26px;line-height:34px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.fd-ring{position:relative;width:100%;height:auto;aspect-ratio:190/170}.fd-ring svg{display:block;width:100%;height:100%}.fd-ring>div{position:absolute;top:28%;width:100%;display:flex;flex-direction:column;align-items:center}.fd-ring span{font-size:13px;line-height:18px;color:#626262}.fd-ring strong{font-size:34px;line-height:40px;font-weight:700;max-width:96%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.fd-ring small{font-size:12px;line-height:18px;color:#8a8a8a;white-space:nowrap}
.fd-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 4px}.fd-macros>div{min-width:0;display:flex;flex-direction:column;gap:6px}.fd-macros span{font-size:13px;line-height:18px;color:#626262;white-space:nowrap}.fd-macros i{height:6px;border-radius:3px;overflow:hidden;display:block}.fd-macros em{display:block;height:100%;border-radius:3px}.fd-macros small{font-size:12px;line-height:16px;color:#8a8a8a;white-space:nowrap}.fd-macro-note{font-size:10px;line-height:14px;color:#8a8a8a;margin:8px 4px 0}
.fd-record{min-height:60px;padding:10px 0}.fd-record>strong{max-width:44%;white-space:nowrap}.fd-first-goal{padding:0 4px 16px}.fd-first-goal p{font-size:13px;line-height:20px;color:#626262;margin:0 0 12px}.fd-first-goal button{min-height:44px;border-radius:999px;background:#202020;color:#fff;padding:0 20px;font-weight:600}
.fd-footer{position:fixed;z-index:25;bottom:0;padding:12px 8px calc(18px + env(safe-area-inset-bottom,0px));width:100%;max-width:480px;background:#fff;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.fd-footer button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;min-height:52px;font-size:14px;padding:0}.fd-footer svg{height:24px;width:24px;stroke-width:1.8}
.fd-sheet #fd-form{display:flex;flex-direction:column;gap:14px}.fd-sheet .sp-sheet-date{font-size:12px}.fd-sheet #fd-form>label,.fd-recent>span,.fd-form-row label,#fd-direction-form>label{display:block;color:#8a8a8a;font-size:13px;line-height:20px;margin:0}
.fd-meals{display:flex;gap:8px;flex-wrap:wrap}.fd-meals button{flex:1;border-radius:999px;height:40px;min-width:44px;background:#f2f2f2;font-size:15px;padding:0 8px}.fd-meals button[aria-pressed=true]{background:#202020;color:#fff;font-weight:600}
#sport-dialog #fd-name,#sport-dialog #fd-direction{border:0;background:#f6f6f6;border-radius:12px;width:100%;height:44px;padding:0 12px;font:inherit;font-size:16px!important;margin:0;color:#202020}.fd-sheet #fd-form>#fd-name{margin-top:-6px}
.fd-recent{margin:4px 0 0}.fd-recent>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.fd-recent button{background:#fff;border:1px solid #e0e0e0;border-radius:999px;padding:5px 12px;min-height:36px;font-size:14px;max-width:100%;overflow-wrap:anywhere}.fd-recent small{font-size:12px;color:#8a8a8a;line-height:20px}
.fd-form-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eee;padding:14px 0 0;gap:8px;min-width:0}.fd-form-row>div:first-child{min-width:0}.fd-form-row small{display:block;font-size:12px;line-height:18px;color:#a0a0a0}.fd-kcal{display:flex;gap:8px;align-items:center;flex:none;color:#626262;font-size:14px}
#sport-dialog #fd-kcal{background:#f6f6f6;border:0;border-radius:12px;width:88px;height:44px;font-size:20px!important;text-align:center;padding:0 8px;color:#202020;margin:0}#sport-dialog #fd-time{border:0;border-radius:12px;background:#f6f6f6;height:44px;min-width:0;width:142px;max-width:55%;font-size:17px!important;padding:0 12px;margin:0;color:#202020}
.fd-sheet .sp-error:empty,.fd-goal .sp-error:empty{display:none}.fd-sheet .sp-actions{margin-top:6px}.fd-sheet #fd-direction{margin:12px 0 20px}.fd-detail .sp-detail-type{overflow-wrap:anywhere}
#sport-dialog.fd-goal{margin:auto;width:calc(100% - 80px);max-width:360px;border-radius:28px}.fd-goal .sp-dialog-content{padding:20px 24px 12px}.fd-goal h2{font-size:17px;line-height:24px;margin:0 0 12px;white-space:normal}
.fd-wheel-frame{position:relative;height:220px}.fd-wheel-band{position:absolute;left:0;right:0;top:88px;height:44px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;pointer-events:none}.fd-wheel{height:220px;overflow-y:auto;padding:88px 0;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;outline-offset:2px}.fd-wheel::-webkit-scrollbar{display:none}.fd-wheel [role=option]{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;scroll-snap-stop:always;flex-shrink:0;font-size:17px;color:#8a8a8a;cursor:pointer}.fd-wheel [aria-selected=true]{font-size:22px;color:#202020;font-weight:700}
.fd-goal .sp-actions{padding:10px 0 0;gap:0}.fd-goal .sp-actions button{background:#fff;border-radius:0;min-height:44px}.fd-goal .sp-actions button+button{border-left:1px solid #eee}.fd-clear{display:block;min-height:36px;font-size:12px;color:#8a8a8a!important;background:transparent;margin:4px auto 0}.fd-goal .sp-error{font-size:12px}
.fd-page button:focus-visible,.fd-sheet button:focus-visible,.fd-goal button:focus-visible,.fd-wheel:focus-visible{outline-color:#5BA833}
@media(max-width:350px){.fd-summary{grid-template-columns:minmax(0,1fr) minmax(0,136px) minmax(0,1fr);margin-top:12px}.fd-side>span{font-size:11px}.fd-side strong{font-size:21px;line-height:28px}.fd-ring strong{font-size:28px;line-height:32px}.fd-ring span{font-size:12px}.fd-ring small{font-size:10px}.fd-macros{gap:12px;padding:0}.fd-macros span{font-size:11px}.fd-macros small{font-size:10px}.fd-progress{padding:14px 12px 10px}.fd-record>strong{font-size:13px}.fd-sheet .sp-sheet-date{position:static;margin:-8px 0 0;text-align:left;font-size:12px}.fd-meals{gap:6px}.fd-meals button{font-size:14px;padding:0 4px}.fd-form-row small{max-width:138px;font-size:11px}.fd-kcal{gap:6px}#sport-dialog #fd-kcal{width:68px}#sport-dialog.fd-goal{width:calc(100% - 48px)}.fd-goal .sp-dialog-content{padding:20px 20px 12px}}

/* knowledge-keywords.css */
/* Scoped to knowledge folders and their local collection flow. */
#knowledge-rules{width:min(480px,100vw);height:100vh;max-width:100vw;max-height:100vh;margin:0 auto;padding:0;border:0;border-radius:0;background:var(--canvas,#f7f7f7);color:var(--ink,#202020);overflow:hidden}
#knowledge-rules[open]{display:flex;flex-direction:column}
#knowledge-rules::backdrop{background:rgba(0,0,0,.4)}
.kg-header{display:flex;align-items:center;gap:8px;padding:16px 12px 12px;border-bottom:1px solid var(--line,#e6e6e6);flex-shrink:0}
.kg-header h1{font-size:20px;line-height:28px;font-weight:600;margin:0}.kg-header button{width:44px;height:44px;display:grid;place-items:center;background:none;border:0}
.kg-body{padding:24px 16px;overflow:auto;flex:1;min-height:0}.kg-body h2{font-size:17px;line-height:24px;margin:24px 0 12px}.kg-intro{font-size:15px;line-height:24px;margin:0 0 24px}
.kg-fields{padding:16px;background:var(--surface,#fff);border-radius:20px}.kg-fields>label{display:block;font-size:13px;line-height:20px;margin:0 0 8px;color:var(--ink-secondary,#626262)}.kg-fields>label:not(:first-child){margin-top:24px}
.kg-fields input{box-sizing:border-box;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line,#e6e6e6);border-radius:0;background:transparent;font-size:16px;padding:8px 0;color:inherit}
.kg-keywords{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.kg-keyword{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:8px;border:1px solid var(--line-strong,#d4d4d4);background:var(--line,#e6e6e6);color:var(--ink,#202020);font-size:16px;line-height:24px;overflow-wrap:anywhere;max-width:100%}.kg-keyword.compat-has-button{padding-right:0}.kg-keyword button{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:42px;min-height:42px;background:transparent!important;border:0;padding:0;color:inherit}.kg-keyword svg{width:14px;height:14px}
.kg-add-keyword{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:0 12px;border:1px dashed var(--line-strong,#d4d4d4);border-radius:8px;background:transparent;color:var(--ink-secondary,#626262);font-size:16px;line-height:24px}.kg-add-keyword svg{width:14px;height:14px}
.kg-help{color:var(--ink-secondary,#626262);font-size:13px;line-height:20px;margin:12px 0 24px}.kg-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px}.kg-check input,.kg-retro-row input{accent-color:#202020;width:20px;height:20px;flex-shrink:0}
.kg-actions,.kg-footer{display:flex;gap:12px}.kg-actions{margin-top:24px}.kg-actions button,.kg-footer button{flex:1;min-height:48px}.kg-footer{padding:12px 16px max(16px,env(safe-area-inset-bottom));background:var(--surface,#fff);border-top:1px solid var(--line,#e6e6e6);flex-shrink:0}
.kg-error{color:var(--error,#a13629);font-size:13px;line-height:20px}.kg-delete{margin-top:32px;min-height:44px;background:none;border:0;color:var(--error,#a13629);padding:0 4px}
.kg-retro-row{display:flex;gap:12px;align-items:center;padding:12px 0;min-height:44px;border-bottom:1px solid var(--line,#e6e6e6)}.kg-retro-row span{min-width:0}.kg-retro-row strong,.kg-skipped strong{display:block;font-size:15px;line-height:24px;font-weight:400;overflow-wrap:anywhere;white-space:pre-wrap}.kg-retro-row small,.kg-skipped small{display:block;font-size:13px;line-height:20px;color:var(--ink-secondary,#626262);margin-top:4px}.kg-skipped{padding:12px 0;border-bottom:1px solid var(--line,#e6e6e6)}
.kg-folder-settings{padding:8px 16px 16px}.kg-folder-settings>button{display:flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;color:var(--ink-secondary,#626262);font-size:13px;padding:0}.kg-folder-settings>button svg{width:16px;height:16px}.kg-folder-settings .kg-keywords:empty{display:none}
.knowledge-category-list.kg-layout-single{display:flex;flex-direction:column}.knowledge-category-list.kg-layout-double{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kg-layout-double .knowledge-category-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;padding:12px}.kg-layout-double .knowledge-folder{align-self:center;max-width:100%;margin-bottom:12px}.kg-layout-double .knowledge-category-copy{min-width:0}.kg-layout-double .knowledge-category-copy strong{overflow-wrap:anywhere}.kg-layout-double .knowledge-category-copy small{font-size:12px;white-space:normal}
.kg-capture-mode{font-size:11px;color:var(--ink-secondary,#626262);padding:2px 8px;border-radius:8px;background:var(--surface-sunken,#f2f2f2);margin-left:auto}.kg-capture-mode+.result-more{margin-left:0}
.kg-also{margin:16px 0;font-size:13px;line-height:20px;color:var(--ink-secondary,#626262)}.kg-also p{margin:0}.kg-also button{min-height:44px;background:none;border:0;padding:0 12px 0 0;color:var(--ink,#202020)}
.kg-undo-list{padding:8px 16px}.kg-undo-list>div{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;color:var(--ink-secondary,#626262)}.kg-undo-list span{flex:1;overflow-wrap:anywhere}.kg-undo-list button{min-height:44px;flex-shrink:0;border:0;background:var(--surface-sunken,#f2f2f2);color:var(--ink,#202020);padding:0 12px;border-radius:8px}
#knowledge-rules,#knowledge-rules *{scrollbar-width:none}#knowledge-rules::-webkit-scrollbar,#knowledge-rules *::-webkit-scrollbar{display:none;width:0;height:0}#knowledge-rules :-webkit-any(button,input[type=checkbox]):focus-visible{outline:2px solid var(--ink,#202020);outline-offset:2px}#knowledge-rules button:disabled{opacity:.4}
@media(max-width:350px){.kg-layout-double .knowledge-folder{transform:scale(.85);transform-origin:center}.kg-fields{padding:12px}.kg-header h1{font-size:20px}}

.kg-retro-empty{padding:24px 0 16px}.kg-retro-empty>svg{width:32px;height:32px;color:var(--ink-secondary,#626262)}.kg-retro-empty h2{margin:16px 0 8px}.kg-retro-empty p{font-size:15px;line-height:24px;color:var(--ink-secondary,#626262);margin:0}
/* Layout from the user's knowledge artboards; surfaces and type use existing UI tokens. */
.kg-header{justify-content:space-between;padding:12px 16px;height:72px;min-height:72px;border-bottom:0}.kg-header h1{flex:1}.kg-header button{flex-shrink:0}
.kg-body.compat-has-kg-form{display:flex;flex-direction:column;padding:16px 16px 0}.kg-form{display:flex;flex-direction:column;flex:1;min-height:100%}.kg-form .kg-actions{position:sticky;bottom:0;margin-top:auto;padding:16px 0 max(16px,env(safe-area-inset-bottom));background:var(--canvas,#f7f7f7);z-index:1}.kg-form .kg-actions .secondary{flex:0 0 72px;min-width:72px;padding:0 12px;white-space:nowrap;background:transparent}.kg-form .kg-actions .primary{flex:1}.kg-fields input#knowledge-category-name{background:var(--surface-sunken,#f2f2f2);border:0;border-radius:12px;padding:12px;min-height:48px}.kg-keyword-heading{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:0;margin:16px 0 8px;font-size:13px;line-height:20px;color:var(--ink-secondary,#626262)}.kg-keyword-heading>span:first-child{white-space:nowrap}.kg-field-help{font-size:13px;line-height:20px;color:var(--ink-secondary,#626262)}
.kg-retro-option{display:flex;align-items:center;gap:16px;padding:16px;margin-top:16px;border-radius:20px;background:var(--surface,#fff)}.kg-retro-option>span:first-child{flex:1}.kg-retro-option strong,.kg-retro-option small{display:block}.kg-retro-option strong{font-size:15px;line-height:24px;font-weight:400}.kg-retro-option small{font-size:13px;line-height:20px;color:var(--ink-secondary,#626262);margin-top:4px}.kg-switch{position:relative;width:52px;height:44px;flex-shrink:0}.kg-switch input{position:absolute;top:0;right:0;bottom:0;left:0;width:52px;height:44px;margin:0;opacity:0;cursor:pointer;z-index:1}.kg-switch>span{position:absolute;top:8px;right:0;bottom:8px;left:0;border-radius:999px;background:var(--line-strong,#d4d4d4)}.kg-switch>span:after{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:var(--surface,#fff);left:3px;top:3px}.kg-switch input:checked+span{background:var(--ink,#202020)}.kg-switch input:checked+span:after{left:27px}.kg-switch input:focus-visible+span{outline:2px solid var(--line-strong,#d4d4d4);outline-offset:2px}
.kg-selection-card,.kg-skipped-card{background:var(--surface,#fff);border-radius:20px;padding:4px 16px}.kg-selection-card .kg-retro-row:last-child,.kg-skipped-card .kg-skipped:last-child{border-bottom:0}.kg-retro-row.compat-has-unchecked strong{color:var(--ink-secondary,#626262)}.kg-footer{flex-wrap:wrap}.kg-footer>button{min-width:0}.kg-undo-hint{flex-basis:100%;font-size:12px;line-height:20px;color:var(--ink-secondary,#626262);text-align:center;margin:0}.kg-intro{color:var(--ink-secondary,#626262)}
.knowledge-home-header [data-knowledge-search-open]{order:0}.knowledge-home-header [data-kg-layout]{order:1}.knowledge-home-header [data-knowledge-add]{order:2}.knowledge-category-header [data-knowledge-category-search-open]{order:0}.knowledge-category-header [data-knowledge-new-current]{order:1}.knowledge-category-header [data-kg-settings]{order:2}.kg-folder-count{margin:16px 0 0;font-size:13px;line-height:20px;color:var(--ink-secondary,#626262)}
.knowledge-screen .knowledge-skills-entry{padding:12px 0;background:transparent;box-shadow:none;border:0;margin-top:8px}.knowledge-screen .knowledge-skills-entry small{display:none}.knowledge-screen .knowledge-skills-entry strong{font-size:13px;font-weight:400;color:var(--ink-secondary,#626262)}.knowledge-screen .knowledge-skills-entry>svg{width:16px;height:16px}.knowledge-category-screen{padding-bottom:110px}
.kg-folder-settings{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kg-folder-settings .kg-keywords{display:contents}.kg-folder-settings .kg-folder-count{margin:0}
.home-v3 .compact-turn.compat-has-kg-also{flex-direction:column;align-items:flex-end}.compact-turn>.kg-also{width:min(332px,100%);margin:12px 0 0;padding:16px;border-radius:20px;background:var(--surface,#fff);color:var(--ink,#202020)}.compact-turn>.kg-also p{margin:0 0 12px;font-size:13px;line-height:22px}.compact-turn>.kg-also button{padding:0 16px;border-radius:999px;min-height:44px;margin-right:8px}.compact-turn>.kg-also [data-kg-also]{background:var(--ink,#202020);color:var(--inverse,#fff)}.compact-turn>.kg-also [data-kg-dismiss]{background:var(--surface-sunken,#f2f2f2)}

/* New-folder composition follows the supplied 402 by 874 reference. */
#knowledge-rules.kg-creation .kg-header{margin-top:56px;height:72px;min-height:72px;padding:0 8px 0 16px}
#knowledge-rules.kg-creation .kg-fields{padding:16px;flex-shrink:0}
#knowledge-rules.kg-creation #knowledge-category-name{height:44px;min-height:44px}
#knowledge-rules.kg-creation .kg-retro-option{margin:12px 0 0;padding:12px 16px;min-height:72px;flex-shrink:0}
#knowledge-rules.kg-creation .kg-retro-option strong{line-height:20px}
#knowledge-rules.kg-creation .kg-retro-option small{line-height:20px;margin-top:4px}
.kg-manual-hint{margin:12px 4px 24px;line-height:24px;overflow-wrap:anywhere}
.kg-manual-hint code{font:inherit;color:var(--ink,#202020);padding:2px 6px;border-radius:8px;background:var(--surface-sunken,#f2f2f2)}
#knowledge-rules.kg-creation .kg-actions{padding:16px 0 max(40px,env(safe-area-inset-bottom))}
#knowledge-rules.kg-creation .kg-actions .primary{min-height:52px;padding:0 16px;font-size:16px;line-height:24px;font-weight:600}
.kg-error:empty{display:none}
.kg-keyword button:after{content:'';position:absolute;top:-1px;right:0;bottom:-1px;left:0}
@media(max-height:600px){#knowledge-rules.kg-creation .kg-header{margin-top:8px}#knowledge-rules.kg-creation .kg-actions{padding-bottom:max(16px,env(safe-area-inset-bottom))}}

/* Measurements and inline keyword entry from the supplied HTML export. */
#kg-chips .kg-keywords{row-gap:8px}
#kg-chips #kg-word{flex:0 0 112px;width:112px;height:44px;min-height:44px;border:1px dashed var(--line-strong,#d4d4d4);border-radius:8px;background:transparent;padding:0 10px;font-size:16px!important;line-height:24px}
.kg-switch,.kg-switch input{width:51px}.kg-switch>span{top:6.5px;right:0;bottom:6.5px;left:0}.kg-switch>span:after{width:27px;height:27px;left:2px;top:2px}.kg-switch input:checked+span:after{left:22px}
#knowledge-rules.kg-creation .kg-retro-option{padding:4px 16px}
#knowledge-rules.kg-creation .kg-retro-option strong{line-height:24px}
#knowledge-rules.kg-creation .kg-retro-option small{margin-top:0}
#knowledge-rules.kg-creation .kg-help{line-height:20px}

/* Knowledge flow geometry from Prototype.dc.html; existing surfaces and real content retained. */
.knowledge-home-header>div{gap:4px}.knowledge-home-header svg{width:24px;height:24px}
.knowledge-category-list{padding:16px;gap:12px}
.knowledge-category-card{border-radius:20px}
.kg-layout-single .knowledge-category-card{display:flex;min-height:116px;gap:16px;padding:16px}
.knowledge-category-card>svg{display:none}.knowledge-category-copy{padding:0;gap:8px}
.knowledge-folder{width:92px;height:84px;flex:none;transform:none;align-self:flex-start}
.kg-layout-double .knowledge-category-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;min-height:180px}
.kg-layout-double .knowledge-folder{width:92px;height:84px;margin:0;align-self:flex-start;transform:none}
.kg-layout-double .knowledge-category-copy{width:100%;gap:8px}
.kg-new-folder-tile{min-height:180px;border:1px dashed var(--line-strong,#d4d4d4);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:transparent;font-size:13px;color:var(--ink-secondary,#626262)}
.kg-new-folder-tile svg{width:24px;height:24px}
.knowledge-category-header{height:128px;box-sizing:border-box;padding:56px 8px 0 4px;border-bottom:1px solid var(--line,#e6e6e6)}
.kg-folder-settings{padding:12px 20px 4px}.knowledge-timeline{padding-top:8px}
.knowledge-timeline-row{grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}
.knowledge-timeline-row>time{padding-top:0}.knowledge-timeline-row>time strong{font-size:26px;line-height:32px}
.knowledge-course-card{padding:14px 18px}.knowledge-course-card>button strong{font-size:17px;line-height:24px}.knowledge-course-excerpt{margin-top:0;line-height:20px}
#knowledge-rules.kg-preview .kg-header{margin-top:56px;height:72px;min-height:72px;padding:0 8px 0 16px}
#knowledge-rules.kg-preview .kg-body{padding:0 16px 16px}
#knowledge-rules.kg-preview .kg-intro{margin-bottom:12px}
#knowledge-rules.kg-preview .kg-body>h2{font-size:13px;line-height:20px;font-weight:400;color:var(--ink-secondary,#626262);margin:12px 4px}
.kg-selection-card .kg-retro-row{position:relative;margin:0;min-height:64px;padding:8px 0;gap:12px}
.kg-retro-row input{width:24px;height:24px}.kg-retro-row small{margin-top:0}
.kg-skipped-card .kg-skipped{min-height:64px;padding:8px 0}
#knowledge-rules.kg-preview .kg-footer{padding:16px 16px max(32px,env(safe-area-inset-bottom));border:0;background:var(--canvas,#f7f7f7);gap:8px}
#knowledge-rules.kg-preview .kg-footer>button{height:52px;min-height:52px}
#knowledge-rules.kg-preview .kg-undo-hint{font-size:13px;line-height:20px}
@media(max-height:600px){#knowledge-rules.kg-preview .kg-header{margin-top:8px}}

.kg-keyword{box-sizing:border-box;height:44px}.kg-keyword button{height:42px;min-height:42px}

#knowledge-rules.kg-creation .kg-header h1{flex:initial}

.kg-header h1{letter-spacing:0}

body[data-page=knowledge-category] .knowledge-category-header{height:128px!important;min-height:128px;padding:56px 8px 0 4px!important;margin:0!important}

#kg-word::placeholder{font-size:inherit;line-height:inherit}

/* Shared idea/knowledge header controls: 24px glyphs, 44px targets, add at the far right. */
.memo-header>.memo-header-actions,.knowledge-home-header>div{display:flex;align-items:center;gap:4px}
.memo-header .memo-header-actions>button,.knowledge-home-header>div>button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0;background:transparent;flex-shrink:0}
.memo-header .memo-header-actions svg,.knowledge-home-header>div svg{width:24px;height:24px;stroke-width:1.8}
.memo-header [data-memo-search-open],.knowledge-home-header [data-knowledge-search-open]{order:0}
.knowledge-home-header [data-kg-layout]{order:1}
.memo-header [data-memo-add],.knowledge-home-header [data-knowledge-add]{order:2}

/* Folder overview has a single staged editing entry; removing a chip never saves immediately. */
.kg-folder-settings{display:block;padding:12px 20px}
.kg-folder-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.kg-folder-summary>button{display:flex;align-items:center;gap:4px;min-height:44px;padding:0;background:transparent;border:0;font-size:13px;color:var(--ink-secondary)}
.kg-folder-summary>button svg{width:16px;height:16px}
.kg-folder-settings .kg-keywords{display:flex;gap:8px}
.kg-folder-keywords{margin-top:4px}.kg-folder-keywords .kg-keyword{height:auto;min-height:44px;padding:4px 10px;border:0;border-radius:8px;font-size:16px;line-height:24px}
.kg-keyword-empty,.kg-word-help{font-size:13px;line-height:20px;color:var(--ink-secondary);margin:4px 0 0}
.kg-word-help{margin-top:12px}
.kg-word-entry{flex:1 0 100%;display:flex;align-items:center;gap:8px;min-width:0}
#kg-chips .kg-word-entry #kg-word{flex:1;min-width:0;width:auto;height:44px;border:1px solid var(--line-strong);border-radius:10px}
.kg-word-entry>button{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--ink);color:var(--inverse,#fff);font-size:14px}

/* today.css */
/* Today page — Figma 92:5013, 402 × 874. Owns the page's component geometry. */
body[data-page=diary]{--cat-study:#ffd54f;--cat-study-tint:#fff7dd;--cat-study-ink:#7a641f;--cat-work:#64b5f6;--cat-work-tint:#e6f1fd;--cat-work-ink:#24558f;--cat-sport:#4dd0c4;--cat-sport-tint:#e7f8f5;--cat-sport-ink:#14685f;--cat-life:#b39ddb;--cat-life-tint:#f6f1ff;--cat-life-ink:#7953aa;--cat-hobby:#ecdb8c;--cat-hobby-tint:#fff7dd;--cat-hobby-ink:#7a641f;color:#23262a}
body[data-page=diary] .workspace{position:relative;background:#fff}
body[data-page=diary] #scroll-area{background:#fff;padding-bottom:0;scroll-padding-bottom:calc(var(--record-dock-height,72px) + var(--record-dock-bottom,24px) + 24px)}
body[data-page=diary] #view{max-width:none;margin:0;padding:0 0 calc(var(--record-dock-height,72px) + var(--record-dock-bottom,24px) + 24px)}
.daily-reference{padding:0!important;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
.daily-reference .week-calendar{position:relative;display:flex;align-items:center;gap:5px;top:auto;height:77px;margin:0;padding:12px 10px 8px!important;border:0;border-radius:0;background:#f1f4f2;width:100%;box-sizing:border-box}
.daily-reference .week-month{align-self:stretch;display:flex;flex:0 0 46px;min-width:46px;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:4px 0;margin:0;background:transparent;color:#8a8f96;border:0}
.daily-reference .week-month small{font-size:12px;font-weight:400;line-height:18px;color:#8a8f96}
.daily-reference .week-month strong{display:flex;align-items:center;justify-content:center;font-family:"PingFang SC",sans-serif;font-size:18px;line-height:26px;font-weight:600;height:26px;color:#8a8f96}
.daily-reference .week-divider{display:block;flex:0 0 1px;width:1px;height:26px;margin-right:0}
.daily-reference .week-days{height:57px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-width:0;gap:0}
.daily-reference .week-days button{position:relative;min-width:0;min-height:44px;height:53px;margin:0;padding:4px 0 0!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;background:transparent;border-radius:8px;color:#23262a}
.daily-reference .week-days small{font-size:11px;line-height:17px;height:17px;font-weight:400;color:#8a8f96}
.daily-reference .week-days button>span{width:30px;height:26px;min-height:26px;display:flex;align-items:center;justify-content:center;padding:0;font-size:15px;line-height:15px;border-radius:8px;font-weight:400;background:transparent;color:#23262a}
.daily-reference .week-days [aria-current=date]>span{color:#fff;background:#26292e;font-weight:600}
.daily-reference .week-days button>i{position:absolute;width:4px;height:4px;bottom:-4px;left:calc(50% - 2px);border-radius:50%;background:#8b5cf6}
.daily-reference .daily-overview{display:flex;gap:12px;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;margin:0;padding:20px 16px 0;width:100%;height:170px;min-width:0;scrollbar-width:none;box-sizing:border-box}
.daily-reference .daily-module-card{position:relative;flex:0 0 220px;min-width:220px;height:150px;min-height:150px;padding:0;margin:0;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:#f1f4f2;box-shadow:0 8px 22px rgba(39,56,47,.04);scroll-snap-align:start;overflow:hidden;text-align:left;color:#23262a;box-sizing:border-box}
.daily-reference .module-activity{flex-basis:240px;min-width:240px}
.daily-reference .module-activity>.time-card{background:transparent;box-shadow:none;border:0;border-radius:0;padding:12px;margin:0;width:100%;height:148px;box-sizing:border-box;overflow:hidden}
.daily-reference .time-card-heading{display:flex;align-items:center;gap:4px;height:30px;min-height:30px;padding:0;white-space:nowrap}
.daily-reference .time-card-heading .overview-category-icon{width:22px;height:30px;display:grid;place-items:center;background:transparent;color:inherit;border-radius:0;flex:0 0 22px}
.daily-reference .time-card-heading img{display:block;width:22px;height:22px}
.daily-reference .time-card-heading strong{font-family:"PingFang SC",sans-serif;font-size:14px;line-height:21px;font-weight:600;letter-spacing:-.15px}
.daily-reference .time-card-heading small{display:block;margin-left:auto;font-size:12px;line-height:18px;font-weight:400;color:#8a8f96}
.daily-reference .time-card-body{display:flex;align-items:center;justify-content:space-between;gap:0;height:94px;min-height:94px;margin:0;padding:0}
.daily-reference .time-chart{position:relative;flex:0 0 84px;width:84px;height:84px;margin:0}
.daily-reference .time-chart canvas{width:84px;height:84px}
.daily-reference .time-chart>strong{font-size:15px;line-height:18px;font-weight:600;letter-spacing:0;color:#23262a}
.daily-reference .time-legend{display:grid;align-content:center;width:90px;flex:0 0 90px;gap:4px;margin:0;padding:0}
.daily-reference .time-legend>div{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;line-height:18px;height:18px}
.daily-reference .time-legend>div>span{display:flex;align-items:center;gap:6px}
.daily-reference .time-legend>div>span>span{color:#23262a}
.daily-reference .time-legend i{width:8px;height:8px;flex:0 0 8px;border-radius:50%}
.daily-reference .time-legend small{font-size:12px;line-height:18px;color:#8a8f96;white-space:nowrap}
.daily-reference .time-legend.compat-has-fifth{gap:0}
.daily-reference .time-card>.stats-warning{position:absolute;bottom:1px;left:12px;right:12px;font-size:10px;line-height:14px;margin:0;color:#85461e}
.daily-reference .daily-card-body{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:12px;background:transparent;border-radius:inherit;color:#23262a;text-align:left}
.daily-reference .module-card-title{display:flex;align-items:center;gap:4px;height:30px;min-height:30px;width:100%;font-family:"PingFang SC",sans-serif;font-size:14px;line-height:21px;font-weight:600}
.daily-reference .module-card-title img,.daily-reference .module-card-title svg{display:block;width:22px;height:22px}
.daily-reference .daily-card-body>strong{display:flex;align-items:baseline;gap:4px;margin:0;font-size:28px;line-height:29.5px;letter-spacing:.38px;font-weight:650;white-space:nowrap}
.daily-reference .daily-card-body>strong small{font-family:"PingFang SC",sans-serif;font-size:12px;line-height:18px;font-weight:400;color:#8a8f96;letter-spacing:0}
.daily-reference .health-bar{display:block;width:100%;height:8px;min-height:8px;margin:12px 0 0;background:#ddd;border-radius:99px;overflow:hidden}
.daily-reference .health-bar i{display:block;height:8px;background:#ff6b4a;border-radius:99px}
.daily-reference .module-sport .health-bar i{background:#2a9d8f}
.daily-reference .module-sport .health-bar{background:#cfdfdd}
.daily-reference .module-card-detail{display:block;padding-top:8px;font-family:"PingFang SC",sans-serif;font-size:12px;line-height:20px;font-weight:400;color:#8a8f96;white-space:nowrap}
.daily-reference .module-money .module-card-title{padding-right:30px}
.daily-reference .daily-card-add{position:absolute;right:4px;top:4px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border-radius:12px;color:#626262}
.daily-reference .daily-card-add svg{width:18px;height:18px}
.daily-reference .daily-card-body:focus-visible{outline-offset:-4px}
.daily-reference .diary-schedule{padding:20px 16px 24px;overflow:visible}
.daily-reference h2{font-family:"PingFang SC",sans-serif;font-size:16px;line-height:22.5px;font-weight:600;color:#23262a;margin:0 0 12px}
.daily-reference .diary-todos{margin:0 0 20px}
.daily-reference .diary-todo-list{display:flex;flex-direction:column;gap:0;min-height:56px;padding:8px 12px;border:1px solid rgba(255,255,255,.88);border-radius:20px;background:#f4f4f4;box-shadow:inset 0 1px 1px rgba(255,255,255,.95),0 8px 22px rgba(39,56,47,.04);overflow:hidden}
.daily-reference .diary-todo-row{display:flex;align-items:center;gap:0;width:100%;min-height:44px;margin:0;padding:0;border:0;border-bottom:1px solid #ebe9e4;background:transparent;border-radius:0;box-shadow:none}
.daily-reference .diary-todo-row:last-child{border-bottom:0}
.daily-reference .diary-todo-open{display:flex;flex:1;min-width:0;min-height:44px;align-items:flex-start;justify-content:center;flex-direction:column;padding:8px 0;background:transparent;color:#202020;text-align:left}
.daily-reference .diary-todo-open>span{font-size:14px;line-height:24px;font-weight:500;white-space:normal;overflow-wrap:anywhere}
.daily-reference .diary-todo-open>small{display:none}
.daily-reference .diary-todo-row.compat-has-disabled-todo .diary-todo-open>small{display:block;font-size:11px;line-height:16px;color:#8a8f96}
.daily-reference .diary-todo-row.is-complete .diary-todo-open>span{text-decoration:line-through;color:#8a8f96}
.daily-reference .diary-todo-check{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;background:transparent;color:#fff;border:0;border-radius:22px}
.daily-reference .diary-todo-check::before{content:'';position:absolute;top:10px;left:10px;width:24px;height:24px;border:1px solid #d4d4d4;border-radius:12px;background:transparent;box-sizing:border-box}
.daily-reference .diary-todo-check[aria-checked=true]::before{background:#202020;border-color:#202020}
.daily-reference .diary-todo-check svg{position:relative;z-index:1;width:15px;height:15px;stroke-width:2}
.daily-reference .daily-untimed{margin:0 0 20px}
.daily-reference .daily-untimed-list{overflow:hidden;border-radius:20px;background:#f4f4f4}
.daily-reference .daily-untimed-list .agenda-event{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid #ebe9e4;border-radius:0;box-shadow:none;margin:0;padding:12px;min-height:56px}
.daily-reference .daily-untimed-list .agenda-event:last-child{border-bottom:0}
.daily-reference .agenda-event strong{font-size:14px;line-height:24px}
.daily-reference .schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;height:32px;min-height:32px}
.daily-reference .schedule-heading h2{margin:0}
.daily-reference .daily-recap-open{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 12px;border:0;border-radius:99px;background:#f6f5f3;color:#23262a;font-family:"PingFang SC",sans-serif;font-size:13px;line-height:19.5px;white-space:nowrap}
.daily-reference .daily-recap-open img{display:block;width:12.9993px;height:12.9993px}
.daily-reference .daily-empty-note{font-size:13px;line-height:20px;color:#8a8f96;margin:8px 0 16px}
.daily-reference .diary-timeline-scroll{height:clamp(320px,50vh,520px);max-height:none;overflow:auto;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;border-radius:0}
.daily-reference .diary-timeline{position:relative;margin:0!important;min-height:0}
.daily-reference .diary-tick time{font-size:12px;line-height:18px;color:#8a8f96;width:44px;padding:0}
.daily-reference .diary-tick i{background:#ebe9e4}
.daily-reference .diary-event{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;min-height:0;overflow:hidden;border:0;border-left:3px solid var(--event-color);border-radius:4px;background:var(--event-fill);padding:12px;box-shadow:none;text-align:left}
.daily-reference .diary-event strong{font-size:14px;line-height:20px;font-weight:500;color:#23262a;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.daily-reference .diary-event>span{display:flex;align-items:center;gap:8px;font-family:"PingFang SC",sans-serif;font-size:12px;line-height:18px;color:#8a8f96;white-space:nowrap}
.daily-reference .diary-event em{display:inline-block;font-size:10px;line-height:14px;font-style:normal;padding:2px 8px;background:rgba(255,255,255,.8);border-radius:99px;color:var(--event-label)}
.daily-reference .diary-event.snug{padding-top:3px;padding-bottom:3px;gap:0}
.daily-reference .diary-event.compact{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding-top:0;padding-bottom:0}
.daily-reference .diary-event.compact>span{font-size:0;line-height:0}
.daily-reference .diary-event.compact em{font-size:10px;line-height:14px}
.daily-reference .diary-now{position:absolute;left:0;right:0;display:flex;align-items:center;z-index:2;pointer-events:none;height:18px;transform:translateY(-9px);color:#e05c4b}
.daily-reference .diary-now time{width:44px;flex:0 0 44px;font-size:12px;line-height:18px;font-weight:500}
.daily-reference .diary-now i{height:1px;flex:1;background:#e05c4b}
.daily-reference .diary-now:after{content:'';position:absolute;left:40px;top:5px;width:8px;height:8px;border-radius:50%;background:#e05c4b}

.daily-reference .diary-todos-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-bottom:12px}
.daily-reference .diary-todos-heading h2{margin:0;min-width:0}
.daily-reference .diary-todo-visibility{flex:none;display:flex;align-items:center;gap:4px;min-height:44px;padding:0 4px;background:transparent;color:#626262;font-size:12px;line-height:18px}
.daily-reference .diary-todo-visibility svg{width:16px;height:16px;stroke-width:1.8}

/* daily-review.css */
/* Supplied daily-review boards; scoped to the handwritten review flow. */
.dr-page-open .topbar,.dr-page-open #scroll-area,.dr-page-open .bottom-area,.dr-page-open #quick-nav,.dr-page-open #record-write,.dr-page-open #latest{display:none!important}
#daily-review-page{position:absolute;top:0;right:0;bottom:0;left:0;background:#f7f7f7;z-index:40;display:flex;flex-direction:column;color:#202020;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif}
#daily-review-page[hidden]{display:none}
#daily-review-page *,#dr-editor *,#dr-reminder *{box-sizing:border-box;scrollbar-width:none}
#daily-review-page ::-webkit-scrollbar,#dr-editor ::-webkit-scrollbar,#dr-reminder ::-webkit-scrollbar{display:none}
#daily-review-page button,#dr-editor button,#dr-reminder button{font-family:inherit;color:inherit;cursor:pointer;border:0;box-shadow:none}
#daily-review-page button:focus-visible,#dr-editor button:focus-visible,#dr-reminder button:focus-visible{outline:2px solid #626262;outline-offset:2px}
#daily-review-page svg,#dr-editor svg{width:22px;height:22px;stroke-width:1.8;flex:none}
.dr-header{height:calc(72px + env(safe-area-inset-top,0px));min-height:calc(72px + env(safe-area-inset-top,0px));display:flex;align-items:center;padding:env(safe-area-inset-top,0px) 8px 0 4px;gap:0}
.dr-header h1{font-size:20px;line-height:28px;font-weight:600;margin:0;flex:1;min-width:0}
.dr-icon{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;border-radius:50%}
.dr-header>.dr-icon:first-child svg{width:24px;height:24px}
.dr-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 16px calc(40px + env(safe-area-inset-bottom,0px));scrollbar-width:none}
.dr-range-line{display:flex;align-items:center;gap:6px;height:36px;margin:-4px 0 10px;font-size:13px;color:#8a8a8a}
.dr-range-anchor{position:relative;z-index:2}
.dr-range{display:flex;align-items:center;height:44px;min-height:44px;padding:0;background:transparent;color:#202020!important}
.dr-range-pill{display:flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 14px;border-radius:16px;background:#fff;font-size:14px;font-weight:600}
.dr-range svg{width:16px!important;height:16px!important;color:#8a8a8a}
.dr-range-menu{position:absolute;top:40px;left:0;width:224px;max-height:min(400px,55vh);overflow:auto;border-radius:20px;background:#fff;box-shadow:0 8px 28px #0000001f;padding:8px;z-index:4}
.dr-range-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px 12px;border-radius:12px;background:transparent;text-align:left;font-size:15px}
.dr-range-menu button[aria-checked=true]{background:#f2f2f2!important;font-weight:600}
.dr-range-menu small{font-size:13px;color:#8a8a8a}
.dr-row{display:flex;gap:16px;width:100%;margin-bottom:12px;padding:16px 20px;border-radius:24px;background:#fff;text-align:left;align-items:flex-start}
.dr-date{width:36px;flex:none;display:flex;flex-direction:column;align-items:center;text-align:center}
.dr-date small{font-size:12px;line-height:18px;color:#8a8a8a;white-space:nowrap}
.dr-date strong{font-size:24px;line-height:28px;font-weight:600;font-variant-numeric:tabular-nums}
.dr-excerpt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.dr-excerpt>span{font-size:16px;line-height:24px;font-weight:400;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;white-space:pre-line}
.dr-excerpt time{font-size:12px;line-height:16px;color:#8a8a8a;font-variant-numeric:tabular-nums}
.dr-group{display:flex;align-items:baseline;justify-content:space-between;padding:12px 4px 14px;gap:12px}
.dr-group strong{font-size:18px;line-height:24px;font-weight:600}
.dr-group span{color:#8a8a8a;font-size:13px}
.dr-empty{color:#8a8a8a;font-size:15px;line-height:24px;text-align:center;margin:80px 16px;overflow-wrap:anywhere}
.dr-search{flex:1;min-width:0;height:44px;border-radius:22px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 6px 0 14px;margin-right:8px}
.dr-search>svg{width:20px!important;height:20px!important;color:#8a8a8a}
#dr-query{flex:1;min-width:0;height:40px;border:0;background:none;font-size:16px;color:#202020;padding:0;outline:none;box-shadow:none}
#dr-query::-webkit-search-cancel-button{display:none}
.dr-search .dr-icon{min-width:32px;width:32px;height:32px;background:#f2f2f2}
.dr-search .dr-icon[hidden]{display:none}
.dr-search .dr-icon svg{width:14px!important;height:14px!important}
.dr-detail-title{flex:1;min-width:0}
.dr-detail-title h1{font-size:20px;line-height:28px;overflow-wrap:anywhere}
.dr-detail-title p{font-size:13px;line-height:18px;color:#8a8a8a;margin:0}
.dr-body{background:#fff;border-radius:24px;padding:20px;font-size:17px;line-height:30px;white-space:pre-wrap;overflow-wrap:anywhere}
.dr-more-anchor{position:relative}
.dr-more-menu{position:absolute;right:8px;top:44px;width:144px;padding:6px;border-radius:16px;background:#fff;box-shadow:0 8px 28px #0000001f;z-index:5}
.dr-more-menu button{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;background:none;text-align:left;padding:0 12px;font-size:16px;border-radius:10px}
.dr-more-menu button:hover{background:#f2f2f2!important}
.dr-danger{color:#c92a2a!important}
#dr-editor{position:fixed;left:var(--dr-left,0px);right:auto;top:calc(var(--dr-top,0px) + var(--dr-vh,100vh) - min(814px,var(--dr-vh,100vh) - 60px));bottom:auto;width:var(--dr-width,100%);max-width:none!important;height:min(814px,calc(var(--dr-vh,100vh) - 60px));max-height:none;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));margin:0;border:0;border-radius:28px 28px 0 0;background:#f0f1ee;color:#202020;overflow:hidden;box-shadow:none}
#dr-editor::backdrop,#dr-reminder::backdrop{background:#0006}
#dr-form{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px}
#dr-editor .dr-handle{display:flex;align-items:center;justify-content:center;min-height:28px;height:28px;padding:0;background:transparent;flex:none;width:100%}
.dr-handle span{width:40px;height:5px;background:#c8cbc6;border-radius:3px}
.dr-writing-card{background:#fff;border-radius:24px;padding:16px 18px 8px;display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}
.dr-writing-head{display:flex;align-items:center;gap:8px;min-height:66px;padding-bottom:14px;border-bottom:1px solid #ededed;flex:none}
.dr-writing-date{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1;min-width:0}
.dr-writing-date strong{font-size:20px;line-height:28px;font-weight:600;white-space:nowrap}
#dr-editor #dr-time{display:block;min-height:28px;height:28px;padding:0 2px 0 0;background:transparent;color:#626262;font-size:14px;line-height:20px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left;border-radius:4px}
#dr-editor #dr-time[aria-expanded=true]{color:#202020;text-decoration:underline;text-underline-offset:4px}
.dr-tools{display:flex;gap:8px;flex:none}
#dr-editor .dr-tools .dr-icon{width:36px;min-width:36px;height:36px;min-height:36px;background:#f0f1ee;color:#626262}
#dr-editor .dr-tools .dr-icon[aria-expanded=true]{background:#202020;color:#fff}
#dr-editor .dr-tools svg{width:20px;height:20px}
#dr-text{flex:1;min-height:110px;width:100%;padding:10px 0 0;margin:0;border:0;outline:none;box-shadow:none;resize:none;background:transparent;color:#202020;font-size:17px;line-height:28px;border-radius:0;scrollbar-width:none}
#dr-text::placeholder{color:#7a7a7a;opacity:1}
.dr-error{color:#a13629;font-size:13px;line-height:20px;min-height:0;margin:0;flex:none}
.dr-error:not(:empty){margin-top:6px}
.dr-writing-actions{display:flex;gap:10px;flex:none}
#dr-editor .dr-writing-actions .dr-icon{width:56px;min-width:56px;height:56px;background:#e3e5e0;border-radius:18px}
#dr-editor .dr-writing-actions .dr-icon svg{width:26px;height:26px}
#dr-editor .dr-save{flex:1;height:56px;background:#111;color:#fff;border-radius:18px;font-size:17px;font-weight:600}
.dr-weather,.dr-mood{display:flex;gap:6px;padding-top:10px}
#dr-editor .dr-weather button,#dr-editor .dr-mood button{flex:1;min-width:0;height:60px;background:#f7f7f5;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;font-size:12px;padding:0}
#dr-editor .dr-weather button[aria-pressed=true],#dr-editor .dr-mood button[aria-pressed=true]{background:#202020;color:#fff}
.dr-stepper{display:flex;justify-content:space-evenly;padding:10px 0}
.dr-stepper>div{text-align:center}
.dr-stepper small{font-size:12px;color:#626262}
.dr-stepper>div>div{display:flex;align-items:center}
.dr-stepper strong{font-size:22px;min-width:32px;font-variant-numeric:tabular-nums}
#dr-reminder{position:fixed;left:var(--dr-center,50vw);top:var(--dr-middle,50vh);transform:translate(-50%,-50%);margin:0;width:314px;max-width:calc(100vw - 48px)!important;max-height:calc(100vh - 32px);overflow:auto;border:0;border-radius:28px;background:#fff;color:#202020;padding:20px 20px 0;box-shadow:none}
.dr-reminder-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding-left:4px;gap:8px}
#dr-reminder h2{font-size:17px;line-height:24px;font-weight:600;margin:0}
#dr-reminder [role=switch]{width:48px;min-width:48px;height:44px;min-height:44px;border-radius:0;background:transparent;display:flex;align-items:center;padding:0}
#dr-reminder .dr-switch-track{width:48px;height:28px;border-radius:14px;background:#d0d0d0;display:flex;align-items:center;padding:2px}
#dr-reminder .dr-switch-track>span{width:24px;height:24px;border-radius:50%;background:#fff;transition:transform 140ms ease-out}
#dr-reminder [aria-checked=true] .dr-switch-track{background:#202020}
#dr-reminder [aria-checked=true] .dr-switch-track>span{transform:translateX(20px)}
.dr-wheels{position:relative;display:flex;align-items:center;height:240px;margin-top:12px;flex:none}
.dr-wheel-band{position:absolute;left:0;right:0;top:92px;height:56px;border-radius:14px;background:#f2f2f2}
.dr-wheel{flex:1;position:relative}
#dr-reminder .dr-wheel button{display:block;width:100%;height:46px;min-height:46px;padding:0;background:none;font-size:19px;font-variant-numeric:tabular-nums}
#dr-reminder .dr-wheel button[data-offset="0"]{height:56px;font-size:26px;font-weight:600}
#dr-reminder .dr-wheel button[data-offset="-2"],#dr-reminder .dr-wheel button[data-offset="2"]{color:#8a8a8a;font-size:17px}
.dr-colon{position:absolute;left:50%;transform:translateX(-50%);font-size:24px;font-weight:600}
.dr-wheels.is-disabled{opacity:.3}
#dr-reminder .dr-wheels.is-disabled button{cursor:default}
.dr-reminder-actions{display:flex;align-items:center;height:60px;margin-top:8px}
#dr-reminder .dr-reminder-actions button{flex:1;height:48px;background:none;font-size:17px;font-weight:600}
.dr-reminder-actions button+button{border-left:1px solid #e6e6e6!important;border-radius:0}
.dr-notification-note{font-size:11px;line-height:16px;color:#626262;margin:8px 0 0}
#toast{display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:auto;z-index:1000;max-width:calc(100vw - 32px)}
#toast[hidden]{display:none!important}
#toast button{background:transparent;color:#fff;border:0;padding:8px;font-size:14px;font-weight:600;flex:none;text-decoration:underline;text-underline-offset:4px}
#utility .drawer-nav [data-drawer-page=diary]{gap:10px}
#utility .drawer-nav [data-drawer-page=diary] small{font-size:16px;line-height:24px;font-weight:400;color:#8a8f96;white-space:nowrap;margin-left:auto}
@media(min-width:761px){#daily-review-page{border-radius:inherit}}
@media(max-width:350px){.dr-writing-card{padding:12px}.dr-writing-date strong{font-size:18px}.dr-tools{gap:4px}.dr-row{padding:16px;gap:12px}.dr-detail-title h1{font-size:18px}}
@media(prefers-reduced-motion:reduce){#dr-reminder [role=switch] span{transition:none}}

/* todo-drag.css */
.diary-todo-open{-webkit-touch-callout:none;touch-action:pan-y}
.todo-dragging,.todo-dragging *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}
.diary-todo-open.todo-drag-source{opacity:.35}
#todo-drag-ghost{position:fixed;z-index:300;width:max-content;max-width:min(280px,calc(100vw - 32px));padding:12px 16px;border-radius:16px;background:#202020;color:#fff;box-shadow:0 8px 24px #0003;pointer-events:none;display:flex;flex-direction:column;gap:4px}
#todo-drag-ghost strong{max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:20px;font-weight:500}
#todo-drag-ghost small{font-size:12px;line-height:18px;color:#eee;font-variant-numeric:tabular-nums}
.todo-drop-preview{position:absolute;left:44px;right:0;z-index:10;pointer-events:none;box-sizing:border-box;border:1.5px dashed #626262;background:#f2f2f2e8;border-radius:10px;padding:6px 10px;color:#202020;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.todo-drop-preview strong{font-size:14px;line-height:20px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.todo-drop-preview time{font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}
.todo-drag-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#cancel-editor.danger{color:#a13629}

/* pomodoro.css */
.pomo-turn{width:100%;max-width:460px;margin:0 0 24px;align-self:flex-start;color:#24262b}
.pomo-command{width:fit-content;max-width:90%;margin:0 0 22px auto;padding:16px 18px;border-radius:26px;background:#fff;font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.pomo-tile{position:relative;overflow:hidden;isolation:isolate;background:#ef5b3c;border-radius:28px;color:#fff;min-height:204px}
.pomo-progress{position:absolute;top:0;right:auto;bottom:0;left:0;background:rgba(0,0,0,.3);z-index:-1}
.pomo-inner{padding:14px 22px 18px;min-height:204px;display:flex;flex-direction:column;box-sizing:border-box}
.pomo-heading{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}
.pomo-time{font-size:68px;font-weight:700;line-height:1.12;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}
.pomo-time.pomo-title{font-size:46px;line-height:1.25}
.pomo-turn button{cursor:pointer;font-family:inherit;border:0;box-shadow:none}
.pomo-turn .pomo-edit{flex-shrink:0;background:transparent;color:#fff;min-width:44px;min-height:44px;padding:6px 0;font-size:16px;font-weight:600}
.pomo-status{font-size:14px;line-height:22px;font-weight:600;margin-top:4px}
.pomo-actions{display:flex;gap:10px;margin-top:auto;padding-top:22px}
.pomo-actions button{flex:1;min-width:0;min-height:50px;border-radius:28px;padding:10px 12px;font-size:16px;line-height:24px;font-weight:600}
.pomo-primary{background:#fff;color:#24262b}.pomo-actions .pomo-secondary{background:rgba(0,0,0,.25);color:#fff}
.pomo-done,.pomo-done .pomo-inner{min-height:184px}.pomo-done .pomo-actions button{min-height:56px;font-size:17px}
.pomo-task{margin-top:16px}.pomo-task label{display:block;font-size:14px;color:#6e6e68;line-height:22px;margin-bottom:6px}
.pomo-task input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #e6e4df;border-radius:18px;background:#faf9f7;padding:16px;font-size:16px;color:#24262b;box-shadow:none;outline:none}
.pomo-task input:focus,.pomo-task input:focus-visible{outline:none;box-shadow:none;border-color:#c9c6c0}
.pomo-task p{font-size:16px;overflow-wrap:anywhere}.pomo-history{margin:24px 0 0;font-size:13px;color:#fff}
.pomo-turn [data-pomo-error]{color:#a13629;font-size:14px;line-height:22px;margin-top:10px}
#pomo-settings{position:fixed;top:auto;right:0;bottom:0;left:0;margin:0 auto;width:min(100%,480px);max-width:100%;max-height:calc(100vh - 24px);padding:0;border:0;border-radius:28px 28px 0 0;overflow:auto;background:#fff;color:#24262b;scrollbar-width:none}
#pomo-settings::backdrop{background:rgba(0,0,0,.36)}
.pomo-sheet{padding:10px 20px max(16px,env(safe-area-inset-bottom));box-sizing:border-box}
.pomo-sheet-handle{width:40px;height:4px;background:#dad7d1;border-radius:8px;margin:0 auto 16px}
.pomo-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.pomo-sheet h2{font-size:20px;line-height:28px;margin:0;font-weight:700}
.pomo-sheet header button{width:44px;height:44px;padding:10px;background:transparent;border:0;color:#24262b}
.pomo-sheet header svg{width:24px;height:24px}
.pomo-wheels{display:flex;gap:8px}.pomo-wheel-column{flex:1;min-width:0;text-align:center;font-size:14px;font-weight:600}
.pomo-wheel-frame{position:relative;height:220px;margin-top:4px}
.pomo-wheel-selection{position:absolute;top:90px;right:6px;bottom:auto;left:6px;height:40px;border-radius:24px;background:#f4f2ee;pointer-events:none}
.pomo-wheel{position:relative;height:220px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;padding-block:88px;box-sizing:border-box;touch-action:pan-y}
.pomo-wheel::before,.pomo-wheel::after{content:none}
.pomo-wheel-frame::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(#fff,transparent 28%,transparent 72%,#fff)}
.pomo-wheel [role=option]{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;color:#898983;font-size:17px;font-weight:500;cursor:pointer}
.pomo-wheel [aria-selected=true]{color:#24262b;font-size:20px;font-weight:700}
.pomo-sheet footer{display:flex;gap:10px;margin-top:18px}.pomo-sheet footer button{flex:1;border:0;border-radius:18px;min-height:50px;background:#f2f0eb;color:#24262b;font-size:16px;font-weight:600}
.pomo-sheet footer #pomo-settings-save{background:#24262b;color:#fff}
#pomo-reset-hint{font-size:13px;line-height:20px;background:#fdece7;color:#a13629;border-radius:12px;padding:10px 12px;margin:10px 0 0}
#pomo-settings-error{font-size:14px;color:#a13629;margin:6px 0 0}
#pomo-settings::-webkit-scrollbar,.pomo-wheel::-webkit-scrollbar{display:none}
.pomo-turn button:focus-visible,.pomo-sheet button:focus-visible,.pomo-wheel:focus-visible{outline:2px solid #24262b;outline-offset:3px}
.pomo-turn button:active,.pomo-sheet button:active{filter:brightness(.93)}
@media(max-width:360px){.pomo-inner{padding-inline:18px}.pomo-time{font-size:58px}.pomo-time.pomo-title{font-size:36px}.pomo-status{font-size:13px}.pomo-sheet{padding-inline:16px}.pomo-wheels{gap:4px}.pomo-wheel-selection{left:2px;right:2px}}
@media(prefers-reduced-motion:reduce){.pomo-turn,.pomo-progress{transition:none;animation:none}}

/* ledger.css */
/* Ledger delivery: monochrome shell, semantic category colors, local input. */
body[data-page=ledger] .workspace,body[data-page=ledger] #scroll-area{background:#f7f7f7}
body[data-page=ledger] #scroll-area{padding:0!important;scrollbar-width:none}
body[data-page=ledger] #view{padding:0!important;margin:0!important;max-width:none}
body[data-page=ledger] #quick-nav,body[data-page=ledger] #record-write,body[data-page=ledger] #record-dock-surface,body[data-page=ledger] .record-dock-surface,body[data-page=ledger] .bottom-area,body[data-page=ledger] .preview-status{display:none!important}
.lg-screen,.lg-dialog{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Helvetica Neue',sans-serif;color:#202020;font-size:15px;line-height:24px;font-variant-numeric:tabular-nums}
.lg-screen *,.lg-dialog *{box-sizing:border-box;scrollbar-width:none}.lg-screen *::-webkit-scrollbar,.lg-dialog *::-webkit-scrollbar{display:none}
.lg-screen button,.lg-dialog button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;touch-action:manipulation}.lg-screen button:disabled{opacity:.3;cursor:default}.lg-screen button:focus-visible,.lg-dialog button:focus-visible{outline:2px solid #202020;outline-offset:2px}.lg-screen input,.lg-dialog input{font:inherit;min-width:0;outline:0}.lg-screen input:focus-visible,.lg-dialog input:focus-visible{box-shadow:inset 0 -2px #626262}
.lg-screen h1,.lg-screen h2,.lg-screen h3,.lg-screen p,.lg-dialog h2,.lg-dialog h3,.lg-dialog p,.lg-dialog dl{margin:0}.lg-screen svg,.lg-dialog svg{width:22px;height:22px;flex-shrink:0}.lg-screen small{display:block;font-size:13px;line-height:20px;color:#8a8a8a}
.lg-screen{min-height:100%;background:#f7f7f7;padding-bottom:40px}.lg-list{padding-bottom:110px}.lg-header{display:flex;align-items:center;height:128px;padding:56px 8px 0 4px;gap:0}.lg-header h1{font-size:20px;line-height:28px;font-weight:600;flex:1}.lg-header .icon-button,.lg-entry-header .icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}.lg-header svg{width:24px;height:24px}
.lg-content{padding:0 16px}.lg-budget{padding:16px 16px 20px;border-radius:28px;background:#fff}.lg-card-heading{display:flex;align-items:center;justify-content:space-between}.lg-card-heading h2{font-size:17px;line-height:24px;font-weight:600}.lg-card-heading button{display:flex;align-items:center;gap:6px;height:44px;padding:0;color:#626262}.lg-card-heading svg{width:18px;height:18px}.lg-ring{width:180px;height:158px;position:relative;margin:6px auto 10px}.lg-ring>svg{width:100%;height:100%;fill:none;stroke:#FFF0B5;stroke-width:12;stroke-linecap:round}.lg-ring>svg .lg-ring-progress{stroke:#FFB300}.lg-ring>div{position:absolute;left:-30px;right:-30px;top:39px;text-align:center}.lg-ring small{font-size:13px;color:#626262}.lg-ring strong{display:block;font-size:28px;line-height:36px;overflow-wrap:anywhere;letter-spacing:-.025em}.lg-ring span,.lg-ring span button{font-size:13px;line-height:22px;color:#8a8a8a}.lg-ring span button{min-height:32px;text-decoration:underline;text-underline-offset:3px}.lg-budget.is-over .lg-ring>svg{stroke:#FCE3E3}.lg-budget.is-over .lg-ring-progress{stroke:#E5484D}.lg-budget.is-over .lg-ring strong,.lg-budget.is-over .lg-ring small{color:#C92A2A}.lg-stats{border-top:1px solid #eee;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;padding-top:10px;gap:4px}.lg-stats b{font-size:16px;line-height:24px;display:block;overflow-wrap:anywhere}.lg-section-title{font-size:17px;line-height:24px;padding:22px 4px 14px;font-weight:600}.lg-segments{display:flex;background:#ebebeb;border-radius:999px;padding:4px;gap:4px;min-height:48px}.lg-segments button{flex:1;min-width:0;border-radius:999px;min-height:40px;color:#626262;font-size:17px;font-weight:600;padding:0 8px}.lg-segments button[aria-pressed=true]{background:#fff;color:#202020;box-shadow:0 2px 5px #00000012}.lg-period{display:flex;align-items:center;gap:12px;margin:18px 4px 2px;min-height:42px}.lg-period strong{font-size:20px;line-height:28px;font-weight:600}.lg-period .icon-button{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:#e8e8e8;display:grid;place-items:center;padding:0}.lg-period svg{width:20px;height:20px}.lg-subtotal{font-size:13px;line-height:20px;color:#8a8a8a;padding:0 4px 14px!important}.lg-day,.lg-summary{background:#fff;border-radius:24px;padding:4px 16px;margin-bottom:12px}.lg-group-title{display:flex;justify-content:space-between;gap:8px;padding:16px 0 8px;color:#8a8a8a;font-size:13px;line-height:20px}.lg-entry-row{display:flex;gap:12px;align-items:center;min-height:72px;width:100%;text-align:left;padding:10px 0;border-bottom:1px solid #eee!important}.lg-entry-row:last-child{border-bottom:0!important}.lg-cat-icon{width:38px;height:38px;border:1px solid var(--cat);border-radius:50%;display:flex;justify-content:center;align-items:center;color:var(--cat);flex-shrink:0}.lg-cat-icon svg{width:22px;height:22px}.lg-row-copy{flex:1;min-width:0}.lg-row-copy strong{display:block;font-size:16px;line-height:24px;font-weight:400;overflow-wrap:anywhere}.lg-row-copy small{overflow-wrap:anywhere}.lg-entry-row>b{font-size:16px;font-weight:600;max-width:46%;overflow-wrap:anywhere}.lg-income{color:#259568!important}.lg-account-link{background:#fff!important;border-radius:24px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px;margin:16px 0 4px;text-align:left}.lg-account-link>span:first-child{font-weight:500}.lg-account-link>span:last-child{display:flex;gap:4px;align-items:center;font-size:13px;color:#626262;min-width:0;overflow-wrap:anywhere}.lg-account-link svg{width:16px;height:16px}.lg-trash-link{min-height:44px;color:#8a8a8a!important;font-size:13px!important}.lg-empty{text-align:center;color:#8a8a8a;background:#fff;border-radius:24px;padding:40px 16px}.lg-summary-row{display:flex;width:100%;align-items:center;gap:10px;min-height:84px;border-bottom:1px solid #eee!important;padding:12px 0;text-align:left}.lg-summary-row:last-child{border-bottom:0!important}.lg-summary-row>span{min-width:0;flex:1}.lg-summary-row strong{font-size:16px;font-weight:500}.lg-summary-row small{font-size:12px}.lg-summary-row>b{font-size:15px;max-width:42%;overflow-wrap:anywhere}.lg-summary-row>svg{width:16px;color:#aaa}
.lg-footer{position:absolute;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;padding:12px 16px calc(18px + env(safe-area-inset-bottom));z-index:8}.lg-footer button{height:52px;width:100%;border-radius:999px;background:#202020;color:#fff;font-size:17px;font-weight:600}
.lg-entry-screen{height:100%;min-height:100%;padding:0 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0}.lg-entry{height:100%;padding-bottom:0}.lg-entry-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;height:116px;padding:56px 0 16px;margin:0 -12px}.lg-entry-header .lg-segments{width:148px;min-height:44px;border-radius:12px;background:#f0f0f0}.lg-entry-header .lg-segments button{min-height:36px;border-radius:9px;font-size:15px}.lg-entry-header>span{width:44px}
.lg-entry-card{background:white;border-radius:20px;display:flex;flex-direction:column;flex:1;min-height:310px;overflow:hidden}.lg-amount-row{display:flex;align-items:center;gap:12px;padding:18px 16px 12px;flex-shrink:0}.lg-amount-row>.lg-cat-icon{width:40px;height:40px;border-width:2px}.lg-amount-row>strong{font-size:17px;white-space:nowrap}.lg-amount-row>output{flex:1;text-align:right;font-size:34px;line-height:40px;font-weight:600;min-width:0;overflow-x:auto;white-space:nowrap}.lg-amount-row>output.is-empty{color:#b5b5b5}
.lg-category-scroll{overflow-y:auto;flex:1;min-height:150px;padding:8px 12px 16px;overscroll-behavior:contain}.lg-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px 4px;align-content:start}.lg-categories>button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;min-height:68px;min-width:0;font-size:13px;color:#626262}.lg-categories .lg-cat-icon{width:46px;height:46px;border:2px solid transparent;background:color-mix(in srgb,var(--cat) 10%,white);color:var(--cat)}.lg-categories .lg-cat-icon svg{width:24px;height:24px}.lg-categories [aria-pressed=true] .lg-cat-icon{background:white;border-color:var(--cat)}.lg-categories [aria-pressed=true]{color:var(--cat);font-weight:600}.lg-categories button>span:last-child{line-height:20px;overflow-wrap:anywhere;max-width:100%}.lg-category-add>span:first-child{width:46px;height:46px;border:1px dashed #b5b5b5;border-radius:50%;display:grid;place-items:center;color:#8a8a8a}.lg-category-add>span:first-child svg{width:24px;height:24px}
.lg-entry-info{display:flex;gap:10px;align-items:center;border-top:1px solid #eee;min-height:49px;padding:0 16px;flex-shrink:0}.lg-entry-info svg{width:20px;height:20px;color:#8a8a8a}.lg-date-label{position:relative;display:flex;gap:8px;align-items:center;white-space:nowrap;min-height:44px;font-size:15px}.lg-date-label input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%}.lg-date-label input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.lg-note-label{border-left:1px solid #e5e5e5;display:flex;align-items:center;gap:8px;padding-left:10px;flex:1;min-width:0}.lg-note-label input{border:0;background:transparent;padding:0;width:100%;font-size:16px;height:44px}.lg-note-label input::placeholder{color:#8a8a8a}.lg-accounts-strip{display:flex;align-items:center;padding:4px 16px 8px;gap:8px;border-top:1px solid #eee;flex-shrink:0}.lg-accounts-strip>span{display:flex;color:#8a8a8a}.lg-accounts-strip>div{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;min-width:0;flex:1}.lg-accounts-strip button{padding:0 12px;min-height:36px;color:#8a8a8a;flex-shrink:0;font-size:15px;border-radius:999px}.lg-accounts-strip button.selected{background:#ebebeb;font-weight:600;color:#202020}
.lg-error{font-size:13px;line-height:20px;color:#c92a2a;min-height:16px;flex-shrink:0}.lg-error:empty{height:16px}.lg-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.78fr);gap:8px;flex-shrink:0}.lg-keypad button{height:48px;border-radius:16px;background:#fff;font-size:24px;font-weight:500;padding:0;display:flex;align-items:center;justify-content:center}.lg-keypad [data-lg-key=again]{font-size:15px;font-weight:400}.lg-keypad [data-lg-key=again]:disabled{visibility:hidden}.lg-keypad .lg-key-gray{background:#ebebeb}.lg-keypad .lg-key-ok{border-radius:999px;background:#202020;color:#fff;font-size:22px;font-weight:600}.lg-keypad svg{width:25px;height:25px}
.lg-assets{background:#fff;border-radius:24px;padding:16px;margin-bottom:12px}.lg-assets>strong{font-size:30px;line-height:40px;display:block;overflow-wrap:anywhere}.lg-assets>p{font-size:13px;line-height:20px;color:#8a8a8a}.lg-account-list{border-radius:24px;padding:0 16px;background:#fff}.lg-account-list>button{display:flex;align-items:center;width:100%;gap:10px;min-height:64px;text-align:left;border-bottom:1px solid #eee!important;padding:10px 0}.lg-account-list>button:last-child{border-bottom:0!important}.lg-account-list>button>span{flex:1;min-width:0}.lg-account-list strong{font-size:16px;line-height:24px;font-weight:400;overflow-wrap:anywhere}.lg-account-list b{font-size:16px;max-width:50%;overflow-wrap:anywhere}.lg-account-list svg{width:16px;height:16px;color:#b5b5b5}.lg-new-account{margin-top:28px;background:#fff!important;border-radius:24px;width:100%;min-height:52px;font-size:17px!important;font-weight:600!important}.lg-preference{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 16px;width:100%;background:#fff!important;border-radius:20px;font-size:16px!important}.lg-preference>span:last-child{display:flex;align-items:center;color:#626262;gap:4px}.lg-preference svg{width:18px}.lg-help{font-size:13px;line-height:20px;color:#8a8a8a;padding:10px 4px!important}
#ledger-dialog{border:0;padding:20px 20px 0;max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;box-shadow:none;outline:0;width:min(370px,calc(100% - 32px));border-radius:28px;margin:auto auto 24px}#ledger-dialog::backdrop{background:rgba(0,0,0,.35)}#ledger-dialog.lg-center{width:min(314px,calc(100% - 48px));margin:auto}#ledger-dialog.lg-menu{margin:104px 16px auto auto;width:220px;padding:10px 16px}.lg-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lg-modal-head h2{font-size:17px;line-height:24px;font-weight:600}.lg-modal-head>.icon-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:50%;background:#f7f7f7}.lg-modal-head svg{width:18px;height:18px}.lg-center .lg-modal-head>.icon-button{display:none}.lg-dialog label{display:block;font-size:15px;line-height:24px;color:#626262;margin:10px 0 6px}.lg-dialog input{border:0;border-radius:12px;background:#f2f2f2;height:48px;width:100%;padding:0 14px;font-size:16px}.lg-field-line{display:flex;gap:10px;align-items:center;padding:4px 0 8px}.lg-field-line span{font-size:15px;color:#626262;white-space:nowrap}.lg-dialog-actions{border-top:1px solid #f0f0f0;display:flex;height:60px;align-items:center;margin-top:8px}.lg-dialog-actions>button{height:48px;flex:1;font-size:17px;font-weight:600}.lg-dialog-actions>button+button{border-left:1px solid #e6e6e6}.lg-form-error{font-size:13px;line-height:20px;color:#c92a2a}.lg-form-error:not(:empty){padding:10px 0!important}.lg-danger{color:#c92a2a!important}.lg-delete-account{width:100%;min-height:52px;border-top:1px solid #eee!important}.lg-detail-title{display:flex;align-items:center;flex-direction:column;gap:6px;padding:0 0 16px}.lg-detail-title>span:not(.lg-cat-icon){font-size:15px;color:#626262;overflow-wrap:anywhere}.lg-detail-title strong{font-size:32px;line-height:40px;max-width:100%;overflow-wrap:anywhere}.lg-detail-fields{border-top:1px solid #eee}.lg-detail-fields>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-bottom:1px solid #eee}.lg-detail-fields>div:last-child{border:0}.lg-detail-fields dt{font-size:15px;color:#8a8a8a;white-space:nowrap}.lg-detail-fields dd{margin:0;text-align:right;font-size:15px;overflow-wrap:anywhere}.lg-menu .lg-modal-head{display:none}.lg-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px}.lg-menu svg{width:18px;height:18px}.lg-icon-groups{max-height:45vh;overflow:auto;padding:4px 0}.lg-icon-groups h3{font-size:13px;color:#626262;font-weight:500;padding:14px 0 6px}.lg-icon-groups section>div{display:flex;flex-wrap:wrap;gap:8px}.lg-icon-groups button{width:44px;height:44px;display:grid;place-items:center;background:#f2f2f2;border-radius:50%}.lg-icon-groups button[aria-pressed=true]{background:#202020;color:#fff}.lg-deleted-list{max-height:50vh;overflow:auto}.lg-deleted-list>div{display:flex;align-items:center;gap:12px;min-height:56px}.lg-deleted-list>div>span{flex:1;overflow-wrap:anywhere}.lg-deleted-list button{min-height:44px}
#ledger-notice{position:fixed;z-index:100;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;display:flex;align-items:center;gap:16px;padding:12px 16px;background:#202020;color:#fff;border-radius:16px;font-size:14px;line-height:22px;box-shadow:0 6px 24px #0002}#ledger-notice[hidden]{display:none}#ledger-notice button{border:0;background:transparent;color:#fff;font:inherit;font-weight:600;min-height:32px;white-space:nowrap;padding:0}#ledger-dialog #ledger-notice{position:sticky;transform:none;left:auto;bottom:12px;max-width:100%;margin:8px auto 12px}.lg-entry-screen ::selection,.lg-dialog ::selection{background:#ddd;color:#202020}
@media(max-width:360px){.lg-period{gap:8px}.lg-period strong{font-size:18px}.lg-entry-screen{padding-left:12px;padding-right:12px}.lg-amount-row{gap:8px;padding-left:12px;padding-right:12px}.lg-amount-row>output{font-size:29px}.lg-category-scroll{padding-left:6px;padding-right:6px}.lg-categories .lg-cat-icon,.lg-category-add>span:first-child{width:42px;height:42px}.lg-categories{gap:8px 2px}.lg-entry-info{padding:0 12px;gap:8px}.lg-note-label{gap:6px;padding-left:8px}.lg-date-label{gap:6px;font-size:14px}.lg-note-label>svg{display:none}.lg-accounts-strip{padding-left:12px;padding-right:12px}.lg-accounts-strip button{padding:0 10px;font-size:14px}.lg-accounts-strip{gap:6px}.lg-keypad{gap:8px}.lg-keypad button{height:44px}.lg-keypad [data-lg-key=again]{font-size:14px}.lg-entry-header{height:112px}.lg-account-link{padding:14px 12px}.lg-account-link>span:last-child{font-size:12px}.lg-stats b{font-size:14px}.lg-entry-row{gap:8px}.lg-entry-row>b{font-size:15px}.lg-row-copy strong{font-size:15px}.lg-ring{height:158px}.lg-group-title{font-size:12px}}
@media(max-height:660px){.lg-entry-header{height:80px;padding-top:20px}.lg-entry-screen{height:auto;min-height:100%;padding-bottom:16px}.lg-entry-card{min-height:310px;flex:none}.lg-category-scroll{max-height:200px}.lg-keypad button{height:44px}}
@media(min-width:762px){.lg-screen{max-width:520px;margin:auto}.lg-entry{height:100%}.lg-footer{left:50%;right:auto;transform:translateX(-50%);width:min(520px,100%)}.lg-entry-header{padding-top:24px;height:92px}}
/* The shared dock reserves 88px in #view; this screen owns its footer. */
body[data-page=ledger] #view{height:auto!important;min-height:100%}
.lg-entry-screen{height:100vh;min-height:100vh}
.lg-date-label .local-date-control{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:44px;min-width:0}
.lg-date-label .local-date-control input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:44px;padding:0;border:0;cursor:pointer}
.lg-date-label .local-date-control>svg{display:none}
@media(max-height:660px){.lg-entry-screen{height:auto}}
.lg-budget{padding-bottom:16px}.lg-ring{height:150px;margin:4px auto}.lg-stats{padding-top:12px}.lg-stats small{font-size:12px;line-height:16px}.lg-stats b{font-size:15px;line-height:22px}
@media(max-width:360px){.lg-ring{height:150px}.lg-stats b{font-size:14px}}
@media(min-width:361px) and (max-width:761px){.lg-entry-header{height:132px;padding-top:68px;padding-bottom:20px}}
body[data-ledger-screen=entry]>#ledger-notice{top:12px;bottom:auto}
/* Delivery 12: full-width category sheet and six-column icon groups. */
#ledger-dialog.lg-category-modal{width:min(480px,100%);max-width:480px!important;height:min(640px,calc(100vh - 64px));max-height:calc(100vh - 64px);padding:20px 16px 0;margin:auto auto 0;border-radius:28px 28px 0 0;overflow:hidden}
.lg-category-modal .lg-modal-head{justify-content:center;margin-bottom:12px;height:24px;flex:none}.lg-category-modal .lg-modal-head>.icon-button{display:none}
#lg-category-form{display:flex;flex-direction:column;height:calc(100% - 36px);min-height:0}
.lg-category-name-line{height:76px;flex:none;display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee;padding-bottom:12px}
.lg-category-preview{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:1px dashed #b5b5b5;border-radius:50%;color:#b5b5b5}.lg-category-preview>svg{width:24px;height:24px}.lg-category-preview.chosen{border-style:solid;color:#626262}
.lg-category-name-line input{padding:0;border-radius:0;background:none;font-size:16px}
.lg-category-modal .lg-icon-groups{max-height:none;min-height:0;flex:1;overflow:auto;padding:24px 4px 16px}
.lg-category-modal .lg-icon-groups h3{font-size:13px;font-weight:400;color:#8a8a8a;padding:14px 0 16px}
.lg-category-modal .lg-icon-groups section>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 10px;padding:0 4px}
.lg-category-modal .lg-icon-groups button{width:44px;height:44px;background:#f5f5f5;color:#626262;justify-self:center}.lg-category-modal .lg-icon-groups button[aria-pressed=true]{background:#202020;color:white}.lg-category-modal .lg-icon-groups svg{width:24px;height:24px}
.lg-category-modal .lg-dialog-actions{flex:none;gap:12px;height:84px;margin:0;border-top:1px solid #eee;background:#fff;padding:12px 0 20px}
.lg-category-modal .lg-dialog-actions button{height:52px;border-radius:999px;background:#f2f2f2;border:0!important}.lg-category-modal .lg-dialog-actions button[type=submit]{background:#202020;color:#fff}
/* Delivery 19/20: compact centered account dialog with inline actions. */
#ledger-dialog.lg-account-modal{width:min(338px,calc(100% - 48px));margin:auto;padding:20px 20px 0}
.lg-account-modal .lg-modal-head{height:24px;margin-bottom:12px;padding:0 4px}.lg-account-modal .lg-modal-head>.icon-button{display:none}
.lg-account-fields{display:flex;flex-direction:column;gap:10px}.lg-account-fields input{background:#f6f6f6}.lg-account-fields .lg-field-line{padding:0;gap:8px}.lg-account-fields .lg-form-error{min-height:18px;line-height:18px;padding:0 4px!important}.lg-account-fields .lg-form-error:not(:empty){padding:0 4px!important}.lg-account-modal .lg-dialog-actions{margin-top:4px}
@media(max-width:360px){.lg-category-modal .lg-icon-groups section>div{gap:12px 2px;padding:0}.lg-category-modal .lg-icon-groups button{width:40px;height:40px}.lg-category-modal .lg-icon-groups svg{width:22px;height:22px}.lg-account-modal .lg-dialog-actions button{font-size:16px}}
.lg-category-name-line{height:58px}.lg-category-modal .lg-dialog-actions{height:88px;padding-bottom:24px}
