:root{--bg:#f7f7f7;--white:#fff;--ink:#2c2c2c;--muted:#767676;--line:#e9e9e9;--green:#545454;--greenSoft:#f2f2f2;--sand:#f2ebdd;--rose:#f7e8e3;--blue:#eeeeee;--gold:#a87538;--radius:19px;--shadow:0 10px 30px #284c3410;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',Pretendard,system-ui,sans-serif;font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cea454;outline-offset:2px}a{color:#515151}input[type=checkbox]{accent-color:var(--green)}.app{max-width:960px;padding:0 20px 80px;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;padding:29px 3px 22px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;color:var(--green)}h1{font-size:clamp(26px,5vw,40px);letter-spacing:-1.4px;margin:3px 0 2px}h2{font-size:23px;letter-spacing:-.5px;margin:0}h3{font-size:17px;margin:0}h4{margin:0}.dot{color:#a98955}.top p{color:var(--muted);margin:0;font-size:13px}.top-mark{border-radius:22px;display:grid;place-items:center;width:65px;height:65px;font-size:32px;background:#eaeaea;color:var(--green)}.tabs{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;position:sticky;top:0;z-index:5;padding:5px;border-radius:14px;background:#ededed;margin-bottom:18px;box-shadow:0 5px 20px #00000006}.tab{border:0;border-radius:11px;background:transparent;padding:12px 4px;font-size:13px;font-weight:750;color:#757575}.tab.selected{background:white;color:var(--green);box-shadow:0 2px 10px #32544517}.view{display:none}.view.active{display:block}.layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:var(--shadow);grid-column:span 12;min-width:0}.col8{grid-column:span 8}.col7{grid-column:span 7}.col6{grid-column:span 6}.col5{grid-column:span 5}.col4{grid-column:span 4}.col3{grid-column:span 3}.mini{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.sub{font-size:13px;color:var(--muted);line-height:1.65;margin:5px 0 0}.strong{font-weight:800}.row{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.space{justify-content:space-between}.vstack{display:grid;gap:12px}.gap6{gap:6px}.eyeline{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.3px}.cardTitle{margin:0 0 12px}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.head>*{min-width:0}.chip{padding:5px 10px;border-radius:999px;font-size:11px;color:var(--green);background:var(--greenSoft);font-weight:800;display:inline-block}.chip.warn{color:#916424;background:#fff1d6}.chip.blue{color:#5c5c5c;background:var(--blue)}.btn{background:var(--green);color:#fff;font-weight:750;border-radius:11px;border:1px solid var(--green);padding:10px 15px;min-height:42px}.btn.soft{background:var(--greenSoft);color:var(--green);border-color:transparent}.btn.line{background:white;color:var(--green);border-color:#d0d0d0}.btn.ghost{background:white;color:#727272;border-color:var(--line)}.btn.bad{background:#fff5f1;color:#ae5343;border-color:#f6d9d0}.btn.sm{min-height:34px;font-size:12px;padding:7px 11px}.btn.block{width:100%}.input{width:100%;min-width:0;border:1px solid #d6d6d6;border-radius:10px;background:#fff;padding:10px 12px;color:var(--ink);min-height:42px}.input:disabled{background:#f5f5f5}.field{display:grid;gap:5px}.field label{font-size:12px;font-weight:750;color:#686868}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fields3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.level{background:#f9f9f9;border:1px solid #e7e7e7;border-radius:11px;padding:11px 4px;color:var(--muted);font-weight:800;font-size:13px}.level.active{background:var(--green);border-color:var(--green);color:#fff}.num{font-size:26px;letter-spacing:-1px;font-weight:850;line-height:1.25}.metric{border:1px solid #ebebeb;border-radius:14px;padding:14px;background:#f9f9f9}.metric .mini{display:block;margin-bottom:6px}.metric .num{display:block;word-break:keep-all}.progress{height:8px;background:#ebebeb;border-radius:99px;overflow:hidden}.fill{height:100%;background:#808080;border-radius:99px}.progressRow{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px;color:var(--muted)}.datebar{display:flex;gap:8px;align-items:center}.datebar input{max-width:160px}.datebar .btn{padding:8px 10px}.quest{border:1px solid #eaeaea;background:#fff;border-radius:13px;margin-top:9px;padding:13px}.quest.done{background:#f7f7f7;border-color:#c4c4c4}.questbar{display:flex;align-items:flex-start;gap:10px}.questbar input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0}.questname{font-weight:790}.quest.done .questname{text-decoration:line-through;color:#747474}.questhint{font-size:12px;color:var(--muted);margin:3px 0 0;line-height:1.55}.carelist{margin:10px 0 0 31px;padding:7px 0 0;border-top:1px solid #f0f0f0;display:grid;gap:9px}.careChoice{display:flex;gap:8px;align-items:center;font-size:13px}.careChoice input{width:17px;height:17px}.miniWeek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dayChip{border:1px solid var(--line);border-radius:10px;padding:10px 3px;background:white;min-height:75px;text-align:center;font-size:11px;color:var(--muted)}.dayChip b{display:block;font-size:13px;color:var(--ink);margin:4px 0}.dayChip.sel{border-color:#909090;background:#f4f4f4}.dayChip .status{font-size:10px}.dayChip .status.ok{color:#6d6d6d;font-weight:800}.ribbon{padding:14px 16px;background:var(--sand);border-radius:14px}.ribbon.rose{background:var(--rose)}.ribbon.green{background:var(--greenSoft)}.ribbon.blue{background:var(--blue)}.ribbon b{display:block}.ribbon p{margin:4px 0 0;font-size:12px;line-height:1.6}.divider{height:1px;background:var(--line);margin:15px 0}.track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.trackbtn{text-align:left;padding:13px 10px;min-height:116px;border:1px solid #e6e6e6;background:#fff;border-radius:13px}.trackbtn.sel{border:2px solid var(--green);background:var(--greenSoft);padding:12px 9px}.trackbtn .smallcaps{font-size:11px;color:var(--muted);font-weight:800}.trackbtn b{display:block;margin:5px 0;font-size:13px}.trackbtn .fraction{font-weight:700;color:var(--green);font-size:11px}.goalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.goal{border:1px solid #ebebeb;border-radius:13px;padding:12px}.goal .goalTitle{font-weight:700;font-size:13px}.goal .goalDetail{font-size:12px;color:var(--muted);margin:4px 0 7px}.goal input[type=checkbox]{margin:0 8px 0 0;width:18px;height:18px;flex-shrink:0}.goal label{display:flex;align-items:flex-start;cursor:pointer}.monthGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.monthBtn{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 3px;font-size:12px;font-weight:800;color:var(--muted)}.monthBtn.sel{background:var(--green);color:white}.reward{background:#f7f0e4;border:1px dashed #d9b785;border-radius:14px;padding:13px}.rewardList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward.done{opacity:.7}.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.listrow{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.listrow:last-child{border:0}.listrow .desc{font-size:12px;color:var(--muted)}.leftflex{flex:1;min-width:0}.pill{display:inline-block;background:#f6f6f6;border:1px solid #ebebeb;padding:5px 9px;border-radius:8px;font-size:11px;color:#6d6d6d}.seg{display:flex;gap:5px;flex-wrap:wrap}.seg button{padding:8px 13px;border-radius:9px;border:1px solid #e0e0e0;background:white;font-weight:740;color:#7c7c7c;font-size:12px}.seg button.sel{background:var(--green);color:white;border-color:var(--green)}.studySteps{display:flex;gap:7px;flex-wrap:wrap}.step{border:1px solid var(--line);border-radius:10px;background:white;padding:9px 11px;text-align:left;font-size:12px;font-weight:800;color:#737373}.step.sel{color:var(--green);background:var(--greenSoft);border-color:#b4b4b4}.step .mini{display:block;font-weight:500;margin-top:2px}.timer{background:#f4f4f4;border-radius:15px;padding:22px;text-align:center}.clock{font-size:clamp(37px,8vw,55px);letter-spacing:1px;font-weight:850;font-variant-numeric:tabular-nums}.target{font-size:13px;color:var(--muted)}.check{display:flex;gap:9px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.check:last-child{border-bottom:0}.check input{width:18px;height:18px;margin:1px 0 0}.scoreOpts{display:flex;gap:8px;flex-wrap:wrap}.scoreOpts button{width:43px;height:41px;border-radius:10px;border:1px solid #e0e0e0;background:white}.scoreOpts button.sel{background:var(--green);color:white;border-color:var(--green)}.empty{color:var(--muted);font-size:13px;padding:20px;text-align:center;border-radius:13px;background:#f9f9f9}.warn{color:#805c2b}.note{padding:12px;background:#f8f8f8;border-left:3px solid #a1a1a1;border-radius:9px;font-size:12px;line-height:1.7;color:#646464}.note.caution{background:#fff8eb;color:#7a5c30;border-color:#d0a462}footer{padding:25px 4px;font-size:11px;color:#8d8d8d;line-height:1.8}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:20;color:#fff;background:#515151;padding:12px 17px;border-radius:11px;pointer-events:none;opacity:0;transition:opacity .2s;box-shadow:var(--shadow);text-align:center;max-width:90%}#toast.on{opacity:1}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
@media(max-width:780px){.col8,.col7,.col6,.col5,.col4,.col3{grid-column:span 12}.track{grid-template-columns:repeat(3,minmax(0,1fr))}.monthGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:500px){.app{padding:0 12px 65px}.top{padding:21px 2px 18px}.top-mark{width:45px;height:45px;border-radius:15px;font-size:22px}.top p{font-size:12px}.eyebrow{font-size:10px}h1{font-size:27px}h2{font-size:21px}.tabs{margin:0 -2px 13px}.tab{font-size:12px;padding:11px 0}.layout{gap:11px}.panel{padding:16px;border-radius:15px}.datebar input{max-width:138px;font-size:12px}.datebar{gap:4px}.datebar .btn{min-height:38px;padding:6px 8px}.goalGrid,.rewardList,.fields3{grid-template-columns:1fr}.miniWeek{gap:3px}.dayChip{min-height:67px;padding:8px 1px;font-size:10px}.dayChip b{font-size:11px}.dayChip .status{font-size:9px}.track{grid-template-columns:repeat(2,minmax(0,1fr))}.trackbtn{min-height:90px}.fields{gap:8px}.num{font-size:22px}.level{font-size:12px}.stats3{gap:6px}.metric{padding:10px}.btn{font-size:12px}.scoreOpts button{width:38px;height:38px}}
/* 3.0: less clutter, more explicit records */
.save-status{font-size:11px;padding:6px 2px 13px;color:#797979}.save-status.ok{color:#676767}.save-status.error{color:#ac4a37;font-weight:800}
.bigTitle{margin:8px 0 0;font-size:27px}.symbol{display:block;font-size:23px;line-height:1.1;color:var(--green);width:23px;flex:none}.questcontent{margin:12px 0 0 31px;display:grid;gap:10px}.inlineForm{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:8px 0}.inlineForm input:not(.minuteInput){flex:1;min-width:130px}.inlineForm select{flex:none;width:auto;max-width:150px}.minuteInput{width:90px!important;min-width:78px!important;flex:none!important}.quest.done .questname{text-decoration:none}.quest.done>b{text-decoration:none}.timerbox{padding:11px;border:1px solid var(--line);border-radius:11px;background:#f9f9f9}.timerInline{display:flex;align-items:center;justify-content:space-between;gap:8px}.timerInline p{margin:2px 0}.timerInline label{margin-left:auto}.questcontent .row{gap:7px}.weekList{display:grid;gap:6px;margin:13px 0}.weekItem{display:flex;gap:12px;padding:8px;border-radius:9px;background:#f9f9f9;font-size:13px}.weekItem b{width:17px;color:var(--green)}.weekItem.highlight{background:var(--greenSoft);font-weight:800}.weekItem span{flex:1}.calendar{border:1px solid var(--line);border-radius:13px;padding:7px;margin-top:10px}.calendarHead,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendarHead span{font-size:11px;text-align:center;font-weight:750;color:var(--muted);padding:8px 0}.calendarDay,.calendarBlank{border:1px solid var(--line);border-radius:8px;min-height:68px;padding:6px 3px;background:#fff;min-width:0;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:flex-start}.calendarDay b{font-size:12px}.calendarDay span{font-size:9px;line-height:1.2;word-break:keep-all;font-weight:750}.calendarDay small{font-size:9px;color:var(--muted)}.calendarDay.filled{background:#f5f5f5}.calendarDay.selected{border:2px solid #717171;background:#e8e8e8;padding:5px 2px}.calendarBlank{border-color:transparent;background:transparent}.emptyDot{color:#aeaeae!important;font-weight:400}.switchrow{display:grid;grid-template-columns:1fr 1fr;gap:7px}.switch{border:1px solid #d3d3d3;background:#fff;color:var(--green);border-radius:10px;padding:11px 5px;font-size:12px;font-weight:800}.switch.active{background:var(--green);color:white;border-color:var(--green)}.monthPicker{width:155px}.dateInput{width:158px}.smallstat{padding:8px;background:#f7f7f7;border-radius:8px;font-size:12px}.smallstat b{display:block;margin-top:3px}.goal{display:grid;gap:9px}.goal.goalDone{background:#f6f6f6}.goal b{font-size:13px}.goal .progress{height:6px}.sectionTitle{margin:21px 0 12px}.summaryrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px}.summaryrow b{font-size:13px}.summaryrow .row b{white-space:normal;text-align:right}.rewards{display:grid;grid-template-columns:1fr;gap:12px;margin-top:13px}.rewardCard{border:1px solid #e4d7be;background:#fffcf5;border-radius:13px;padding:12px;display:grid;gap:9px}.rewardHead{display:flex;align-items:center;justify-content:space-between}.chip.locked{background:#eaeaea;color:#919191}.rewardImage{height:150px;border-radius:10px;background:linear-gradient(135deg,#ede6da,#f3f3f3);display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;font-size:12px;color:#8a8069}.rewardImage img{width:100%;height:100%;object-fit:cover}.file-label{display:block;padding:10px 14px;border:1px dashed #aeaeae;background:#f6f6f6;border-radius:10px;color:var(--green);font-size:12px;text-align:center;font-weight:800;cursor:pointer}.studyLevels{grid-template-columns:repeat(5,minmax(0,1fr))}.studyLevels .level{padding:10px 1px}.chapterRow{display:flex;gap:10px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--line);cursor:pointer}.chapterRow.checked{background:#f7f7f7}.chapterRow input{width:19px;height:19px;flex:none}.chapterRow span{display:grid;gap:2px}.chapterRow b{font-size:13px}.chapterRow.checked b{text-decoration:line-through;color:#8e8e8e}.legacy{border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:12px}.legacy summary{font-size:12px;cursor:pointer;color:#747474;font-weight:800}.legacy form{margin-top:11px}.ribbon .progress{margin-top:9px}.alarm-inner{text-align:center;padding:20px}.alarm-emoji{font-size:48px;margin-bottom:12px}.alarm-inner p{margin:12px 0 25px;color:var(--muted)}#alarm-dialog{border:2px solid #868686;border-radius:18px;padding:12px;max-width:380px;width:calc(100% - 40px);box-shadow:0 20px 80px #1429204d}#alarm-dialog::backdrop{background:#06170cab}.pill{max-width:100%}.status{font-size:10px!important}.minuteInput::-webkit-inner-spin-button{opacity:1}
@media(min-width:780px){.rewards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.bigTitle{font-size:23px}.head{flex-wrap:wrap}.head .datebar{margin-left:auto}.calendarDay{min-height:61px}.calendarDay span{font-size:8px}.calendarDay small{font-size:8px}.switch{font-size:11px}.summaryrow{align-items:flex-start;flex-direction:column}.rewardImage{height:170px}.questcontent{margin-left:0}.stats3{grid-template-columns:repeat(2,minmax(0,1fr))}.studyLevels .level{font-size:11px}}

/* v4: focus-led moodboard + comfortable touch targets */
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}.tabs .tab{flex:1 0 auto;min-width:70px;padding:11px 7px}
.vstack .vibeTags,.vibeTags{display:flex;flex-wrap:wrap;gap:7px}.vibeTag{border:1px solid #e5e5e5;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;background:#fff}.vibeTag input{width:15px;height:15px;vertical-align:-3px;margin:0 6px 0 0}.vibeTag.chosen{background:#ededed;border-color:#9f9f9f}
.visionImage{background:#f2f2f2;border-radius:15px;margin-top:14px;overflow:hidden;max-height:280px;display:grid;place-items:center}.visionImage img{max-width:100%;max-height:280px;object-fit:contain}
#beauty-action-form{align-items:end}#beauty-action-form button{min-height:43px}
@media(max-width:680px){.tabs{margin-left:-8px;margin-right:-8px}.tabs .tab{min-width:62px}.vibeTag{font-size:11px;padding:7px 9px}.visionImage{max-height:210px}#beauty-action-form{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 5.0 visibility and single calendar */
.principleBanner{margin:15px 0 18px;padding:17px 18px 13px;background:#505050;color:#fff;border:2px solid #626262;border-radius:16px;box-shadow:0 9px 22px #234b332a}
.principleBanner .eyeline{color:#e5e5e5;margin-bottom:6px}.principleBanner>b{font-size:20px;font-weight:850;display:block}.principleBanner p{font-size:14px;line-height:1.65;margin:7px 0 10px;color:#f7f7f7}.principleBanner summary{cursor:pointer;color:#e6e6e6;font-size:12px}.principleList{display:grid;gap:6px;padding:10px 0 2px;font-size:12px;line-height:1.6}.principleList strong{color:#f9f9f9}
.goalVision{border:2px solid #cecece;background:#f9f9f9}.visionGoals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.visionGoal{padding:13px;border:1px solid #e8e8e8;background:white;border-radius:11px;display:flex;flex-direction:column;gap:6px}.visionGoal b{color:#575757;font-size:13px}.visionGoal span{font-size:12px;line-height:1.65;color:#474747}.legendIncome,.calendarPlus{color:#636363}.legendOut,.calendarMinus{color:#ba5643}.calendarDay{gap:3px}.calendarDay .calendarPlus,.calendarDay .calendarMinus{font-size:9px;font-weight:800;line-height:1.12}.calendarDay span:empty{display:none}.save-status.error{color:#8c271d;background:#fff1ee;border:2px solid #df8e78;padding:11px;border-radius:11px;line-height:1.6;font-size:13px}.save-status.error .btn{margin-left:6px}
@media(max-width:600px){.visionGoals{grid-template-columns:1fr}.principleBanner>b{font-size:18px}.principleBanner{padding:14px}.calendarDay .calendarPlus,.calendarDay .calendarMinus{font-size:8px}.goalVision{padding:15px}}

/* 6.0: clear, accountable habit checklists */
.twoWeekChecks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:14px 0}
.twoWeekDay{display:flex;align-items:center;gap:9px;background:#f9f9f9;border:1px solid var(--line);padding:10px 11px;border-radius:11px;font-size:13px;cursor:pointer}
.twoWeekDay input{accent-color:var(--green);width:17px;height:17px}
.twoWeekDay.isDone{background:#ededed;border-color:#adadad}
.principleBanner{border-left:6px solid #a9834d !important;background:#fff8eb !important}
.principleBanner b{font-size:20px}
.quest .careChoice input[type=checkbox]{accent-color:#545454}
@media (min-width:760px){.twoWeekChecks{grid-template-columns:repeat(4,minmax(0,1fr))}}

.principleBanner{color:#4a3c26 !important;background:#fff4dd !important;border:2px solid #b98948 !important;border-left:7px solid #98632d !important;box-shadow:0 8px 23px #95612818}
.principleBanner .eyeline,.principleBanner summary{color:#79501f!important}
.principleBanner p{color:#3f3f3f!important}
.principleBanner .principleList strong{color:#5a3e1c!important}
.principleBanner>b{color:#322814!important}

.tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:600px){.tab{font-size:11px;padding:12px 1px}}
/* 7.0: editable yearly / quarterly / monthly plans and visible check-in history */
.editDetail{border-radius:10px;max-width:100%;min-width:0}
.editDetail>summary{cursor:pointer;color:var(--green);font-weight:800;font-size:12px;padding:7px 4px;list-style:none}
.editDetail>summary::-webkit-details-marker{display:none}
.editDetail>summary::before{content:'▸ ';font-size:11px}
.editDetail[open]>summary::before{content:'▾ '}
.editDetail[open]{background:#f9f9f9;border:1px solid #dfdfdf;padding:7px 10px;margin:5px 0}
.planForm{display:grid;gap:9px;margin:8px 0 4px;min-width:0}
.planForm .field,.planForm .fields{min-width:0}
.planForm textarea{font-family:inherit;line-height:1.5}
.planForm .fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.planForm select{width:100%;min-width:0}
.goalActions{justify-content:flex-start;flex-wrap:wrap;gap:8px}
.addGoal{margin-top:12px;padding:8px 12px;border:1px dashed #a0a0a0;border-radius:12px;background:#f9f9f9}
.addGoal>summary{font-size:14px;padding:7px 4px}
.goalMoved{background:#f5f5f5;opacity:.77;border-style:dashed}
.monthGoal{border:1px solid var(--line);padding:12px;border-radius:12px;display:grid;gap:9px;background:#fff}
.monthGoal b{font-size:13px}.monthGoal .progress{height:6px}
.monthGoal .goalActions{margin-top:2px}
.energyWeek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:13px 0}
.energyDay{display:flex;align-items:center;flex-direction:column;gap:6px;border:1px solid #e4e4e4;background:#f9f9f9;border-radius:10px;padding:9px 2px;font-size:10px;min-width:0;cursor:pointer}
.energyDay.selected{border:2px solid #717171;background:#efefef;padding:8px 1px}
.energyTrack{height:45px;width:14px;border-radius:6px;background:#e8e8e8;display:flex;align-items:end;overflow:hidden}
.energyTrack div{width:100%;background:#808080;border-radius:4px 4px 0 0;min-height:0}
.energyDay b{font-size:15px;color:#535353}.energyDay small{font-size:9px;color:var(--muted)}
.historyList{display:grid;gap:6px;margin-top:14px}
.historyHead{font-size:12px;color:var(--muted);font-weight:800}
.historyRow{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid #e7e7e7;padding:10px;border-radius:10px;font-size:12px;line-height:1.4}
.historyDate{background:#f1f1f1;border:0;color:#4b4b4b;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}
.historyRow .btn:last-child{margin-left:auto}
@media(max-width:600px){.planForm .fields{grid-template-columns:1fr}.energyDay{font-size:9px;padding:8px 1px}.energyDay small{font-size:8px}.historyRow{gap:7px;font-size:11px}.historyDate{padding:7px 8px}}

/* 7.1: all-visible visual reward wall */
.safety-banner{background:#fff8e9;border:1px solid #e8cd9f;padding:12px 15px;border-radius:13px;margin:0 0 17px;font-size:12px;color:#6b573e;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.safety-banner .btn{margin-left:auto;white-space:nowrap}
.gallery-hero{background:linear-gradient(135deg,#f3f3f3,#f3f3f3)}.gallery-hero p{margin:8px 0;color:#636363}.gallery-jumplinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.gallery-jumplinks a{border-radius:99px;background:#fff;padding:8px 13px;font-size:12px;text-decoration:none;font-weight:800;color:#5c5c5c}
.gallery-quarter{scroll-margin-top:105px}.gallery-group{background:#f9f9f9;border:1px solid #e9e9e9;border-radius:15px;padding:15px;margin-top:17px}.gallery-group-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.gallery-group-head b{font-size:14px;line-height:1.4}.gallery-group-head span{font-size:12px;font-weight:800;color:var(--green);white-space:nowrap}
.gallery-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.gallery-tile{border:1px solid #e4e4e4;border-radius:13px;overflow:hidden;background:white;min-width:0;display:flex;flex-direction:column}.gallery-tile.unlocked{border-color:#acacac;background:#f9f9f9}.gallery-photo{height:106px;background:linear-gradient(140deg,#ebebeb,#faf0e3);display:grid;place-items:center;overflow:hidden}.gallery-photo img{width:100%;height:100%;object-fit:cover}.gallery-pictogram{font-size:39px;color:#a4a4a4}.gallery-tile-body{padding:10px;display:grid;gap:8px;align-content:space-between;flex:1}.gallery-tile-body>.row{gap:3px}.gallery-tile-body .mini{font-size:10px}.gallery-reward-title{margin:0;font-weight:700;font-size:12px;line-height:1.5;min-height:38px;overflow-wrap:anywhere}.gallery-editor{font-size:11px}.gallery-editor>summary{cursor:pointer;text-decoration:underline;color:#757575;list-style-position:inside}.gallery-editor form{margin:8px 0}.gallery-editor .input{font-size:11px;padding:7px;min-height:34px}.gallery-editor .file-label{display:inline-block;font-size:11px;padding:7px 10px}.gallery-tile-body>.btn{white-space:normal;min-height:34px;padding:6px 5px;font-size:11px}
@media(max-width:700px){.tabs{display:flex;overflow-x:auto;scrollbar-width:none;position:sticky}.tabs .tab{flex:0 0 auto;min-width:57px;font-size:12px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-group{padding:10px}.gallery-photo{height:100px}.gallery-quarter{padding:13px}.safety-banner .btn{margin-left:0}}

/* 7.2: clear but reversible deletion controls */
.gallery-editor .danger{width:100%;margin-top:8px;border:1px solid #efcbc4;color:#9a3932;background:#fff5f3;}
.restoreRewards{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;background:#f8f6f1;padding:8px 10px;border-radius:9px;}
.restoreRewards .btn{padding:6px 9px;}
.chapterManage{display:flex;align-items:stretch;gap:7px;margin:7px 0;}
.chapterManage>.chapterRow{margin:0;flex:1;min-width:0;}
.chapterManage>.btn{flex:0 0 auto;align-self:center;}
.chapterManage .danger{color:#9a3932;border:1px solid #edd2ce;}
.removedChapters{margin-top:12px;padding:9px 12px!important;}
.removedChapters .listrow{font-size:12px;}
@media(max-width:480px){.chapterManage{gap:4px}.chapterManage>.btn{font-size:11px;padding:7px}.chapterManage>.chapterRow{padding:9px}.gallery-grid{gap:7px}}

/* 7.3 journal and care resource library */
.journalHero{background:linear-gradient(180deg,#f6f6f6,#fff)}.journalMonthHeading{display:flex;align-items:center;justify-content:center;gap:10px;margin:15px 0}.journalMonthHeading .monthPicker{max-width:170px;text-align:center}.journalCover{width:100%;position:relative;aspect-ratio:16/6;overflow:hidden;border-radius:14px;background:#ececec;display:grid;place-items:center}.journalCover>img{width:100%;height:100%;object-fit:cover}.journalCoverEmpty{color:#6d6d6d;font-weight:700;padding:18px;text-align:center}.journalCoverLabel{position:absolute;left:10px;bottom:9px;background:#ffffffde;padding:5px 9px;border-radius:9px;font-size:12px;color:#4e4e4e;font-weight:700}.journalWeekdays,.journalGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.journalWeekdays{margin-top:16px;padding:6px 1px;color:#808080;text-align:center;font-size:11px}.journalDay{padding:0;position:relative;aspect-ratio:1/1.15;border:1px solid #e3e3e3;background:#f6f6f6;border-radius:9px;overflow:hidden;cursor:pointer;min-width:0}.journalDay>img,.journalDayBlank{display:block;width:100%;height:100%;object-fit:cover}.journalDayBlank{background:linear-gradient(135deg,#f4f4f4,#ededed)}.journalDay.selected{outline:3px solid #797979;outline-offset:0}.journalDayInfo{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:1px;padding:4px;background:#ffffffdc;font-size:11px}.journalDayInfo small{font-size:9px;color:#777777}.journalTags{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0}.journalTag{position:relative}.journalTag input{position:absolute;opacity:0;pointer-events:none}.journalTag span,.journalPill{display:inline-block;border:1px solid #d7d7d7;padding:7px 11px;border-radius:999px;background:#f7f7f7;font-size:12px;cursor:pointer}.journalTag input:checked+span{background:#676767;color:white;border-color:#676767}.tagManage{display:flex;align-items:center;gap:8px;border:1px solid #e0e0e0;border-radius:999px;padding:5px 8px 5px 12px;font-size:12px;background:#fff}.tagManage button{border:0;background:#eeeeee;border-radius:50%;width:21px;height:21px;cursor:pointer;font-size:15px;color:#5b5b5b}.journalPreview,.journalEntryImages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.journalPreviewItem{min-width:0}.journalPreviewItem img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.journalPreviewItem button{padding:3px 8px!important;margin-top:5px}.journalEntry{background:#fff;border:1px solid #e6e6e6;padding:15px;border-radius:13px;display:grid;gap:12px}.journalEntries{display:grid;gap:10px;margin-top:14px}.journalEntryImages img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:11px}.journalEntryImages:empty{display:none}.journalBody{margin:0;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.careResourceList{display:grid;gap:9px;margin-top:15px}.careReference{border:1px solid #e2e2e2;border-radius:12px;background:#f9f9f9;padding:13px;display:grid;gap:9px}.careReference .row{flex-wrap:wrap}.careMemo{white-space:pre-wrap;font-size:13px;margin:0;line-height:1.7}.careReference a.btn{text-decoration:none;display:inline-flex;align-items:center}.journalHero .note{margin-top:10px}@media(max-width:480px){.journalMonthHeading{gap:5px}.journalMonthHeading .btn{font-size:11px;padding:9px 7px}.journalMonthHeading .monthPicker{font-size:13px;max-width:140px}.journalGrid,.journalWeekdays{gap:3px}.journalDayInfo{padding:3px;font-size:10px}.journalDayInfo small{font-size:8px}.journalCover{aspect-ratio:16/8}.journalPreview,.journalEntryImages{gap:5px}}

/* 7.4 -- principle links where they're used, without a separate bottom library */
.careQuickArea{padding:16px;border-radius:16px}
.careQuickBox{margin:12px 0 10px;padding:13px;border:1px solid #d0d0d0;background:#f9f9f9;border-radius:13px}
.careQuickHeading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.careQuickHeading strong{font-size:14px;color:#4c4c4c}
.careQuickEmpty{font-size:12px;color:#747474;margin:5px 0 8px;line-height:1.6}
.careQuickList{display:grid;gap:8px;margin-top:7px}
.careQuickItem{display:flex;align-items:center;justify-content:space-between;gap:9px;background:#fff;padding:10px;border:1px solid #e8e8e8;border-radius:11px}
.careQuickItemText{min-width:0;flex:1}.careQuickItemText b{font-size:13px;overflow-wrap:anywhere}.careQuickItemText p{font-size:12px;color:#717171;margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.careQuickActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:56%}.careQuickActions a{text-decoration:none;white-space:nowrap}
.careQuickAdd,.careQuickAll,.allPrinciples{margin-top:10px}.careQuickAdd summary,.careQuickAll summary{cursor:pointer;font-size:13px;font-weight:750;color:#505050;padding:7px 2px}
.careQuickForm{margin-top:9px;padding:11px;border-radius:9px;background:white;border:1px solid #ebebeb}.careQuickAll{border-top:1px solid #e3e3e3;padding-top:6px}.careQuickAll .careQuickList{max-height:340px;overflow-y:auto}
/* 7.4 -- all photo emphasis on each DAY of the calendar, no month-wide hero. */
.journalGrid{gap:4px}.journalDay{aspect-ratio:1/1.29;background:#fff}.journalDay>img{object-fit:contain;background:#fff;image-rendering:auto}.journalDayBlank{background:linear-gradient(135deg,#f7f7f7,#ededed)}.journalDayInfo{background:#f8f9f1ed;color:#333333}
.journalEntry{display:block;padding:12px}.journalEntryMain{display:grid;grid-template-columns:minmax(100px,36%) minmax(0,1fr);gap:12px;align-items:start}.journalEntryMedia{min-width:0}.journalEntryPrimary{display:block;width:100%;aspect-ratio:1/1.18;object-fit:contain;border-radius:10px;background:#f7f7f7;border:1px solid #f0f0f0}.journalExtraPhotos{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:4px}.journalExtraPhotos img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:6px;border:1px solid #f0f0f0}.journalNoPhoto{display:grid;place-items:center;background:#f5f5f5;color:#7f7f7f;border-radius:9px;aspect-ratio:1/1.05;font-size:12px}.journalEntryDetail{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.journalEntryTags{display:flex;flex-wrap:wrap;gap:3px}.journalEntryTags .journalPill{padding:4px 7px;font-size:11px;line-height:1.3}.journalEntryDetail .journalBody{font-size:12.5px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.journalEntryDetail .mini{overflow-wrap:anywhere}.journalEntryActions{display:flex;flex-wrap:wrap;gap:4px}.journalDayCoverBtn{text-align:left;line-height:1.35;white-space:normal;font-size:11px!important;padding:7px 8px!important}
@media(max-width:500px){.careQuickItem{align-items:flex-start;flex-direction:column}.careQuickActions{max-width:100%;width:100%;justify-content:flex-start}.journalDay{aspect-ratio:1/1.34}.journalEntryMain{grid-template-columns:minmax(94px,38%) minmax(0,1fr);gap:9px}.journalEntry{padding:10px}.journalEntryDetail{gap:5px}.journalEntryDetail .mini{font-size:10px}.journalEntryDetail .journalBody{font-size:12px}.journalEntryActions .btn{padding:5px 8px;font-size:11px}}

/* 7.5: each principle is its own immediately accessible resource category. */
.principleArea{margin:12px 0 16px}
.principleArea>.eyeline{margin-bottom:8px}
.principleCategoryList{display:grid;gap:10px;margin-top:12px}
.principleCategory{padding:13px;border:1px solid #e5e5e5;border-radius:13px;background:#f9f9f9;min-width:0}
.principleCategoryToday{background:#f6f6f6;border-color:#c3c3c3;border-width:2px}
.principleCategoryTitle{display:flex;align-items:center;justify-content:space-between;gap:8px}
.principleCategoryTitle>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.principleCategoryTitle b{font-size:15px;color:#484848}
.principleNow{display:inline-flex;border-radius:999px;background:#6a6a6a;color:#fff;font-weight:700;padding:2px 7px;font-size:10px}
.principleCategoryDescription{font-size:12.5px;color:#696969;margin:7px 0 8px;line-height:1.65}
.principleGroupHeading{margin:18px 0 10px}
.principleGroupHeading>b{font-size:15px}
.principleGroupHeading p{font-size:12px;color:#727272;margin:5px 0 0}
.principleCategory .careQuickList{margin-bottom:7px}
.principleCategory .careQuickAdd{margin-top:8px;border-top:1px dashed #e1e1e1;padding-top:6px}
.principleCategory .careQuickAdd summary{color:#595959;list-style-position:inside}
.principleCategory .careQuickItem{display:flex;flex-wrap:wrap}
.principleCategory .careMoveDetails{flex:0 0 100%;font-size:11px;color:#6c6c6c}
.principleCategory .careMoveDetails summary{cursor:pointer;font-size:11px;margin-top:4px}
.principleCategory .careMoveDetails select{width:100%;max-width:260px;margin-top:6px;font-size:12px;padding:8px}
.principleGoAll{margin-top:9px}
.principleCategory .careQuickItem{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:6px}
.principleCategory .careQuickActions{max-width:none;width:100%;justify-content:flex-start}
.principleCategory .careMoveDetails{display:block;width:100%;min-width:0;grid-column:1/-1}
@media(max-width:500px){.principleCategory{padding:11px}.principleCategoryTitle b{font-size:14px}.principleCategory .careQuickItem{gap:5px}}
