/* 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:100dvh;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:90dvh;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:has(.memo-screen),.content:has(.knowledge-screen){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)}
