/* Nuaru — calm editorial / Notion-inspired layout; reward peach only. */
:root{--bg:#f7f7f6;--white:#fff;--ink:#262626;--muted:#757575;--line:#e9e9e8;--green:#252525;--greenSoft:#f4f4f3;--sand:#f4f4f3;--rose:#f4f4f3;--blue:#f4f4f3;--gold:#96745d;--radius:15px;--shadow:none;font-size:14px;line-height:1.55;color-scheme:light}
body{background:var(--bg);color:var(--ink)}
.app{max-width:1080px;padding-left:clamp(12px,3vw,30px);padding-right:clamp(12px,3vw,30px)}
.top{padding:25px 1px 20px}.top h1{font-size:34px;letter-spacing:-1.5px;font-weight:800}.top .dot{color:#313131}.eyebrow,.eyeline{color:#858585;font-weight:750;letter-spacing:.8px;font-size:10px}.top p{font-size:12px}.top-mark{background:#fafafa;border:1px solid #e6e6e6;border-radius:15px;color:#222;width:68px;height:68px;font-weight:850;font-size:18px;letter-spacing:-1px}
.tabs{display:flex;gap:2px;overflow:auto;scrollbar-width:none;background:#fff;border:1px solid #eaeaea;box-shadow:none;border-radius:12px;padding:5px;position:sticky;top:0;z-index:5;overscroll-behavior-x:contain}.tabs::-webkit-scrollbar{display:none}
.tab{flex:1 0 auto;min-width:72px;padding:12px 9px;white-space:nowrap;border-radius:8px;background:transparent;color:#777;font-size:12px;font-weight:650}.tab.selected{background:#262626;color:#fff;box-shadow:none}
.panel{background:#fff;border:1px solid #e9e9e7;border-radius:15px;box-shadow:none;padding:22px}.layout{gap:12px}h2{font-size:23px;letter-spacing:-.6px}h3{font-weight:770}.chip{color:#525252;background:#f3f3f2;border:1px solid #ececeb;font-weight:650}.chip.warn{color:#646464;background:#f3f3f2}.chip.blue{background:#f4f4f3;color:#525252}
.btn{background:#252525;color:#fff;border-color:#252525;border-radius:9px;font-weight:650}.btn.soft{background:#f3f3f2;color:#333;border-color:#e7e7e6}.btn.line,.btn.ghost{color:#373737;background:#fff;border-color:#dcdcdc}.btn.bad{background:#fff6f2;border-color:#ebded8;color:#9a5d43}
.input{background:#fff;border:1px solid #dededc;border-radius:9px;color:#282828}.input:focus{border-color:#555;outline:2px solid #efefee}input[type=checkbox]{accent-color:#333}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #777;outline-offset:2px}
.metric,.quest,.goal,.trackbtn,.dayChip,.journalDay{background:#fff;border:1px solid #e8e8e6}.level,.monthBtn,.step,.seg button,.scoreOpts button{border:1px solid #e4e4e3;color:#5e5e5e;background:#fff}.level.active,.monthBtn.sel,.step.sel,.seg button.sel,.scoreOpts button.sel{background:#252525;color:#fff;border-color:#252525}.quest.done,.dayChip.sel,.trackbtn.sel{background:#f5f5f4;border-color:#9d9d9d}.quest.done .questname{color:#686868}
.progress{background:#ebebea}.fill{background:#555}.ribbon,.ribbon.green,.ribbon.rose,.ribbon.blue,.timer{background:#f5f5f4}.note{background:#f7f7f6;border-left:3px solid #919191;color:#595959}.note.caution{background:#f7f7f6;border-color:#999;color:#666}.num,.clock{font-variant-numeric:tabular-nums}.pill,.journalPill{background:#f4f4f3;color:#4c4c4c;border-color:#e4e4e2}.save-status{border-radius:8px}.save-status.ok{background:#f6f6f5!important;color:#646464!important;border-color:#e9e9e9!important}.save-status.error{color:#9d543c!important}
.principleCategory,.principleCategoryToday{background:#fcfcfb;border-color:#e9e9e8;border-width:1px}.principleCategoryToday{border-left:3px solid #282828}.principleCategoryTitle b,.principleCategoryDescription,.principleCategory .careQuickAdd summary{color:#343434}.principleNow{background:#242424;color:#fff}.principleCategory .careMoveDetails{color:#777}
.reward,.rewardCard,.rewardGalleryCard{background:#fff5ee!important;border-color:#e9c7b3!important}.reward.done{opacity:1}.reward .btn:not(.ghost):not(.line),.rewardGalleryCard .btn:not(.ghost):not(.line){background:#ad7655;border-color:#ad7655}.reward .eyeline,.rewardGalleryCard .eyeline{color:#996344}
#toast{background:#252525}.safety-banner{background:#fafafa!important;color:#777!important;border:1px solid #eaeaea!important;border-radius:10px;padding:9px 12px;font-size:11px}.safety-banner b{color:#555}footer{color:#8d8d8b}
/* unified record explorer */
.archiveFilter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:17px}.archiveFilter label{color:#5d5d5d}.archiveButtons{display:flex;align-items:end;gap:8px}.archiveButtons>*{flex:1}.archiveQuick{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.recordList{display:grid;gap:0}.recordCard{display:flex;align-items:flex-start;gap:14px;padding:15px 3px;border-bottom:1px solid #eeeeed}.recordCard:last-child{border-bottom:0}.recordThumb{width:88px;height:88px;object-fit:cover;border:1px solid #eee;border-radius:11px;flex-shrink:0}.recordIcon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:11px;background:#f5f5f4;color:#555;font-size:19px;font-weight:700}.recordText{min-width:0;flex:1}.recordTop{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.recordDate{font-size:11px;color:#848484}.recordCategory{font-size:10px;color:#666;padding:2px 7px;border:1px solid #eaeae9;border-radius:5px;background:#fafafa}.recordTitle{font-weight:750;margin:6px 0 3px;line-height:1.45;color:#2b2b2b}.recordDescription{font-size:12px;color:#656565;white-space:pre-wrap;overflow-wrap:anywhere}.recordAmount{font-size:12px;margin-left:7px;font-weight:800;white-space:nowrap}.recordAmount.positive,.recordAmount.negative{color:#454545}.recordTags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.recordTags span{font-size:10px;color:#737373;background:#f5f5f4;padding:2px 6px;border-radius:5px}.archivePages{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px;font-size:12px;color:#666}
@media(max-width:750px){.app{padding:0 12px 75px}.top{padding-top:18px}.top-mark{width:55px;height:55px;font-size:15px}.panel{padding:16px}.tabs{margin-bottom:12px}.tab{min-width:68px;padding:11px 8px}.archiveFilter{grid-template-columns:repeat(2,minmax(0,1fr))}.archiveSearchBox{grid-column:span 2}.archiveButtons{grid-column:span 2}}
@media(max-width:470px){.archiveFilter{grid-template-columns:1fr 1fr;gap:10px}.archiveSearchBox{grid-column:span 2}.archiveButtons{grid-column:span 2}.recordThumb{width:69px;height:75px}.recordIcon{flex-basis:38px;height:38px}.recordCard{gap:10px}.top h1{font-size:29px}}
/* Apricot belongs to milestone / reward surfaces, not routine actions. */
.gallery-hero{background:#fff5ef;border-color:#efdfd4}
.gallery-hero p{color:#8e6651}
.gallery-group{background:#fdfbf9;border-color:#ece5df}
.gallery-tile,.gallery-tile.unlocked{background:#fffaf7;border-color:#e8d5c6}
.gallery-photo{background:linear-gradient(140deg,#f6dfd1,#fdf7f2)}
.gallery-pictogram{color:#b77f60}
.gallery-reward-title{color:#49382f}
.rewardCard{background:#fff8f3;border-color:#efd6c8}
.rewardImage{background:linear-gradient(145deg,#f6dfd1,#fff9f4)}
.chip.locked{background:#f4efeb;color:#968476}

.recordLink{border:0;padding:5px 0;margin-top:7px;color:#525252;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px;font-weight:650}

/* 8.1 · daily routine timeline and inline editing */
.top-mark{font-size:15px;letter-spacing:-.6px;min-width:70px;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800;text-transform:lowercase}
.reviewArchive{grid-column:1/-1}.reviewArchive>.layout>.panel{padding:18px}.reviewArchive .archiveFilter{margin-top:12px}
.routinePool{display:grid;gap:8px}.routineTask{border:1px solid #e5e5e4;background:#fcfcfb;border-radius:10px;padding:10px;display:grid;gap:8px}.routineTaskMain{display:flex;gap:9px;align-items:flex-start}.routineTaskMain input{width:19px;height:19px;flex-shrink:0;margin-top:5px;accent-color:#282828}.routineGrip{touch-action:none;user-select:none;cursor:grab;border:none;border-radius:5px;padding:4px 7px;background:#eee;font-size:17px;color:#666}.routinePick{background:none;border:0;text-align:left;flex:1;padding:2px;min-width:0}.routinePick small{color:#777;font-size:11px;display:block;margin-top:3px}.routineTaskLabel{font-size:13px;font-weight:680;overflow-wrap:anywhere}.routineDone .routineTaskLabel,.routineDone .routineSlotItem span{text-decoration:line-through;color:#999}.routineChosen{outline:2px solid #777;outline-offset:0}.routineTaskActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.routineTaskActions .mini{display:flex;align-items:center;gap:6px}.routineTime{width:117px;min-height:34px;padding:5px}.routineTimeline{max-height:600px;overflow-y:auto;border:1px solid #eee;border-radius:11px;overscroll-behavior:contain}.routineSlot{min-height:63px;display:grid;grid-template-columns:72px 1fr;border-bottom:1px solid #eee}.routineSlot:last-child{border-bottom:0}.routineSlotTime{background:#fafafa;border:0;border-right:1px solid #eee;font-size:12px;font-weight:680;color:#777}.routineSlotItems{min-height:60px;padding:8px;display:grid;gap:5px}.routineSlotEmpty{border:1px dashed #eee;border-radius:6px;background:#fff;color:#aaa;text-align:left;padding:7px;font-size:11px}.routineSlotItem{display:flex;gap:8px;align-items:center;background:#f7f7f6;border:1px solid #ececeb;border-radius:7px;padding:8px;font-size:12px}.routineSlotItem input{width:18px;height:18px;accent-color:#333}.routineSlotItem span{flex:1}.routineSlotMove{font-size:11px;border:0;background:#fff;padding:5px;color:#555}.routineOther{display:grid;gap:7px}.routineDragGhost{position:fixed;pointer-events:none;z-index:9999;padding:10px 14px;border-radius:9px;border:1px solid #bbb;background:#fff;box-shadow:0 8px 20px #0002;font-size:12px;max-width:215px}
.journalInlineEditor{display:grid;gap:10px;margin-top:7px;padding:12px;background:#fafafa;border:1px solid #e9e9e8;border-radius:10px}.journalInlineEditor .journalTags{display:flex;flex-wrap:wrap}.journalInlineEditor .journalTag{font-size:11px}.journalInlineEditor .journalPreviewItem img{width:65px;height:65px;object-fit:cover}
@media(max-width:750px){.routineSlot{grid-template-columns:58px 1fr}.routineSlotTime{font-size:11px}.reviewArchive .archiveFilter{grid-template-columns:1fr 1fr}}

.routineQuickTray{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;padding:9px 2px;position:relative}.routineTrayChip{flex:0 0 auto;max-width:195px;overflow:hidden;text-overflow:ellipsis;background:#f8f8f7;border:1px solid #e5e5e3;border-radius:8px;font-size:11px;color:#444;padding:8px 9px;cursor:grab;touch-action:none;user-select:none}.routineTrayChip.routineDone{text-decoration:line-through;color:#999}.routineTrayChip.routineChosen{border-color:#333;background:#eee}
.routineSlotItem.routineDone span{text-decoration:line-through;color:#999}

/* 8.3 · fridge-first recipe archive. Neutral Notion-like palette. */
.recipeCount{font-size:13px;color:#777;font-weight:600;vertical-align:middle;margin-left:7px}.recipeOverview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.recipeOverview>div{background:#f7f7f6;border:1px solid #ebebea;border-radius:10px;padding:13px;display:grid;gap:4px}.recipeOverview b{font-size:21px}.recipeOverlap{margin-top:18px;display:grid;gap:9px}.recipeOverlap>div,.recipePantry,.recipeIngredients{display:flex;flex-wrap:wrap;gap:7px}.recipeOverlapChip,.recipePantryChip,.recipeIngredient{display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e5e3;background:#fafafa;color:#515151;padding:6px 9px;border-radius:7px;font-size:12px}.recipeOverlapChip b{font-size:10px;color:#777}.recipePantry{margin-top:12px;min-height:36px}.recipePantryChip{background:#fff}.recipePantryChip button{border:0;background:transparent;font-size:18px;line-height:1;color:#888}.recipeList{display:grid;gap:12px}.recipeCard{padding:16px;border:1px solid #e8e8e7;border-radius:12px;background:#fff;display:grid;gap:11px}.recipeCardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recipeCardTop>div:first-child{display:flex;gap:9px;align-items:center;min-width:0}.recipeRank{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:7px;background:#f0f0ef;font-weight:750;color:#555;font-size:12px}.recipeName{font-size:15px;font-weight:780;overflow-wrap:anywhere}.recipeCardActions,.recipeLinks{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.recipeScores{display:flex;gap:6px;flex-wrap:wrap}.recipeScores span{font-size:11px;background:#f6f6f5;color:#666;padding:5px 8px;border-radius:6px}.recipeScores b{color:#2f2f2f}.recipeIngredient.shared{color:#242424;background:#eee;border-color:#d7d7d7;font-weight:720}.recipeDetails{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.recipeDetails .mini{margin-right:3px}.recipeMissing{font-size:12px;color:#444}.recipeNote{white-space:pre-wrap;font-size:12px;color:#666;margin:0}.recipeEditForm{padding:13px;background:#f8f8f7;border:1px solid #eaeae8;border-radius:10px}.recipePantryChip button:focus-visible{outline:2px solid #777}.recipeOverview .mini{font-size:11px}@media(max-width:540px){.recipeOverview{gap:6px}.recipeOverview>div{padding:9px}.recipeOverview b{font-size:17px}.recipeCard{padding:13px}.recipeCardTop{align-items:flex-start}.recipeCardActions .btn{font-size:11px;padding:5px 8px}.recipeName{font-size:14px}}

/* v8.3 – neutral-only UI, pale pink accent for milestones, per-tab search */
:root{--bg:#fff;--green:#242424;--greenSoft:#f5f5f5;--sand:#f7f7f7;--rose:#f6f6f6;--blue:#f6f6f6;--gold:#666;--muted:#707070;--line:#e9e9e9}
body,.journalHero,.principleCategory,.careQuickBox,.journalDay,.journalDayBlank,.journalEntryPrimary,.journalNoPhoto{background:#fff!important}
.journalDay.selected{outline-color:#343434}.journalDayInfo,.journalDayInfo small{color:#333;background:#f8f8f8e8}
.careQuickHeading strong,.principleCategoryTitle b,.careQuickAdd summary,.careQuickEmpty{color:#444!important}
.careQuickItem,.careReference,.careQuickForm{background:#fff;border-color:#e7e7e7}
.journalTag span,.journalPill{color:#555;background:#f7f7f7;border-color:#e5e5e5}.journalTag input:checked+span{background:#222;border-color:#222;color:white}
.gallery-hero,.gallery-group,.gallery-tile{background:#fff7f8!important;border-color:#f2dce3!important}
.gallery-photo{background:linear-gradient(135deg,#ffeaf0,#fffafc)}.gallery-pictogram{color:#bd7993}
.reward,.rewardCard{background:#fff7f8!important;border-color:#f2dce3!important}.gallery-reward-title{color:#333}
.routineHidden{margin-top:12px;padding:9px;border:1px solid #e6e6e6;border-radius:9px}.routineHidden summary{cursor:pointer;font-size:12px;color:#666}.routineHidden .btn{margin:7px 5px 0 0}
.preferenceFilter{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:15px 0 8px;padding:12px;background:#fafafa;border:1px solid #ebebeb;border-radius:10px}.preferenceFilter label{display:grid;gap:3px;font-size:12px;min-width:130px;flex:1}.preferenceFilter .btn{min-width:65px}
.localSearchWrapper{grid-column:1/-1;margin-bottom:12px}.localSearchWrapper>.panel{padding:16px}.localFind summary{cursor:pointer;font-weight:750;list-style:revert}.localFind summary small{font-weight:400;color:#777}.localFindForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.localFindForm label{display:grid;gap:4px;font-size:11px;font-weight:700;color:#555}.localFindForm .btn{align-self:end}.localFindResults{max-height:450px;overflow-y:auto;padding:0 5px}
.recipeHaveStat{font-weight:700}.recipeFulfill{background:#fafafa;border:1px solid #ebebeb;border-radius:10px;padding:11px;display:grid;gap:7px}.recipeFulfillTop{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:13px}.recipeFulfillTop span{color:#666;font-size:11px}.recipeFulfillTrack{height:10px;overflow:hidden;border-radius:40px;background:#e9e9e9}.recipeFulfillTrack>div{height:100%;background:#3b3b3b;border-radius:40px}.recipeIngredient.owned{background:#f3f3f3;color:#242424;border-color:#dadada;font-weight:700}.recipeIngredient.notOwned{background:#fff;color:#999;border-style:dashed}
.backupStats{display:grid;gap:5px;background:#fafafa;padding:14px;margin:12px 0;border:1px solid #e5e5e5;border-radius:10px}.backupStats span,.backupStats p{color:#666;font-size:12px;margin:0}
@media(max-width:740px){.localFindForm{grid-template-columns:1fr 1fr}.localFindForm .btn{min-width:0}}

/* Remove all old colored warning/discipline banners: only monochrome UI and pink rewards. */
.principleBanner,.principleBanner .eyeline,.principleBanner summary{background:#f6f6f6!important;color:#333!important;border-color:#dfdfdf!important;box-shadow:none!important}
.note.caution,.warn,.chip.warn{background:#f7f7f7!important;color:#555!important;border-color:#d8d8d8!important}
.gallery-hero .gallery-reward-title,.gallery-tile .gallery-reward-title{color:#333}
/* 8.4: routine is a two-way task queue; completed items remain visible. */
.routinePoolDrop{min-height:118px;border:1px dashed #d0d0d0;border-radius:12px;padding:9px;transition:border-color .2s;background:#fff}
.routinePoolEmpty{font-size:12px;color:#767676;padding:20px 10px;text-align:center;line-height:1.7}
.routineScheduledTitle{display:flex;gap:10px;align-items:flex-start;min-width:0}
.routineScheduledTitle input{flex:0 0 auto;margin-top:2px}
.routineScheduledLabel{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.routineSlotItem{align-items:stretch;flex-direction:column;gap:9px;min-width:0}
.routineSlotItem.routineDone .routineScheduledLabel{text-decoration:line-through;color:#929292}
.routineScheduledTools{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.routineScheduledTools>.mini{display:flex;align-items:center;gap:5px;color:#777}
.routineMinutes{width:66px;min-height:33px;padding:5px 7px;font-size:13px}
.routineClock{font-variant-numeric:tabular-nums;min-width:52px;font-size:14px}
.routineTimerSummary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f8f8f8;border:1px solid #e4e4e4;border-radius:10px;padding:10px;margin-top:12px;font-size:12px}
.routineOtherItem{display:flex;gap:10px;align-items:center}.routineOtherItem>.routineSlotItem{flex:1;min-width:0}
.routineOtherItem>b{font-variant-numeric:tabular-nums;font-size:12px;min-width:44px}
@media(max-width:700px){.routineScheduledTools .btn{padding:6px 8px;font-size:11px}.routineOtherItem{align-items:flex-start;padding-bottom:7px}}
/* 8.4: reward & vibe pictures should be fully visible and zoomable. */
.gallery-photo{display:flex;align-items:center;justify-content:center;width:100%;border:0;cursor:default;padding:4px;background:#faf9f8}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:contain !important}
.gallery-photo-clickable{cursor:zoom-in}
.gallery-photo-placeholder{color:#8a8a8a;font-size:11px}
.visionImage.imageViewButton{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;border:1px solid #e7e7e7;background:#fafafa;cursor:zoom-in;gap:7px;min-height:120px;padding:6px;color:#777;font-size:11px}
.visionImage.imageViewButton img{display:block;width:100%;max-width:100%;max-height:245px;height:auto;object-fit:contain}
.imageLightbox{border:0;background:#fff;border-radius:14px;padding:12px;box-shadow:0 18px 70px #0004;width:min(96vw,980px);max-width:96vw;max-height:92dvh}
.imageLightbox::backdrop{background:rgba(0,0,0,.86)}
.imageLightboxToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;color:#4b4b4b}
.imageLightbox img{display:block;max-width:100%;width:auto;height:auto;max-height:80dvh;object-fit:contain;margin:0 auto}

/* Small-screen routine controls */
@media(max-width:700px){
 .routineTaskActions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px}
 .routineTaskActions>.mini:first-child{display:none}
 .routineTaskActions>.mini:nth-child(2){flex:1;min-width:135px}
 .routineTaskActions .btn{width:auto;white-space:nowrap;word-break:keep-all;min-width:49px}
 .routineTime{width:min(155px,100%)}
 .routineScheduledTools{gap:6px}
 .routineScheduledTools .btn{white-space:nowrap}
}

/* v8.5 · Diet compact reading: large words, small photos, records before composer */
#journal .layout{gap:11px}
#journal .journalHero{padding-bottom:12px}
#journal .journalMonthHeading{margin:9px 0 11px;gap:7px}
#journal .journalWeekdays{margin-top:9px}
#journal .journalGrid{gap:3px}
#journal .journalDay{aspect-ratio:1/1.04;border-radius:6px}
#journal .journalDay>img{object-fit:cover}
#journal .journalDayInfo{font-size:11px;padding:3px 4px;background:#ffffffeb}
#journal .journalEntries{gap:8px;margin-top:10px}
#journal .journalEntry{padding:10px 11px;border-radius:11px}
#journal .journalEntryMain{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:start}
#journal .journalEntryMedia{min-width:0}
#journal .journalPhotoThumb{position:relative;display:block;width:88px;height:88px;padding:0;border:1px solid #e6e6e5;background:#f7f7f6;border-radius:9px;overflow:hidden;cursor:zoom-in}
#journal .journalEntryPrimary{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;border:none;border-radius:0}
#journal .journalPhotoCount{position:absolute;bottom:3px;right:3px;background:#242424e8;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:5px}
#journal .journalNoPhoto{width:88px;height:88px;aspect-ratio:auto;font-size:12px}
#journal .journalMorePhotos summary{font-size:11px;color:#666;cursor:pointer;margin-top:5px}
#journal .journalExtraPhotos{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px}
#journal .journalExtraPhotos button{background:#fff;border:0;padding:0;cursor:zoom-in}
#journal .journalExtraPhotos img{width:100%;aspect-ratio:1;object-fit:contain}
#journal .journalEntryDetail{gap:7px;align-items:stretch}
#journal .journalEntryDetail .mini{font-size:13px;line-height:1.45;color:#666}
#journal .journalEntryTags .journalPill{font-size:12px;line-height:1.3;padding:3px 7px}
#journal .journalEntryDetail .journalBody{font-size:15px;line-height:1.53;color:#282828;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#journal .journalBody.journalClamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal}
#journal .journalMoreText{border:0;background:transparent;color:#555;text-decoration:underline;text-underline-offset:3px;font-size:13px;text-align:left;padding:1px 0;cursor:pointer;align-self:flex-start}
#journal .journalEntryActions{gap:5px;align-items:center;justify-content:flex-start}
#journal .journalEntryActions .btn{font-size:12px;padding:5px 8px;line-height:1.2}
#journal .journalDayCoverBtn{font-size:11px!important;padding:5px 7px!important}
#journal .journalComposerToggle{font-size:15px;font-weight:700;min-height:43px}
#journal .journalComposerContents{margin-top:13px;display:grid;gap:8px}
#journal .journalTagManager summary{cursor:pointer;font-size:14px;font-weight:700;list-style:revert}
#journal .journalTagContents{margin-top:14px}
#journal .journalHero .mini{font-size:12px;line-height:1.35;margin:8px 0 0}
@media(max-width:520px){
 #journal .panel{padding:12px}
 #journal .journalHero .eyeline{font-size:10px}
 #journal .journalHero h2{font-size:22px}
 #journal .journalHero .sub{font-size:13px;line-height:1.5}
 #journal .journalDayInfo small{font-size:8px}
 #journal .journalEntryMain{grid-template-columns:80px minmax(0,1fr);gap:11px}
 #journal .journalPhotoThumb,#journal .journalNoPhoto{width:80px;height:80px}
 #journal .journalEntryDetail .journalBody{font-size:15px}
 #journal .journalEntryActions .btn{font-size:12px;padding:5px 7px}
 #journal .journalEntryDetail .mini{font-size:12px}
}
@media(max-width:360px){#journal .journalEntryMain{grid-template-columns:70px minmax(0,1fr);gap:9px}#journal .journalPhotoThumb,#journal .journalNoPhoto{width:70px;height:70px}}

#journal .journalBackupHint{text-align:center;font-size:12px;color:#777;margin:0 0 10px;padding:3px 12px}
#journal .journalBackupLink{display:inline;border:0;background:none;text-decoration:underline;color:#4d4d4d;cursor:pointer;padding:3px 0;font-size:12px}

/* v8.6 · recipe ratings and finished-last layout */
.recipeCookedBottom{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 13px;border:1px solid #e7e7e7;background:#fafafa;border-radius:11px;margin:12px 0 15px;cursor:pointer;color:#333;font-size:13px;font-weight:700}
.recipeCookedBottom input{width:18px;height:18px;accent-color:#292929}.recipeCookedBottom small{flex:1 1 100%;padding-left:27px;color:#777;font-weight:400;font-size:11px}
.recipeCooked{border-color:#e1e1e1;background:#fcfcfc}.recipeCookedTag{display:inline-block;border-radius:5px;background:#ebebeb;color:#515151;padding:3px 6px;font-size:10px;font-weight:700;white-space:nowrap}
.recipeRating{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.recipeRatingLabel{font-size:13px;color:#484848;font-weight:700;min-width:78px}
.recipeStars{display:flex;align-items:center;gap:1px}.recipeStar{padding:1px 5px;border:none;background:transparent;color:#a8a8a8;cursor:pointer;font-size:25px;line-height:1.25;border-radius:6px}.recipeStar.chosen{color:#383838}.recipeStar:focus-visible{outline:2px solid #222;outline-offset:2px}.recipeStar:hover{background:#f0f0f0}
.recipeLinks .btn{min-height:34px}
@media(max-width:540px){.recipeCookedBottom small{padding-left:0}.recipeStars{gap:1px}.recipeStar{font-size:27px;padding:2px 5px}.recipeCardTop>div:first-child{flex-wrap:wrap}.recipeRatingLabel{font-size:13px}}

/* 8.8 measurable 14-day sprint */
.sprintPanel {border:1px solid #dadada;background:#fff}
.sprintPanel .sprintSelectChapters{max-height:280px;overflow:auto;border:1px solid #e9e9e9;border-radius:12px;margin:10px 0 12px;padding:3px 12px}
.sprintChoice{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid #eee;cursor:pointer;font-size:14px;line-height:1.5}
.sprintChoice:last-child{border-bottom:0}.sprintChoice input{width:17px;height:17px;flex:none;accent-color:#343434}
.sprintSetup{margin:13px 0;flex-wrap:wrap}.sprintPanel h2{margin:5px 0}
.sprintChapters{margin:14px 0;display:grid;gap:7px}
.sprintChapter{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f8f8f8;padding:12px;border-radius:11px;font-size:14px}
.sprintChapter span{flex:1}.sprintChapter strong{font-size:12px;white-space:nowrap;color:#666}
.sprintChapter.sprintDone{background:#f1f1f1}.sprintChapter.sprintDone span{text-decoration:line-through;color:#777}
.sprintBottleneck{padding:13px;background:#f7f7f7;border-left:3px solid #292929;border-radius:9px;margin:14px 0}
.sprintBottleneck b{font-size:14px}.sprintBottleneck p{color:#626262;font-size:13px;line-height:1.7;margin:6px 0 0}
.sprintDaily .levels{margin:10px 0;display:flex;flex-wrap:wrap;gap:6px}
.sprintDaily .levels .level{font-size:12px;flex:1;min-width:85px;padding:10px 5px}
.sprintDaily .note{margin-top:8px}.sprintActions{margin:15px 0;flex-wrap:wrap}
.sprintMini{grid-column:1/-1}.sprintMini .row{gap:12px}.sprintMini .mini{margin:5px 0}
@media(max-width:650px){.sprintChapter{align-items:start}.sprintPanel .head{gap:8px}.sprintActions .btn{width:100%}}

/* v9.3: small joys and emotional self-respect. No changes to legacy principles. */
.lifePanel{padding:0!important;overflow:hidden;border-color:#e9e2e6}
.lifeHero{padding:26px 26px 23px;background:linear-gradient(145deg,#fffafc 0%,#fff 80%);border-bottom:1px solid #efe8ec}
.lifeHero .eyeline{color:#ae778f;font-size:10px;letter-spacing:1.4px}
.lifeHero h2{font-size:clamp(21px,4vw,27px);letter-spacing:-.8px;margin:8px 0}
.lifeHero>p{color:#555;max-width:690px;font-size:14px;line-height:1.9;margin:10px 0}
.lifeHeroFooter{display:inline-block;font-weight:700;font-size:12px;color:#98647b;border-bottom:1px solid #e6cbd6;margin-top:9px;padding-bottom:4px}
.lifeToday{padding:22px 26px 17px}
.lifeTodayHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.lifeTag{display:inline-flex;background:#f9eef3;border-radius:50px;color:#875a6c;font-size:11px;font-weight:750;padding:6px 11px}
.lifeToday h3{font-size:19px;letter-spacing:-.3px}.lifeMeaning{font-size:13px;line-height:1.75;color:#68636a;margin:8px 0 15px}
.lifeCheck{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px;border:1px solid #e9d9e1;background:#fffafd;border-radius:12px;font-size:14px;line-height:1.65;font-weight:650}
.lifeCheck input{accent-color:#bb809b;width:19px;height:19px;margin:3px 0 0;flex-shrink:0}.lifeCheck.lifeChecked{background:#f8eff4}.lifeCheck.lifeChecked span{color:#736775}
.lifeForm{display:grid;gap:8px;margin-top:17px}.lifeForm label{font-weight:750;font-size:13px;color:#4b464a}.lifeForm label small{font-size:11px;color:#929092;font-weight:400}
.lifeForm textarea{width:100%;min-height:70px;resize:vertical;font-size:13px}.lifeSave{justify-self:start;min-width:110px}
.lifeHint{font-size:11px;color:#969096;line-height:1.6;margin:12px 0 0}
.lifeValuesAll{border-top:1px solid #eee7ea;padding:14px 26px 20px}
.lifeValuesAll summary{cursor:pointer;color:#645965;font-size:13px;font-weight:750}.lifeValuesGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.lifeValue{padding:14px;background:#faf8fa;border:1px solid #efeaed;border-radius:11px}.lifeValue b{font-size:13px;color:#453c44}.lifeValue p{margin:7px 0 0;font-size:12px;color:#776f76;line-height:1.7}
@media(max-width:570px){.lifeHero,.lifeToday{padding:19px 16px}.lifeValuesAll{padding:15px 16px 19px}.lifeValuesGrid{grid-template-columns:1fr}.lifeHero>p{font-size:13px}.lifeCheck{padding:12px}}

/* v9.4: compact, fully editable / reorderable life criteria */
.lifePanel{border:1px solid #ece6e9}
.lifeHero{display:flex;justify-content:space-between;align-items:start;gap:15px;flex-wrap:wrap;padding:19px 23px 15px}
.lifeHero h2{font-size:21px;margin:4px 0}.lifeHero>div>p{font-size:12px;color:#777;line-height:1.65;margin:5px 0}
.lifeIntro{font-size:12px;color:#6f6870;max-width:240px}.lifeIntro summary{cursor:pointer;padding:6px}.lifeIntro p{line-height:1.65}
.lifeManage{padding:18px 23px}.lifeManageHead{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:14px}
.lifeValuesList{display:grid;gap:8px}.lifeValue{padding:13px 14px;background:#fff;border:1px solid #e9e5e7;border-radius:12px;min-width:0}
.lifeValueTop{display:flex;gap:12px;align-items:start}.lifeValueBody{flex:1;min-width:0}.lifeValueBody b{font-size:14px;color:#2e2b2e}.lifeValueBody p{font-size:12px;margin:5px 0}.lifeValueBody small{display:block;font-size:11px;line-height:1.6;color:#9a647d;margin-top:5px}
.lifeGrip{border:1px solid #ece5e8;border-radius:8px;background:#fff8fb;color:#85556a;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;flex:0 0 35px;min-height:40px;font-size:18px}
.lifeGrip:active{cursor:grabbing}.lifeValueActions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}.lifeValueActions .btn{min-height:32px;padding:5px 10px}
.lifeValueActions .lifeDelete{color:#a23658}.lifeEditForm{display:grid;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid #eee}.lifeEditForm label{display:grid;gap:4px;color:#514b50;font-size:12px;font-weight:700}.lifeEditForm textarea{resize:vertical}
.lifeEditActions{display:flex;gap:8px}.lifeAdd{margin-top:13px;border:1px dashed #d8ccd2;border-radius:11px;padding:12px 14px}.lifeAdd>summary{cursor:pointer;font-size:13px;font-weight:750;color:#825d6f}
.lifeToday{padding:18px 23px;border-top:1px solid #eee7ea}.lifeChoose{display:grid;gap:5px;margin-bottom:10px;font-size:12px;color:#4c424b;font-weight:700}.lifeChoose select{max-width:440px}
.lifeEmpty{padding:20px 12px;text-align:center;color:#777;font-size:13px}.lifeDragGhost{position:fixed;pointer-events:none;z-index:100000;max-width:70vw;padding:11px 15px;background:#fffcfd;border:1px solid #dbbfd0;border-radius:10px;box-shadow:0 6px 20px #0002;color:#3b3039;font-size:13px;font-weight:750;transform:translate(0,-50%)}
@media(max-width:570px){.lifeHero,.lifeManage,.lifeToday{padding:16px}.lifeIntro{max-width:none}.lifeValue{padding:12px}.lifeGrip{min-width:39px;min-height:44px}.lifeValueActions .btn{min-height:38px}.lifeManageHead .mini{font-size:10px}}

/* 9.5 – editable quarter / month / week planning */
.planThemeEdit{margin:12px 0 4px}
.planSortControls{display:flex;align-items:center;gap:3px;flex:none}
.planGrip{width:31px;height:33px;border:1px solid #ddd5d9;border-radius:9px;background:#faf7f8;color:#555;cursor:grab;font-size:18px;font-weight:700;touch-action:none;user-select:none;-webkit-user-select:none}
.planGrip:active{cursor:grabbing}
.goal[data-plan-card]>.row.space,.monthGoal[data-plan-card]>.row.space{gap:8px;flex-wrap:wrap;justify-content:flex-start}
.goal[data-plan-card]>.row.space>b,.monthGoal[data-plan-card]>.row.space>b{flex:1 1 175px;min-width:0}
.goal[data-plan-card]>.row.space>.chip,.monthGoal[data-plan-card]>.row.space>.chip{margin-left:auto}
.weeklyPlanner{min-width:0}
.weeklyPlanner>.field{margin:13px 0 10px;display:grid;gap:7px}
.weeklyPlanner .editDetail{max-width:100%}
.weekPeriodHead{margin:12px 0;padding:13px;border-radius:13px;background:#f9f6f8;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.weekPeriodHead>div:first-child{flex:1 1 200px}
.weekPeriodHead b{font-size:15px}
.weekPeriodHead .row{align-items:center;gap:8px;flex-wrap:wrap}
.weekMissionList{display:grid;gap:10px;margin:12px 0}
.weekMission{padding:13px;border:1px solid #e6e1e4;border-radius:14px;background:white;min-width:0}
.weekMission.missionDone{background:#fcfafb}
.weekMissionTop{display:flex;align-items:flex-start;gap:9px}
.weekMissionCheck{display:flex;align-items:flex-start;gap:9px;flex:1;min-width:0;cursor:pointer;font-weight:650;line-height:1.55;font-size:14px}
.weekMissionCheck input{margin:4px 0 0;accent-color:#d07c9c;width:17px;height:17px;flex:none}
.weekMission.missionDone .weekMissionCheck span{text-decoration:line-through;color:#8e858b}
.weekMissionNote{color:#756d72;margin:7px 0 0 46px;font-size:12px;line-height:1.6}
.weekMission .goalActions{margin:10px 0 0 46px;gap:8px}
.weeklyPlanner .addGoal{display:block;margin-top:13px}
.weeklyPlanner .planForm{padding:12px 0;display:grid;gap:9px}
.weeklyPlanner .planForm>label{display:grid;gap:5px;font-size:12px;color:#5b5358}
.weeklyPlanner .fields{display:flex;flex-wrap:wrap;gap:10px}
.weeklyPlanner .fields>label{display:grid;gap:5px;flex:1 1 130px;font-size:12px}
@media(max-width:560px){
 .planSortControls{gap:1px}.planSortControls .btn{padding:4px 7px;min-width:28px}
 .weekMissionTop{gap:6px}.weekMission{padding:11px}
 .weekMissionCheck{font-size:13px}.weekMissionNote{margin-left:0}
 .weekMission .goalActions{margin-left:0}
 .weekPeriodHead{padding:11px}
}

/* Daily care rotation: only one optional action is visible each day. */
.careDailyHero{border:1px solid #e8e5e7;border-radius:18px;background:#fff;padding:17px 16px;margin:4px 0 14px}
.careDailyHero h3{margin:4px 0 5px;font-size:1.1rem;letter-spacing:-.02em;color:#242125}
.careDailyHero .sub{font-size:.88rem;line-height:1.6;margin:0 0 12px;color:#69646a}
.careDailyPick{border-radius:14px;padding:16px;background:#f9f5f7;border:1px solid #f0e6eb}
.careDailyPickTitle{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:1.15rem;margin-bottom:10px}
.careDailyPickTitle b{color:#252126}
.careDoneBadge{font-size:.72rem;color:#754d63;background:#fff;border:1px solid #e6cfdc;padding:3px 9px;border-radius:14px}
.careNoteDetails{margin:6px 0 10px;font-size:.88rem}
.careNoteDetails summary,.careAllLibrary summary{cursor:pointer;color:#554850;font-weight:650;line-height:1.5}
.careNoteDetails p{white-space:pre-line;max-width:740px;line-height:1.65;overflow-wrap:anywhere;margin-top:8px}
.careDailyPick .mini{display:block;margin:10px 0;line-height:1.5}
.careDailyButtons{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.careDailyButtons .btn{white-space:normal;min-height:36px}
.careDailyRest,.careDailyEmpty{padding:14px;border-radius:12px;background:#f9f7f8;color:#4f454c}
.careDailyRest p{font-size:.87rem;margin:8px 0 12px}
.careAllLibrary{border-top:1px solid #efebed;margin-top:12px;padding:14px 2px 4px}
.careAllLibrary>summary{padding:6px 2px}
.careAllLibrary>.mini{display:block;padding:9px 0}
.careAllLibrary .principleCategoryList{margin-top:12px}
.careLegacyOptional{border:1px solid #ebe6e9;border-radius:15px;margin-top:12px;overflow:hidden}
.careLegacyOptional>summary{padding:14px 15px;cursor:pointer;font-size:.83rem;color:#6a6065;font-weight:600}
.careLegacyOptional>.questcontent{padding:2px 14px 14px}
@media(max-width:540px){.careDailyHero{padding:13px}.careDailyPick{padding:13px}.careDailyButtons .btn{font-size:.78rem}.careDailyButtons{gap:6px}}

/* v10.0.4: user-authored consumption, gentle self-care and photo-album review */
.spendingValues .spendingPrompt{border:1px solid #e4dfe4;border-radius:12px;padding:14px;margin:13px 0;background:#fcf9fb}
.spendingValues .spendingPrompt p{margin:7px 0 0;line-height:1.65}
.spendingValues .gentleDetails{border-top:1px solid #ebe7eb;padding:11px 0}
.spendingValues .gentleDetails summary{font-weight:700;cursor:pointer}
.spendingRuleList{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.spendingRule{padding:12px;border:1px solid #eee8eb;border-radius:12px}
.spendingRule p{margin:7px 0 0;line-height:1.55;color:#686169}
.gentleCheck{display:flex;align-items:center;gap:10px;border:1px solid #f0e5eb;border-radius:12px;padding:12px;margin-top:12px;cursor:pointer}
.gentleCheck input{width:18px;height:18px;accent-color:#d78fad}
.monthKindness{padding:12px 14px;border-left:3px solid #d5a0b5;background:#fbf7f9;border-radius:0 10px 10px 0;margin:12px 0}
.monthReflection .field textarea{width:100%;min-height:74px;line-height:1.55}
@media(max-width:640px){.spendingRuleList{grid-template-columns:1fr}}
