/* YIBI 1.0 — the mesh is the identity; UI stays quiet. */
:root{--radius:7px}.header{height:80px}.nav button{display:flex;align-items:center;gap:7px}.nav button svg{display:none}.quick-entry{display:none}.edition{font-size:23px;font-weight:500;letter-spacing:-.6px}.overview-head{margin-bottom:16px}.monthpicker{min-height:44px}.monthpicker input{font-size:15px}.hero{border-color:#e5e7ee;border-radius:9px 9px 0 0;overflow:hidden}.hero-info .label{font-size:14px}.bigamount{font-weight:400;overflow-wrap:anywhere;white-space:normal}.metricstrip{border-radius:0 0 9px 9px}.metric .value{overflow-wrap:anywhere}.metric:first-child .label{color:var(--accent)}.record{display:block;padding:0}.record-open{display:grid;grid-template-columns:35px minmax(0,1fr) auto 10px;gap:15px;width:100%;border:0;background:transparent;align-items:center;text-align:left;padding:20px 0;min-height:86px}.record-open:hover{background:#f0f1f988}.record-body{min-width:0;display:block}.record-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.record-amount{font-size:22px;max-width:260px;overflow-wrap:anywhere;white-space:normal;text-align:right}.record-arrow{color:#a5a9b6;font-size:22px}.receipt-amount{font-size:clamp(32px,8vw,48px);line-height:1.25;letter-spacing:-1.7px;margin:26px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.receipt-amount small{font-size:.5em;margin:0 5px}.receipt-fields{margin:24px 0}.receipt-fields>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.receipt-fields dt{color:var(--secondary)}.receipt-fields dd{margin:0;overflow-wrap:anywhere;text-align:right}.sheet-actions{display:flex;gap:12px;margin:25px 0 5px}.sheet-actions>.btn{flex:1}.receipt-caption{font-size:14px;color:var(--secondary);margin-top:20px}.project-history-title{margin:28px 0 8px;font-size:17px}.project-open{display:block;text-align:left;background:none;width:100%;padding:0}.project-open:hover h2{color:var(--accent)}.project-total{overflow-wrap:anywhere}.project-last{font-size:12px;color:var(--secondary)}.project .project-bottom{gap:12px}.due-note{font-size:13px;color:var(--secondary);margin-top:15px}.settled-projects{margin-top:30px}.settled-projects>summary{font-size:16px;padding:16px 0;cursor:pointer}.settled-projects>summary span{margin-left:8px;color:var(--secondary)}.settled-projects .project{background:#fafbfc}.entry-kind{display:flex;width:180px;border-bottom:1px solid var(--line);margin:5px 0 22px;gap:26px}.entry-kind button{border:0;background:none;min-height:44px;font-size:16px;padding:7px 3px;color:var(--secondary)}.entry-kind .active{color:var(--accent);border-bottom:2px solid var(--accent)}.amountfield{margin-bottom:24px}.amountfield input{font-size:42px!important;letter-spacing:-1px;border-width:0 0 1px!important;border-radius:0!important;padding:8px 0!important;background:none!important}.entry-more{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.entry-more summary{font-size:14px;color:var(--secondary);cursor:pointer;min-height:44px;padding-top:8px}.entry-more summary span{float:right;font-size:12px}.dialog{border-radius:14px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.dialog .submit{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 16px #fff}.dialog .field input,.dialog .field select{min-height:48px;font-size:16px}.dialog .field{font-size:14px}.dialog-head{margin-bottom:20px}.dialog-head .iconbtn{width:44px;height:44px}.dialog .help{font-size:12px;margin:15px 0}.form-error{font-size:14px}.toast{display:flex;align-items:center;gap:22px;max-width:calc(100vw - 32px);white-space:normal;font-size:14px;z-index:80}.toast button{font-size:14px;color:#c5c8ff;background:none;border:0;padding:10px 4px;white-space:nowrap}.empty p{font-size:14px;margin:7px 0 15px}.detail-dialog .record-open{grid-template-columns:30px minmax(0,1fr) auto 8px;gap:10px}.detail-dialog .record-title{font-size:14px}.detail-dialog .record-meta{font-size:12px}.detail-dialog .record-amount{font-size:18px}.day-total{font-size:17px;color:var(--secondary);margin:15px 0}.formgrid>*{min-width:0}.field input[type=date]{min-width:0;max-width:100%}.project-details{flex-wrap:wrap}.stats-summary strong{overflow-wrap:anywhere}.setting .btn{min-height:44px}
@media(max-width:560px){.header{height:68px}.header-right>.btn{display:none}.quick-entry{display:flex;position:fixed;bottom:calc(87px + env(safe-area-inset-bottom));right:20px;background:var(--ink);color:#fff;border:1px solid #ffffff55;border-radius:27px;min-height:49px;align-items:center;gap:9px;padding:8px 18px;font-size:23px;box-shadow:0 5px 18px #22263c18;z-index:25}.quick-entry span{font-size:14px}.main{padding-top:23px;padding-bottom:160px}.nav{padding:8px 20px max(9px,env(safe-area-inset-bottom));height:auto}.nav button{display:flex;flex-direction:column;gap:3px;justify-content:center;padding:5px 16px;font-size:12px;min-height:48px}.nav button svg{display:block;width:22px;height:22px}.nav button.active:after{display:none}.nav button.active{color:var(--accent)}.edition{font-size:21px;max-width:none}.monthpicker input{font-size:14px;width:117px}.hero-info{padding:23px 22px 0}.bigamount{font-size:clamp(46px,15.3vw,68px);margin-bottom:15px}.hero-info .label{font-size:14px}.terrain{padding-top:0}.terrain svg{aspect-ratio:600/320}.metricstrip{grid-template-columns:1.13fr .95fr 1.12fr}.metric .value{font-size:clamp(16px,4.6vw,22px);white-space:normal;overflow-wrap:anywhere}.metric .label{font-size:12px}.record-open{gap:10px;padding:17px 0;grid-template-columns:30px minmax(0,1fr) auto 8px;min-height:79px}.record-title{font-size:15px}.record-meta{font-size:12px}.record-amount{font-size:19px;max-width:140px}.record-date{font-size:20px}.record-date small{font-size:10px}.record-arrow{font-size:20px}.sectionhead h2{font-size:20px}.segmented button{font-size:13px}.overlay{padding:0;align-items:flex-end}.dialog{width:100%;max-width:none;border-radius:20px 20px 0 0;padding:24px 22px max(24px,env(safe-area-inset-bottom));max-height:90dvh;animation:sheet-in .25s ease both}.dialog:before{content:'';display:block;width:30px;height:3px;background:#d9dce5;border-radius:4px;margin:-10px auto 17px}.dialog h2{font-size:21px}.dialog .submit{min-height:50px}.dialog form{padding-bottom:2px}.stats-grid .stats-summary{display:block}.stats-summary strong{font-size:40px}.project{border-radius:8px;padding:22px}.project .project-total{font-size:34px}.project .project-bottom .btn{min-height:44px;font-size:13px}.setting-actions .btn{font-size:14px;min-height:46px}.toast{bottom:calc(85px + env(safe-area-inset-bottom))}.pagefooter{font-size:11px}.detail-dialog .sheet-actions{background:#fff;padding:12px 0;z-index:2}.receipt-amount{margin:23px 0}.receipt-fields>div{font-size:14px}}
@keyframes sheet-in{from{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.dialog{animation:none}}
.dialog{max-height:min(90dvh,var(--sheet-max,90dvh))}.gesture-hint{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);background:#ffffffed;color:#74798b;padding:6px 12px;border-radius:18px;font-size:12px;white-space:nowrap;pointer-events:none;border:1px solid #eaebf2}.terrain:focus-within .gesture-hint{display:none}.overlay{z-index:100}.toast{z-index:150}
@media(max-width:560px){.overlay{bottom:var(--viewport-bottom,0px)}.dialog .record-amount{max-width:120px}}

/* 1.1 — fixed app regions, original static terrain, one primary entry. */
body{font-size:16px}.inline-icon{display:inline-block;width:17px;height:17px;flex-shrink:0;vertical-align:-3px}.btn,.textbtn{gap:8px;align-items:center}.textbtn{font-size:14px;min-height:44px;display:inline-flex}.header-right>.btn{display:inline-flex}.quick-entry{display:none!important}.nav{position:fixed;top:18px;left:50%;bottom:auto;transform:translateX(-50%);height:44px;width:auto;margin:0;z-index:40;gap:26px}.header{height:80px}.hero-info .label{font-size:16px}.goal-label,.goal-label .textbtn{font-size:14px}.goal-label>span{display:block}.hero{border-radius:5px 5px 0 0}.metricstrip{border-radius:0 0 5px 5px}.terrain{cursor:default;touch-action:auto;user-select:auto;padding:10px 15px 16px}.terrain svg{aspect-ratio:600/330;height:auto;margin:0;overflow:visible;max-height:none}.surface-lines{animation:none}.terrain-caption{margin:0 15px;font-size:13px}.terrain-caption strong{font-size:14px;color:#737a8c}.terrain-tip{font-size:14px}.terrain-node .node-halo{animation:none}.terrain-node{cursor:pointer}.metric .label{font-size:14px}.metric .value{font-size:28px}.record-title{font-size:16px}.record-meta{font-size:14px}.record-date small{font-size:12px}.search input{font-size:16px}.segmented button{font-size:14px;min-height:44px}.pagehead p{font-size:15px}.project .client,.project-details,.project-last,.setting p,.instruction{font-size:14px}.nav button{font-size:15px}.demo-banner{font-size:14px;padding:0;min-height:44px;margin-bottom:12px}.demo-banner .textbtn{font-size:14px}.edition{font-size:24px}.monthpicker input{font-size:15px}.dialog .help{font-size:13px}.receipt-fields>div{font-size:15px}.categorychip{font-size:14px}
@media(max-width:800px){
html{height:100%;overflow:hidden;overscroll-behavior:none}
body{height:var(--app-height,100dvh);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:72px minmax(0,1fr) auto;grid-template-areas:"head" "content" "nav";position:relative}
.header{grid-area:head;height:72px;width:100%;max-width:none;margin:0;padding:0 20px;gap:10px;min-width:0;background:var(--bg)}
.main{grid-area:content;overflow-x:hidden;overflow-y:auto;min-height:0;height:100%;width:100%;max-width:none;margin:0;padding:20px 20px 32px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:24px}
.nav{grid-area:nav;position:relative;inset:auto;transform:none;align-self:stretch;height:auto;min-height:75px;width:100%;margin:0;padding:9px 20px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:0;background:#fff;backdrop-filter:none;border-top:1px solid var(--line);z-index:40}
.nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:14px;line-height:1.3;padding:3px 14px;min-height:50px}
.nav button svg{display:block;width:23px;height:23px}.nav button:after{display:none}.nav button.active{color:var(--accent)}
#modal-root{position:fixed;inset:0;z-index:100;pointer-events:none}#modal-root>*{pointer-events:auto}
.header-right>.btn{display:inline-flex;font-size:15px;min-height:44px;padding:9px 13px;border-radius:5px}.header-right{gap:3px}.header-right .privacybutton{width:39px;height:44px}.brandname{font-size:25px}.mark{width:29px;height:29px}.brandnote{display:none}
.overview-head{margin-bottom:10px;align-items:center;gap:12px}.edition{font-size:24px;max-width:none}.monthpicker{height:44px}.monthpicker input{width:116px;font-size:15px}.monthpicker .iconbtn{width:26px;height:40px}.demo-banner{font-size:14px;margin:0 0 12px}.demo-banner .textbtn{font-size:14px;white-space:nowrap}
.hero-info{padding:24px 22px 0}.hero-info .label{font-size:16px}.bigamount{font-size:clamp(48px,16vw,76px);margin:12px 0 21px;letter-spacing:-3.5px}.bigamount.long{font-size:34px}.goal-label{font-size:14px}.goal-track{margin:10px 0 0}.terrain{padding:10px 6px 16px}.terrain svg{width:100%;height:auto;aspect-ratio:600/330;max-height:none}.terrain-caption{font-size:13px;margin:0 15px}.terrain-caption strong{font-size:14px}.terrain-tip{font-size:13px;bottom:44px;left:17px;right:17px}
.metricstrip{grid-template-columns:1fr .9fr 1.2fr}.metric{padding:18px 9px}.metric:first-child{padding-left:12px}.metric .label{font-size:13px}.metric .value{font-size:clamp(17px,5.1vw,25px);letter-spacing:-.8px;margin-top:8px;white-space:normal;overflow-wrap:anywhere}
.workspace-grid{margin-top:28px}.sectionhead h2{font-size:22px}.segmented{gap:15px}.segmented button{font-size:14px;min-height:44px}.record-open{grid-template-columns:30px minmax(0,1fr) auto 8px;gap:10px;padding:18px 0}.record-title{font-size:16px}.record-meta{font-size:14px;line-height:1.6}.record-amount{font-size:20px;max-width:130px}.record-date{font-size:21px}.record-date small{font-size:12px}.search input{height:46px;font-size:16px}.search svg{top:15px}
.overlay{padding:0;align-items:flex-end;bottom:var(--viewport-bottom,0px)}.dialog{width:100%;max-width:560px;max-height:min(90dvh,var(--sheet-max,90dvh));border-radius:18px 18px 0 0;padding:24px 22px max(24px,env(safe-area-inset-bottom))}.dialog h2{font-size:22px}.dialog .field{font-size:15px}.setting p{font-size:15px}.setting h2{font-size:20px}.project .client{font-size:15px}.project .btn{font-size:14px}.stats-grid .stats-summary{display:block}.stats-summary strong{font-size:40px}.toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:15px}.pagefooter{display:none}
}
@media(max-width:360px){.header{padding:0 16px}.main{padding-left:16px;padding-right:16px}.header-right>.btn{padding:9px 10px;font-size:14px}.brandname{font-size:24px}.brand{gap:6px}.mark{width:25px}.metric .value{font-size:17px}.record-meta{font-size:13px}.record-title{font-size:15px}.record-amount{font-size:18px;max-width:116px}.monthpicker input{width:109px;font-size:14px}.nav{padding-left:14px;padding-right:14px}.nav button{padding-left:12px;padding-right:12px}}
