:root{--ink:#16201c;--muted:#74817b;--line:#e3eae6;--paper:#fff;--wash:#f4f7f5;--violet:#559bff;--violet-soft:#eaf2ff;--green:#23916a;--green-soft:#e6f6ee;--orange:#e68032;--red:#bf4b45;--shadow:0 12px 35px rgba(25,50,38,.07)}*{box-sizing:border-box}html{background:var(--wash)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 85% 0,#eeebff,transparent 28rem),var(--wash);font:15px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.boot,.fatal{min-height:100vh;display:grid;place-content:center;text-align:center}.pulse,.logo{width:58px;height:58px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;margin:auto;font-size:25px;font-weight:400}.pulse{animation:pulse 1.4s ease infinite}@keyframes pulse{50%{transform:scale(.92);opacity:.65}}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:8vw;padding:8vw;max-width:1200px;margin:auto}.auth-brand small,.page-title>small,.section-head small,.manage-card header small,.modal-head small,.today-title small{font-size:10px;letter-spacing:.14em;color:var(--violet);font-weight:400}.auth-brand .logo{margin:0 0 22px}.auth-brand h1{font-size:48px;line-height:1.05;letter-spacing:-.045em;margin:9px 0 14px}.auth-brand p{color:var(--muted);max-width:460px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:27px;box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:400;margin-bottom:14px}label small{font-weight:400}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fbfcfb;padding:12px;outline:0}input:focus,select:focus,textarea:focus{border-color:#8fc0ff;box-shadow:0 0 0 3px #559bff12}textarea{min-height:74px;resize:vertical}.auth-card>button,.primary-btn,.empty-page>button{width:100%;border:0;background:var(--ink);color:#fff;border-radius:10px;padding:13px;font-weight:400}.form-error,.modal-error{display:block;color:var(--red);font-size:11px;margin-top:9px}.top{height:66px;background:#ffffffee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1120px)/2));position:sticky;top:0;z-index:20}.brand{border:0;background:none;display:flex;align-items:center;gap:10px;letter-spacing:.12em;background: transparent !important;}.brand>span{width:35px;height:35px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:10px}.top-user{display:flex;align-items:center;gap:10px}.top-user>span{display:flex;flex-direction:column;text-align:right;font-size:11px}.top-user small{color:var(--muted)}.top-user>button{border:0;background:var(--wash);width:34px;height:34px;border-radius:10px}.shell{width:min(1120px,calc(100% - 30px));margin:auto;padding:25px 0 100px}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:25;display:none;grid-template-columns:repeat(4,1fr);height:70px;background:#ffffffef;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom button{border:0;background:none;color:#8a9690;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px}.bottom i{font-size:20px;font-style:normal;height:24px}.bottom button.active{color:var(--violet);font-weight:400}.challenge-head{background:linear-gradient(135deg,#26312c,#14201a);color:#fff;border-radius:10px;padding:20px 23px;display:flex;align-items:center;justify-content:space-between}.challenge-head select{appearance:none;border:0;background:transparent;color:#fff;font-size:22px;font-weight:400;padding:0;max-width:70vw}.challenge-head select option{color:#111}.challenge-head p{margin:5px 0 0;color:#b8c4be;font-size:11px}.day-progress{width:58px;height:58px;border-radius:50%;border:5px solid #559bff;display:grid;place-items:center;font-weight:400}.date-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0}.date-bar>button{border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;font-size:21px}.date-bar label{margin:0;display:flex;flex-direction:row;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 9px}.date-bar label small{font-size:9px}.date-bar input{border:0;background:transparent;width:auto;padding:8px}.today-title,.page-title{display:flex;align-items:end;justify-content:space-between;margin:28px 0 16px}.today-title h1,.page-title h1{font-size:29px;letter-spacing:-.035em;margin:4px 0}.today-title>span{font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 10px}.page-title{display:block}.page-title p{color:var(--muted);margin:4px 0}.page-title.with-action{display:flex}.page-title.with-action>button,.section-head>button,.manage-card header>button{border:0;background:var(--violet-soft);color:var(--violet);border-radius:10px;padding: 5px 10px;font-size:11px;font-weight:400}.quick-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:13px}.macro-card,.water-card,.section,.manage-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:0 6px 25px rgba(31,53,43,.035)}.macro-card header,.water-card header,.section-head,.manage-card header{display:flex;align-items:center;justify-content:space-between}.macro-card header>span,.water-card header>span{font-weight:400}.macro-card header button{border:0;background:var(--ink);color:#fff;border-radius:10px;padding: 5px 10px;font-size:10px;font-weight:400}.macro-main{display:flex;align-items:baseline;gap:6px;margin:17px 0 11px}.macro-main b{font-size:30px}.macro-main small{color:var(--muted)}.macro-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.macro-row span{background:var(--wash);border-radius:10px;padding:9px;font-size:9px;color:var(--muted)}.macro-row b{display:block;color:var(--ink);font-size:13px}.pending{font-size:9px;color:var(--orange);margin:10px 0 0}.water-card header b{color:#3788cf}.meter{height:8px;background:#edf1ef;border-radius:10px;overflow:hidden;margin:21px 0 6px}.meter span{display:block;height:100%;background:#3c8ed7;border-radius:inherit}.water-card>small{color:var(--muted)}.water-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:16px}.water-actions button{border:1px solid #cce0f2;background:#eef6fd;color:#337bb9;border-radius:10px;padding:9px 3px;font-size:10px;font-weight:400}.section{margin-top:13px}.section-head{margin-bottom:13px}.section-head h2,.manage-card h2{font-size:19px;margin:3px 0}.meal-list,.habit-list{display:grid;gap:8px}.meal-card{display:grid;grid-template-columns:64px 1fr 28px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fcfdfc}.meal-card img{width:64px;height:64px;border-radius:10px;object-fit:cover}.meal-icon{width:50px;height:50px;border-radius:10px;background:#fff0e4;display:grid;place-items:center;font-size:22px}.meal-card h3{font-size:13px;margin:0 0 3px}.meal-card p{font-size:10px;color:var(--muted);margin:0;line-height:1.55}.meal-card small{font-size:9px;color:var(--orange)}.meal-card>button{border:0;background:none;color:#a0aaa5;font-size:19px}.simple-empty{color:var(--muted);font-size:11px;text-align:center;background:var(--wash);border-radius:10px;padding:24px}.habit-card{width:100%;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px}.habit-card>i{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--wash);color:#929e98;font-style:normal;font-size:18px}.habit-card>span{display:flex;flex-direction:column}.habit-card>span small{color:var(--muted)}.habit-card em{font-style:normal;font-size:8px;color:var(--muted)}.habit-card.done{border-color:#bce3cf;background:#fbfefc}.habit-card.done>i{background:var(--green-soft);color:var(--green)}.optional-link{width:100%;margin-top:13px;border:1px dashed #cfd8d3;background:transparent;border-radius:10px;padding:12px;color:var(--muted)}.optional-link small{margin-left:5px}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.history-summary article{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.history-summary b{font-size:18px}.history-summary small{color:var(--muted);font-size:9px}.measurement-summary{display:flex;gap:8px;flex-wrap:wrap}.measurement-summary span{background:var(--wash);border-radius:10px;padding:10px;font-size:10px}.challenge-list{display:grid;gap:10px}.challenge-list>article{display:grid;grid-template-columns:50px 1fr auto auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.challenge-icon{width:48px;height:48px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-size:23px}.challenge-list h2{font-size:17px;margin:2px 0}.challenge-list small{font-size:8px;letter-spacing:.1em;color:var(--green);font-weight:400}.challenge-list p{font-size:10px;color:var(--muted);margin:0}.challenge-list>article>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:10px}.menu-list,.user-list{display:grid;gap: 8px !important;}.menu-list>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.menu-list>button>span{width:36px;height:36px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-size:17px}.menu-list>button>div{display:flex;flex-direction:column}.menu-list small{color:var(--muted);font-size:9px}.user-list article{display:grid;grid-template-columns:39px 1fr auto auto;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.user-list article>span{width:38px;height:38px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet);border-radius:50%;font-size:10px;font-weight:400}.user-list article>div{display:flex;flex-direction:column}.user-list small{color:var(--muted);font-size:9px}.user-list article>button,.manage-row>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px;font-size:9px}.back-button{border:0;background:none;color:var(--muted);padding:0}.manage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.manage-card:first-child{grid-column:1/3}.manage-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0}.manage-row>span{display:flex;flex-direction:column}.manage-row small,.muted{color:var(--muted);font-size:9px}dialog{width:min(620px,calc(100% - 24px));max-height:92vh;overflow:auto;border:0;border-radius:10px;padding:0;box-shadow:0 30px 80px #0004}dialog::backdrop{background:#101914a8;backdrop-filter:blur(5px)}#modal-content{padding:21px}.modal-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:3px 0;font-size:22px}.modal-head>button{border:0;background:none;font-size:23px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.calculated-date,.helper-text{font-size:10px;color:var(--muted);background:var(--wash);padding:10px;border-radius:10px;margin-bottom:10px}.modal-error{min-height:16px}.modal-head+form>footer,#modal-form>footer,#meal-form>footer{display:flex;justify-content:flex-end;gap:7px;margin-top:15px}.modal-head+form>footer>button:first-child,#modal-form>footer>button:first-child,#meal-form>footer>button:first-child{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px}.primary-btn{width:auto;padding:10px 15px}.food-line{display:grid;grid-template-columns:1.4fr .7fr .8fr 30px;gap:6px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:9px;margin-bottom:7px}.food-line label{margin:0}.food-line>button{border:0;background:none;font-size:19px;height:39px}.add-line{width:100%;border:1px dashed #cbd5d0;background:#fafcfa;border-radius:10px;padding:9px;color:var(--violet);margin-bottom:12px}.check-field{flex-direction:row;align-items:center}.check-field input{width:auto}.with-unit{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.with-unit input{border:0}.with-unit span{padding-right:10px;color:var(--muted)}#toast{position:fixed;left:50%;bottom:85px;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:400;transition:.2s;z-index:80}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:var(--red)}
@media(max-width:760px){.auth{display:block;padding:34px 18px}.auth-brand{text-align:center;margin-bottom:25px}.auth-brand .logo{margin:0 auto 18px}.auth-brand h1{font-size:35px}.top{height:60px;padding:0 14px}.top-user>span{display:none}.shell{width:calc(100% - 22px);padding:15px 0 92px}.bottom{display:grid}.challenge-head{padding:15px}.challenge-head select{font-size:18px}.day-progress{width:52px;height:52px}.date-bar{margin:10px 0}.today-title,.page-title{margin:21px 0 13px}.today-title h1,.page-title h1{font-size:25px}.quick-grid{grid-template-columns:1fr}.macro-card,.water-card,.section,.manage-card{padding:14px;border-radius:10px}.macro-row span{padding:8px 6px}.meal-card{grid-template-columns:55px 1fr 25px}.meal-card img{width:55px;height:55px}.challenge-list>article{grid-template-columns:45px 1fr auto}.challenge-list>article>b{display:none}.challenge-list>article>button{grid-column:2/4}.page-title.with-action{align-items:end}.manage-grid{grid-template-columns:1fr}.manage-card:first-child{grid-column:auto}.user-list article{grid-template-columns:38px 1fr auto}.user-list article>button:last-child{grid-column:2/4}.form-pair{grid-template-columns:1fr}.food-line{grid-template-columns:1fr 85px 30px}.food-line label:nth-child(3){grid-column:1/3}.history-summary{gap:6px}.history-summary article{padding:10px}.brand b{font-size:12px}.date-bar input{max-width:145px}dialog{border-radius:10px 10px 0 0;width:100%;max-height:92vh;margin:auto 0 0;position:fixed;bottom:0}.photo-input input{background:#fff}} 

.desktop-nav{display:flex;align-items:center;gap:4px}.desktop-nav button{border:0;background:transparent;border-radius:10px;padding:9px 11px;color:var(--muted);font-size:11px;font-weight:400}.desktop-nav button:hover,.desktop-nav button.active{background:var(--violet-soft);color:var(--violet)}
.checkin-status{margin:0 0 13px;border:1px solid var(--line);border-radius:10px;padding:15px 17px;background:#fff}.checkin-status header{display:flex;align-items:center;justify-content:space-between}.checkin-status header small{font-size:9px;letter-spacing:.12em;font-weight:400}.checkin-status h2{font-size:18px;margin:3px 0}.checkin-status header>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:400}.checkin-status.complete{border-color:#bce3cf;background:#fbfefc}.checkin-status.complete header small,.checkin-status.complete header>span{color:var(--green)}.checkin-status.complete header>span{background:var(--green-soft)}.checkin-status.incomplete{border-color:#f0cfb3;background:#fffdf9}.checkin-status.incomplete header small,.checkin-status.incomplete header>span{color:var(--orange)}.checkin-status.incomplete header>span{background:#fff0e4}.checkin-status p{font-size:10px;color:var(--muted);margin:10px 0 0}.requirement-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.requirement-list span{font-size:9px;border-radius:10px;padding:6px 9px}.requirement-list .received{background:var(--green-soft);color:var(--green)}.requirement-list .missing{background:#fff0e4;color:#aa642d}
.manual-water{width:100%;margin-top:9px;border:1px solid #cce0f2;background:#fff;color:#337bb9;border-radius:10px;padding:8px;font-size:10px;font-weight:400}.water-log-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.water-log{display:grid;grid-template-columns:30px 1fr auto 25px;align-items:center;gap:7px;background:var(--wash);border-radius:10px;padding:9px}.water-log>span{font-size:18px}.water-log>div{display:flex;flex-direction:column}.water-log small{font-size:9px;color:var(--muted)}.water-log>button{border:0;background:transparent;color:var(--muted);font-size:9px}.water-log>button:last-child{font-size:17px}
.data-day-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.data-day-list article{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;background:var(--wash);border-radius:10px;padding:9px}.data-day-list article>span{width:40px;height:40px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-size:20px}.data-day-list img{width:42px;height:42px;border-radius:10px;object-fit:cover}.data-day-list article>div{display:flex;flex-direction:column}.data-day-list small{font-size:9px;color:var(--muted)}.data-day-list button{border:0;background:transparent;font-size:18px;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.stats-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;flex-direction:column}.stats-grid small{font-size:9px;color:var(--muted)}.stats-grid b{font-size:22px;margin:5px 0}.stats-grid span{font-size:9px;color:var(--muted)}.evolution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.chart-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.chart-card header{display:flex;align-items:start;justify-content:space-between}.chart-card header small{font-size:9px;letter-spacing:.12em;color:var(--violet);font-weight:400}.chart-card h2{font-size:17px;margin:3px 0}.chart-card header>b{font-size:11px}.chart-wrap svg{width:100%;height:auto;margin-top:8px}.chart-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.chart-empty{height:180px;display:grid;place-items:center;color:var(--muted);font-size:10px;background:var(--wash);border-radius:10px;margin-top:10px}
.participant-progress{display:grid;gap:8px}.participant-progress article{display:grid;grid-template-columns:42px 1fr 80px auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.avatar{width:40px;height:40px;border-radius:50%;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-size:10px;font-weight:400}.participant-progress article>div{display:flex;flex-direction:column}.participant-progress article small{font-size:9px;color:var(--muted)}.participant-progress strong{display:flex;flex-direction:column}.participant-progress button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:9px}.challenge-actions{display:flex;gap:5px}.challenge-actions button,.title-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:9px}.challenge-list>article.archived{opacity:.58}.title-actions{display:flex;gap:6px}.page-title.with-action>.title-actions{margin-left:auto}
.ai-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px}.ai-flow article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;gap:10px}.ai-flow article>span{width:27px;height:27px;border-radius:50%;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-weight:400;flex:none}.ai-flow article>div{display:flex;flex-direction:column}.ai-flow small{font-size:9px;color:var(--muted);margin-top:3px}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.action-grid>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px;text-align:left;display:flex;flex-direction:column;font-weight:400}.action-grid>button small{color:var(--muted);font-size:9px;margin-top:4px;font-weight:400}.action-grid>button.primary-action{background:var(--ink);color:#fff}.action-grid>button.primary-action small{color:#bac4bf}.import-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}.import-counts span{background:var(--wash);border-radius:10px;padding:10px;display:flex;flex-direction:column;font-size:9px;color:var(--muted)}.import-counts b{font-size:18px;color:var(--ink)}.primary-btn.full{width:100%;margin-top:12px}
.filter-bar{display:grid;grid-template-columns:1fr 220px repeat(3,auto);gap:7px;margin-bottom:12px}.filter-bar button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;font-size:9px;font-weight:400}.food-table{display:grid;gap:6px}.food-table article{display:grid;grid-template-columns:1fr repeat(4,90px) auto 28px;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.food-table article>div{display:flex;flex-direction:column}.food-table small{font-size:9px;color:var(--muted)}.food-table article>span{font-size:10px}.food-table article>button{border:0;background:transparent;color:var(--muted);font-size:9px}.food-table article>button:last-child{font-size:17px}.nutrition-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.similar-foods{display:flex;flex-wrap:wrap;gap:5px;margin:-5px 0 10px}.similar-foods small{width:100%;color:var(--orange)}.similar-foods span{font-size:9px;padding:5px 8px;border-radius:10px;background:#fff0e4;color:#a55d27}
.recipe-list{display:grid;gap:9px}.recipe-list>article{display:grid;grid-template-columns:1fr 1fr auto 28px;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.recipe-list small{font-size:9px;color:var(--violet);font-weight:400}.recipe-list h2{font-size:17px;margin:2px 0}.recipe-list p{font-size:9px;color:var(--muted);margin:0}.recipe-macros{display:flex;gap:6px}.recipe-macros span{background:var(--wash);border-radius:10px;padding:8px;font-size:8px;color:var(--muted)}.recipe-macros b{display:block;color:var(--ink);font-size:12px}.recipe-list article>button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px;font-size:9px}.ingredient-line{display:grid;grid-template-columns:1fr 150px 30px;gap:7px;align-items:end;border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:7px}.ingredient-line label{margin:0}.ingredient-line>button{border:0;background:transparent;font-size:18px;height:40px}
.analysis-list{display:grid;gap:7px}.analysis-list article{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.analysis-list article>div{display:flex;flex-direction:column}.analysis-list small{font-size:9px;color:var(--muted)}.analysis-list button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:9px}.requirement-config{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.requirement-config label{display:flex;flex-direction:row;align-items:center;background:var(--wash);border-radius:10px;padding:8px;margin:0;color:var(--ink);font-size:9px}.requirement-config input{width:auto}.manage-row>div{display:flex;gap:4px}.manage-row>div button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px;font-size:9px}.food-hint{color:var(--green);min-height:12px}
@media(max-width:900px){.desktop-nav{gap:0}.desktop-nav button{padding:8px 6px}.food-table article{grid-template-columns:1fr repeat(2,75px) auto 25px}.food-table article>span:nth-of-type(3),.food-table article>span:nth-of-type(4){display:none}.filter-bar{grid-template-columns:1fr 180px repeat(3,auto)}}
@media(max-width:760px){.desktop-nav{display:none}.bottom{grid-template-columns:repeat(5,1fr)}.water-log-list,.data-day-list,.evolution-grid,.action-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.ai-flow{grid-template-columns:1fr}.participant-progress article{grid-template-columns:40px 1fr auto}.participant-progress strong{grid-column:2}.participant-progress button{grid-column:3;grid-row:1/3}.challenge-list>article{grid-template-columns:45px 1fr}.challenge-actions{grid-column:2;flex-wrap:wrap}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar button{padding:9px 5px}.food-table article{grid-template-columns:1fr 70px auto 25px}.food-table article>span:nth-of-type(n+2){display:none}.recipe-list>article{grid-template-columns:1fr auto}.recipe-macros{grid-column:1/3;overflow:auto}.recipe-list article>button{grid-row:1}.requirement-config{grid-template-columns:1fr}.nutrition-fields{grid-template-columns:1fr 1fr}.ingredient-line{grid-template-columns:1fr 95px 26px}.title-actions{width:100%;margin-top:10px}.page-title.with-action{flex-wrap:wrap}.page-title.with-action>.title-actions{margin-left:0}.analysis-list article{align-items:flex-start;gap:8px}}

.challenge-copy{flex:1;min-width:0}.challenge-copy>small{display:block;color:#86e2b4;font-size:10px;letter-spacing:.14em;font-weight:400;margin-bottom:3px}.challenge-day-count{display:flex;align-items:center;gap:9px;margin-top:12px}.challenge-day-count strong{font-size:46px;line-height:.85;letter-spacing:-.06em}.challenge-day-count>span{display:flex;flex-direction:column;font-size:16px;font-weight:400;line-height:1.05;color:#fff}.challenge-day-count>span small{color:#aebbb4;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.challenge-track{height:8px;max-width:520px;background:#ffffff1c;border-radius:10px;overflow:hidden;margin-top:12px}.challenge-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#559bff,#8fc0ff);box-shadow:0 0 18px #559bff80}.challenge-head.day-complete{background:linear-gradient(135deg,#17764f,#123d2d);}.challenge-head.day-complete .challenge-track span{background:#8bf0bd}.day-progress{display:flex;flex-direction:column;line-height:1.05}.day-progress b{font-size:16px}.day-progress small{font-size:8px;color:#bfcbc5;font-weight:400}.today-title{align-items:center}.today-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.today-title>span{font-weight:400}.checkin-status{padding:18px}.checkin-status header{justify-content:flex-start;gap:13px}.checkin-status .checkin-icon{width:48px;height:48px;border-radius:10px;flex:none;font-size:23px}.checkin-status header h2{font-size:21px;margin:2px 0}.checkin-status header p{font-size:11px;margin:0}.requirement-list{gap:8px;margin-top:15px}.requirement-list span{display:flex;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:400}.requirement-list span i{font-style:normal;font-size:13px;padding-left: 5px;}.missing-callout{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff0e4;color:#8b4d1f}.missing-callout small{font-size:8px;letter-spacing:.12em;font-weight:400}.missing-callout b{font-size:12px}.habits-focus{border-color:#d7d0fa;background:linear-gradient(180deg,#fff,#fbfaff);box-shadow:0 10px 32px rgba(114,88,232,.08)}.habit-score{min-width:45px;height:45px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font-weight:400}.habit-list{gap:11px}.habit-card{display:block;width:100%;border:2px solid var(--line);border-radius:10px;padding:15px;background:#fff;transition:transform .16s ease,border-color .16s ease,background .16s ease}.habit-card.done{border-color:#65ce96;background:#f2fff8}.habit-card.negative{border-color:#e6aaa6;background:#fff8f7}.habit-main{display:flex;align-items:center;gap:12px}.habit-main>i{width:46px;height:46px;display:grid;place-items:center;border-radius: 100px;background:var(--wash);color:#8d9993;font-style:normal;font-size:23px;font-weight:400;flex:none;border-radius: 100px !important;}.habit-card.done .habit-main>i{background:#d9f7e7;color:var(--green)}.habit-card.negative .habit-main>i{background:#fde7e5;color:var(--red)}.habit-main>span{display:flex;flex-direction:column;min-width:0}.habit-main b{font-size:16px;line-height:1.2}.habit-main small{font-size:11px;color:var(--muted);margin-top:3px}.habit-card.done .habit-status{color:var(--green);font-weight:400}.habit-card.negative .habit-status{color:var(--red);font-weight:400}.habit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.habit-actions button{min-height:46px;border-radius:10px;font-size:13px;font-weight:400}.habit-yes{border:1px solid #a9dfc2;background:#effbf5;color:#18784f}.habit-yes.selected{border-color:#209466;background:#2cac77;color:#fff;box-shadow:0 4px 0 #18764f}.habit-no{border:1px solid #e5c0bd;background:#fff8f7;color:#a64a43}.habit-no.selected{border-color:#c65750;background:#d9665e;color:#fff;box-shadow:0 4px 0 #a13e38}.habit-primary{border:1px solid #bdb1f5;background:var(--violet);color:#fff;box-shadow:0 4px 0 #5841bd}.habit-detail{grid-column:1/3;border:0;background:transparent;color:var(--violet);min-height:34px!important}.habit-actions button:active{transform:translateY(3px);box-shadow:none}.quick-grid{margin-top:13px}.card-emoji{font-style:normal;font-size:20px;margin-right:4px}.macro-card header>span,.water-card header>span{display:flex;align-items:center}.manual-water{min-height:43px}.setting-state{font-size:10px;color:var(--green);background:var(--green-soft);border-radius:10px;padding:6px 9px}
.celebration-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;background:rgba(14,29,21,.72);backdrop-filter:blur(8px);opacity:0;transition:opacity .22s ease;overflow:hidden}.celebration-layer.show{opacity:1}.celebration-card{position:relative;z-index:2;width:min(430px,100%);text-align:center;background:#fff;border-radius:10px;padding:32px 25px 24px;box-shadow:0 30px 90px #0006;transform:translateY(22px) scale(.94);transition:transform .36s cubic-bezier(.2,1.3,.3,1)}.celebration-layer.show .celebration-card{transform:translateY(0) scale(1)}.celebration-badge{width:82px;height:82px;border-radius:10px;background:linear-gradient(145deg,#48d58d,#1da568);color:#fff;display:grid;place-items:center;margin:-4px auto 18px;font-size:43px;font-weight:400;box-shadow:0 8px 0 #178151,0 18px 35px #2ebb7a38}.celebration-card>small{color:var(--green);font-size:11px;font-weight:400;letter-spacing:.16em}.celebration-card h2{font-size:40px;line-height:1;margin:8px 0;letter-spacing:-.05em}.celebration-card>p{color:var(--muted);margin:0 auto 19px}.celebration-count{display:flex;justify-content:center;align-items:center;gap:10px;background:#f3fff8;border:2px solid #cdeedc;border-radius:10px;padding:15px}.celebration-count strong{font-size:58px;line-height:.85;letter-spacing:-.07em;color:var(--green)}.celebration-count>span{display:flex;flex-direction:column;text-align:left;font-size:23px;font-weight:400;line-height:1}.celebration-count small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.celebration-meter{height:11px;background:#e9efec;border-radius:10px;overflow:hidden;margin:17px 0 12px}.celebration-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42ce87,#7de9ad)}.celebration-message{display:block;font-size:14px}.celebration-card>button{width:100%;min-height:55px;border:0;border-radius:10px;background:var(--violet);color:#fff;font-size:16px;font-weight:400;margin-top:20px;box-shadow:0 5px 0 #563ebd}.celebration-card>button:active{transform:translateY(4px);box-shadow:none}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{--color:#ffca45;position:absolute;left:calc((var(--i) + 1)*4%);top:-12%;width:10px;height:18px;border-radius:10px;background:var(--color);transform:rotate(calc(var(--i)*29deg));animation:confettiFall 2.4s calc(var(--i)*-.045s) ease-in infinite}.confetti i:nth-child(4n+1){--color:#559bff}.confetti i:nth-child(4n+2){--color:#45d18a}.confetti i:nth-child(4n+3){--color:#ff756b}.confetti i:nth-child(even){width:8px;height:8px;border-radius:50%}@keyframes confettiFall{to{top:112%;transform:translateX(calc((var(--i) - 12)*2px)) rotate(calc(var(--i)*75deg))}}

@media(max-width:760px){body{font-size:16px}.top{height:64px}.brand>span{width:41px;height:41px;border-radius:10px;font-size:18px}.brand b{font-size:14px}.top-user>button{width:42px;height:42px}.shell{width:calc(100% - 20px);padding-top:10px;padding-bottom:104px}.bottom{height:82px}.bottom button{font-size:11px;gap:1px}.bottom i{font-size:25px;height: 24px;}.bottom button.active i{transform:translateY(-2px)}.challenge-head{align-items:flex-start;border-radius:10px;padding:19px 17px}.challenge-copy>small{font-size:10px}.challenge-head select{font-size:19px;max-width:calc(100vw - 128px);padding:2px 0}.challenge-day-count{margin-top:15px}.challenge-day-count strong{font-size:55px}.challenge-day-count>span{font-size:19px}.challenge-copy p{font-size:11px;margin-top:10px}.challenge-track{height:9px}.day-progress{width:61px;height:61px;border-width:4px}.day-progress b{font-size:17px}.day-progress small{font-size:7px}.date-bar>button{width:46px;height:46px;border-radius:10px}.date-bar label{min-height:46px}.date-bar input{font-size:13px}.today-title{align-items:flex-start;margin:24px 2px 14px}.today-title h1{font-size:29px;line-height:1.07}.today-title p{font-size:13px;max-width:245px}.today-title>span{margin-top:2px;padding:8px;font-size:10px}.checkin-status{border-radius:10px;padding:17px 15px}.checkin-status .checkin-icon{width:52px;height:52px;border-radius:10px}.checkin-status header h2{font-size:20px}.checkin-status header p{font-size:12px}.requirement-list span{font-size:12px;padding:9px 11px}.missing-callout b{font-size:13px}.macro-card,.water-card,.section,.manage-card{padding:16px;border-radius:10px}.section-head h2,.manage-card h2{font-size:21px}.section-head>button,.manage-card header>button{min-height:43px;font-size:12px}.habit-score{width:48px;height:48px}.habit-card{padding:15px;border-radius:10px}.habit-main>i{width:50px;height:50px;border-radius:10px;font-size:25px}.habit-main b{font-size:17px}.habit-main small{font-size:12px}.habit-actions button{min-height:50px;font-size:14px}.macro-card header button{min-height:43px;font-size:12px;padding:9px 13px}.macro-main b{font-size:37px}.macro-main small{font-size:12px}.macro-row span{font-size:11px}.macro-row b{font-size:15px}.water-actions{gap:8px}.water-actions button{min-height:48px;font-size:12px}.manual-water{min-height:48px;font-size:13px}.meal-card{min-height:78px}.meal-card h3{font-size:15px}.meal-card p{font-size:12px}.meal-card small{font-size:11px}.optional-link{min-height:50px;font-size:13px}.menu-list>button{min-height:70px;border-radius:10px;padding:14px}.menu-list>button>span{width:44px;height:44px;border-radius:10px;font-size:21px}.menu-list>button b{font-size:14px}.menu-list small{font-size:11px}.celebration-card{border-radius:10px;padding:28px 20px 21px}.celebration-badge{width:76px;height:76px}.celebration-card h2{font-size:38px}.celebration-count strong{font-size:62px}.celebration-count>span{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.answer-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:-5px 0 16px}.answer-choice button{min-height:52px;border-radius:10px;font-size:14px;font-weight:400}.answer-choice [data-answer="yes"]{border:1px solid #a9dfc2;background:#effbf5;color:#18784f}.answer-choice [data-answer="yes"].selected{background:#2cac77;border-color:#209466;color:#fff;box-shadow:0 4px 0 #18764f}.answer-choice [data-answer="no"]{border:1px solid #e5c0bd;background:#fff8f7;color:#a64a43}.answer-choice [data-answer="no"].selected{background:#d9665e;border-color:#c65750;color:#fff;box-shadow:0 4px 0 #a13e38}

button{box-shadow:none!important;transform:none!important}.habit-card,.habit-actions button,.answer-choice button,.celebration-card>button,.celebration-badge{box-shadow:none!important}.habit-actions button:active,.celebration-card>button:active{transform:none;box-shadow:none}.day-progress{flex:0 0 70px;width:70px;height:70px;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;gap:2px;overflow:hidden}.day-progress b,.day-progress small{display:block;width:100%;white-space:nowrap}.day-progress b{line-height:1}.day-progress small{line-height:1;font-size:8px}.appearance-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:13px}.appearance-card>header{display:flex;align-items:center;justify-content:space-between}.appearance-card>header small{font-size:10px;letter-spacing:.14em;color:var(--violet);font-weight:400}.appearance-card>header h2{font-size:21px;margin:3px 0}.appearance-card>header>span{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-size:23px}.appearance-card>p{color:var(--muted);font-size:12px;margin:4px 0 15px}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-options>button{min-height:104px;border:2px solid var(--line);border-radius:10px;background:var(--wash);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px;text-align:left}.theme-options>button.selected{border-color:var(--violet);background:var(--violet-soft);color:var(--violet)}.theme-options b{font-size:14px}.theme-options small{font-size:10px;color:var(--muted)}.theme-sample{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-style:normal;margin-bottom:4px;border:1px solid var(--line)}.theme-sample.light{background:#fff;color:#e19b27}.theme-sample.dark{background:#111a16;color:#75d7a4}.theme-sample.system{background:linear-gradient(90deg,#fff 50%,#111a16 50%);color:#559bff}

html[data-theme="dark"]{color-scheme:dark;--ink:#edf4f0;--muted:#a1afa8;--line:#2c3a33;--paper:#151f1a;--wash:#0c1511;--violet:#a493ff;--violet-soft:#2b2547;--green:#69dba3;--green-soft:#173a2a;--orange:#f0a15c;--red:#ed8780;--shadow:none;background:#0c1511}html[data-theme="dark"] body{background:radial-gradient(circle at 85% 0,#211d38,transparent 27rem),#0c1511;color:var(--ink)}html[data-theme="dark"] .top{background:#121c17f2}html[data-theme="dark"] .bottom{background:#121c17f2}html[data-theme="dark"] .auth-card,html[data-theme="dark"] .macro-card,html[data-theme="dark"] .water-card,html[data-theme="dark"] .section,html[data-theme="dark"] .manage-card,html[data-theme="dark"] .appearance-card,html[data-theme="dark"] .history-summary article,html[data-theme="dark"] .challenge-list>article,html[data-theme="dark"] .menu-list>button,html[data-theme="dark"] .user-list article,html[data-theme="dark"] .stats-grid article,html[data-theme="dark"] .chart-card,html[data-theme="dark"] .ai-flow article,html[data-theme="dark"] .action-grid>button,html[data-theme="dark"] .food-table article,html[data-theme="dark"] .recipe-list>article,html[data-theme="dark"] .analysis-list article,html[data-theme="dark"] .checkin-status,html[data-theme="dark"] dialog,html[data-theme="dark"] #modal-content{background:var(--paper);color:var(--ink);box-shadow:none}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#101a15;border-color:var(--line);color:var(--ink);border: 1px solid #383d4c !important;border-radius: 100px !important;min-height: 60px;}html[data-theme="dark"] option{background:#101a15;color:var(--ink)}html[data-theme="dark"] .date-bar>button,html[data-theme="dark"] .date-bar label,html[data-theme="dark"] .today-title>span,html[data-theme="dark"] .challenge-list>article>button,html[data-theme="dark"] .user-list article>button,html[data-theme="dark"] .manage-row>button,html[data-theme="dark"] .manage-row>div button,html[data-theme="dark"] .participant-progress button,html[data-theme="dark"] .challenge-actions button,html[data-theme="dark"] .title-actions button,html[data-theme="dark"] .filter-bar button,html[data-theme="dark"] .recipe-list article>button,html[data-theme="dark"] .analysis-list button,html[data-theme="dark"] .modal-head+form>footer>button:first-child,html[data-theme="dark"] #modal-form>footer>button:first-child,html[data-theme="dark"] #meal-form>footer>button:first-child{background:var(--paper);border-color:var(--line);color:var(--ink)}html[data-theme="dark"] .meal-card,html[data-theme="dark"] .habit-card{background:#111b16;border-color:var(--line);}html[data-theme="dark"] .habit-card.done{background: #0000003d;padding: 10px;margin: 5px 0;}html[data-theme="dark"] .habit-card.negative{background:#291817;border-color:#7c403c}html[data-theme="dark"] .checkin-status.complete{background:#11271c;border-color:#326f4e}html[data-theme="dark"] .checkin-status.incomplete{background:#271d14;border-color:#795130}html[data-theme="dark"] .missing-callout,html[data-theme="dark"] .requirement-list .missing{background:#382515;color:#ffc18a}html[data-theme="dark"] .habit-no,html[data-theme="dark"] .answer-choice [data-answer="no"]{background:#2a1918;border-color:#70403d;color:#ffaaa4}html[data-theme="dark"] .habit-no.selected,html[data-theme="dark"] .answer-choice [data-answer="no"].selected{background:#b94f49;border-color:#d96a63;color:#fff}html[data-theme="dark"] .habit-yes,html[data-theme="dark"] .answer-choice [data-answer="yes"]{background:#12291d;border-color:#346e4e;color:#7ce0a9}html[data-theme="dark"] .habit-yes.selected,html[data-theme="dark"] .answer-choice [data-answer="yes"].selected{background:#23855b;border-color:#43b17c;color:#fff}html[data-theme="dark"] .primary-btn,html[data-theme="dark"] .auth-card>button,html[data-theme="dark"] .empty-page>button,html[data-theme="dark"] .macro-card header button,html[data-theme="dark"] .action-grid>button.primary-action{background:var(--violet);color:#fff}html[data-theme="dark"] .brand>span,html[data-theme="dark"] .pulse,html[data-theme="dark"] .logo{background:#edf4f0;color:#101914}html[data-theme="dark"] .simple-empty,html[data-theme="dark"] .macro-row span,html[data-theme="dark"] .recipe-macros span,html[data-theme="dark"] .measurement-summary span,html[data-theme="dark"] .import-counts span{background:#0d1712}html[data-theme="dark"] .manual-water{background:#122536;border-color:#294b64;color:#8ecbfa}html[data-theme="dark"] .water-actions button{background:#122536;border-color:#294b64;color:#8ecbfa}html[data-theme="dark"] .celebration-card{background:#17231d;color:#edf4f0}html[data-theme="dark"] .celebration-count{background:#11271c;border-color:#326f4e}html[data-theme="dark"] .celebration-meter{background:#2a3831}html[data-theme="dark"] .theme-options>button{background:#101914;border-color:var(--line);color:var(--ink)}html[data-theme="dark"] .theme-options>button.selected{background:var(--violet-soft);border-color:var(--violet);color:#c8bfff}html[data-theme="dark"] .theme-sample.light{color:#d49730}html[data-theme="dark"] .challenge-head select option{background:#101914;color:#fff}

@media(max-width:760px){.day-progress{flex-basis:66px;width:66px;height:66px;align-self:flex-start}.day-progress b{font-size:17px}.day-progress small{font-size:7px}.theme-options{gap:7px}.theme-options>button{min-height:112px;padding:11px 9px}.theme-options b{font-size:13px}.theme-options small{font-size:9px}.appearance-card{padding:16px}.appearance-card>header h2{font-size:20px}}
.auth-card,.macro-card,.water-card,.section,.manage-card,.appearance-card,.habits-focus{box-shadow:none}.challenge-track span{box-shadow:none}.celebration-badge{background:#2cac77}.celebration-card>button{background:var(--violet)}html[data-theme="dark"] #toast{background:#edf4f0;color:#101914}html[data-theme="dark"] .meter{background:#2a3932}html[data-theme="dark"] .add-line{background:#101a15;border-color:var(--line)}

.manifesto-card,.mood-card,.locked-actions{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px;margin:0 0 13px;box-shadow:none}.manifesto-card{border-color:#cfc5ff;background:linear-gradient(180deg,var(--paper),#faf8ff)}.manifesto-card.read{border-color:#b8dfca;background:linear-gradient(180deg,var(--paper),#f5fff9)}.manifesto-card>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.manifesto-card>header>span{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet);font-size:24px;flex:none}.manifesto-card small,.mood-card small{font-size:10px;letter-spacing:.12em;color:var(--violet);font-weight:400}.manifesto-card h2,.mood-card h2,.locked-actions h2{font-size:22px;line-height:1.15;margin:3px 0}.manifesto-note,.mood-card p,.locked-actions p{font-size:12px;color:var(--muted);margin:5px 0 0}.rich-content{font-size:15px;line-height:1.65;color:var(--ink)}.rich-content h1,.rich-content h2,.rich-content h3{line-height:1.15;margin:18px 0 8px}.rich-content h1{font-size:29px}.rich-content h2{font-size:23px}.rich-content h3{font-size:18px}.rich-content p{margin:8px 0}.rich-content blockquote{margin:13px 0;padding:12px 15px;border-left:4px solid var(--violet);background:var(--violet-soft);border-radius:0 10px 10px 0}.rich-content mark{background:#fff2a8;color:#342d13;padding:1px 3px}.manifesto-card .primary-btn.full{width:100%;min-height:50px;margin-top:16px;font-size:14px}.manifesto-card .primary-btn:disabled{background:var(--green);opacity:1;cursor:default}.mood-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.mood-options{display:flex;gap:7px;flex:none}.mood-options button{width:54px;height:58px;border:2px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px}.mood-options button span{font-size:25px;line-height:1}.mood-options button small{font-size:9px;color:var(--muted);letter-spacing:0}.mood-options button.selected{border-color:var(--violet);}.locked-actions{text-align:center;border-color:#e2c998;background:#fffaf0;padding:27px}.locked-actions>span{font-size:35px}.reading-task,.journal-task,.book-task{border-color:#cec5f7}.habit-undo{grid-column:1/-1;border:1px solid var(--line);background:transparent;color:var(--muted)}.book-progress{display:block;width:100%;height:8px;margin-top:8px;background:var(--wash);border-radius:10px;overflow:hidden}.book-progress>i{display:block;height:100%;background:var(--violet);border-radius:inherit}.reading-modal{max-height:55vh;overflow:auto;padding:8px 2px 18px}.standalone-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.standalone-footer>button:first-child{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:10px 13px}.journal-history{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.journal-history h3{margin:0 0 9px}.journal-history article{background:var(--wash);border-radius:10px;padding:11px;margin-top:8px}.journal-history article small{font-size:9px;color:var(--muted)}.journal-history article p{font-size:12px;margin:5px 0}.book-modal-title{display:flex;flex-direction:column;background:var(--violet-soft);border-radius:10px;padding:13px;margin-bottom:13px}.book-modal-title small{color:var(--muted)}.measurement-history>article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;border-top:1px solid var(--line);padding:11px 0}.measurement-history>article>div{display:flex;flex-direction:column}.measurement-history>article small{font-size:10px;color:var(--muted)}.measurement-history>article button{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px;font-size:10px}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;padding:7px;background:var(--wash)}.rich-toolbar button{border:1px solid var(--line);background:var(--paper);border-radius:10px;min-height:34px;padding:5px 9px;font-size:10px}.rich-editor{min-height:230px;border:1px solid var(--line);border-radius:0 0 10px 10px;background:var(--paper);padding:14px;outline:0;margin-bottom:14px;line-height:1.6}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--muted)}.rich-editor:focus{border-color:var(--violet)}.history-note{font-size:11px;color:var(--muted);background:var(--wash);border-radius:10px;padding:10px}.manage-grid.expanded .wide{grid-column:1/-1}.manifest-admin-summary{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:13px}.manifest-admin-summary>div{display:flex;flex-direction:column}.manifest-admin-summary small{color:var(--muted)}.status-dot{width:12px;height:12px;border-radius:50%;background:#a9b1ad}.status-dot.on{background:var(--green)}.feature-config{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.feature-config>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px}.feature-config span{display:flex;flex-direction:column}.feature-config span small{color:var(--muted);font-size:9px}.feature-config label{flex-direction:row;align-items:center;margin:0;font-size:10px}.feature-config input{width:auto}.drag-help{font-size:10px;color:var(--muted);margin:0 0 8px}.sortable-row{gap:8px}.sortable-row.dragging{border:2px solid var(--violet);background:var(--violet-soft);opacity:.92}.drag-handle{width:42px;height:44px;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--wash);color:var(--muted);font-size:20px;touch-action:none;cursor:grab}.sortable-row>span{flex:1}.sortable-row>div,.manage-row>div{display:flex;gap:5px}.manage-row>div button{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:7px;font-size:9px}.target-history span{gap:2px}.mood-evolution{grid-column:1/-1}.chart-legend{display:flex;gap:15px;font-size:10px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:10px;height:10px;border-radius:50%}.mood-change-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mood-change-list span{display:flex;flex-direction:column;background:var(--wash);border-radius:10px;padding:7px 9px;font-size:9px;color:var(--muted)}.mood-change-list b{color:var(--ink)}.weight-goals{display:flex;gap:8px;margin-bottom:12px}.weight-goals span{display:flex;flex-direction:column;flex:1;background:var(--wash);border-radius:10px;padding:10px}.weight-goals small{font-size:9px;color:var(--muted)}.weight-goals b{font-size:16px}

html[data-theme="dark"] .manifesto-card,html[data-theme="dark"] .mood-card,html[data-theme="dark"] .locked-actions,html[data-theme="dark"] .rich-editor{background:var(--paper);color:var(--ink)}html[data-theme="dark"] .manifesto-card{border-color:#50467c;background:#181728}html[data-theme="dark"] .manifesto-card.read{border-color:#326f4e;background:#11271c}html[data-theme="dark"] .locked-actions{border-color:#795f30;background:#271f14}html[data-theme="dark"] .measurement-history>article button,html[data-theme="dark"] .rich-toolbar button,html[data-theme="dark"] .manage-row>div button{background:var(--paper);color:var(--ink)}html[data-theme="dark"] .rich-content blockquote{background:var(--violet-soft)}

@media(max-width:760px){.manifesto-card,.mood-card,.locked-actions{border-radius:10px;padding:17px}.manifesto-card h2,.mood-card h2{font-size:21px}.rich-content{font-size:16px}.mood-card{display:block}.mood-options{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:14px}.mood-options button{width:100%;height:64px}.mood-options button span{font-size:28px}.feature-config{grid-template-columns:1fr}.feature-config>div{grid-template-columns:1fr auto auto;gap:7px}.manage-grid.expanded .wide{grid-column:auto}.manage-row{align-items:flex-start;gap:8px}.manage-row>div{flex-wrap:wrap;justify-content:flex-end}.sortable-row{display:grid;grid-template-columns:44px 1fr}.sortable-row>div{grid-column:2}.drag-handle{grid-row:1/3}.rich-editor{min-height:250px}.rich-toolbar{position:sticky;top:0;z-index:2}.measurement-history>article{grid-template-columns:1fr auto auto}.mood-evolution{grid-column:auto}.standalone-footer button{min-height:48px}.journal-history article p{font-size:14px}}
.book-history{display:grid;gap:5px;margin:12px 0;background:var(--wash);border-radius:10px;padding:10px}.book-history>small{font-size:9px;letter-spacing:.12em;color:var(--violet);font-weight:400}.book-history>span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:5px}
.quick-grid.single{grid-template-columns:1fr}

.manifesto-minimized{padding:0;overflow:hidden;background:var(--paper)}.manifesto-minimized>summary{list-style:none;display:flex;align-items:center;gap:11px;min-height:68px;padding:11px 14px;cursor:pointer}.manifesto-minimized>summary::-webkit-details-marker{display:none}.manifesto-minimized>summary .completed-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:21px;font-weight:400;border-radius: 100px !important;}.manifesto-minimized>summary>span:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.manifesto-minimized>summary small{font-size:9px}.manifesto-minimized>summary b{font-size:15px;line-height:1.25}.manifesto-minimized>summary em{color:var(--violet);font-size:12px;font-style:normal;font-weight:400;white-space:nowrap}.manifesto-minimized[open]>summary{border-bottom:1px solid var(--line)}.manifesto-minimized[open]>summary em{font-size:0}.manifesto-minimized[open]>summary em:after{content:"Minimizar";font-size:12px}.manifesto-expanded{padding:6px 17px 17px}.reading-task.reading-minimized{min-height:0;padding:10px 12px;align-items:center}.reading-minimized .habit-main{gap:10px}.reading-minimized .habit-main>i{width:38px;height:38px;font-size:19px}.reading-minimized .habit-main b{font-size:14px}.reading-minimized .habit-status{font-size:10px}.reading-minimized .compact-actions{display:flex;align-items:center;gap:6px}.reading-minimized .compact-actions button{min-height:38px;padding:7px 10px;font-size:11px}.reading-minimized .compact-actions .habit-undo{width:auto;margin:0}
html[data-theme="dark"] .manifesto-minimized{background:var(--paper)}
@media(max-width:760px){.manifesto-minimized>summary{min-height:64px;padding:10px 12px}.manifesto-minimized>summary .completed-icon{width:38px;height:38px}.manifesto-minimized>summary b{font-size:15px}.manifesto-minimized>summary em{font-size:11px}.reading-task.reading-minimized{display:grid;grid-template-columns:1fr auto;gap:8px}.reading-minimized .compact-actions{display:flex}.reading-minimized .compact-actions button{width:auto;min-height:40px}.reading-minimized .compact-actions .habit-undo{grid-column:auto}}

.plan-note{display:flex;align-items:center;gap:12px;border:1px solid #bcdccb;background:var(--green-soft);border-radius:10px;padding:14px 16px;margin-bottom:13px}.plan-note b{color:var(--green);font-size:14px}.plan-note span{font-size:12px;color:var(--muted)}.personal-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:13px 0}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.profile-summary span{display:flex;flex-direction:column;background:var(--wash);border-radius:10px;padding:12px}.profile-summary small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.profile-summary b{font-size:14px;margin-top:3px}.food-authors article>div{min-width:230px}.food-authors article>div small{line-height:1.35}.merge-list{display:grid;gap:9px;max-height:60vh;overflow:auto}.merge-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px}.merge-list article>div{display:flex;flex-direction:column}.merge-list small{font-size:10px;color:var(--muted)}.merge-list button{border:0;background:var(--violet);color:#fff;border-radius:10px;min-height:42px;padding:8px 13px;font-weight:400}.food-suggestions{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 12px 28px #0002}.food-line label:first-child{position:relative}.food-suggestions:empty{display:none}.food-suggestions button{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--paper);padding:10px}.food-suggestions button:last-child{border-bottom:0}.food-suggestions small{font-size:9px;color:var(--muted)}html[data-theme="dark"] .plan-note{background:#11271c;border-color:#326f4e}html[data-theme="dark"] .food-suggestions,html[data-theme="dark"] .food-suggestions button{background:var(--paper);color:var(--ink)}
@media(max-width:760px){.plan-note{align-items:flex-start;flex-direction:column;gap:3px}.personal-plan-grid{grid-template-columns:1fr}.profile-summary{grid-template-columns:1fr 1fr}.personal-features>div{grid-template-columns:1fr auto}.personal-features>div label:last-child{grid-column:2}.food-authors article{grid-template-columns:1fr auto!important}.food-authors article>div{min-width:0}.food-authors article>span{display:none}.merge-list article{align-items:flex-start}.merge-list button{flex:none}.page-title.with-action{gap:12px}.page-title.with-action>button{min-height:48px}}

.title-actions .danger-action{border-color:#e5b8b5;color:var(--red);background:#fff8f7}.delete-warning{border:1px solid #e7b9b5;background:#fff7f6;border-radius:10px;padding:14px;margin-bottom:15px}.delete-warning b{color:var(--red);font-size:14px}.delete-warning p{color:var(--muted);font-size:11px;margin:7px 0 0}.delete-confirm{border:0;border-radius:10px;background:var(--red);color:#fff;padding:10px 15px;font-weight:400}.delete-confirm:disabled{opacity:.38;cursor:not-allowed}html[data-theme="dark"] .title-actions .danger-action,html[data-theme="dark"] .delete-warning{background:#291817;border-color:#74403c}html[data-theme="dark"] .delete-warning b{color:#ffaaa4}
@media(max-width:760px){.title-actions .danger-action{min-height:48px;font-size:12px}.delete-warning{padding:16px}.delete-warning b{font-size:16px}.delete-warning p{font-size:13px}.delete-confirm{min-height:48px}}

.weekly-list{display:grid;gap:11px}.weekly-help{margin:-4px 0 14px;color:var(--muted);font-size:13px}.weekly-score{width:50px;height:50px;display:grid;place-items:center;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-size:15px;font-weight:400}.habit-card.weekly-habit{display:block;padding:17px;border-radius:10px}.weekly-habit-head{display:flex;align-items:center;gap:12px}.weekly-habit-head>i{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-size:24px;font-style:normal}.weekly-habit.done .weekly-habit-head>i{background: rgb(217 247 231) !important;color: #32c985 !important;}.weekly-habit-head>span{display:flex;flex-direction:column;min-width:0}.weekly-habit-head small{font-size:10px;letter-spacing:.12em;color:var(--violet);font-weight:400}.weekly-habit-head b{font-size:18px}.weekly-habit-head em{font-size:13px;color:var(--muted);font-style:normal}.weekly-progress{height:11px;margin:15px 0 10px;background:var(--wash);border-radius:10px;overflow:hidden}.weekly-progress>span{display:block;height:100%;border-radius:inherit;background:var(--violet)}.weekly-habit.done .weekly-progress>span{background:var(--green)}.weekly-summary{display:flex;align-items:center;gap:9px}.weekly-summary>strong{font-size:34px;line-height:1}.weekly-summary>span{display:flex;flex-direction:column;font-size:14px;font-weight:400}.weekly-summary small{font-size:11px;color:var(--muted);font-weight:400}.weekly-entries{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.weekly-entries>span{background:var(--wash);border-radius:10px;padding:7px 9px;color:var(--muted);font-size:11px}.weekly-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.weekly-actions>button{min-height:45px;border-radius:10px;padding: 5px 10px;font-size:13px;font-weight:400}.weekly-actions .habit-undo{width:auto;margin:0}.weekly-modal-summary{display:flex;flex-direction:column;background:var(--violet-soft);border-radius:10px;padding:15px;margin-bottom:15px}.weekly-modal-summary b{font-size:20px;color:var(--violet)}.weekly-modal-summary small{color:var(--muted)}.macro-main{align-items:baseline}.macro-main b small{font-size:19px;color:var(--muted)}.macro-main>span{color:var(--muted);font-size:13px}.macro-row .macro-goal{position:relative;overflow:hidden;padding:12px 10px 15px;font-size:12px}.macro-goal b{font-size:17px}.macro-goal b small{font-size:12px;color:var(--muted);font-weight:400}.macro-goal>i{display:block;height:5px;margin-top:8px;border-radius:10px;background:var(--line);overflow:hidden}.macro-goal>i>u{display:block;width:var(--macro-progress);height:100%;background:var(--violet);text-decoration:none}.meal-card h3{font-size:16px}.meal-card p{font-size:13px}.meal-card small{font-size:12px}.meal-card{padding:13px}.meal-card img{width:68px;height:68px}.meal-card{grid-template-columns:68px 1fr 34px}.meal-card>button{min-width:34px;min-height:44px}html[data-theme="dark"] .weekly-entries>span,html[data-theme="dark"] .weekly-progress{background:#0d1712}html[data-theme="dark"] .weekly-modal-summary{background:var(--violet-soft)}
@media(max-width:760px){label{font-size:14px;gap:8px}input,select,textarea{font-size:16px;padding:14px;min-height:50px}.helper-text,.calculated-date{font-size:13px;line-height:1.5;padding:13px}.auth-brand small,.page-title>small,.section-head small,.manage-card header small,.modal-head small,.today-title small{font-size:11px}.section-head h2,.manage-card h2{font-size:23px}.weekly-help{font-size:14px;line-height:1.5}.weekly-score{width:54px;height:54px;font-size:17px}.habit-card.weekly-habit{padding:18px 16px}.weekly-habit-head>i{width:54px;height:54px;font-size:27px}.weekly-habit-head small{font-size:11px}.weekly-habit-head b{font-size:20px;line-height:1.2}.weekly-habit-head em{font-size:14px;margin-top:3px}.weekly-summary>strong{font-size:42px}.weekly-summary>span{font-size:16px}.weekly-summary small{font-size:13px}.weekly-entries>span{font-size:13px;padding:8px 10px}.weekly-actions{display:grid;grid-template-columns:1fr}.weekly-actions>button{width:100%;min-height:52px;font-size:15px}.macro-main b{font-size:42px}.macro-main b small{font-size:22px}.macro-main>span{font-size:15px}.macro-row{gap:8px}.macro-row .macro-goal{padding:13px 9px 15px;font-size:13px}.macro-goal b{font-size:18px}.macro-goal b small{display:block;font-size:13px;margin-top:2px}.macro-goal>i{height:7px}.meal-card{grid-template-columns:72px 1fr 40px;min-height:98px;padding:13px 10px;gap:12px}.meal-card img{width:72px;height:72px}.meal-icon{width:58px;height:58px;font-size:27px}.meal-card h3{font-size:18px;line-height:1.25}.meal-card p{font-size:14px;line-height:1.55;margin-top:3px}.meal-card small{font-size:13px}.meal-card>button{font-size:24px}.simple-empty{font-size:14px;line-height:1.5}.manage-row small,.muted{font-size:12px}.manage-row>span>b{font-size:15px}.modal-head h2{font-size:25px}.primary-btn{min-height:50px;font-size:15px}}

#challenge-select{background:transparent}.more-menu .logout-menu{margin-top:11px;border-color:#ecc9c6;color:var(--red)}.more-menu .logout-menu>span{background:#fff1ef;color:var(--red)}.compact-setting{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:10px;padding:12px;margin:5px 0 14px}.compact-setting>span{display:flex;flex-direction:column;gap:2px;color:var(--ink)}.compact-setting small{color:var(--muted);font-weight:400}.compact-setting input{width:22px;height:22px;min-height:0;flex:none}.account-form{max-width:680px}.account-form>.primary-btn{min-width:190px}.password-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.password-section>small{display:block;margin-bottom:12px;color:var(--violet);font-size:10px;letter-spacing:.12em;font-weight:400}.recipient-picker{position:relative;display:grid;gap:7px;border:1px solid var(--line);border-radius:10px;padding:16px 12px 12px;margin:0 0 16px}.recipient-picker legend{padding:0 5px;font-size:13px;font-weight:400}.recipient-picker>button{justify-self:start;border:0;background:var(--violet-soft);color:var(--violet);border-radius:10px;padding:7px 10px;font-size:11px;font-weight:400}.recipient-picker label{display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;margin:0;color:var(--ink)}.recipient-picker label input{width:20px;height:20px;min-height:0;flex:none}.recipient-picker label span{display:flex;flex-direction:column}.recipient-picker label small{color:var(--muted);font-size:10px}.user-list article{grid-template-columns:39px minmax(160px,1fr) repeat(3,auto)}html[data-theme="dark"] .more-menu .logout-menu{border-color:#633a37;color:#ffaaa4}html[data-theme="dark"] .more-menu .logout-menu>span{background:#291817;color:#ffaaa4}

@media(max-width:760px){.top{position:static;height:60px;backdrop-filter:none}.top-user{display:none}.challenge-head select,#challenge-select{font-size:16px;max-width:calc(100vw - 128px);padding:2px 0;background:transparent}.shell{padding-top:10px}dialog{inset:0;width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#modal-content{min-height:100dvh;padding:0 16px 28px}.modal-head{position:sticky;top:0;z-index:10;align-items:center;margin:0 -16px 20px;padding:13px 16px;background:var(--paper);border-bottom:1px solid var(--line)}.modal-head>button{width:44px;height:44px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:10px;background:var(--wash);font-size:28px;line-height:1}.modal-head h2{font-size:23px}.modal-head+form>footer,#modal-form>footer,#meal-form>footer,#target-recipients-form>footer{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.modal-head+form>footer>button,#modal-form>footer>button,#meal-form>footer>button,#target-recipients-form>footer>button{width:100%;min-height:50px}.account-form{padding:16px}.account-form>.primary-btn{width:100%}.user-list article{grid-template-columns:42px 1fr;gap:8px}.user-list article>div{min-width:0}.user-list article>button{grid-column:auto;min-height:42px;font-size:11px}.user-list article>button:first-of-type{grid-column:1/2}.recipient-picker label{min-height:58px}.recipient-picker label small{font-size:12px}.compact-setting{min-height:66px}}

html.modal-open,body.modal-open{height:100%;overflow:hidden!important;overscroll-behavior:none!important}
@media(max-width:760px){dialog#modal[open]{display:block!important;position:fixed!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;transform:none!important}#modal-content{display:block;width:100%;height:100%;min-height:100%;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 16px calc(28px + env(safe-area-inset-bottom))}.modal-head{top:0;padding:calc(13px + env(safe-area-inset-top)) 16px 13px}}

body{font-weight:400}
b,strong,h1,h2,h3,.brand,.primary-btn,button{font-weight:400}
.auth-brand small,.page-title>small,.section-head small,.manage-card header small,.modal-head small,.today-title small,.weekly-habit-head small{font-weight:400}
.nutrition-meals-swipe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:13px;margin-top:13px}
.nutrition-meals-swipe>.section{margin-top:0}
.meals-panel{min-width:0}
.meal-slot-list{display:grid;gap:9px}
.meal-slot-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--wash)}
.meal-slot-copy{min-width:0}
.meal-slot-copy h3{margin:0;font-size:17px;line-height:1.25}
.meal-slot-copy p{overflow:hidden;margin:5px 0 1px;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.meal-slot-copy small{color:var(--muted);font-size:11px}
.meal-slot-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:180px}
.meal-slot-actions button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:8px 10px;color:var(--muted);font-size:11px}
.meal-slot-actions .slot-register{border-color:#cfc5ff;background:var(--violet-soft);color:var(--violet)}
.slot-entry-actions{display:inline-flex;align-items:center;gap:4px}
.meal-slot-actions .slot-delete{width:36px;min-width:36px;padding:0;color:var(--danger,#b63d36);background:transparent}
.water-target{color:#3788cf;font-size:13px}
.water-strip{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding:1px 1px 7px;scroll-snap-type:x proximity;scrollbar-width:thin}
.water-strip>*{flex:0 0 150px;min-height:70px;scroll-snap-align:start}
.water-quick{border:1px solid #cce0f2;border-radius:10px;background:#eef6fd;color:#337bb9;font-size:14px}
.water-strip .water-log{display:grid;grid-template-columns:27px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 7px;padding:11px}
.water-strip .water-log>span{grid-row:1/3}
.water-strip .water-log>div{min-width:0}
.water-strip .water-log>button{grid-row:2;min-height:26px;padding:0}
.water-strip .water-log>button:last-child{grid-column:3;grid-row:1/3}
.data-modules-stack{display:grid;gap:13px;margin-top:13px}
.data-modules-stack>.section{margin-top:0}
.mood-card{margin-top:18px;margin-bottom:18px}
.home-layout-settings{margin:13px 0}
.autosave-note{color:var(--green);font-size:11px}
.meal-slot-settings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}
.meal-slot-settings label{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--ink)}
.meal-slot-settings input{width:19px;height:19px;min-height:0}
.home-order-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.home-order-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--wash)}
.home-order-list>div>span{font-size:12px}
.home-order-list>div>div{display:flex;gap:4px}
.home-order-list button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.home-order-list button:disabled{opacity:.3}
.food-row-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.food-row-actions button,.category-manager button{min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:7px 9px;font-size:10px}
.danger-link{color:var(--red)!important}
.category-manager{display:grid;gap:8px;margin-top:14px}
.category-manager article{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px}
.category-manager article>div:first-child{display:flex;flex-direction:column}
.category-manager small{color:var(--muted);font-size:10px}
.category-manager article>div:last-child{display:flex;gap:5px}
.custom-sound-setting{display:grid;gap:10px;border:1px solid var(--line);border-radius:10px;padding:13px;margin-bottom:14px}
.custom-sound-setting>div{display:flex;flex-direction:column}
.custom-sound-setting small{color:var(--muted);font-size:11px}
.custom-sound-setting label{margin:0}
.task-recipients .recipient-members{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:5px}
.task-recipients .recipient-members label{min-height:44px;padding:8px}
.food-line{grid-template-columns:minmax(0,1fr) 132px 42px}
.food-line .food-quantity-field{white-space:nowrap}
.food-line .food-name-field,.food-line .food-quantity-field{min-width:0}
.food-line .remove-food-line{width:42px;min-height:50px}

html[data-theme="dark"] .meal-slot-card,html[data-theme="dark"] .water-quick{background:var(--wash);}

@media(max-width:760px){
  .nutrition-meals-swipe{display:flex;gap:10px;overflow-x:auto;margin-left:-11px;margin-right:-11px;padding: 0 0px 8px;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius: 10px;}
  .nutrition-meals-swipe::-webkit-scrollbar{display:none}
  .nutrition-meals-swipe>.dashboard-swipe-card{flex:0 0 calc(100vw - 44px);min-width:calc(100vw - 44px);scroll-snap-align:start}
  .meal-slot-card{min-height:92px;padding:13px 12px}
  .meal-slot-copy h3{font-size:18px}
  .meal-slot-copy p{font-size:13px}
  .meal-slot-copy small{font-size:12px}
  .meal-slot-actions{max-width:118px}
  .meal-slot-actions button{width:100%;min-height:40px;font-size:12px}
  .water-strip>*{flex-basis:calc((100% - 16px)/3);min-width:104px}
  .water-quick{font-size:13px;padding:8px 4px}
  .water-strip .water-log{grid-template-columns:22px minmax(48px,1fr) 20px}
  .water-strip .water-log>span{font-size:16px}
  .water-strip .water-log b{font-size:12px}
  .water-strip .water-log small{font-size:10px}
  .data-modules-stack{margin-top:16px;margin-bottom:18px}
  .mood-card{margin-top:20px!important;margin-bottom:20px!important}
  .meal-slot-settings{grid-template-columns:1fr 1fr}
  .meal-slot-settings label{min-height:52px;font-size:13px}
  .home-order-list{grid-template-columns:1fr}
  .home-order-list>div{min-height:54px}
  .home-order-list>div>span{font-size:14px}
  .food-line{grid-template-columns:minmax(0,1fr) 124px 42px!important;gap:7px!important;align-items:end}
  .food-line label:nth-child(3){grid-column:auto!important}
  .food-line .food-quantity-field{font-size:12px}
  .food-line .food-quantity-field input{min-width:0;padding-left:10px;padding-right:8px}
  .food-authors article{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .food-authors article>span{display:inline-block!important;margin-right:8px;font-size:12px}
  .food-row-actions{justify-content:flex-start}
  .food-row-actions button{min-height:42px;font-size:12px}
  .task-recipients .recipient-members{grid-template-columns:1fr}
}

@media(max-width:360px){
  .food-line{grid-template-columns:minmax(0,1fr) 112px 38px!important;padding:8px!important}
  .food-line .remove-food-line{width:38px}
}

b,strong,h1,h2,h3,button,.day-progress,.weekly-score,.weekly-summary>span,.challenge-head select{font-weight:400!important}

.nutrition-meals-swipe>.dashboard-swipe-card{height:326px;min-height:326px}
.nutrition-color-card{display:flex;flex-direction:column;min-width:0}
.calorie-color-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:24px;padding:18px;border-radius:10px;background:var(--wash)}
.calorie-color-summary>div{display:flex;flex-direction:column}
.calorie-color-summary small{color:var(--muted);font-size:13px}
.calorie-color-summary>div>b{font-size:33px;line-height:1.15}
.calorie-color-summary em,.macro-color em{color:var(--muted);font-size:.65em;font-style:normal;font-weight:400}
.calorie-color-summary>span{display:flex;align-items:baseline;gap:5px;color:#3d91dc}
.calorie-color-summary>span>b{font-size:24px}
.calorie-color-summary>i,.macro-color>i{display:block;overflow:hidden;height:4px;border-radius:10px;background:var(--line)}
.calorie-color-summary>i{grid-column:1/-1}
.calorie-color-summary u,.macro-color u{display:block;width:var(--macro-progress);height:100%;border-radius:inherit;background:#56aaf0;text-decoration:none}
.macro-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto;padding-top:16px}
.macro-color{display:flex;min-width:0;flex-direction:column;gap:5px;padding:14px;border-radius:10px;background:var(--wash)}
.macro-color>small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.macro-color>b{font-size:20px;line-height:1.15;white-space:normal}
.macro-color em{display:block;margin-top:3px;font-size:12px}
.macro-color.carbs u{background:#27bcb4}.macro-color.fats u{background:#bc64d8}.macro-color.protein u{background:#ffad35}
.meals-panel{display:flex;flex-direction:column;overflow:hidden}
.meal-slot-list{min-height:0;overflow-y:auto;padding-right:4px;overscroll-behavior:contain;scrollbar-width:thin}
.meal-slot-card{flex:0 0 84px}
.meal-slot-actions{flex-wrap:nowrap;max-width:none}
.meal-slot-actions .slot-edit,.meal-slot-actions .slot-register{min-width:80px}
.water-shortcuts>*{flex:1 1 0;min-width:110px;min-height:42px}
.water-log-trigger{width:100%;min-height:38px;margin-top:9px;border:1px solid #cce0f2;border-radius:10px;background:var(--paper);color:#337bb9;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.water-log-modal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.water-log-modal .water-log{min-height:72px}
.food-json-tools textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.food-json-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.food-json-actions button{min-height:48px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.food-json-actions .primary-btn{width:100%;border:0;background:var(--ink);color:#fff}
.food-modal-actions{display:flex;gap:7px;margin-right:auto}
.food-modal-actions button,.sound-test-actions button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:9px 13px}
.sound-test-actions{display:flex;gap:8px;flex-wrap:wrap}
html[data-theme="dark"] .calorie-color-summary,html[data-theme="dark"] .macro-color{background:#202431}
html[data-theme="dark"] .water-log-trigger,html[data-theme="dark"] .food-json-actions button,html[data-theme="dark"] .food-modal-actions button,html[data-theme="dark"] .sound-test-actions button{background:var(--paper)}

@media(max-width:760px){
  .nutrition-meals-swipe>.dashboard-swipe-card{height:326px;min-height:326px}
  .calorie-color-summary{margin-top:20px;padding:16px}
  .calorie-color-summary>div>b{font-size:31px}
  .calorie-color-summary>span>b{font-size:21px}
  .macro-color-grid{gap:7px;padding-top:13px}
  .macro-color{padding:12px 9px}
  .macro-color>small{font-size:11px}
  .macro-color>b{font-size:19px}
  .meal-slot-list{padding-bottom:2px}
  .meal-slot-card{min-height:92px;flex-basis:92px}
  .meal-slot-actions{max-width:92px}
  .meal-slot-actions .slot-edit,.meal-slot-actions .slot-register{min-width:86px;width:86px}
  .water-shortcuts{overflow-x:auto}
  .water-shortcuts>*{flex:1 1 0;min-width:110px;min-height:42px}
  .water-log-trigger{min-height:38px;font-size:12px}
  .water-log-modal{grid-template-columns:1fr}
  .food-json-actions{grid-template-columns:1fr}
  .food-modal-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0}
  .food-modal-actions button{width:100%}
}

.date-bar>.refresh-app{border-color:#cfc5ff;background:var(--violet-soft);color:var(--violet);font-size:20px}
.date-bar>.refresh-app.loading{animation:koba-refresh-spin .75s linear infinite;pointer-events:none}
#pull-refresh-indicator{position:fixed;top:calc(7px + env(safe-area-inset-top));left:50%;z-index:90;display:none;align-items:center;gap:7px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 8px 24px #0002;color:var(--muted);transform:translate(-50%,-72px);transition:transform .16s ease,opacity .16s ease;opacity:0;pointer-events:none}
#pull-refresh-indicator.active,#pull-refresh-indicator.refreshing{opacity:1}
#pull-refresh-indicator.ready{color:var(--violet)}
#pull-refresh-indicator.refreshing{transform:translate(-50%,8px)!important}
#pull-refresh-indicator>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--violet-soft);color:var(--violet);font-size:18px}
#pull-refresh-indicator.refreshing>span{animation:koba-refresh-spin .75s linear infinite}
#pull-refresh-indicator>small{font-size:11px;white-space:nowrap}
@keyframes koba-refresh-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){#pull-refresh-indicator{display:flex}.date-bar>.refresh-app{width:42px;height:42px;flex:none}}

.day-progress{border-radius:100%}
.challenge-track{height:4px}
:is(.auth-card,.challenge-head,.macro-card,.water-card,.section,.manage-card,.meal-card,.habit-card,.manifesto-card,.manifesto-minimized,.mood-card,.locked-actions,.checkin-status,.meal-slot-card,.calorie-color-summary,.macro-color,.weekly-habit,.plan-note,.chart-card,.simple-empty,.challenge-list>article,.menu-list>button,.user-list>article,.stats-grid>article,.participant-progress>article,.food-table>article,.recipe-list>article,.analysis-list>article,.category-manager>article,.water-log,.data-day-list>article,.action-grid>button){border-radius:10px!important}
.admin-css-panel>p{margin:0;color:var(--muted);font-size:12px}
.custom-css-code{min-height:48vh;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;tab-size:2;white-space:pre}
.custom-css-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.custom-css-actions button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:9px 12px;font-size:12px}
.custom-css-safe{border:1px solid #e9c08d;border-radius:10px;background:#fff7eb;color:#8b5a24;padding:11px 12px;font-size:12px}
html[data-theme="dark"] .custom-css-actions button{background:var(--paper)}
html[data-theme="dark"] .custom-css-safe{border-color:#795130;background:#271d14;color:#ffc18a}
@media(max-width:760px){.custom-css-code{min-height:52vh}.custom-css-actions{grid-template-columns:1fr 1fr}.admin-css-panel .section-head{align-items:center}}

html.modal-open{height:auto!important;overflow:hidden!important}
body.modal-open{position:fixed!important;right:0;left:0;height:auto!important;overflow:hidden!important}
dialog#modal{border-radius:10px}
.food-line{align-items:start!important;border-radius:10px!important}
.food-line .remove-food-line{min-height:80px}
.habit-card{border:1px solid var(--line)!important;border-radius:10px!important}
.habit-card.done{}
.habit-actions button{min-height:30px!important;border-radius:10px!important}
.meter,.challenge-track,.calorie-color-summary>i,.macro-color>i,.weekly-progress,.book-progress,.celebration-meter,.macro-goal>i{height:4px!important}

.distance-conversion-preview{margin:-4px 0 14px;color:var(--muted);font-size:13px;line-height:1.45}
.distance-conversion-preview.invalid{color:var(--red)}

.weekly-today-total{margin:12px 0 0;color:var(--muted);font-size:13px}
.weekly-today-total b{color:var(--ink)}
.weekly-actions .habit-secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.quantity-editing-label{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--violet-soft);color:var(--violet);font-size:13px}
.quantity-log-history{margin-top:18px}
.quantity-log-history>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.quantity-log-history>header>b{font-size:15px}
.quantity-log-history>header>small{min-width:28px;padding:4px 8px;border-radius:10px;background:var(--wash);color:var(--muted);text-align:center}
.quantity-log-history>div{display:grid;gap:8px}
.quantity-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--wash)}
.quantity-log-row>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.quantity-log-row b{font-size:16px}
.quantity-log-row small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.quantity-log-row>button{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:12px}
.quantity-log-row>button.danger-link{color:var(--red)}

@media(max-width:760px){
  .weekly-today-total{font-size:14px}
  .quantity-log-row{grid-template-columns:minmax(0,1fr) auto auto;padding:10px 9px}
  .quantity-log-row b{font-size:17px}
  .quantity-log-row>button{min-height:42px;padding:7px 9px}
}
.day-progress{border-width:4px}
:is(.appearance-card,.history-summary>article,.ai-flow>article,.meal-slot-settings>label,.home-order-list>div,.recipient-picker,.recipient-picker>label,.feature-config>div,.journal-history>article,.book-modal-title,.weekly-modal-summary,.weekly-entries>span,.profile-summary>span,.merge-list>article,.delete-warning,.custom-sound-setting,.compact-setting,.food-suggestions,.calculated-date,.helper-text,.missing-callout,.chart-empty,.weight-goals>span,.mood-change-list>span,.book-history,.meal-card,.data-day-list>article,.water-log,.food-line){border-radius:10px!important}
.meal-autosave-status{min-height:18px;margin:5px 0;color:var(--muted);font-size:11px}
.meal-autosave-status[data-state="saving"],.meal-autosave-status[data-state="pending"]{color:var(--violet)}
.meal-autosave-status[data-state="saved"]{color:var(--green)}
.meal-autosave-status[data-state="error"]{color:var(--red)}
.macro-color.over{border:1px solid #e9a7a3;background:#fff5f4}
.macro-color.over>small,.macro-color.over>b,.macro-color.over em,.macro-over{color:var(--red)}
.macro-over{display:block;font-size:10px;line-height:1.2}
.macro-color.over u,.calorie-color-summary.over u{background:var(--red)}
.calorie-color-summary.over{border:1px solid #e9a7a3;background:#fff5f4}
.calorie-color-summary.over>span{color:var(--red)}
html[data-theme="dark"] .macro-color.over,html[data-theme="dark"] .calorie-color-summary.over{border-color:#814743;background:#2b1918}
@media(max-width:760px){dialog#modal[open]{border-radius:0!important}.food-line{align-items:start!important}.food-line .remove-food-line{min-height:80px}.meal-autosave-status{font-size:12px}}

:root{
  --ink:#1c2433;
  --muted:#707887;
  --line:rgba(23,27,41,.10);
  --paper:#ffffff;
  --wash:#f4f6fa;
  --violet:#559bff;
  --violet-soft:#eaf2ff;
  --green:#31c985;
  --green-soft:rgba(49,201,133,.12);
  --orange:#ffb43b;
  --red:#ff4d4f;
  --shadow:none;
}
html{background:var(--wash)}
body{
  background:var(--wash);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",sans-serif;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#f4f5f8;
  --muted:#a4a8b2;
  --line:rgba(255,255,255,.10);
  --paper:#242a3a;
  --wash:#171b29;
  --violet:#559bff;
  --violet-soft:#213b60;
  --green:#31c985;
  --green-soft:rgba(49,201,133,.13);
  --orange:#ffb43b;
  --red:#ff4d4f;
  --shadow:none;
  background:#171b29;
}
html[data-theme="dark"] body{background:#171b29;color:var(--ink)}
html[data-theme="dark"] .top{background:#171b29;border-color:rgba(255,255,255,.10);backdrop-filter:none}
html[data-theme="dark"] .bottom{background:#242a3af5;border-color:rgba(255,255,255,.08);backdrop-filter:none}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:#293143;border-color:rgba(255,255,255,.08);color:#f4f5f8}
html[data-theme="dark"] option{background:#293143;color:#f4f5f8}
html[data-theme="dark"] .meal-card,
html[data-theme="dark"] .habit-card{background:#242a3a}
html[data-theme="dark"] .simple-empty,
html[data-theme="dark"] .macro-row span,
html[data-theme="dark"] .recipe-macros span,
html[data-theme="dark"] .measurement-summary span,
html[data-theme="dark"] .import-counts span{background:#202534}
html[data-theme="dark"] .manual-water,
html[data-theme="dark"] .water-actions button{background:#213b60;border-color:rgba(85,155,255,.24);color:#8fc0ff}
html[data-theme="dark"] .theme-options>button{background:#202534;border-color:rgba(255,255,255,.08);color:#f4f5f8}
html[data-theme="dark"] .theme-options>button.selected{background:#213b60;border-color:#559bff;color:#f4f5f8}
html[data-theme="dark"] .meter,
html[data-theme="dark"] .weekly-progress{background:#121624}
html[data-theme="dark"] .add-line{background:#213b60;border-color:rgba(85,155,255,.24);color:#8fc0ff}
html[data-theme="dark"] .manifesto-card,
html[data-theme="dark"] .mood-card,
html[data-theme="dark"] .locked-actions,
html[data-theme="dark"] .rich-editor,
html[data-theme="dark"] .manifesto-minimized{background:#242a3a;color:#f4f5f8;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .food-suggestions,
html[data-theme="dark"] .food-suggestions button{background:#293143;color:#f4f5f8;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .meal-slot-card,
html[data-theme="dark"] .water-quick{background:#202534;padding: 10px;}
html[data-theme="dark"] .calorie-color-summary,
html[data-theme="dark"] .macro-color{background:#242a3a}

:root { --td-gap: 12px; --td-radius: 10px; }
html { scroll-behavior: auto; touch-action: pan-x pan-y; }
body { font-weight: 400; }
body { font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button, input, select, textarea { font-family: inherit; }
h1,h2,h3,h4,b,strong { font-weight: 400; }
button,input,select,textarea { border-radius: var(--td-radius); }
button { min-height: 42px; padding: 9px 13px; font-size: 14px; box-shadow: none; }
input,select,textarea { font-size: 16px; min-height: 44px; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline: 2px solid var(--accent,#8d78ed); outline-offset: 2px; }
.top { position: static; padding-block: 10px; min-height: 56px; }
.top .brand b { font-size: 14px; letter-spacing: .12em; }
.shell { max-width: 1200px; padding-top: 14px; }
.section,.chart-card,.manage-card,.macro-card,.water-card,.mood-card,.habit-card,.meal-slot-card,.food-bank-item,.checkin-status,.challenge-head { border-radius: var(--td-radius); box-shadow: none; }
.section,.manage-card,.chart-card { padding: 16px; margin-bottom: 12px; }
.section-head { margin-bottom: 12px; gap: 10px; }
.section-head h2,.page-title h1 { font-size: 21px; line-height: 1.25; }
.section-head small,.page-title>small { font-size: 12px; letter-spacing: .08em; }
.page-title { margin: 16px 0; }
.page-title p { font-size: 14px; margin: 6px 0 0; }
.challenge-head { padding: 16px; display: block; background: var(--paper); border: 0; margin-bottom: 10px; }
.td-challenge-row { display: flex; align-items: center; gap: 12px; }
.td-challenge-row select { flex: 1; min-width: 0; width: 100%; font-size: 17px; padding: 6px 26px 6px 0; color: var(--ink); background-color: transparent; border: 0; }
.td-day { white-space: nowrap; font-size: 15px; color: var(--muted); }
.td-day b { font-size: 26px; color: var(--ink); }
.challenge-head .challenge-track { width: 100%; margin-top: 10px; height: 4px; }
.date-bar { margin: 0 0 14px; gap: 6px; }
.date-bar button { width: 42px; min-width: 42px; height: 42px; min-height: 42px; padding: 4px; font-size: 22px; }
.date-bar label { padding: 0 8px; min-height: 42px; }
.date-bar input { min-height: 42px; font-size: 15px; padding: 0; }
.date-bar label>small { display: none; }
.today-title { display: none; }
.mood-card { padding: 12px 14px; margin-bottom: 12px; border: 0; }
.mood-card h2 { font-size: 16px; margin: 2px 0; }
.mood-card p { display: none; }
.mood-options { gap: 6px; margin-top: 8px; }
.mood-options button { min-height: 45px; padding: 4px 6px; border-width: 1px; display: flex; gap: 5px; justify-content: center; align-items: center; }
.mood-options button span { font-size: 25px; }
.mood-options button small { font-size: 12px; }
.checkin-status { padding: 12px 14px; margin-bottom: 12px; border: 0; background: var(--paper); }
.checkin-status header { margin: 0; align-items: center; }
.checkin-status h2 { font-size: 17px; margin: 0; }
.checkin-status .requirement-list { margin: 10px 0 0; gap: 8px; }
.checkin-status .requirement-list>span { font-size: 14px; padding: 0; background: transparent; border: 0; }
.td-checkin-count { color: var(--muted); font-size: 14px; }
.habit-list,.weekly-list { gap: 0; }
.habit-card { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; min-height: 0; }
.habit-card:last-child { border-bottom: 0; }
.habit-card.done { border: 0; border-bottom: 1px solid #65ce9680; background: transparent; }
.habit-card h3,.habit-title { font-size: 16px; line-height: 1.3; }
.habit-card p,.habit-card small { font-size: 13px; }
.habit-actions { gap: 7px; margin-top: 7px; }
.habit-actions button { min-height: 34px; font-size: 14px; padding: 5px 12px; border-radius: 10px; }
.weekly-help,.weekly-card .weekly-label { display: none; }
.weekly-card { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.weekly-card h3 { font-size: 16px; }
.weekly-card .weekly-amount { font-size: 24px; }
.weekly-entry-list { max-height: 78px; overflow: auto; }
.weekly-card .weekly-actions { margin-top: 8px; }
.weekly-card .weekly-actions button { min-height: 36px; }
.nutrition-meals-swipe { align-items: stretch; gap: 12px; margin-bottom: 12px; }
.nutrition-meals-swipe>.dashboard-swipe-card {min-height: 280px;max-height: 280px;margin: 0;padding: 16px;}
.nutrition-color-card header { margin-bottom: 18px; }
.nutrition-color-card header>span { font-size: 18px; }
.nutrition-color-card header button { min-height: 36px; }
.calorie-color-summary { padding: 0; margin-bottom: 18px; }
.calorie-color-summary>div>b { font-size: 29px; }
.calorie-color-summary em { font-size: 14px; }
.macro-color-grid { gap: 10px; }
.macro-color { background: transparent; padding: 0; min-width: 0; border: 0; }
.macro-color small { font-size: 13px; }
.macro-color b { font-size: 20px; }
.macro-color b em { display: block; font-size: 13px; font-weight: 400; }
.macro-over { font-size: 12px; }
.calorie-color-summary>i,.macro-color>i,.meter,.challenge-track,.book-progress .meter { height: 4px; }
.meal-slot-list { overflow-y: auto; min-height: 0; }
.meal-slot-card { border: 0; border-radius: 0; background: transparent; padding: 12px 0; border-bottom: 1px solid var(--line); }
.meal-slot-card:last-child { border-bottom: 0; }
.meal-slot-card h3 { font-size: 16px; }
.meal-slot-card p { display: none; }
.meal-slot-card small { font-size: 13px; }
.meal-slot-actions button { min-height: 36px; }
.water-dashboard .section-head h2 { font-size: 23px; }
.water-shortcuts { margin-top: 12px; }
.water-shortcuts>* { min-height: 42px; flex: 1; }
.water-log-trigger { min-height: 38px; font-size: 13px; letter-spacing: 0; text-transform: none; border-radius: 10px; }
.optional-link { min-height: 44px; color: var(--ink); border: 1px solid var(--line); border-radius: 10px; background: var(--paper); font-size: 16px; margin: 0 0 14px; }
.simple-empty,.chart-empty { min-height: 0; padding: 16px 0; font-size: 14px; }
.td-list { display: grid; gap: 0; }
.td-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.td-row:last-child { border-bottom: 0; }
.td-row>div { flex: 1; min-width: 0; }
.td-row h3,.td-row b { margin: 0; font-size: 16px; }
.td-row small,.td-row p { display: block; font-size: 13px; margin: 4px 0 0; color: var(--muted); }
.td-row button { flex: 0 0 auto; }
.td-link-row {width: 100%;text-align: left;background: transparent;border: 0;border: 1px solid var(--line);border-radius: 0;color: var(--ink);min-height: 60px !important;border-radius: 100px !important;}
.td-group { margin-bottom: 18px; }
.td-group>h2 { font-size: 12px; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; margin: 0 0 4px; }
.td-group .menu-list {}
.td-group .menu-list>button { border: 0; border-radius: 0; background: transparent; min-height: 48px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.td-group .menu-list>button>span { display: none; }
.td-group .menu-list>button b { font-size: 16px; }
.td-group .menu-list>button small { font-size: 13px; }
.td-history-section { border-bottom: 1px solid var(--line); }
.td-history-section>summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 0; cursor: pointer; list-style: none; }
.td-history-section>summary::-webkit-details-marker { display: none; }
.td-history-section>summary::after { content: '+'; color: var(--muted); }
.td-history-section[open]>summary::after { content: '−'; }
.td-history-section>summary span { flex: 1; }
.td-history-section>summary small { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); }
.td-history-section .td-history-body { padding: 0 0 16px; }
.td-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.td-filter-bar select,.td-filter-bar input { flex: 1; min-width: 130px; }
.td-chart { width: 100%; touch-action: pan-y; }
.td-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.td-chart text { font: 12px system-ui; fill: var(--muted); }
.td-chart .chart-grid { stroke: var(--line); }
.td-chart circle[data-point] { cursor: pointer; stroke-width: 18px; stroke: transparent; }
.td-chart circle[data-point]:focus-visible { stroke: var(--accent); stroke-opacity: .3; outline: none; }
.td-chart-info { font-size: 14px; padding-top: 8px; min-height: 55px; }
.td-chart-info b { font-size: 19px; }
.td-chart-info small { display: block; color: var(--muted); font-size: 13px; margin-top: 4px; }
.td-number-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 12px 0; }
.td-number-strip b { font-size: 21px; display: block; }
.td-number-strip small { font-size: 13px; color: var(--muted); }
.td-screen { position: fixed; inset: 0; z-index: 80; background: var(--paper); display: flex; flex-direction: column; height: 100dvh; }
.td-screen[hidden] { display: none; }
.td-screen-head { display: flex; align-items: center; gap: 12px; padding: max(10px,env(safe-area-inset-top)) 16px 10px; border-bottom: 1px solid var(--line); flex-shrink: 0; }
.td-screen-head h1 { flex: 1; min-width: 0; margin: 0; font-size: 19px; line-height: 1.25; }
.td-screen-head button { padding: 6px 10px; }
.td-screen-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px max(16px,calc((100% - 850px)/2)) max(24px,env(safe-area-inset-bottom)); scroll-padding: 70px 0; }
.td-screen-body form { padding: 0; }
.td-screen-body footer { display: flex; gap: 10px; margin-top: 18px; }
.td-screen-body label { font-size: 14px; }
.td-screen-body label small { font-size: 13px; }
.td-search { display: flex; width: 100%; align-items: center; gap: 8px; margin: 10px 0; }
.td-search input { width: 100%; flex: 1; min-width: 0; }
.td-inline-macros { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; margin: 8px 0; }
.td-inline-macros span { white-space: nowrap; }
.td-item-fields { display: grid; grid-template-columns: 1fr minmax(105px,160px); align-items: center; gap: 12px; margin: 18px 0; }
.td-item-fields label { display: contents; }
.td-item-fields input,.td-item-fields select { width: 100%; }
.td-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.td-error { color: #d44343; white-space: pre-line; font-size: 14px; }
.td-dim { color: var(--muted); font-size: 14px; }
.td-empty { padding: 18px 0; color: var(--muted); font-size: 14px; }
.td-time { font-size: clamp(32px,10vw,54px); font-variant-numeric: tabular-nums; margin: 16px 0; }
.td-admin-section>summary { cursor: pointer; font-size: 16px; padding: 15px 0; }
.td-admin-section { border-bottom: 1px solid var(--line); }
.td-admin-section .manage-card { border: 0; padding: 6px 0 14px; }
.td-chip { font-size: 12px; color: var(--muted); border: 1px solid var(--line); border-radius: 10px; padding: 3px 7px; }
.td-consumed { opacity: .65; }
.td-plan-row input { width: 90px; min-width: 0; }
.td-plan-targets { position: sticky; top: -16px; background: var(--paper); padding: 12px 0; z-index: 2; }
.td-photo { max-width: 100%; border-radius: 10px; }
.td-share-preview { max-width: 360px; width: 100%; height: auto; }
dialog { border-radius: 10px; }
dialog .modal-head { padding: 14px 18px; }
dialog .modal-head h2 { font-size: 20px; }
dialog form { padding: 16px; }
.danger-link { color: #d44343; }
.td-nutrients { display:flex; flex-wrap:wrap; gap:8px 16px; padding:12px 0; font-size:15px; }
.td-nutrients>span { white-space:nowrap; }
.td-search-button { width:100%; text-align:left; margin:12px 0; background:var(--soft,var(--paper)); }
.td-screen-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0; }
.td-inline-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.td-inline-fields input,.td-inline-fields select { width:100%; min-width:0; }
.td-food-name { background:transparent; border:0; padding:0; min-height:30px; text-align:left; font-size:16px; color:var(--ink); }
.td-meal-photo { width:100%; max-width:400px; max-height:360px; object-fit:contain; border-radius:10px; }
.td-avatar { width:80px; height:80px; object-fit:cover; border-radius:100%; }
.danger-text { color:#d44343; }
.td-screen-body .helper-text,.td-screen-body .modal-error { white-space:pre-wrap; }
.td-screen-body form { display:grid; gap:12px; }
.td-screen-body label { display:grid; gap:6px; }
.td-screen-body .compact-setting,.td-screen-body .check-field {display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:100px!important;min-height:60px}
.td-screen-body .compact-setting input,.td-screen-body .check-field input { min-height:20px; width:22px; height:22px; flex-shrink:0; }
.td-plan-row { align-items:flex-start; }
.td-plan-row label { display:flex; align-items:center; gap:8px; margin-top:8px; }
.water-track,.weekly-progress,.challenge-track,.macro-color>i,.calorie-color-summary>i,.progress,.progress-bar,.book-progress-bar,.celebration-meter { height:4px; overflow:hidden; }
.water-track { background:var(--line); border-radius:10px; }
.water-track span { display:block; height:100%; background:#518ed1; }
.section,.manage-card,.chart-card,.habit-card,.checkin-status,.macro-color,.meal-slot-card,.food-bank-item,.mood-card,.water-card,.custom-sound-setting { border-radius:10px; }
.day-progress { border-radius:100%; }
.td-screen[hidden] { display:none !important; }
.td-history-body p { white-space:pre-wrap; }
.weekly-habit.done .weekly-entries,.weekly-habit.done .weekly-today-total { display:none; }
.weekly-habit.done .weekly-summary { margin:4px 0; }
.weekly-habit.done .weekly-summary strong { font-size:20px; }
.weekly-actions button {min-height:36px;font-size: 12px;}
@media(max-width:760px) {
 .shell { padding: 10px 12px calc(90px + env(safe-area-inset-bottom)); }
 .top { padding: 8px 14px; }
 .top-user { display: none; }
 .section,.chart-card,.manage-card { padding: 14px; }
 .nutrition-meals-swipe { margin-inline: 0; grid-auto-columns: 94%; }
 .nutrition-meals-swipe>.dashboard-swipe-card { min-width: 0; min-height: 290px; padding: 14px; }
 .macro-color-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .macro-color b { font-size: 19px; }
 .bottom { padding: 5px 6px max(5px,env(safe-area-inset-bottom)); }
 .bottom button { min-height: 48px; padding: 4px 0; font-size: 12px; }
 .bottom button i { font-size: 22px; }
 .habit-card { padding: 12px 0; }
 .habit-actions button { min-height: 36px; }
 .td-screen-head { padding-inline: 12px; }
 .td-screen-body { padding-inline: 14px; }
 dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; inset: 0; border-radius: 0; }
 dialog[open] { display: flex; }
 #modal-content { width: 100%; max-height: none; flex: 1; overflow-y: auto; }
 .food-line { align-items: start; border-radius: 10px; }
}

.shell { max-width: 1040px; }
.bottom { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.bottom i svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bottom [data-view="more"] i svg circle { fill: currentColor; stroke: none; }
.section,.manage-card,.chart-card,.checkin-status,.mood-card,.nutrition-color-card { border-color: rgba(22,32,28,.07); }
html[data-theme="dark"] .section,html[data-theme="dark"] .manage-card,html[data-theme="dark"] .chart-card,html[data-theme="dark"] .checkin-status,html[data-theme="dark"] .mood-card { border-color: rgba(255,255,255,.06); }

.challenge-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; align-items: center; padding: 18px 20px; color: #fff; background: linear-gradient(135deg,#17251f,#101914); border: 0; }
.challenge-head.day-complete {}
.td-challenge-copy { min-width: 0; }
.td-challenge-copy>small { color: #91a69d; font-size: 10px; letter-spacing: .12em; }
.td-challenge-copy select { width: 100%; min-height: 0; padding: 3px 28px 3px 0; border: 0; color: #fff; background: transparent; font-size: clamp(18px,2.2vw,23px); line-height: 1.2; }
.td-challenge-copy select option { color: #17211d; background: #fff; }
.td-challenge-copy p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 8px 0 0; color: #fff; }
.td-challenge-copy p b { font-size: 16px; }
.td-challenge-copy p span { color: #aebcb5; font-size: 12px; }
.td-progress-ring { --ring-size: 72px; width: var(--ring-size); height: var(--ring-size); display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#559bff calc(var(--td-progress)*1%),rgba(255,255,255,.12) 0); }
.td-progress-ring>span { width: 58px; height: 58px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: #121d18; line-height: 1.05; }
.day-complete .td-progress-ring>span { background: #123329; }
.td-progress-ring b { font-size: 17px; }
.td-progress-ring small { color: #aebcb5; font-size: 8px; }
.challenge-head>.challenge-track { grid-column: 1 / -1; width: 100%; height: 4px; margin: 0; background: rgba(255,255,255,.1); }
.challenge-head>.challenge-track span { background: #559bff; }
.challenge-head.day-complete>.challenge-track span { background: #70dba7; }

.checkin-status { padding: 12px 14px; }
.checkin-status header { gap: 10px; }
.checkin-status .checkin-icon { width: 34px; height: 34px; font-size: 17px; border-radius: 50%; }
.checkin-status header h2 { font-size: 16px; }
.checkin-status .requirement-list {display: table;gap: 6px;margin: 10px 0 0 23px;}
.checkin-status .requirement-list>span { min-height: 0; padding: 0; color: var(--muted); background: transparent; }

.water-dashboard .section-head h2 { display: flex; align-items: baseline; gap: 6px; font-size: 25px; }
.water-dashboard .section-head h2 em { color: var(--muted); font-size: 14px; font-style: normal; }
.water-dashboard .section-head>span { color: var(--muted); font-size: 12px; }
.water-shortcuts { display: flex; gap: 8px; overflow: visible; }
.water-shortcuts>* { min-width: 0 !important; min-height: 40px; border: 0; color: #337bb9; background: #eef6fd; }
html[data-theme="dark"] .water-shortcuts>* { color: #89c7f8; background: #122536; }
.water-log-trigger { border: 0; color: var(--muted); background: transparent; text-align: left; padding-left: 0; }
.td-birthday { display: grid; gap: 2px; margin: 0 0 12px; padding: 12px 14px; border-radius: 10px; background: var(--violet-soft); color: var(--violet); }
.td-birthday small { color: var(--muted); }

html[data-theme="dark"] .td-menu-group {margin-bottom: 20px;background: rgb(36 42 58) !important;padding: 11px;border-radius: 10px;}
 .td-menu-group {padding: 11px;border-radius: 10px;background: var(--ds-surface) !important;color: var(--ds-text-primary);border: 1px solid var(--ds-border) !important;border-radius: var(--ds-radius-card) !important;box-shadow: none !important;}

.td-menu-group .menu-list>button,.td-menu-group .td-more-action {width: 100%;display: grid !important;grid-template-columns: minmax(0,1fr) auto !important;align-items: center;gap: 12px;min-height: 52px;padding: 10px 2px !important;border: 0 !important;border-bottom: 1px solid var(--line) !important;border-radius: 0 !important;background: transparent !important;color: var(--ink);text-align: left;border-radius: 0 !important;}
.td-menu-group .menu-list>button>span { display: none !important; }
.td-menu-group .menu-list>button>div,.td-menu-group .td-more-action>div {grid-column: 1;min-width: 0;display: flex;flex-direction: column;overflow-wrap: normal;word-break: normal;line-height: 15px;}
.td-menu-group .menu-list>button>div b,.td-menu-group .td-more-action b { white-space: normal; font-size: 16px; }
.td-menu-group .menu-list>button>div small,.td-menu-group .td-more-action small { white-space: normal; font-size: 13px; line-height: 1.35; color: var(--muted); }
.td-menu-group .menu-list>button>i,.td-menu-group .td-more-action>i { grid-column: 2; font-style: normal; color: var(--muted); }
.td-exit-group .menu-list>button { color: var(--red); }

.td-challenges-title { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; }
.td-challenges-title>div { flex: 1 1 330px; }
.td-challenges-title>button { min-height: 38px; }
.td-challenge-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.td-challenge-card { padding: 16px; border-radius: 10px; background: var(--paper); border: 1px solid rgba(22,32,28,.07); }
html[data-theme="dark"] .td-challenge-card { border-color: rgba(255,255,255,.06); }
.td-challenge-card-top { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.td-challenge-card h2 { margin: 3px 0; font-size: 18px; line-height: 1.25; }
.td-challenge-card p,.td-challenge-card small { margin: 0; color: var(--muted); font-size: 12px; }
.td-challenge-card-top>div>small { color: var(--violet); font-size: 9px; letter-spacing: .1em; }
.td-challenge-card-top>span { display: flex; align-items: baseline; gap: 4px; color: var(--ink); font-size: 26px; }
.td-challenge-card-top>span small { font-size: 12px; }
.td-challenge-card .challenge-track { width: 100%; height: 4px; margin: 15px 0 10px; background: var(--line); }
.td-challenge-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.td-challenge-card footer button { min-height: 36px; padding: 6px 14px; }
.td-invite { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.td-invite h3 { margin: 0; }
.td-invite small { color: var(--muted); }
.td-challenge-detail-hero { padding: 20px; border-radius: 10px; color: #fff; background: linear-gradient(135deg,#17251f,#101914); }
.td-challenge-detail-hero>small { color: #94a9a0; letter-spacing: .1em; font-size: 10px; }
.td-challenge-detail-hero h1 { margin: 6px 0 18px; font-size: clamp(24px,5vw,34px); line-height: 1.15; }
.td-challenge-detail-hero>div:not(.challenge-track) { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.td-challenge-detail-hero>div span { color: #aebcb5; }
.td-challenge-detail-hero .challenge-track { width: 100%; margin: 15px 0 0; background: rgba(255,255,255,.1); }
.td-primary-actions>button:first-child { color: #fff; background: var(--violet); border-color: var(--violet); }

.td-number-strip { grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); }
.td-chart svg { max-height: 230px; }
.td-chart-count { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.td-time { width: min(220px,70vw); height: min(220px,70vw); margin: 24px auto; display: grid; place-items: center; border: 10px solid var(--violet-soft); border-top-color: var(--violet); border-radius: 50%; font-size: clamp(31px,9vw,48px); }

.td-share-settings { margin-bottom: 12px; }
.td-preview-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.td-preview-modes button.selected { color: var(--violet); border-color: var(--violet); background: var(--violet-soft); }
.share-preview-surface { width: 100%; min-height: 260px; display: flex; align-items: flex-start; justify-content: center; padding: 12px; border-radius: 10px; overflow: hidden; background-color: #e7ebe9; background-image: linear-gradient(45deg,#d8ddda 25%,transparent 25%),linear-gradient(-45deg,#d8ddda 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8ddda 75%),linear-gradient(-45deg,transparent 75%,#d8ddda 75%); background-size: 22px 22px; background-position: 0 0,0 11px,11px -11px,-11px 0; }
.share-preview-surface.with-photo { min-height: 520px; align-items: center; background-size: cover; background-position: center; background-color: #34423c; background-image: linear-gradient(145deg,#51655d,#19241f); }
.share-preview-card-host { flex: none; position: relative; }
.share-meal-card,.share-meal-card * { box-sizing: border-box; }
.share-meal-card { width: 900px; height: auto; padding: 52px; overflow: hidden; border: 2px solid var(--share-line); border-radius: 42px; color: var(--share-text); background: var(--share-bg); box-shadow: 0 18px 55px rgba(0,0,0,.28); font-family: Inter,Arial,sans-serif; line-height: 1.25; transform-origin: top left; -webkit-font-smoothing: antialiased; }
.share-meal-header { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 16px; padding-bottom: 30px; border-bottom: 1px solid var(--share-line); }
.share-meal-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; color: var(--share-accent); background: rgba(255,255,255,.08); }
.share-meal-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.share-meal-header h2 { margin: 0; color: var(--share-text); font-size: 38px; font-weight: 700; }
.share-meal-header p { margin: 5px 0 0; color: var(--share-muted); font-size: 21px; }
.share-meal-header>small { color: var(--share-muted); font-size: 17px; font-weight: 500; letter-spacing: .12em; }
.share-meal-calories { padding: 38px 0 28px; }
.share-meal-calories small { display: block; color: var(--share-muted); font-size: 17px; letter-spacing: .12em; }
.share-meal-calories strong { display: block; margin-top: 6px; color: var(--share-text); font-size: 76px; font-weight: 800; letter-spacing: -.04em; }
.share-meal-calories em { font-size: 28px; font-style: normal; font-weight: 500; letter-spacing: 0; }
.share-meal-macros { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding-bottom: 34px; }
.share-meal-macros>span { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 12px 17px; border-radius: 20px; background: rgba(255,255,255,.075); }
.share-meal-macros small { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #071015; font-size: 17px; font-weight: 700; }
.share-meal-macros .carbs small { background: #39c6be; }
.share-meal-macros .fats small { background: #efb34f; }
.share-meal-macros .protein small { background: #988cff; }
.share-meal-macros b { color: var(--share-text); font-size: 23px; font-weight: 600; }
.share-meal-foods { border-top: 1px solid var(--share-line); }
.share-meal-foods>div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 24px; padding: 19px 0; border-bottom: 1px solid var(--share-line); }
.share-meal-foods span { min-width: 0; color: var(--share-text); font-size: 27px; font-weight: 500; overflow-wrap: anywhere; }
.share-meal-foods b { white-space: nowrap; color: var(--share-muted); font-size: 25px; font-weight: 500; }
.share-meal-challenge { padding-top: 34px; }
.share-meal-challenge>small { color: var(--share-accent); font-size: 16px; font-weight: 700; letter-spacing: .15em; }
.share-meal-challenge>div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 24px; margin-top: 8px; }
.share-meal-challenge h3 { margin: 0; color: var(--share-text); font-size: 29px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.share-meal-challenge b { white-space: nowrap; color: var(--share-text); font-size: 22px; font-weight: 600; }
.share-meal-progress { display: block; height: 8px; margin-top: 21px; overflow: hidden; border-radius: 8px; background: rgba(255,255,255,.12); }
.share-meal-progress i { display: block; height: 100%; border-radius: inherit; background: var(--share-accent); }

@media(max-width:760px) {
 .shell { width: 100%; max-width: none; }
 .challenge-head { margin-inline: 0; padding: 15px; }
 .td-progress-ring { --ring-size: 66px; }
 .td-progress-ring>span { width: 53px; height: 53px; }
 .td-challenge-copy p { display: grid; gap: 3px; }
 .date-bar { justify-content: stretch; }
 .date-bar label { flex: 1; min-width: 0; }
 .date-bar input { width: 100%; max-width: none; }
 .nutrition-meals-swipe>.dashboard-swipe-card { min-height: 270px; max-height: 320px; }
 .td-challenge-grid { grid-template-columns: 1fr; }
 .td-challenges-title>div { flex-basis: 100%; }
 .td-invite { grid-template-columns: minmax(0,1fr) auto; }
 .td-invite button:last-child { grid-column: 2; }
 .td-screen-head h1 { font-size: 18px; }
 .td-screen-head button { min-width: 42px; }
 .td-number-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .share-preview-surface { min-height: 220px; }
 .share-preview-surface.with-photo { min-height: 480px; }
 .td-share-settings .td-inline-fields { grid-template-columns: 1fr; }
}

.td-food-search { position: sticky; top: -16px; z-index: 3; display: grid; align-items: stretch; gap: 6px; margin: -4px 0 8px; padding: 12px 0 8px; background: var(--paper); }
.td-food-search>span { color: var(--muted); font-size: 12px; }
.td-food-search input { width: 100%; min-height: 48px; padding-inline: 15px; font-size: 16px; }
.td-food-result-heading { margin: 16px 0 3px; color: var(--muted); font-size: 10px; letter-spacing: .11em; }
.td-food-pick-row { display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: center; gap: 8px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.td-food-pick-row h3 { margin: 0; font-size: 16px; line-height: 1.25; }
.td-food-pick-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.td-add-food { width: 42px; min-height: 42px; padding: 0; border-color: var(--violet); color: var(--violet); font-size: 22px; }
.td-quick-quantity { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; padding: 7px 10px; border-radius: 10px; background: var(--violet-soft); color: var(--violet); font-size: 13px; }
.td-quick-quantity[hidden] { display: none; }
.td-quick-quantity label { display: flex; grid-auto-flow: column; align-items: center; gap: 6px; }
.td-quick-quantity input { width: 92px; min-height: 34px; padding: 5px 8px; background: var(--paper); }
.td-food-secondary-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.td-food-secondary-actions button { min-height: 38px; color: var(--muted); background: transparent; }

@media(max-width:760px) {
 .nutrition-color-card header { align-items: flex-start; gap: 8px; }
 .nutrition-color-card header>span { padding-top: 7px; }
 .td-food-search { top: -14px; }
}

.planning-home-card {
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
}
.planning-home-card>button {
  width: 100%;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 0;
  border-radius: 10px;
  text-align: left;
  background: var(--paper);
}
.planning-home-card>button>span {
  display: grid;
  gap: 3px;
}
.planning-home-card small {
  color: var(--violet);
  font-size: 10px;
  letter-spacing: .12em;
}
.planning-home-card strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 600;
}
.planning-home-card em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
}
.planning-home-card>button>i {
  color: var(--violet);
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
}

.td-planner-screen,
.td-planner-dialog,
.td-plan-share-screen {
  --plan-bg: #151725;
  --plan-card: #252836;
  --plan-card-soft: #222634;
  --plan-track: #111522;
  --plan-blue: #4da3ff;
  --plan-blue-soft: #1d3a59;
  --plan-purple: #37275e;
  --plan-purple-text: #b8a2ff;
  --plan-text: #f5f6fb;
  --plan-muted: #afb4c0;
  --plan-line: #303647;
  --plan-danger: #ff655f;
  background: var(--plan-bg);
  color: var(--plan-text);
}
.td-planner-screen .td-screen-head {
  display: none;
}
.td-planner-screen .td-screen-body {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: max(38px,env(safe-area-inset-top)) 20px max(30px,env(safe-area-inset-bottom));
  background: var(--plan-bg);
  overscroll-behavior-y: contain;
}
.td-plan-datebar {
  display: grid;
  gap: 17px;
  margin: 0 0 22px;
}
.td-plan-datebar>div>small {
  display: block;
  margin: 0 0 8px;
  color: #bea9ff;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .17em;
}
.td-plan-date-title {
  position: relative;
  display: inline-grid !important;
  width: max-content;
  color: var(--plan-text) !important;
  cursor: pointer;
}
.td-plan-date-title>span {
  font-size: 30px;
  font-weight: 400;
  line-height: 1.1;
}
.td-plan-date-title>input {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0;
  cursor: pointer;
}
.td-plan-date-actions {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 0 0 3px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.td-plan-date-actions::-webkit-scrollbar {
  display: none;
}
.td-plan-date-actions button {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 10px 17px;
  border: 0;
  border-radius: 999px;
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
  font-size: 16px;
  font-weight: 400;
}
.td-plan-date-actions button.selected {
  color: var(--plan-purple-text);
  background: var(--plan-purple);
}
.td-plan-target-card {
  padding: 19px 20px 17px;
  border: 0;
  border-radius: 10px;
  background: var(--plan-card);
}
.td-plan-target-card h3 {
  margin: 0 0 14px;
  color: var(--plan-text);
  font-size: 20px;
  font-weight: 500;
}
.td-plan-calorie-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.td-plan-calorie-line p {
  margin: 0;
  white-space: nowrap;
}
.td-plan-calorie-line strong {
  color: var(--plan-text);
  font-size: 27px;
  font-weight: 650;
}
.td-plan-calorie-line em {
  margin-left: 5px;
  color: var(--plan-muted);
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
}
.td-plan-balance {
  text-align: right;
}
.td-plan-balance strong {
  font-size: 25px;
}
.td-plan-balance em {
  font-size: 15px;
}
.td-plan-target-card.over .td-plan-balance strong,
.td-plan-target-card.over .td-plan-balance em,
.td-plan-target-macro.over strong,
.td-plan-target-macro.over small {
  color: var(--plan-danger);
}
.td-plan-calorie-track,
.td-plan-target-macro>i {
  display: block;
  height: 4px;
  margin-top: 13px;
  overflow: hidden;
  border-radius: 20px;
  background: var(--plan-track);
}
.td-plan-calorie-track>u,
.td-plan-target-macro>i>u {
  display: block;
  width: var(--plan-progress);
  height: 100%;
  border-radius: inherit;
  background: var(--plan-blue);
}
.td-plan-target-card.over .td-plan-calorie-track>u,
.td-plan-target-macro.over>i>u {
  background: var(--plan-danger);
}
.td-plan-target-macros {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
  margin-top: 17px;
}
.td-plan-target-macro {
  min-width: 0;
}
.td-plan-target-macro>span {
  display: block;
  margin-bottom: 5px;
  color: var(--plan-text);
  font-size: 15px;
}
.td-plan-target-macro p {
  display: flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}
.td-plan-target-macro strong {
  min-width: 0;
  color: var(--plan-text);
  font-size: 20px;
  font-weight: 600;
}
.td-plan-target-macro em {
  color: var(--plan-muted);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
}
.td-plan-target-macro>i {
  margin-top: 11px;
}
.td-plan-target-macro:nth-child(1)>i>u { background: #36c7c2; }
.td-plan-target-macro:nth-child(2)>i>u { background: #c36cdb; }
.td-plan-target-macro:nth-child(3)>i>u { background: #ffb442; }
.td-plan-target-macro>small {
  display: block;
  margin-top: 5px;
  font-size: 11px;
}
.td-plan-save-note {
  margin: 8px 3px 18px;
  color: var(--plan-muted);
  font-size: 11px;
}
.td-plan-foods-card {
  padding: 14px 14px 12px;
  border: 0;
  border-radius: 10px;
  background: var(--plan-card);
}
.td-plan-foods-card>header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--plan-line);
}
.td-plan-foods-card>header small,
.td-plan-share-intro>small {
  display: block;
  margin-bottom: 5px;
  color: var(--plan-muted);
  font-size: 9px;
  letter-spacing: .16em;
}
.td-plan-foods-card>header h2,
.td-plan-share-intro h2 {
  margin: 0;
  color: var(--plan-text);
  font-size: 18px;
  font-weight: 500;
}
.td-plan-foods-card>header button,
.td-plan-foods-card>footer button,
.td-plan-export-meals,
.td-plan-share-group header button {
  min-height: 43px;
  padding: 8px 16px;
  border: 0;
  border-radius: 999px;
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
  font-size: 14px;
  font-weight: 400;
}
.td-plan-food-list {
  min-width: 0;
}
.td-plan-food {
  display: grid;
  gap: 12px;
  padding: 16px 0 15px;
  border-bottom: 1px solid var(--plan-line);
}
.td-plan-slider {
  width: 100%;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  accent-color: var(--plan-blue);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  touch-action: pan-y;
}
.td-plan-slider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 20px;
  background: linear-gradient(to right,var(--plan-blue) 0,var(--plan-blue) var(--range-value),var(--plan-track) var(--range-value),var(--plan-track) 100%);
}
.td-plan-slider::-moz-range-track {
  height: 4px;
  border-radius: 20px;
  background: var(--plan-track);
}
.td-plan-slider::-moz-range-progress {
  height: 4px;
  border-radius: 20px;
  background: var(--plan-blue);
}
.td-plan-slider::-webkit-slider-thumb {
  width: 19px;
  height: 19px;
  margin-top: -7.5px;
  border: 0;
  border-radius: 50%;
  background: var(--plan-blue);
  appearance: none;
  -webkit-appearance: none;
}
.td-plan-slider::-moz-range-thumb {
  width: 19px;
  height: 19px;
  border: 0;
  border-radius: 50%;
  background: var(--plan-blue);
}
.td-plan-food-main {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 12px;
}
.td-plan-food-copy {
  min-width: 0;
}
.td-plan-food-copy h3 {
  margin: 0 0 5px;
  color: var(--plan-text);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.td-plan-food-copy p {
  margin: 0;
  color: var(--plan-blue);
  font-size: 14px;
  line-height: 1.4;
}
.td-plan-quantity {
  display: grid !important;
  justify-items: end;
  gap: 4px !important;
  color: var(--plan-muted) !important;
  font-size: 13px !important;
}
.td-plan-quantity b {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 400;
}
.td-plan-quantity input {
  width: 94px;
  min-height: 43px;
  padding: 8px 14px;
  border: 1px solid #31405a;
  border-radius: 999px;
  color: var(--plan-text);
  background: var(--plan-card-soft);
  font-size: 17px;
}
.td-plan-quantity em {
  color: var(--plan-text);
  font-size: 14px;
  font-style: normal;
  text-transform: uppercase;
}
.td-plan-food-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) 48px;
  gap: 8px;
}
.td-plan-food-actions button {
  min-height: 45px;
  border: 0;
  border-radius: 999px;
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
  font-size: 14px;
  font-weight: 400;
}
.td-plan-food-actions button:last-child {
  width: 48px;
  padding: 0;
  color: var(--plan-blue);
}
.td-plan-food-actions button:disabled {
  opacity: .35;
}
.td-plan-allocation {
  margin: -5px 5px 0;
  color: var(--plan-muted);
  font-size: 11px;
  line-height: 1.35;
}
.td-plan-empty {
  margin: 0;
  padding: 28px 10px;
  color: var(--plan-muted);
  text-align: center;
  font-size: 14px;
}
.td-plan-export-meals {
  width: 100%;
  margin-top: 14px;
  color: var(--plan-text);
  background: #3c63a0;
}
.td-plan-export-meals:disabled {
  opacity: .5;
}
.td-plan-foods-card>footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}
.td-plan-future-note {
  margin: 12px 4px;
  color: var(--plan-muted);
  font-size: 12px;
  line-height: 1.45;
}
.td-planner-screen .modal-error,
.td-planner-dialog .modal-error,
.td-plan-share-screen .modal-error {
  color: #ff8580;
}

.td-planner-dialog .td-screen-head,
.td-plan-share-screen .td-screen-head {
  border-color: var(--plan-line);
  background: var(--plan-bg);
}
.td-planner-dialog .td-screen-head h1,
.td-plan-share-screen .td-screen-head h1 {
  color: var(--plan-text);
}
.td-planner-dialog .td-screen-head button,
.td-plan-share-screen .td-screen-head button {
  border-color: var(--plan-line);
  color: var(--plan-text);
  background: transparent;
}
.td-planner-dialog .td-screen-body,
.td-plan-share-screen .td-screen-body {
  width: min(100%,620px);
  margin: 0 auto;
  padding-top: 22px;
  background: var(--plan-bg);
}
.td-planner-dialog input,
.td-planner-dialog select,
.td-plan-share-screen input,
.td-plan-share-screen select {
  border-color: var(--plan-line);
  color: var(--plan-text);
  background: var(--plan-card);
}
.td-planner-dialog .td-food-search {
  background: var(--plan-bg);
}
.td-planner-dialog .td-food-pick-row {
  border-color: var(--plan-line);
}
.td-planner-dialog .td-food-pick-row h3 {
  color: var(--plan-text);
}
.td-planner-dialog .td-food-pick-row small,
.td-planner-dialog .td-food-result-heading {
  color: var(--plan-muted);
}
.td-planner-dialog .td-add-food,
.td-planner-dialog .td-food-secondary-actions button {
  border-color: #365a82;
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
}
.td-planner-dialog .td-quick-quantity {
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
}
.td-plan-dialog-copy {
  padding: 17px;
  border-radius: 10px;
  background: var(--plan-card);
}
.td-plan-dialog-copy small {
  color: var(--plan-purple-text);
  font-size: 10px;
  letter-spacing: .14em;
}
.td-plan-dialog-copy h2 {
  margin: 7px 0;
  color: var(--plan-text);
  font-size: 21px;
  font-weight: 500;
}
.td-plan-dialog-copy p,
.td-plan-share-intro p {
  margin: 0;
  color: var(--plan-muted);
  line-height: 1.5;
}
.td-plan-copy-form {
  margin-top: 14px;
}
.td-plan-copy-form label,
.td-plan-allocation-form {
  color: var(--plan-muted);
}
.td-planner-dialog .primary-btn,
.td-plan-share-screen .primary-btn {
  border: 0;
  color: var(--plan-text);
  background: #3c63a0;
}
.td-planner-dialog .td-transfer-summary {
  border: 0;
  background: var(--plan-card);
}
.td-planner-dialog .td-transfer-summary h2 {
  color: var(--plan-text);
}
.td-plan-allocation-list {
  display: grid;
  gap: 7px;
}
.td-plan-allocation-list>label {
  min-height: 55px;
  display: grid !important;
  grid-template-columns: 24px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px !important;
  padding: 8px 11px;
  border: 1px solid var(--plan-line);
  border-radius: 10px;
  background: var(--plan-card-soft);
}
.td-plan-allocation-list>label.selected {
  border-color: #4a6d9c;
}
.td-plan-allocation-list>label>input[type="checkbox"] {
  width: 21px;
  height: 21px;
  min-height: 21px;
}
.td-plan-allocation-list>label>b {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--plan-text);
  font-weight: 400;
}
.td-plan-allocation-list>label>b input {
  width: 78px;
  min-height: 38px;
  padding: 6px 9px;
}
.td-planner-dialog [data-equal-split] {
  color: var(--plan-blue);
  background: var(--plan-blue-soft);
}
.td-planner-dialog .td-split-total {
  background: var(--plan-purple);
  color: var(--plan-purple-text);
}
.td-plan-share-intro {
  margin-bottom: 14px;
}
.td-plan-share-settings {
  grid-template-columns: 1fr 1fr;
  padding: 14px;
  border-radius: 10px;
  background: var(--plan-card);
}
.td-plan-share-list {
  display: grid;
  gap: 14px;
}
.td-plan-share-group {
  padding: 12px;
  border-radius: 10px;
  background: var(--plan-card);
}
.td-plan-share-group>header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.td-plan-share-group>header small {
  color: var(--plan-muted);
  font-size: 9px;
  letter-spacing: .14em;
}
.td-plan-share-group>header h3 {
  margin: 3px 0 0;
  color: var(--plan-text);
  font-size: 18px;
  font-weight: 500;
}
.td-plan-share-group .share-preview-surface {
  min-height: 210px;
}
.td-plan-share-screen .helper-text {
  color: var(--plan-muted);
}

@media(max-width:760px) {
  .td-planner-screen .td-screen-body {
    padding-inline: 20px;
  }
  .td-plan-datebar {
    align-items: stretch;
    flex-direction: initial;
  }
  .td-plan-date-actions {
    display: flex;
    grid-template-columns: none;
  }
  .td-plan-target-card {
    padding-inline: 18px;
  }
  .td-plan-target-macros {
    gap: 13px;
  }
  .td-plan-target-macro strong {
    font-size: 18px;
  }
  .td-plan-target-macro em {
    font-size: 13px;
  }
  .td-plan-foods-card {
    margin-inline: 0;
  }
  .td-plan-share-settings {
    grid-template-columns: 1fr;
  }
}
@media(max-width:430px) {
  .td-planner-screen .td-screen-body {
    padding-inline: 18px;
  }
  .td-plan-date-actions button {
    min-height: 46px;
    padding-inline: 15px;
    font-size: 15px;
  }
  .td-plan-target-macros {
    gap: 10px;
  }
  .td-plan-target-macro strong {
    font-size: 17px;
  }
  .td-plan-target-macro em {
    font-size: 12px;
  }
  .td-plan-food-main {
    grid-template-columns: minmax(0,1fr) 116px;
  }
  .td-plan-quantity input {
    width: 82px;
  }
}

.nutrition-color-card header {
  margin-bottom: 14px;
}
.nutrition-target-panel {
  display: grid;
  gap: 15px;
  padding: 18px;
  border-radius: 10px;
  background: var(--wash);
}
.calorie-color-summary {
  margin: 0;
  padding: 0 0 15px;
  border: 0 !important;
  border-bottom: 0;
  border-radius: 0 !important;
  background: transparent !important;
}
.calorie-color-summary>div>p {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 4px 0 0;
  white-space: nowrap;
}
.calorie-color-summary>div>p>b {
  color: var(--ink);
  font-size: 28px;
  line-height: 1.1;
}
.calorie-color-summary>div>p>em {
  color: var(--muted);
  font-size: 17px;
}
.calorie-color-summary>span {
  align-self: end;
  padding-bottom: 1px;
}
.calorie-color-summary>span>b {
  font-size: 25px;
}
.calorie-color-summary>i {
  margin-top: 14px;
}
.macro-color-grid {
  gap: 18px;
  margin: 0;
  padding: 0;
}
.macro-color {
  gap: 5px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.macro-color>small {
  color: var(--ink);
  font-size: 14px;
}
.macro-color>b {
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-size: 20px;
  white-space: nowrap;
}
.macro-color>b>em {
  display: inline;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.macro-color>i {
  margin-top: 4px;
}
.macro-color .macro-over {
  order: 5;
  margin-top: 0;
}
html[data-theme="dark"] .nutrition-target-panel,
html[data-theme="dark"] .calorie-color-summary,
html[data-theme="dark"] .macro-color {
  background: #262836 !important;
}

.planning-home-card {
  border: 0 !important;
  background: transparent !important;
}
.planning-home-card>button {
  min-height: 0;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: initial !important;
  background: transparent !important;
}
.habit-card:not(.done) {
  border: 0 !important;
}
.habit-score {
  min-width: 45px;
  width: 45px;
  height: 45px;
  border-radius: 100px !important;
  font-weight: 400;
}
.weekly-score {
  width: 50px;
  height: 50px;
  border-radius: 100px !important;
  font-size: 15px;
  font-weight: 400;
}
.weekly-habit-head>i {
  width: 48px;
  height: 48px;
  border-radius: 100px !important;
  font-size: 24px;
}

input[type="checkbox"] {
  width: 21px;
  min-width: 21px;
  height: 21px;
  min-height: 21px;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--muted);
  border-radius: 50% !important;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 13px 13px;
}
input[type="checkbox"]:checked {
  border-color: #86bdf4;
  background-color: #86bdf4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23131b26' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m3 8 3 3 7-7'/%3E%3C/svg%3E");
}

.td-row>.td-icon-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.td-icon-actions>button {
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #4da3ff;
  background: #1d3a59;
  font-size: 20px;
}
.td-icon-actions>button.danger-text {
  color: #ff655f;
  background: rgba(255,101,95,.12);
}

.td-planner-screen .td-screen-body {
  width: 100%;
  max-width: none;
}

.share-meal-card {
  width: 900px;
  padding: 44px;
  border-width: 1px;
  border-radius: 24px;
}
.share-meal-header {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px;
  padding-bottom: 24px;
}
.share-meal-header h2 {
  font-size: 38px;
  font-weight: 650;
}
.share-meal-header p {
  margin-top: 3px;
  font-size: 20px;
}
.share-meal-header>small {
  align-self: start;
  padding-top: 6px;
  font-size: 16px;
}
.share-meal-calories {
  padding: 28px 0 23px;
}
.share-meal-calories>div {
  display: flex;
  align-items: baseline;
  gap: 13px;
  margin-top: 5px;
}
.share-meal-calories strong {
  display: inline-block;
  margin: 0;
  font-size: 68px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.035em;
}
.share-meal-calories em {
  flex: 0 0 auto;
  font-size: 27px;
}
.share-meal-macros {
  gap: 12px;
  padding-bottom: 26px;
}
.share-meal-macros>span {
  min-height: 54px;
  padding: 10px 16px;
  border-radius: 14px;
}
.share-meal-macros .fats small { background: #c36cdb; }
.share-meal-macros .protein small { background: #ffb442; }
.share-meal-foods>div {
  padding: 17px 0;
}
.share-meal-foods span {
  font-size: 25px;
}
.share-meal-foods b {
  font-size: 23px;
}
.share-meal-challenge {
  padding-top: 27px;
}
.share-meal-challenge>div {
  align-items: start;
  margin-top: 8px;
}
.share-meal-challenge>div>span {
  min-width: 0;
}
.share-meal-challenge h3 {
  font-size: 28px;
  font-weight: 650;
}
.share-meal-challenge p {
  margin: 5px 0 0;
  color: var(--share-muted);
  font-size: 21px;
}
.share-meal-challenge>div>b {
  padding-top: 4px;
}
.share-meal-progress {
  height: 6px;
  margin-top: 20px;
}

@media(max-width:760px) {
  .nutrition-meals-swipe>.dashboard-swipe-card {
    height: 326px;
    min-height: 326px;
    max-height: 326px;
  }
  .nutrition-target-panel {
    padding: 15px;
  }
  .macro-color-grid {
    gap: 10px;
  }
  .macro-color>small {
    font-size: 12px;
  }
  .macro-color>b {
    display: block;
    font-size: 18px;
  }
  .macro-color>b>em {
    display: block;
    font-size: 12px;
  }
  .planning-home-card>button {
    padding: 7px 4px !important;
  }
  .td-meal-item-row>div,
  .td-food-catalog-row>div {
    min-width: 0;
  }
}

:root {
  --ds-bg-primary: #171b29;
  --ds-bg-secondary: #202534;
  --ds-surface: #242a3a;
  --ds-surface-secondary: #242a3a;
  --ds-surface-highlight: #30405a;
  --ds-text-primary: #f4f5f8;
  --ds-text-secondary: #a4a8b2;
  --ds-text-muted: #737986;
  --ds-primary: #559bff;
  --ds-primary-soft: #213b60;
  --ds-carb: #31c4c4;
  --ds-fat: #be73dd;
  --ds-protein: #ffb84a;
  --ds-success: #31c985;
  --ds-warning: #ffb43b;
  --ds-danger: #ff4d4f;
  --ds-track: #121624;
  --ds-border: rgb(36 42 58);
  --ds-divider: rgba(255,255,255,.10);
  --ds-radius-sm: 10px;
  --ds-radius-input: 100px;
  --ds-radius-card: 5px;
  --ds-radius-card-lg: 20px;
  --ds-radius-pill: 999px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 5px;
  --ds-space-4: 16px;
  --ds-space-5: 10px;
  --ds-space-6: 24px;
  --ds-space-7: 32px;
  --td-radius: var(--ds-radius-input);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: var(--ds-text-primary);
  --muted: var(--ds-text-secondary);
  --line: var(--ds-divider);
  --paper: var(--ds-surface);
  --wash: var(--ds-bg-primary);
  --violet: var(--ds-primary);
  --violet-soft: var(--ds-primary-soft);
  --green: var(--ds-success);
  --green-soft: rgba(49,201,133,.13);
  --orange: var(--ds-warning);
  --red: var(--ds-danger);
  --shadow: none;
  --accent: var(--ds-primary);
  background: var(--ds-bg-primary);
}

html[data-theme="dark"] body {
  background: var(--ds-bg-primary);
  color: var(--ds-text-primary);
}

body {
  font-family: -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",sans-serif;
  letter-spacing: -.008em;
}

h1,h2,h3,h4 {
  color: var(--ink);
  letter-spacing: -.025em;
}

h1 { font-weight: 700; }
h2 { font-weight: 650; }
h3,h4 { font-weight: 600; }
b,strong { font-weight: 650; }
small { line-height: 1.35; }

html[data-theme="dark"] .top {
  background: var(--ds-bg-primary);
  border-color: var(--ds-divider);
  backdrop-filter: none;
}

.shell {
  width: min(1040px,calc(100% - 32px));
  padding-top: var(--ds-space-4);
}

.page-title {
  margin: var(--ds-space-6) 0 var(--ds-space-4);
}

.page-title h1,
.today-title h1 {
  margin: 0;
  font-size: clamp(28px,4vw,32px);
  font-weight: 700;
  line-height: 1.08;
}

.section-head h2,
.manage-card h2 {
  font-size: clamp(20px,3vw,24px);
  font-weight: 650;
  line-height: 1.15;
}

.auth-brand small,
.page-title>small,
.section-head small,
.manage-card header small,
.modal-head small,
.today-title small,
.td-group>h2,
.td-challenge-detail-hero>small,
.td-plan-foods-card>header small,
.td-plan-share-intro>small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
}

:is(.auth-card,.challenge-head,.macro-card,.water-card,.section,.manage-card,.meal-card,.manifesto-card,.manifesto-minimized,.mood-card,.locked-actions,.checkin-status,.weekly-habit,.plan-note,.chart-card,.simple-empty,.challenge-list>article,.menu-list>button,.user-list>article,.stats-grid>article,.participant-progress>article,.food-table>article,.recipe-list>article,.analysis-list>article,.category-manager>article,.water-log,.data-day-list>article,.action-grid>button,.td-challenge-card,.td-challenge-detail-hero,.td-plan-target-card,.td-plan-foods-card) {
  border-radius: var(--ds-radius-card) !important;
  box-shadow: none;
}

html[data-theme="dark"] :is(.auth-card,.macro-card,.water-card,.section,.manage-card,.appearance-card,.history-summary article,.challenge-list>article,.menu-list>button,.user-list article,.stats-grid article,.chart-card,.ai-flow article,.action-grid>button,.food-table article,.recipe-list>article,.analysis-list article,.checkin-status,.td-challenge-card,.td-plan-target-card,.td-plan-foods-card) {
  background: var(--ds-surface);
  border-color: var(--ds-border);
  color: var(--ds-text-primary);
}

.section,
.manage-card,
.chart-card,
.macro-card,
.water-card {
  padding: var(--ds-space-5);
  border: 1px solid var(--line);
}

button {
  box-shadow: none;
}

.primary-btn,
.auth-card>button,
.empty-page>button,
.td-primary-actions>button:first-child,
.td-screen-body form>button:not([type="button"]),
.td-screen-body section:has(> .td-time)>button[data-end] {
  min-height: 50px;
  padding: 12px 20px;
  border: 0;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-primary);
  color: #fff;
  font-size: 16px;
  font-weight: 650;
}

html[data-theme="dark"] .primary-btn,
html[data-theme="dark"] .auth-card>button,
html[data-theme="dark"] .empty-page>button,
html[data-theme="dark"] .macro-card header button,
html[data-theme="dark"] .action-grid>button.primary-action {
  background: #213b60;
  color: #559bff;
}

.page-title.with-action>button,
.section-head>button,
.manage-card header>button,
.macro-card header button,
.meal-slot-actions button,
.td-challenge-card footer button,
.td-screen-actions>button,
.td-plan-date-actions button,
.td-plan-foods-card>header button,
.td-plan-foods-card>footer button,
.td-plan-export-meals,
.td-plan-share-group header button,
.add-line {
  min-height: 4px;
  border: 0;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-primary-soft);
  color: var(--ds-primary);
  font-weight: 600;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ds-primary);
  outline-offset: 2px;
}

input,
select,
textarea {
  min-height: 48px;
  border-radius: var(--ds-radius-input);
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background: var(--ds-surface-secondary);
  border-color: var(--ds-border);
  color: var(--ds-text-primary);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: var(--ds-text-muted);
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(85,155,255,.65);
  box-shadow: 0 0 0 3px rgba(85,155,255,.12);
}

label {
  color: var(--muted);
  font-size: 14px;
  gap: var(--ds-space-2);
}

.meter,
.water-track,
.weekly-progress,
.challenge-track,
.calorie-color-summary>i,
.macro-color>i,
.progress,
.progress-bar,
.book-progress-bar,
.celebration-meter,
.macro-goal>i,
.td-plan-calorie-track,
.td-plan-target-macro>i,
.share-meal-progress {
  height: 8px !important;
  border-radius: var(--ds-radius-pill);
  background: var(--ds-track);
  overflow: hidden;
}

.meter span,
.water-track span,
.challenge-track span,
.calorie-color-summary u,
.td-plan-calorie-track>u {
  background: var(--ds-primary);
}

.bottom {
  left: 22px;
  right: 22px;
  bottom: max(10px,env(safe-area-inset-bottom));
  width: auto;
  height: auto;
  min-height: 64px;
  padding: 6px;
  border: 1px solid var(--ds-border);
  border-radius: var(--ds-radius-pill);
  background: rgba(36,42,58,.96);
  backdrop-filter: none;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}

.bottom button {
  min-height: 50px;
  padding: 5px 8px;
  border-radius: var(--ds-radius-pill);
  color: var(--ds-text-secondary);
  font-size: 11px;
  font-weight: 500;
}

.bottom button.active {
  background: var(--ds-surface-highlight);
  color: var(--ds-text-primary);
  font-weight: 650;
}

.bottom i {
  color: currentColor;
}

.td-screen {
  background: var(--wash);
}

html[data-theme="dark"] .td-screen,
html[data-theme="dark"] dialog,
html[data-theme="dark"] #modal-content {
  background: var(--ds-bg-primary);
  color: var(--ds-text-primary);
}

.td-screen-head,
.modal-head {
  min-height: 58px;
  border-color: var(--line);
  background: var(--wash);
}

.td-screen-head h1,
.modal-head h2 {
  font-size: 20px;
  font-weight: 650;
}

.td-screen-head button,
.modal-head>button,
.back-button {
  border-color: var(--line);
  border-radius: var(--ds-radius-pill);
  background: transparent;
  color: var(--ink);
}

.challenge-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: var(--ds-space-4);
  margin-bottom: var(--ds-space-3);
  padding: var(--ds-space-5);
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}

.challenge-head.day-complete {
  background: var(--paper);
}

.challenge-head .challenge-copy {
  min-width: 0;
}

.challenge-head .challenge-copy>small {
  color: var(--ds-primary);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .08em;
}

.challenge-head select,
#challenge-select {
  width: 100%;
  min-height: 0;
  margin-top: 3px;
  padding: 0 28px 0 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: clamp(20px,3.2vw,24px);
  font-weight: 650;
  line-height: 1.2;
  font-size: 16px;
  max-width: calc(100vw - 128px);
  padding: 2px 0;
  background: transparent !important;
  border: none !important;
}

.challenge-head .challenge-day-count {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 10px;
}

.challenge-head .challenge-day-count strong {
  font-size: 26px;
  color: var(--ink);
}

.challenge-head .challenge-day-count>span {
  color: var(--muted);
  font-size: 15px;
}

.challenge-head .challenge-day-count small {
  margin-left: 4px;
  color: var(--muted);
  font-size: 12px;
}

.challenge-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.day-progress {
  width: 72px;
  height: 72px;
  border: 7px solid var(--ds-track);
  border-top-color: var(--ds-primary);
  border-radius: 50%;
  background: var(--ds-surface-secondary);
  color: var(--ink);
  text-align: center;
}

.day-progress b {
  display: block;
  font-size: 17px;
  line-height: 1;
}

.day-progress small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.1;
}

.challenge-head .challenge-track {
  height: 8px !important;
  margin-top: 14px;
  background: var(--ds-track);
}

.challenge-head .challenge-track span,
.challenge-head.day-complete .challenge-track span {
  background: var(--ds-primary);
}

.date-bar {
  gap: var(--ds-space-2);
  margin: 0 0 var(--ds-space-4);
}

.date-bar>button,
.refresh-app {
  min-width: 44px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-pill);
  background: var(--paper);
  color: var(--ink);
}

.date-bar label {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-pill);
  background: var(--paper);
}

.nutrition-meals-swipe {
  gap: var(--ds-space-3);
}

.nutrition-meals-swipe>.dashboard-swipe-card {
  padding: var(--ds-space-5);
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-card) !important;
  background: var(--paper);
}

.nutrition-color-card header {
  margin-bottom: var(--ds-space-5);
}

.nutrition-color-card header>span {
  color: var(--ink);
  font-size: 20px;
  font-weight: 650;
}

.nutrition-target-panel {
  gap: var(--ds-space-5);
  padding: 0;
  border-radius: 0;
  background: transparent !important;
}

html[data-theme="dark"] .nutrition-target-panel {
  background: transparent !important;
}

.calorie-color-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: var(--ds-space-3);
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

html[data-theme="dark"] .calorie-color-summary,
html[data-theme="dark"] .macro-color {
  background: transparent !important;
}

.calorie-color-summary small {
  color: var(--muted);
  font-size: 13px;
}

.calorie-color-summary>div>p {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 5px 0 0;
}

.calorie-color-summary>div>p>b {
  color: var(--ink);
  font-size: clamp(28px,5vw,34px);
  font-weight: 700;
  letter-spacing: -.03em;
}

.calorie-color-summary>div>p>em {
  color: var(--muted);
  font-size: 16px;
}

.calorie-color-summary>span {
  color: var(--ds-primary);
}

.calorie-color-summary>span>b {
  font-size: 24px;
  font-weight: 650;
}

.calorie-color-summary>i {
  grid-column: 1/-1;
  margin-top: var(--ds-space-3);
}

.calorie-color-summary u {
  background: var(--ds-primary);
}

.macro-color-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: var(--ds-space-4);
  margin: 0;
  padding: 0;
}

.macro-color {
  min-width: 0;
  gap: 6px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.macro-color>small {
  color: var(--muted);
  font-size: 13px;
}

.macro-color>b {
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 650;
}

.macro-color>b>em {
  display: inline;
  color: var(--muted);
  font-size: 13px;
}

.macro-color>i {
  margin-top: 4px;
}

.macro-color.carbs u,
.td-plan-target-macro:nth-child(1)>i>u {
  background: var(--ds-carb);
}

.macro-color.fats u,
.td-plan-target-macro:nth-child(2)>i>u {
  background: var(--ds-fat);
}

.macro-color.protein u,
.td-plan-target-macro:nth-child(3)>i>u {
  background: var(--ds-protein);
}

.calorie-color-summary.over,
.macro-color.over {
  border-color: transparent;
  background: transparent !important;
}

.calorie-color-summary.over u,
.macro-color.over u,
.td-plan-target-card.over .td-plan-calorie-track>u,
.td-plan-target-macro.over>i>u {
  background: var(--ds-danger);
}

.meals-panel {
  display: flex;
  flex-direction: column;
}

.meal-slot-list {
  overflow-y: auto;
}

.meal-slot-card {
  grid-template-columns: minmax(0,1fr) auto;
  gap: var(--ds-space-4);
  padding: 5px 0;
  border: 0;
  
  border-radius: 0 !important;
  background: transparent;
}

.meal-slot-card:last-child {
  border-bottom: 0;
}

.meal-slot-card h3 {
  margin: 0 0 5px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 650;
}

.meal-slot-card p {
  display: block;
  margin: 0 0 0px;
  color: var(--ink);
  font-size: 14px;
  line-height: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.meal-slot-card small {
  color: var(--muted);
  font-size: 13px;
}

.meal-slot-actions button {
  min-height: 0px;
  padding: 5px 10px;
}

.water-dashboard .section-head h2 {
  font-size: 25px;
  font-weight: 700;
}

.water-shortcuts {
  gap: var(--ds-space-2);
}

.water-shortcuts>* {
  min-height: 44px;
  border-radius: var(--ds-radius-pill);
}

html[data-theme="dark"] .water-shortcuts>* {
  background: var(--ds-primary-soft);
  color: #8fc5ff;
}

html[data-theme="dark"] .water-track,
html[data-theme="dark"] .meter {
  background: var(--ds-track);
}

.water-track span,
.meter span {
  background: var(--ds-primary);
}

.planning-home-card {
  padding: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--ds-radius-card) !important;
  background: var(--paper) !important;
  overflow: hidden;
}

.planning-home-card>button {
  width: 100%;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: var(--ds-space-4);
  padding: 15px var(--ds-space-5) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left;
}

.planning-home-card>button>span {
  display: grid;
  gap: 19px;
}

.planning-home-card small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
}

.planning-home-card strong {
  color: var(--ink);
  font-size: 17px;
}

.planning-home-card em {
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
}

.planning-home-card>button>i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ds-primary-soft);
  color: var(--ds-primary);
  font-size: 22px;
  font-style: normal;
}

.checkin-status {
  padding: var(--ds-space-4) var(--ds-space-5);
  border: 1px solid var(--line);
  background: var(--paper);
}

html[data-theme="dark"] .checkin-status.complete,
html[data-theme="dark"] .checkin-status.incomplete {
  background: var(--ds-surface);
  border-color: var(--ds-border);
}

.checkin-status .checkin-icon {
  background: var(--ds-primary-soft);
  color: var(--ds-primary);
}

.checkin-status.complete .checkin-icon {
  background: rgba(49,201,133,.14);
  color: var(--ds-success);
}

.habit-card,
.weekly-card {
  border-color: var(--line);
}

.habit-card.done {
  
  margin-bottom: 10px;
}

.simple-empty,
.chart-empty {
  color: var(--muted);
  background: transparent;
}

.td-challenge-grid {
  gap: var(--ds-space-3);
}

.td-challenge-card {
  padding: var(--ds-space-5);
  background: var(--paper);
}

.td-challenge-card h2 {
  font-size: 20px;
  font-weight: 650;
}

.td-challenge-card-top>div>small {
  color: var(--ds-primary);
}

.td-challenge-card-top>span {
  font-size: 28px;
  font-weight: 650;
}

.td-challenge-card .challenge-track {
  margin: var(--ds-space-4) 0 var(--ds-space-3);
  background: var(--ds-track);
}

.td-challenge-detail-hero {
  padding: var(--ds-space-6);
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}

.td-challenge-detail-hero>small {
  color: var(--ds-primary);
}

.td-challenge-detail-hero h1 {
  color: var(--ink);
  font-weight: 700;
}

.td-challenge-detail-hero>div span {
  color: var(--muted);
}

.td-challenge-detail-hero .challenge-track {
  background: var(--ds-track);
}

.td-chart .chart-grid {
  stroke: var(--line);
  stroke-opacity: .7;
}

.td-chart text {
  fill: var(--muted);
}

.td-chart-info b,
.td-number-strip b {
  color: var(--ink);
  font-weight: 650;
}

.td-screen-body>section:has(> .td-time) {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--ds-space-5) 0 var(--ds-space-6);
  text-align: center;
}

.td-screen-body>section:has(> .td-time)>p:first-child {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}

.td-time {
  width: min(292px,78vw);
  height: min(292px,78vw);
  margin: var(--ds-space-7) auto var(--ds-space-5);
  border: 14px solid var(--ds-track);
  border-radius: 50%;
  background: radial-gradient(circle,var(--paper) 0 68%,transparent 69%);
  color: var(--ink);
  font-size: clamp(37px,10vw,54px);
  font-weight: 700;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}

.td-screen-body>section:has(> .td-time)>[data-time-left] {
  margin: 0 0 var(--ds-space-3);
  color: var(--ds-primary);
  font-size: 17px;
  font-weight: 600;
}

.td-screen-body>section:has(> .td-time)>.helper-text {
  max-width: 360px;
  margin: 0 0 var(--ds-space-6);
  padding: 0;
  color: var(--muted);
  background: transparent;
  font-size: 14px;
}

.td-screen-body>section:has(> .td-time)>button[data-end] {
  width: min(100%,360px);
}

.td-screen-body>form:has(select[name="preset"]) {
  max-width: 520px;
  margin: var(--ds-space-5) auto 0;
  padding: var(--ds-space-5);
  border: 1px solid var(--line);
  border-radius: var(--ds-radius-card);
  background: var(--paper);
}

.td-screen-body>form:has(select[name="preset"])>button {
  width: 100%;
}

.td-planner-screen {
  --plan-bg: var(--ds-bg-primary);
  --plan-card: var(--ds-surface);
  --plan-card-soft: var(--ds-surface-secondary);
  --plan-track: var(--ds-track);
  --plan-blue: var(--ds-primary);
  --plan-blue-soft: var(--ds-primary-soft);
  --plan-purple: var(--ds-primary-soft);
  --plan-purple-text: #9ecbff;
  --plan-text: var(--ds-text-primary);
  --plan-muted: var(--ds-text-secondary);
  --plan-line: var(--ds-divider);
  --plan-danger: var(--ds-danger);
}

.td-plan-target-card,
.td-plan-foods-card {
  border-radius: var(--ds-radius-card) !important;
}

.td-plan-target-card h3 {
  font-size: 20px;
  font-weight: 650;
}

.td-plan-calorie-line strong {
  font-size: 30px;
  font-weight: 700;
}

.td-plan-target-macro strong {
  font-weight: 650;
}

.td-plan-date-actions button,
.td-plan-foods-card>header button,
.td-plan-foods-card>footer button,
.td-plan-export-meals {
  border-radius: var(--ds-radius-pill);
}

.food-table article,
.recipe-list>article,
.analysis-list article,
.user-list article {
  gap: var(--ds-space-3);
  padding: var(--ds-space-4);
}

.food-line {
  border-radius: var(--ds-radius-input);
}

html[data-theme="dark"] .food-suggestions,
html[data-theme="dark"] .food-suggestions button {
  background: var(--ds-surface-secondary);
  color: var(--ds-text-primary);
}

.td-food-search {
  background: var(--wash);
}

.td-food-pick-row {
  border-color: var(--line);
}

.td-add-food {
  border-radius: 50%;
  border-color: var(--ds-primary);
  color: var(--ds-primary);
}

.share-meal-macros .carbs small { background: var(--ds-carb); }
.share-meal-macros .fats small { background: var(--ds-fat); }
.share-meal-macros .protein small { background: var(--ds-protein); }

@media(max-width:760px) {
  .shell {
    width: 100%;
    padding: var(--ds-space-3) var(--ds-space-4) calc(96px + env(safe-area-inset-bottom));
  }

  .top {
    padding-inline: var(--ds-space-4);
  }

  .section,
  .manage-card,
  .chart-card,
  .macro-card,
  .water-card,
  .nutrition-meals-swipe>.dashboard-swipe-card {
    padding: var(--ds-space-4);
  }

  .nutrition-meals-swipe {
    margin-inline: 0;
    grid-auto-columns: 94%;
  }

  .nutrition-meals-swipe>.dashboard-swipe-card {
    height: auto;
    min-height: 300px;
    max-height: 360px;
  }

  .macro-color-grid {
    gap: var(--ds-space-3);
  }

  .macro-color>small {
    font-size: 12px;
  }

  .macro-color>b {
    font-size: 18px;
  }

  .macro-color>b>em {
    display: block;
    margin-top: 2px;
    font-size: 12px;
  }

  .challenge-head {
    padding: var(--ds-space-4);
  }

  .day-progress {
    width: 66px;
    height: 66px;
  }

  .planning-home-card>button {
    min-height: 74px;
    padding: 14px var(--ds-space-4) !important;
  }

  .td-screen-head {
    padding: max(12px,env(safe-area-inset-top)) var(--ds-space-4) 12px;
  }

  .td-screen-body {
    padding: var(--ds-space-4) var(--ds-space-4) max(28px,env(safe-area-inset-bottom));
  }

  dialog#modal[open] {
    border-radius: 0 !important;
  }

  .modal-head {
    padding: calc(12px + env(safe-area-inset-top)) var(--ds-space-4) 12px;
  }

  .td-time {
    width: min(270px,78vw);
    height: min(270px,78vw);
    border-width: 13px;
  }

  .td-challenge-grid {
    grid-template-columns: 1fr;
  }

  .td-plan-target-macros {
    gap: var(--ds-space-3);
  }
}

:is(
  .appearance-card,.celebration-card,.compact-setting,.custom-sound-setting,
  .recipient-picker,.delete-warning,.weekly-modal-summary,.water-quick,
  .manual-water,.rich-editor,.manifesto-expanded,.optional-link,
  .admin-css-panel,.profile-summary,.feature-config,.home-layout-settings,
  .personal-plan-grid,.food-json-tools,.import-result,.requirement-config,
  .requirement-list,.meal-slot-settings,.weight-goals,.book-history,
  .journal-history,.target-history,.water-log-modal,.td-transfer-summary,
  .td-plan-allocation,.td-plan-balance,.td-plan-future-note
){
  border-radius:var(--ds-radius-card) !important;
  box-shadow:none !important;
}

html[data-theme="dark"] :is(
  .appearance-card,.celebration-card,.compact-setting,.custom-sound-setting,
  .recipient-picker,.weekly-modal-summary,.water-quick,.manual-water,
  .rich-editor,.manifesto-expanded,.optional-link,.admin-css-panel,
  .profile-summary,.feature-config,.home-layout-settings,.personal-plan-grid,
  .food-json-tools,.import-result,.requirement-config,.requirement-list,
  .meal-slot-settings,.weight-goals,.book-history,.journal-history,
  .target-history,.water-log-modal,.td-transfer-summary,.td-plan-allocation,
  .td-plan-balance,.td-plan-future-note
){
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary);
}

:is(
  .manage-row,.td-row,.td-challenge-row,.td-food-catalog-row,
  .td-meal-item-row,.quantity-log-row,.measurement-history>article,
  .mood-change-list>article,.target-history>article,.book-history>article,
  .journal-history>article
){
  border-color:var(--line) !important;
}

html[data-theme="dark"] :is(
  .td-link-row,.td-search-button,.food-line,.food-suggestions button,
  .recipient-picker label,.add-line
){
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}

:is(
  .water-actions button,.manual-water,.food-json-actions button,
  .food-modal-actions button,.sound-test-actions button,.custom-css-actions button,
  .filter-bar button,.title-actions button,.challenge-actions button,
  .habit-actions button,.weekly-actions button,.recipient-picker>button,
  .td-icon-actions button,.td-food-secondary-actions button,
  .td-quick-quantity button,.td-preview-modes button
){
  min-height:44px;
  border-radius:var(--ds-radius-pill) !important;
  box-shadow:none !important;
}

html[data-theme="dark"] :is(
  .water-actions button,.manual-water,.food-json-actions button,
  .food-modal-actions button,.sound-test-actions button,.custom-css-actions button,
  .filter-bar button,.title-actions button,.challenge-actions button,
  .habit-actions button,.weekly-actions button,.recipient-picker>button,
  .td-icon-actions button,.td-food-secondary-actions button,
  .td-quick-quantity button,.td-preview-modes button
){
  background:var(--ds-primary-soft) !important;
  border-color:transparent !important;
  color:var(--ds-primary) !important;
  line-height: 0;
  min-height: 30px;
}

:is(.danger-action,.delete-confirm,.danger-link,.danger-text,.logout-menu){
  color:var(--ds-danger) !important;
}
.delete-confirm{
  min-height:48px;
  border:0 !important;
  border-radius:var(--ds-radius-pill) !important;
  background:var(--ds-danger) !important;
  color:#fff !important;
}
html[data-theme="dark"] .delete-warning{
  background:rgba(255,77,79,.08) !important;
  border-color:rgba(255,77,79,.26) !important;
}

.theme-options{
  gap:var(--ds-space-3);
}
.theme-options>button{
  min-height:84px;
  padding:var(--ds-space-4) !important;
  border-radius:var(--ds-radius-card) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .theme-options>button{
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}
html[data-theme="dark"] .theme-options>button.selected{
  background:var(--ds-primary-soft) !important;
  border-color:rgba(85,155,255,.55) !important;
  color:var(--ds-text-primary) !important;
}
.compact-setting{
  min-height:58px;
  padding:var(--ds-space-4) !important;
  border-radius:var(--ds-radius-input) !important;
}

html[data-theme="dark"] :is(.simple-empty,.td-empty,.chart-empty,.autosave-note,.history-note,.meal-autosave-status){
  color:var(--ds-text-secondary) !important;
}
html[data-theme="dark"] :is(.missing-callout,.requirement-list .missing,.custom-css-safe){
  background:rgba(255,180,59,.09) !important;
  border-color:rgba(255,180,59,.25) !important;
  color:#ffd08a !important;
  margin-bottom: 9px;
  padding: 6px;
  border-radius: 100px;
}
html[data-theme="dark"] :is(.checkin-status.complete,.habit-card.done,.weekly-habit.done){
  
  border: none !important;
}
html[data-theme="dark"] .checkin-status.complete{
  background:rgba(49,201,133,.08) !important;
}
html[data-theme="dark"] .checkin-status.incomplete{
  
  
}

.weekly-score,
.weekly-habit-head>i,
.challenge-icon,
.menu-list>button>span{
  border-radius:var(--ds-radius-input) !important;
  border-radius: 100px !important;
}
html[data-theme="dark"] :is(.weekly-score,.weekly-habit-head>i,.challenge-icon,.menu-list>button>span){
  background:var(--ds-primary-soft) !important;
  color:var(--ds-primary) !important;
}
.weekly-progress>span,
.macro-goal>i>u{
  background:var(--ds-primary) !important;
}
html[data-theme="dark"] .weekly-entries>span{
  background:var(--ds-surface-secondary) !important;
  color:var(--ds-text-secondary) !important;
  border-radius:var(--ds-radius-input);
}

.manifesto-card,
.manifesto-minimized,
.rich-editor,
.locked-actions{
  border-radius:var(--ds-radius-card) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .manifesto-card{
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
}
html[data-theme="dark"] .manifesto-card.read{
  
  border-color: rgb(36 42 58) !important;
}
html[data-theme="dark"] .rich-content blockquote{
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-primary) !important;
}

.food-line{
  border-radius:var(--ds-radius-input) !important;
  border-color:var(--line) !important;
}
.food-suggestions{
  border-radius:var(--ds-radius-input) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .food-suggestions,
html[data-theme="dark"] .food-suggestions button{
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}
.td-food-name{
  color:var(--ink) !important;
  font-weight:600;
}
.td-chip{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  border-radius:var(--ds-radius-pill) !important;
  padding:4px 10px;
}
html[data-theme="dark"] .td-chip{
  background:var(--ds-surface-secondary);
  border-color:var(--ds-border);
  color:var(--ds-text-secondary);
}

.td-filter-bar{
  gap:var(--ds-space-2);
}
.td-history-section{
  border-color:var(--line) !important;
}
.td-history-section>summary{
  min-height:54px;
  padding:var(--ds-space-4) 0;
}
.td-chart .chart-grid{
  stroke:var(--ds-divider) !important;
  opacity:.6;
}
.td-chart text{
  fill:var(--muted) !important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif !important;
}
.chart-legend,
.chart-caption{
  color:var(--muted);
}

dialog,
#modal-content{
  box-shadow:none !important;
}
.td-screen-body{
  color:var(--ink);
}
.td-screen-body footer{
  gap:var(--ds-space-3);
}
.td-screen-body footer>button{
  min-height:48px;
  border-radius:var(--ds-radius-pill) !important;
}
html[data-theme="dark"] .td-screen-body footer>button:not(.primary-btn){
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}

.brand>span,
.logo,
.pulse{
  border-radius:var(--ds-radius-input) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] :is(.brand>span,.logo,.pulse){
  background:var(--ds-primary) !important;
  color:#fff !important;
}
.top-user>button{
  border-radius:var(--ds-radius-pill) !important;
}
html[data-theme="dark"] .top-user>button{
  background:var(--ds-surface-secondary) !important;
  color:var(--ds-text-primary) !important;
}

.meal-card{
  padding:var(--ds-space-4) !important;
  border-radius:var(--ds-radius-card) !important;
}
html[data-theme="dark"] .meal-card{
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
}
.meal-card h3{
  font-size:16px;
  font-weight:650;
}
.meal-card p{
  color:var(--muted);
  font-size:13px;
}
.meal-card small{
  color:var(--muted);
  font-size:12px;
}
.meal-card>button{
  border-radius:var(--ds-radius-pill) !important;
}

.water-actions{
  gap:var(--ds-space-2);
}
.water-actions button,
.manual-water{
  min-height:44px;
  border-radius:var(--ds-radius-pill) !important;
}
.water-card header b{
  color:var(--ds-primary) !important;
}

.share-meal-calories,
.share-meal-calories strong{
  color:var(--ds-primary) !important;
}
.share-meal-macros .carbs{color:var(--ds-carb) !important}
.share-meal-macros .fats{color:var(--ds-fat) !important}
.share-meal-macros .protein{color:var(--ds-protein) !important}

@media(max-width:760px){
  .appearance-card,.celebration-card,.compact-setting,.custom-sound-setting,
  .recipient-picker,.weekly-modal-summary,.profile-summary,.feature-config,
  .home-layout-settings,.personal-plan-grid,.food-json-tools,.import-result,
  .requirement-config,.requirement-list,.meal-slot-settings,.weight-goals{
    padding:var(--ds-space-4);
  }

  .theme-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .theme-options>button{
    min-width:0;
    padding:12px 8px !important;
  }

  .water-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

.habits-focus{
  background:var(--paper) !important;
  border-color:var(--line) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .habits-focus{
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
}

.habit-score,
.setting-state,
.quantity-editing-label,
.quantity-log-history>header>small{
  border-radius:var(--ds-radius-pill) !important;
}
html[data-theme="dark"] .habit-score{
  background:var(--ds-primary-soft) !important;
  color:var(--ds-primary) !important;
}

.habit-actions button,
.answer-choice button,
.habit-primary,
.habit-yes,
.habit-no,
.habit-undo{
  min-height:44px;
  border-radius:var(--ds-radius-pill) !important;
  box-shadow:none !important;
}
.habit-primary{
  background:var(--ds-primary) !important;
  border-color:var(--ds-primary) !important;
  color:#fff !important;
}
.habit-yes,
.answer-choice [data-answer="yes"]{
  background:rgba(49,201,133,.10) !important;
  border-color:rgba(49,201,133,.28) !important;
  color:var(--ds-success) !important;
}
.habit-yes.selected,
.answer-choice [data-answer="yes"].selected{
  background:var(--ds-success) !important;
  border-color:var(--ds-success) !important;
  color:#fff !important;
}
.habit-no,
.answer-choice [data-answer="no"]{
  background:rgba(255,77,79,.08) !important;
  border-color:rgba(255,77,79,.24) !important;
  color:var(--ds-danger) !important;
}
.habit-no.selected,
.answer-choice [data-answer="no"].selected{
  background:var(--ds-danger) !important;
  border-color:var(--ds-danger) !important;
  color:#fff !important;
}

.mood-options button{
  min-height:54px;
  border:1px solid var(--line) !important;
  border-radius:var(--ds-radius-input) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .mood-options button{
  border-color: rgb(36 42 58) !important;
  background: #242a3a;
}

.reading-task,
.journal-task,
.book-task,
.merge-list article,
.home-order-list>div,
.book-modal-title{
  border-radius:var(--ds-radius-card) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] :is(.reading-task,.journal-task,.book-task,.merge-list article,.home-order-list>div,.book-modal-title){
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}
.book-progress{
  height:8px;
  border-radius:var(--ds-radius-pill) !important;
  background:var(--ds-track) !important;
}
.book-progress>i{
  background:var(--ds-primary) !important;
}
.merge-list button{
  min-height:44px;
  border-radius:var(--ds-radius-pill) !important;
  background:var(--ds-primary) !important;
  color:#fff !important;
}

.rich-toolbar{
  padding:var(--ds-space-2);
  border-radius:var(--ds-radius-input) var(--ds-radius-input) 0 0 !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .rich-toolbar{
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
}
.rich-toolbar button,
.home-order-list button,
.food-row-actions button,
.category-manager button{
  min-height:38px;
  border-radius:var(--ds-radius-pill) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] :is(.rich-toolbar button,.home-order-list button,.food-row-actions button,.category-manager button){
  background:var(--ds-surface) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-primary) !important;
}

.water-log-trigger{
  min-height:40px;
  border-radius:var(--ds-radius-pill) !important;
  color:var(--ds-primary) !important;
}
html[data-theme="dark"] .water-log-trigger{
  background:transparent !important;
  border-color:transparent !important;
}

.td-challenge-copy>small{
  color:var(--ds-primary) !important;
  font-size:11px;
  font-weight:650;
}
.td-challenge-copy select{
  color:var(--ink) !important;
  font-weight:650;
}
.td-challenge-copy p{
  color:var(--ink) !important;
}
.td-challenge-copy p span,
.td-progress-ring small{
  color:var(--muted) !important;
}
.td-progress-ring{
  background:conic-gradient(var(--ds-primary) calc(var(--td-progress)*1%),var(--ds-track) 0) !important;
}
.td-progress-ring>span,
.day-complete .td-progress-ring>span{
  background:var(--paper) !important;
}
html[data-theme="dark"] .td-progress-ring>span,
html[data-theme="dark"] .day-complete .td-progress-ring>span{
  background:var(--ds-surface) !important;
}

.td-plan-dialog-copy,
.td-plan-share-settings,
.td-plan-allocation-list>label{
  border-radius:var(--ds-radius-input) !important;
  box-shadow:none !important;
}
.td-plan-dialog-copy,
.td-plan-share-settings{
  background:var(--plan-card) !important;
  border:1px solid var(--plan-line);
}
.td-plan-allocation-list>label{
  background:var(--plan-card-soft) !important;
  border-color:var(--plan-line) !important;
}
.td-plan-allocation-list>label.selected{
  border-color:var(--ds-primary) !important;
}
.td-plan-food-actions button{
  min-height:40px;
  border-radius:var(--ds-radius-pill) !important;
  background:var(--ds-primary-soft) !important;
  color:var(--ds-primary) !important;
}
.td-plan-quantity input{
  min-height:44px;
  border-radius:var(--ds-radius-pill) !important;
  border-color:var(--ds-border) !important;
  background:var(--ds-surface-secondary) !important;
  color:var(--ds-text-primary) !important;
}

.meal-icon,
.completed-icon,
.drag-handle{
  border-radius:var(--ds-radius-input) !important;
  box-shadow:none !important;
}
html[data-theme="dark"] .meal-icon{
  background:rgba(255,184,74,.10) !important;
  color:var(--ds-protein) !important;
}
html[data-theme="dark"] .drag-handle{
  background:var(--ds-surface-secondary) !important;
  border-color:var(--ds-border) !important;
  color:var(--ds-text-secondary) !important;
}

.measurement-summary span,
.import-counts span,
.recipe-macros span,
.macro-row span{
  border-radius:var(--ds-radius-input) !important;
}
html[data-theme="dark"] :is(.measurement-summary span,.import-counts span,.recipe-macros span,.macro-row span){
  background:var(--ds-surface-secondary) !important;
  color:var(--ds-text-secondary) !important;
}

:is(
  .habit-card,.habit-actions button,.answer-choice button,.celebration-card>button,
  .celebration-badge,.merge-list button,.theme-options>button,.home-order-list button,
  .food-row-actions button,.category-manager button,.weekly-actions button
){
  box-shadow:none !important;
  transform:none;
}

:root,
html[data-theme="light"] {
  color-scheme: light;

  
  --ds-bg-primary: #f5f7fb;
  --ds-bg-secondary: #eef2f7;
  --ds-surface: #ffffff;
  --ds-surface-secondary: #f7f9fc;
  --ds-surface-highlight: #edf4ff;
  --ds-text-primary: #182033;
  --ds-text-secondary: #687286;
  --ds-text-muted: #8b93a3;
  --ds-primary: #559bff;
  --ds-primary-hover: #438bf0;
  --ds-primary-soft: #eaf2ff;
  --ds-border: #dfe5ee;
  --ds-divider: #e9edf3;
  --ds-track: #e7ebf2;
  --ds-carb: #31c4c4;
  --ds-fat: #be73dd;
  --ds-protein: #ffb84a;
  --ds-calories: #559bff;
  --ds-success: #31c985;
  --ds-warning: #ffb43b;
  --ds-danger: #ff4d4f;
  --ds-radius-xs: 10px;
  --ds-radius-input: 12px;
  --ds-radius-card: 18px;
  --ds-radius-card-lg: 20px;
  --ds-radius-pill: 999px;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 20px;
  --ds-space-6: 24px;
  --ds-space-7: 32px;

  
  --ink: var(--ds-text-primary);
  --muted: var(--ds-text-secondary);
  --line: var(--ds-border);
  --paper: var(--ds-surface);
  --wash: var(--ds-bg-primary);
  --soft: var(--ds-surface-secondary);
  --accent: var(--ds-primary);
  --violet: var(--ds-primary);
  --violet-soft: var(--ds-primary-soft);
  --green: var(--ds-success);
  --green-soft: #e8f8f1;
  --orange: var(--ds-warning);
  --red: var(--ds-danger);
  --shadow: none;
  --td-gap: 12px;
  --td-radius: 12px;
}

html[data-theme="dark"] {
  color-scheme: dark;

  --ds-bg-primary: #171b29;
  --ds-bg-secondary: #202534;
  --ds-surface: #242a3a;
  --ds-surface-secondary: #293143;
  --ds-surface-highlight: #30405a;
  --ds-text-primary: #f4f5f8;
  --ds-text-secondary: #a4a8b2;
  --ds-text-muted: #737986;
  --ds-primary: #559bff;
  --ds-primary-hover: #6aa8ff;
  --ds-primary-soft: #213b60;
  --ds-border: rgba(255,255,255,.09);
  --ds-divider: rgba(255,255,255,.10);
  --ds-track: #121624;
  --ds-carb: #31c4c4;
  --ds-fat: #be73dd;
  --ds-protein: #ffb84a;
  --ds-calories: #559bff;
  --ds-success: #31c985;
  --ds-warning: #ffb43b;
  --ds-danger: #ff5d5f;

  --ink: var(--ds-text-primary);
  --muted: var(--ds-text-secondary);
  --line: var(--ds-border);
  --paper: var(--ds-surface);
  --wash: var(--ds-bg-primary);
  --soft: var(--ds-surface-secondary);
  --accent: var(--ds-primary);
  --violet: var(--ds-primary);
  --violet-soft: var(--ds-primary-soft);
  --green: var(--ds-success);
  --green-soft: rgba(49,201,133,.14);
  --orange: var(--ds-warning);
  --red: var(--ds-danger);
  --shadow: none;
}

html,
body {
  background: var(--ds-bg-primary) !important;
  color: var(--ds-text-primary);
}

body {
  margin: 0;
  background-image: none !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
  font-size: 15px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4,h5,h6,b,strong {
  color: inherit;
}
.page-title h1 { font-size: clamp(28px, 3vw, 32px); font-weight: 700; }
.section-head h2,.manage-card h2 { font-size: clamp(20px, 2vw, 24px); font-weight: 650; }

:is(
  .auth-card,.section,.manage-card,.chart-card,.macro-card,.water-card,.mood-card,
  .checkin-status,.appearance-card,.manifesto-card,.nutrition-color-card,
  .td-challenge-card,.td-plan-target-card,.td-plan-foods-card,.history-summary article,
  .stats-grid article,.analysis-list article,.recipe-list>article,.food-table article,
  .ai-flow article,.user-list article,.challenge-list>article,.reading-task,.journal-task,
  .book-task,.merge-list article,.custom-sound-setting,.meal-card
) {
  background: var(--ds-surface) !important;
  color: var(--ds-text-primary);
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-card) !important;
  box-shadow: none !important;
}

:is(.section,.manage-card,.chart-card,.macro-card,.water-card,.mood-card,.checkin-status,.appearance-card) {
  padding: 18px;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--ds-text-primary) !important;
  background: var(--ds-surface-secondary) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-input) !important;
  box-shadow: none !important;
  outline: 0;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
textarea {
  min-height: 100px;
  padding: 13px 14px;
  line-height: 1.5;
  resize: vertical;
}
input::placeholder,
textarea::placeholder { color: var(--ds-text-muted); opacity: 1; }
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ds-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-primary) 18%, transparent) !important;
}
input[type="checkbox"],input[type="radio"] { accent-color: var(--ds-primary); }
label { gap: 7px; }
form { row-gap: 14px; }

button,
.primary-btn,
.secondary-btn,
.add-line,
.optional-link {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: var(--ds-radius-pill) !important;
  box-shadow: none !important;
  font-weight: 600;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease;
}

:is(.primary-btn,.auth-card>button,.empty-page>button,.action-grid>button.primary-action,.td-primary-actions>button:first-child) {
  color: #fff !important;
  background: var(--ds-primary) !important;
  border: 1px solid var(--ds-primary) !important;
}
:is(.primary-btn,.auth-card>button,.empty-page>button,.action-grid>button.primary-action,.td-primary-actions>button:first-child):hover {
  background: var(--ds-primary-hover) !important;
  border-color: var(--ds-primary-hover) !important;
}

:is(
  .secondary-btn,.add-line,.manual-water,.water-actions button,.water-shortcuts>* ,
  .page-title.with-action>button,.section-head>button,.manage-card header>button,
  .td-actions button,.challenge-actions button,.title-actions button
) {
  color: var(--ds-primary) !important;
  background: var(--ds-primary-soft) !important;
  border: 1px solid color-mix(in srgb, var(--ds-primary) 24%, transparent) !important;
}

:is(
  .habit-card,.menu-list>button,.td-menu-group .menu-list>button,.td-more-action,
  .action-grid>button,.meal-card,.theme-options>button,.answer-choice button,
  .mood-options button,.home-order-list button
) {
  border-radius: var(--ds-radius-card) !important;
}

:is(.modal-head>button,.top-user>button,.date-bar>button,.drag-handle,.food-row-actions button,.category-manager button) {
  padding: 6px;
}

:is(
  .bottom button.active,
  .desktop-nav button.active,
  .tabs button.active,
  .tab-button.active,
  .td-tabs button.active,
  .filter-bar button.active,
  .td-filter-bar button.active,
  .theme-options>button.selected,
  .mood-options button.selected,
  .answer-choice button.selected,
  [role="tab"][aria-selected="true"],
  [aria-current="page"]
) {
  color: var(--ds-primary) !important;
  background: var(--ds-primary-soft);
  border-color: color-mix(in srgb, var(--ds-primary) 38%, transparent) !important;
  min-height: 50px !important;
  display: grid;
  align-content: center;
}

.bottom button.active i,
.desktop-nav button.active i { color: var(--ds-primary) !important; }

.bottom {
  background: color-mix(in srgb, var(--ds-surface) 94%, transparent) !important;
  border-top: 1px solid var(--ds-border) !important;
  box-shadow: none !important;
  display: grid;
  align-items: center;
}
.bottom button {
  color: var(--ds-text-secondary);
  background: transparent;
  border: 0;
}

:is(.meter,.water-track,.weekly-progress,.challenge-track,.progress,.progress-bar,.book-progress-bar,.celebration-meter,.macro-color>i,.calorie-color-summary>i) {
  height: 8px;
  background: var(--ds-track) !important;
  border-radius: var(--ds-radius-pill) !important;
  overflow: hidden;
}
:is(.meter,.water-track,.weekly-progress,.challenge-track,.progress,.progress-bar,.book-progress-bar,.celebration-meter,.macro-color>i,.calorie-color-summary>i)>span {
  border-radius: inherit;
}

.calorie-color-summary { --metric-color: var(--ds-calories); }
.macro-color[data-macro="carbs"],.macro-color.carbs,.macro-carbs,.carb-color { --metric-color: var(--ds-carb); }
.macro-color[data-macro="fat"],.macro-color.fat,.macro-fat,.fat-color { --metric-color: var(--ds-fat); }
.macro-color[data-macro="protein"],.macro-color.protein,.macro-protein,.protein-color { --metric-color: var(--ds-protein); }
.calorie-color-summary>i>span,
.macro-color>i>span { background: var(--metric-color, var(--ds-primary)) !important; }

.challenge-head,
.td-challenge-detail-hero {
  background: var(--ds-surface) !important;
  color: var(--ds-text-primary) !important;
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-card-lg) !important;
  box-shadow: none !important;
}
.challenge-head.day-complete {
    background: linear-gradient(135deg, #17764f, #123d2d) !important;
}
.challenge-head select,
.td-challenge-copy select,
.challenge-head p,
.td-challenge-copy p { color: var(--ds-text-primary) !important; }
.challenge-head select option { color: var(--ds-text-primary); background: var(--ds-surface); }
.challenge-head .challenge-track span,
.td-challenge-detail-hero .challenge-track span { background: var(--ds-primary) !important; }
.td-progress-ring { background: conic-gradient(var(--ds-primary) calc(var(--td-progress)*1%), var(--ds-track) 0) !important; }
.td-progress-ring>span { background: var(--ds-surface) !important; }

dialog,
.td-screen,
#modal-content {
  background: var(--ds-surface) !important;
  color: var(--ds-text-primary);
}
dialog {
  border: 1px solid var(--ds-border) !important;
  border-radius: var(--ds-radius-card-lg) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.20) !important;
}
.modal-head { border-bottom-color: var(--ds-divider); }

:is(.td-row,.manage-row,.td-history-section,.meal-slot-card,.weekly-card) { border-color: var(--ds-divider) !important; }
:is(.muted,.helper-text,.calculated-date,.td-dim,.td-empty,.simple-empty,.chart-empty) { color: var(--ds-text-secondary) !important; }

@media (min-width: 761px) {
  .shell {
    width: min(1120px, calc(100% - 40px));
    max-width: 1120px;
    padding: 24px 0 96px;
  }
  .top { padding-inline: max(20px, calc((100vw - 1120px)/2)); }
  .section,.manage-card,.chart-card,.macro-card,.water-card,.mood-card,.checkin-status,.appearance-card { padding: 20px; }
  .quick-grid,.manage-grid,.evolution-grid { gap: 16px; }
  dialog { width: min(720px, calc(100% - 40px)); }
}

@media (max-width: 760px) {
  .shell {
    width: 100%;
    max-width: none;
    padding: 12px 14px calc(92px + env(safe-area-inset-bottom));
  }
  .top { padding: 8px 14px; }
  .section,.manage-card,.chart-card,.macro-card,.water-card,.mood-card,.checkin-status,.appearance-card {
    padding: 16px;
    border-radius: var(--ds-radius-card) !important;
  }
  .page-title { margin: 18px 0 14px; }
  .page-title h1 { font-size: 28px; }
  .section-head h2,.manage-card h2 { font-size: 20px; }
  button,.primary-btn,.secondary-btn { min-height: 46px; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea {min-height: 48px;border: none !important;background: transparent !important;border: 1px solid #ddd !important;border-radius: 100px !important;min-height: 50px;}
  textarea { min-height: 112px; }
  dialog {
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    inset: 0;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .bottom {
    padding: 6px 8px max(6px, env(safe-area-inset-bottom));
  }
  .bottom button {
    min-height: 50px;
    padding: 5px 4px;
    border-radius: 14px !important;
  }
  .bottom button.active {background: var(--ds-primary-soft) !important;}
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.primary-btn,
.secondary-btn {
  color: #559bff !important;
  
  border-radius: 100px !important;
  min-height: 33px !important;
  line-height: 0 !important;
  box-shadow: none !important;
}

button:hover,
button:focus,
button:focus-visible,
button:active,
button.active,
button.selected,
button[aria-selected="true"],
button[aria-pressed="true"],
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.primary-btn:hover,
.secondary-btn:hover {
  color: #559bff !important;
  background: var(--ds-primary-soft) !important;
  border-radius: 100px !important;
}

button:disabled,
button[disabled],
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

button#td-create-challenge,
button#td-weight-record {
    color: #559bff !important;
    background: var(--ds-primary-soft) !important;
    border-radius: 100px !important;
    min-height: 33px !important;
    line-height: 0 !important;
    box-shadow: none !important;
    border: none;
}

.macro-card.dashboard-swipe-card.nutrition-color-card {
    border-radius: 20px 0px 0px 20px !important;
}

.section.meals-panel.dashboard-swipe-card {
    border-radius: 0px 20px 20px 0px !important;
}

#active-date {
    border: none !important;
}

.bottom {
  --nav-count: 4;
  --active-index: 0;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.32) !important;
  background: rgba(238,244,255,.58) !important;
  box-shadow: 0 16px 42px rgba(10,20,42,.22), inset 0 1px 0 rgba(255,255,255,.72), inset 0 -1px 0 rgba(255,255,255,.18) !important;
  backdrop-filter: blur(28px) saturate(185%);
  -webkit-backdrop-filter: blur(28px) saturate(185%);
}

html[data-theme="dark"] .bottom {
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(30,36,51,.58) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.13), inset 0 -1px 0 rgba(255,255,255,.05) !important;
}

.bottom::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 6px;
  bottom: 6px;
  left: 8px;
  width: calc((100% - 16px)/var(--nav-count));
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.2));
  box-shadow: 0 5px 18px rgba(37,82,148,.18), inset 0 1px 0 rgba(255,255,255,.72);
  transform: translateX(calc(var(--active-index)*100%));
  transition: transform .42s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}

html[data-theme="dark"] .bottom::before {
  border-color: rgba(146,196,255,.25);
  background: linear-gradient(145deg,rgba(73,127,192,.46),rgba(29,58,89,.5));
  box-shadow: 0 7px 24px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.14);
}

.bottom::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg,rgba(255,255,255,.25),transparent 38%,rgba(105,167,255,.09));
}

.bottom button,
.bottom button.active {
  position: relative;
  z-index: 1;
  min-height: 50px !important;
  color: var(--ds-text-secondary) !important;
  background: transparent !important;
  border: 0 !important;
  transition: color .3s ease, transform .3s cubic-bezier(.22,1,.36,1) !important;
}

.bottom button.active {
  color: var(--ds-primary) !important;
  transform: translateY(-1px) !important;
}

.td-screen-head {
  position: relative;
  z-index: 30;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(74px,auto) minmax(0,1fr) minmax(44px,auto);
  align-items: center;
  background: color-mix(in srgb,var(--ds-bg-primary) 88%,transparent) !important;
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}

.td-screen-head h1 {
  text-align: center;
}

.td-screen-head-spacer {
  display: block;
  min-width: 44px;
}

.td-screen-head [data-td-close] {
  justify-self: end;
  width: 42px;
  min-width: 42px;
  min-height: 42px !important;
  padding: 0 !important;
  font-size: 22px;
}

.td-plan-summary-sticky {
  position: sticky;
  top: -1px;
  z-index: 12;
  margin: 0 -8px;
  padding: 8px;
  background: color-mix(in srgb,var(--plan-bg) 91%,transparent);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

.td-plan-summary-sticky .td-plan-target-card {
  margin: 0;
  box-shadow: 0 10px 26px rgba(0,0,0,.12) !important;
}

.td-plan-slider-row {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 38px;
  align-items: center;
  gap: 10px;
}

.td-plan-slider-row>button {
  width: 38px;
  min-width: 38px;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--plan-blue) !important;
  background: var(--plan-blue-soft) !important;
  font-size: 21px;
  line-height: 1 !important;
}

.td-plan-slider-row .td-plan-slider {
  min-width: 0;
}

.td-plan-food-actions button:last-child {
  color: #ff655f !important;
  background: rgba(255,101,95,.12) !important;
  opacity: 1 !important;
}

.td-plan-required-alert {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr);
  align-items: start;
  gap: 15px;
  margin: 8px 0 18px;
  padding: 18px;
  border: 1px solid rgba(255,180,59,.42);
  border-radius: 18px;
  background: rgba(255,180,59,.11);
}

.td-plan-required-alert>span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffd08a;
  background: rgba(255,180,59,.18);
  font-size: 27px;
  font-weight: 700;
}

.td-plan-required-alert small {
  color: #ffd08a;
  letter-spacing: .11em;
}

.td-plan-required-alert h2 {
  margin: 3px 0 6px;
  font-size: clamp(22px,5vw,30px);
  line-height: 1.08;
}

.td-plan-required-alert p {
  margin: 0;
  color: var(--muted);
}

.td-plan-required-alert.ready {
  border-color: rgba(49,201,133,.38);
  background: rgba(49,201,133,.1);
}

.td-plan-required-alert.ready>span,
.td-plan-required-alert.ready small {
  color: #7ce0a9;
}

.td-plan-required-alert.ready>span {
  background: rgba(49,201,133,.17);
}

.td-plan-required-list {
  display: grid;
  gap: 9px;
}

.td-plan-required-list>button {
  width: 100%;
  min-height: 68px !important;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 15px !important;
  border: 1px solid var(--plan-line) !important;
  border-radius: 14px !important;
  color: var(--plan-text) !important;
  background: var(--plan-card) !important;
  line-height: 1.3 !important;
  text-align: left;
}

.td-plan-required-list>button span {
  display: grid;
  gap: 3px;
}

.td-plan-required-list>button small {
  color: var(--plan-muted);
}

.td-plan-required-list>button i {
  color: var(--plan-blue);
  font-size: 23px;
  font-style: normal;
}

.td-plan-required-continue {
  width: 100%;
}

.td-card-layout-modes {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

.td-card-layout-modes button {
  min-height: 38px !important;
  border: 0 !important;
  color: var(--plan-muted) !important;
  background: var(--plan-card-soft) !important;
}

.td-card-layout-modes button.selected {
  color: var(--plan-blue) !important;
  background: var(--plan-blue-soft) !important;
}

.share-preview-surface {
  padding: 18px !important;
}

.share-preview-surface.perspective {
  overflow: visible;
  padding: 28px 24px 38px !important;
}

.share-meal-card {
  border-radius: 22px !important;
}

.share-meal-calories>div {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
}

.share-meal-calories strong,
.share-meal-calories em {
  position: static;
  flex: 0 0 auto;
  line-height: 1 !important;
}

.share-meal-foods {
  border-top: 0 !important;
}

.share-meal-foods>div {
  min-height: 66px;
  align-items: center !important;
  padding: 17px 0 !important;
  border-bottom: 1px solid var(--share-line) !important;
}

.share-meal-foods span,
.share-meal-foods b {
  line-height: 1.28 !important;
}

.share-meal-challenge {
  padding-top: 24px !important;
}

.share-meal-challenge>div {
  align-items: center !important;
}

.share-meal-progress {
  margin-top: 16px !important;
}

.celebration-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 20px;
}

.celebration-actions>button {
  width: 100%;
  min-height: 46px !important;
  margin: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
}

.celebration-actions>[data-share-completion] {
  color: #fff !important;
  background: var(--ds-primary) !important;
}

.celebration-actions>[data-close-celebration] {
  color: var(--ds-primary) !important;
  background: var(--ds-primary-soft) !important;
}

@media(max-width:760px) {
  .bottom {
    left: 14px;
    right: 14px;
    bottom: max(8px,env(safe-area-inset-bottom));
    padding: 6px 8px !important;
  }

  .td-screen-head {
    position: relative;
    top: 0;
    padding-top: max(10px,env(safe-area-inset-top));
  }

  .td-screen-body {
    padding-bottom: max(32px,env(safe-area-inset-bottom));
  }

  .td-plan-summary-sticky {
    margin-inline: -4px;
    padding: 5px 4px 7px;
  }

  .td-plan-summary-sticky .td-plan-target-card {
    padding: 14px;
  }

  .td-plan-target-card h3 {
    font-size: 16px;
  }

  .td-plan-calorie-line strong {
    font-size: 25px;
  }

  .td-plan-target-macro strong {
    font-size: 16px;
  }

  .td-plan-target-macro em {
    font-size: 12px;
  }

  .td-plan-food-main {
    align-items: center;
  }

  .td-plan-slider-row {
    gap: 7px;
  }

  .td-plan-required-alert {
    grid-template-columns: 46px minmax(0,1fr);
    padding: 15px;
  }

  .td-plan-required-alert>span {
    width: 46px;
    height: 46px;
  }

  .share-preview-surface.perspective {
    overflow: hidden;
  }

  .celebration-actions {
    grid-template-columns: 1fr;
  }
}

.bottom button,
.td-screen-head button,
.td-plan-slider-row>button,
.td-plan-food-actions button,
.td-plan-export-meals,
.td-card-layout-modes button,
.td-plan-required-list>button,
.td-plan-required-continue,
.celebration-actions>button {
  line-height: 1.2 !important;
}

.td-fasting-home {
  overflow: hidden;
}

.td-fast-home-body {
  display: grid;
  grid-template-columns: minmax(170px,220px) minmax(0,1fr);
  align-items: center;
  gap: 18px;
}

.td-fast-ring {
  position: relative;
  width: min(340px,86vw);
  aspect-ratio: 240/220;
  margin: 8px auto;
}

.td-fast-ring.compact {
  width: min(210px,54vw);
  margin: 0 auto;
}

.td-fast-ring svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.td-fast-ring path {
  fill: none;
  stroke-width: 14;
  stroke-linecap: round;
}

.td-fast-track {
  stroke: color-mix(in srgb,var(--line) 84%,transparent);
}

.td-fast-progress {
  stroke: url(#td-fast-gradient);
  transition: stroke-dasharray .45s linear;
}

.td-fast-ring>div {
  position: absolute;
  inset: 48px 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.td-fast-ring small {
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.td-fast-ring strong {
  margin: 5px 0 3px;
  color: var(--ink);
  font-size: clamp(28px,8vw,48px);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.04em;
}

.td-fast-ring.compact strong {
  font-size: clamp(23px,6vw,34px);
}

.td-fast-ring span {
  color: var(--muted);
  font-size: 12px;
}

.td-fast-home-times,
.td-fast-time-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}

.td-fast-home-times>span,
.td-fast-time-grid>span {
  min-width: 0;
  padding: 12px;
  border-radius: 10px;
  background: var(--wash);
}

.td-fast-home-times small,
.td-fast-time-grid small {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .12em;
}

.td-fast-home-times b,
.td-fast-time-grid b {
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
}

.td-fast-empty {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 2px 12px;
  padding: 13px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
  background: var(--wash) !important;
  text-align: left;
}

.td-fast-empty>span {
  grid-row: 1/3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #7ce0a9;
  background: rgba(49,201,133,.14);
  font-size: 24px;
}

.td-fast-empty strong {
  font-weight: 500;
}

.td-fast-empty small {
  color: var(--muted);
}

.td-fast-dashboard,
.td-fast-start-card {
  padding: 18px;
  border-radius: 10px;
  background: var(--paper);
}

.td-fast-dashboard>header small,
.td-fast-start-card>header small {
  color: #65d7a0;
  font-size: 10px;
  letter-spacing: .14em;
}

.td-fast-dashboard>header h2,
.td-fast-start-card>header h2 {
  margin: 4px 0 0;
  font-size: 22px;
  font-weight: 500;
}

.td-fast-time-grid {
  max-width: 620px;
  margin: 0 auto;
}

.td-fast-active-actions,
.td-fast-form .td-screen-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  max-width: 620px;
  margin: 14px auto 0;
}

.td-fast-finish {
  color: #eafff3 !important;
  background: #1b9d68 !important;
}

.td-fast-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.td-fast-form>label {
  display: grid;
  gap: 6px;
}

.td-fast-form input,
.td-fast-form select {
  width: 100%;
}

.td-fast-note {
  margin: 12px 3px 18px;
}

.td-fast-history {
  display: grid;
}

.td-fast-history>article {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.td-fast-history h3 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 500;
}

.td-fast-history small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.td-fast-history>article>div:last-child {
  display: flex;
  gap: 7px;
}

.td-fast-history button {
  width: 36px;
  min-width: 36px;
  min-height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--plan-blue) !important;
  background: var(--plan-blue-soft) !important;
  font-size: 18px;
}

.td-fast-history [data-fast-history-delete] {
  color: #ff7770 !important;
  background: rgba(255,101,95,.12) !important;
}

.td-planner-screen .td-screen-body {
  padding-top: 0 !important;
}

.td-plan-summary-sticky {
  top: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--plan-card);
}

.td-plan-summary-sticky .td-plan-target-card {
  border: 0 !important;
  box-shadow: 0 9px 22px rgba(0,0,0,.14) !important;
}

.td-plan-slider-row .td-plan-slider,
html[data-theme="dark"] .td-plan-slider-row .td-plan-slider {
  width: 100%;
  height: 24px;
  min-height: 24px !important;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.share-preview-surface,
.share-preview-surface.perspective {
  width: 100%;
  max-width: 100%;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}

.share-preview-card-host {
  max-width: 100%;
  margin-inline: auto;
}

.share-meal-card {
  padding: 44px;
  border-radius: 18px !important;
}

.share-meal-header {
  padding-bottom: 22px;
}

.share-meal-stats {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  padding: 22px 0;
  border-bottom: 1px solid var(--share-line);
}

.share-meal-stats>span {
  min-width: 0;
  padding-left: 12px;
  border-left: 4px solid var(--share-accent);
}

.share-meal-stats .carbs {
  border-left-color: #36c7c2;
}

.share-meal-stats .fats {
  border-left-color: #c36cdb;
}

.share-meal-stats .protein {
  border-left-color: #ffb442;
}

.share-meal-stats small {
  display: block;
  color: var(--share-muted);
  font-size: 15px;
}

.share-meal-stats b {
  display: block;
  margin-top: 6px;
  color: var(--share-text);
  font-size: 27px;
  font-weight: 650;
  white-space: nowrap;
}

.share-meal-stats em {
  color: var(--share-muted);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
}

.share-meal-progress-copy {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: space-between;
  margin-top: 18px !important;
  color: var(--share-muted);
  font-size: 16px;
}

.share-meal-progress-copy b {
  color: var(--share-muted) !important;
  font-size: 16px !important;
}

.share-meal-progress {
  height: 11px !important;
  margin-top: 8px !important;
}

@media(max-width:760px) {
  .td-fast-home-body {
    grid-template-columns: minmax(145px,46%) minmax(0,1fr);
    gap: 8px;
  }

  .td-fast-ring.compact {
    width: min(178px,48vw);
  }

  .td-fast-ring.compact>div {
    inset: 40px 20px 22px;
  }

  .td-fast-home-times {
    grid-template-columns: 1fr;
  }

  .td-fast-home-times>span {
    padding: 9px;
  }

  .td-fast-home-times b {
    font-size: 12px;
  }

  .td-fast-dashboard,
  .td-fast-start-card {
    padding: 14px;
  }

  .td-plan-summary-sticky {
    margin-inline: 0;
    padding: 0;
  }

  .td-plan-summary-sticky .td-plan-target-card {
    padding: 14px;
  }

  .share-preview-surface,
  .share-preview-surface.perspective {
    padding: 12px !important;
  }
}
