/* One quiet screen at a time; the thumb can always reach the main navigation. */
.app-shell{min-height:100vh;min-height:100svh;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
.topbar{position:sticky;top:0;z-index:8;background:var(--bg);min-height:76px;height:auto;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px}
[data-app-panel][hidden]{display:none!important}
.app-panel{min-width:0;animation:app-panel-in .2s ease-out}
.view-journal .home-shelf{border-top:0;margin-top:0;padding-top:26px}
.view-journal .shelf-heading h1{font:600 27px/1.5 var(--sans);letter-spacing:0}
.view-today{padding-bottom:24px}
.app-tabbar{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,1120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:7px max(12px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid #e9ece3;background:#fffefaf5;box-shadow:0 -5px 22px #414d3305;backdrop-filter:blur(12px)}
.app-tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;padding:4px 8px;color:#979c90;font-size:11px;line-height:1.4;touch-action:manipulation}
.app-tabbar button svg{width:24px;height:24px;stroke-width:1.6}
.app-tabbar button[aria-selected=true]{color:#45563c;font-weight:600}
.app-tabbar button[aria-selected=true] svg{stroke-width:2;fill:#64745212}
#toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 0}
.page-heading h1{font:600 27px/1.5 var(--sans);letter-spacing:0}
.quiet-action{min-height:44px;font-size:12px;color:#7d8574;padding:8px 0}
.personal-page{max-width:760px;margin:auto}
.personal-identity{display:flex;align-items:center;gap:18px;width:100%;text-align:left;padding:22px;background:#f1f0e6;border:1px solid #e7e7da;border-radius:18px}
.personal-avatar{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border-radius:20px;background:#dfe6d5;font:500 27px/1 var(--serif);color:#56664b}
.personal-identity-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:8px}
.personal-identity-copy strong{font:600 22px/1.5 var(--sans);overflow-wrap:anywhere}
.personal-identity-copy>span{font-size:12px;color:#858b7c;overflow-wrap:anywhere}
.personal-identity>span:last-child{color:#999f90;font-size:24px}
.personal-sections{margin-top:22px;display:grid;gap:0;border:1px solid var(--line);border-radius:17px;overflow:hidden}
.personal-section{display:block;width:100%;min-width:0;text-align:left;padding:21px 22px;background:#fffefa}
.personal-section+.personal-section{border-top:1px solid var(--line)}
.personal-section-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;margin-bottom:13px}
.personal-section-label>span{font-size:14px;color:#a0a698;font-weight:400}
.personal-section-copy{display:block;font-size:13px;line-height:1.8;color:#7b8274;white-space:pre-line;overflow-wrap:anywhere}
.personal-tags{display:flex;gap:8px;flex-wrap:wrap}
.personal-tag{font-size:12px;padding:7px 12px;border-radius:8px;background:#eff2e7;color:#69795a;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
.personal-empty{font-size:13px;color:#92998a;font-weight:400}
.personal-tools{margin-top:22px;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.personal-tools button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 22px;min-height:56px;font-size:13px;text-align:left;gap:16px}
.personal-tools button+button{border-top:1px solid var(--line)}
.personal-tools button>span:last-child{font-size:20px;color:#a0a698}
.personal-storage-note{font-size:11px;color:#a0a698;line-height:1.7;margin-top:18px;font-weight:400}
.personal-page>.personal-storage-note{text-align:center;margin-bottom:22px}
.personal-form label{display:block;min-width:0}
.personal-form .field-label{margin-bottom:9px}
.personal-form>.personal-field-pair,.personal-form>label+label,.personal-form>fieldset,.personal-form>fieldset+label{margin-top:20px}
.personal-field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:20px}
.personal-form textarea{min-height:88px;resize:vertical}
.personal-trait-field{border:0;padding:0;min-width:0;margin:0}
.personal-trait-field legend{padding:0;font-size:13px}
.personal-trait-field legend small{font-size:11px;font-weight:400;color:#939b89;margin-left:6px}
.trait-choices{display:flex;flex-wrap:wrap;gap:8px}
.trait-choices button{font-size:12px;min-height:36px;padding:7px 12px;border:1px solid #e6e9de;background:#f8f8f2;border-radius:9px;color:#858d7c}
.trait-choices button[aria-pressed=true]{background:#e9efdd;color:#516742;border-color:#bbc9a9}
.trait-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}
.trait-add .secondary-btn{margin:0;min-height:44px}
.personal-form>.primary-btn{width:100%}
@keyframes app-panel-in{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:740px){
 .topbar{min-height:65px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
 .hello-row{padding-top:20px}
 .view-journal .home-shelf{padding-top:20px}
 .view-journal .shelf-heading h1,.page-heading h1{font-size:24px}
 .page-heading{padding:20px 0 24px}
 .personal-identity{padding:20px 17px;gap:14px}
 .personal-avatar{width:58px;height:58px;flex-basis:58px;border-radius:18px;font-size:25px}
 .personal-identity-copy strong{font-size:21px}
 .personal-section{padding:19px 18px}
 .personal-tools button{padding:15px 18px}
 .personal-field-pair{gap:12px}
}
@media(prefers-reduced-motion:reduce){.app-panel{animation:none}}
