.view-tabs{--tab-gap:4px;--nav-motion:.46s;left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:40;border:1px solid var(--pane-border);border-radius:var(--radius-lg);background:var(--panel);width:min(100% - 32px,520px);box-shadow:var(--shadow-pop);-webkit-backdrop-filter:blur(22px)saturate(1.2);backdrop-filter:blur(22px)saturate(1.2);grid-template-columns:minmax(0,1fr);padding:6px 10px;display:grid;position:fixed;transform:translate(-50%)}.view-tab-row{gap:var(--tab-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.view-tab-indicator{width:calc((100% - 2 * var(--tab-gap)) / 3);background:linear-gradient(90deg, transparent 30%, var(--text) 30% 70%, transparent 70%);height:1.5px;transform:translateX(calc(var(--view-index,0) * (100% + var(--tab-gap))));transition:transform var(--nav-motion) var(--ease-spring);pointer-events:none;position:absolute;inset:auto auto 6px 0}.view-tab{z-index:1;border-radius:var(--radius-md);min-height:44px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:background-color var(--motion-fast) var(--ease-out), color var(--nav-motion) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:.76rem;font-weight:500;display:inline-flex;position:relative}.view-tab ion-icon{display:none}.view-tab:hover,.view-tab:focus-visible{color:var(--text);outline:none}.view-tab:active{transform:scale(.95)}.view-tab.is-active,.view-tab.is-active:hover,.view-tab.is-active:focus-visible{color:var(--text);background:0 0}.view-tab.is-active:focus-visible{box-shadow:0 0 0 2px var(--focus-ring)}.view-subtabs-shell{opacity:0;transition:grid-template-rows var(--nav-motion) var(--ease-out), opacity calc(var(--nav-motion) * .7) var(--ease-out);grid-template-rows:0fr;display:grid}.view-subtabs-shell[data-open=true]{opacity:1;grid-template-rows:1fr}.view-subtabs-clip{min-height:0;overflow:hidden}.skin-subtabs,.body-subtabs{--sub-pad:6px;--sub-gap:4px;gap:var(--sub-gap);padding-top:var(--sub-pad);border-top:1px solid var(--line);animation:subtabs-swap .26s var(--ease-out);grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;align-items:center;margin-top:6px;display:grid;position:relative}.view-subtab-indicator{top:var(--sub-pad);width:calc((100% - var(--sub-gap)) / 2);border-radius:var(--radius-sm);background:var(--fill);transform:translateX(calc(var(--sub-index,0) * (100% + var(--sub-gap))));transition:transform var(--nav-motion) var(--ease-spring);pointer-events:none;position:absolute;bottom:0;left:0}.skin-subtab,.body-subtab{z-index:1;min-height:38px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color var(--nav-motion) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.7rem;font-weight:500;display:inline-flex;position:relative}.skin-subtab:hover,.skin-subtab:focus-visible,.body-subtab:hover,.body-subtab:focus-visible,.skin-subtab.is-active,.body-subtab.is-active{color:var(--text);outline:none}.skin-subtab:focus-visible,.body-subtab:focus-visible{box-shadow:0 0 0 2px var(--focus-ring)}.skin-subtab ion-icon,.body-subtab ion-icon{display:none}@keyframes subtabs-swap{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.view-tab-indicator,.view-subtab-indicator,.view-subtabs-shell{transition:none}.skin-subtabs,.body-subtabs{animation:none}}.layout-section{width:100%;min-width:0}.body-shell,.body-workout-shell,.style-shell{gap:18px;width:100%;display:grid}.skin-products-shell{gap:18px;display:grid}.skin-products-hero,.skin-season-board-card,.skin-product-form-card,.style-hero,.style-card{padding:22px}.skin-product-form{gap:14px;display:grid}.skin-product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.skin-product-field{gap:8px;display:grid}.skin-product-field-wide{grid-column:1/-1}.skin-product-field span{color:var(--text-soft);font-size:.7rem;font-weight:600}.skin-product-field input,.skin-product-field textarea{border-radius:var(--radius-md);background:var(--fill);width:100%;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);color:var(--text);font:inherit;border:1.5px solid #0000;padding:0 14px}.skin-product-field input{height:46px}.skin-product-field textarea{resize:vertical;min-height:100px;padding-top:12px;padding-bottom:12px}.skin-product-field input:focus,.skin-product-field textarea:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}.product-status-control{border-radius:var(--radius-md);background:var(--fill);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.product-status-button{border-radius:var(--radius-sm);min-height:38px;color:var(--text-soft);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;padding:0 12px}.product-status-button:hover,.product-status-button:focus-visible{background:var(--panel);color:var(--text);outline:none}.product-status-button.is-active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00193c1a}.skin-type-selector{border-radius:var(--radius-md);background:var(--fill);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:16px;padding:4px;display:grid}.skin-type-button{border-radius:var(--radius-sm);min-height:38px;color:var(--muted);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.skin-type-button:hover,.skin-type-button:focus-visible{background:var(--panel);color:var(--text);outline:none}.skin-type-button.is-active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00193c1a}.skin-season-board-wrap{margin-top:18px;overflow-x:auto}.skin-season-mobile-list{display:none}.skin-season-board{grid-template-columns:190px repeat(4,minmax(220px,1fr));gap:10px;min-width:1120px;display:grid}.skin-season-corner,.skin-season-header,.skin-season-row-label,.skin-season-cell{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 94%, var(--panel-2) 6%)}.skin-season-corner,.skin-season-row-label{background:var(--text);min-height:118px;color:var(--bg);letter-spacing:0;text-align:center;place-items:center;padding:18px;font-size:1.05rem;font-weight:700;display:grid}.skin-season-header{letter-spacing:0;justify-content:center;align-items:center;gap:10px;min-height:118px;font-size:2.5rem;font-weight:700;display:flex}.skin-season-header ion-icon{color:var(--accent);font-size:1.6rem}.skin-season-cell{align-content:start;gap:10px;min-height:250px;padding:12px;display:grid}.skin-season-cell.is-active{border-color:color-mix(in srgb, var(--text) 26%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 10%, transparent)}.skin-season-cell-add{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;justify-self:start;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.skin-season-cell-list{gap:10px;display:grid}.skin-season-product-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);gap:10px;padding:12px;display:grid}.skin-season-product-image{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);width:100%}.skin-season-product-copy h3{margin:0;font-size:1rem}.skin-season-empty{color:var(--muted);margin:0;font-size:.9rem}.skin-product-meta,.skin-product-note{color:var(--text-soft);white-space:pre-wrap;word-break:break-word;margin:8px 0 0;line-height:1.7}.skin-product-note.is-muted{color:var(--muted)}.skin-product-card-actions{flex-wrap:wrap;gap:8px;display:flex}.skin-product-target{color:var(--text);margin:0;font-size:.82rem;font-weight:700}.skin-product-media-row{gap:12px;display:grid}.skin-product-image-zone{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);cursor:pointer;align-items:center;gap:14px;min-height:170px;padding:16px;display:grid}.skin-product-image-zone:focus-visible,.skin-product-image-zone:hover{border-color:var(--text);outline:none}.skin-product-image-zone-copy{justify-items:start;gap:6px;display:grid}.skin-product-image-zone-copy ion-icon{color:var(--muted);font-size:1.4rem}.skin-product-image-zone-copy strong,.skin-product-image-zone-copy p{margin:0}.skin-product-image-zone-copy p{color:var(--text-soft);line-height:1.6}.skin-product-image-preview{gap:10px;display:grid}.skin-product-image-preview img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);width:100%;max-width:240px}.skin-product-image-clear{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:34px;color:var(--text-soft);font:inherit;cursor:pointer;justify-self:start;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.skin-season-mobile-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 94%, var(--panel-2) 6%);padding:16px}.skin-season-mobile-card+.skin-season-mobile-card{margin-top:12px}.skin-season-mobile-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.skin-season-mobile-title{letter-spacing:0;align-items:center;gap:10px;font-size:1.65rem;font-weight:700;display:inline-flex}.skin-season-mobile-title ion-icon{color:var(--accent);font-size:1.4rem}.skin-season-mobile-add{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);min-height:34px;color:var(--muted);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.skin-season-mobile-body{gap:10px;display:grid}.body-hero,.body-card,.body-workout-hero{padding:20px}.body-hero,.body-workout-hero{gap:16px;display:grid}.body-hero-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.body-hero-stat{border-radius:var(--radius-lg);background:var(--fill);padding:16px;position:relative}.body-hero-stat-icon{background:var(--panel-solid);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.body-hero-stat strong{margin-top:8px;font-size:1.12rem;display:block}.body-hero-stat.is-primary{background:var(--accent-soft);padding:16px}.body-hero-stat.is-primary .body-hero-stat-icon{color:var(--accent)}.body-hero-stat.is-primary strong{letter-spacing:0;font-size:2rem;font-weight:700}.body-hero-stat.is-primary .summary-stat-label{color:var(--text)}.body-hero-note{color:var(--text-soft);margin:0;font-size:.96rem}.body-grid{z-index:10;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid;position:relative}.body-grid+.body-card{z-index:1;position:relative}.body-card-head{margin-bottom:16px}.body-card-head h2{margin-top:6px}.body-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.body-entry-form{gap:14px;display:grid;position:relative}.body-entry-form>.body-fields{z-index:2;position:relative}.body-field{gap:8px;display:grid}.body-field span{color:var(--text-soft);font-size:.7rem;font-weight:600}.body-field input,.body-field textarea{border-radius:var(--radius-md);background:var(--fill);width:100%;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);color:var(--text);border:1.5px solid #0000;padding:0 14px}.body-field input{height:46px}.body-segmented-control{border-radius:var(--radius-md);background:var(--fill);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.body-segment-button{border-radius:var(--radius-sm);min-height:38px;color:var(--text-soft);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;font-weight:600}.body-segment-button:hover,.body-segment-button:focus-visible{background:var(--panel);color:var(--text);outline:none}.body-segment-button.is-active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00193c1a}.body-date-picker{z-index:5;position:relative}.body-date-picker input{cursor:pointer;padding-right:52px}.body-date-toggle{border-radius:var(--radius-md);width:34px;height:34px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.body-date-toggle:hover,.body-date-toggle:focus-visible{background:var(--panel-2);outline:none}.body-calendar-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-solid);width:min(320px,100vw - 32px);box-shadow:var(--shadow-pop);z-index:80;padding:12px;position:absolute;top:calc(100% + 10px);right:0}.body-calendar-head{grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:14px;display:grid}.body-calendar-head strong{text-align:center;font-size:1rem}.body-calendar-nav{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:36px;height:36px;color:var(--text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.body-calendar-weekdays,.body-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.body-calendar-weekdays{margin-bottom:8px}.body-calendar-weekdays span{color:var(--muted);text-align:center;font-size:.68rem}.body-calendar-day{border-radius:var(--radius-md);min-width:0;min-height:36px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:600}.body-calendar-day:hover,.body-calendar-day:focus-visible{background:var(--panel-2);outline:none}.body-calendar-day.is-outside{color:var(--muted);opacity:.55}.body-calendar-day.is-today{border-color:var(--line-strong)}.body-calendar-day.is-selected{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 38%, var(--line));color:var(--text)}.body-field textarea{resize:vertical;min-height:94px;padding-top:12px;padding-bottom:12px}.body-field input:focus,.body-field textarea:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}.body-field-note{z-index:1;grid-column:1/-1;position:relative}.body-chart{min-height:260px}.body-chart-empty,.body-history-empty{color:var(--muted);font-size:.95rem}.body-chart-svg{width:100%;height:240px;overflow:visible}.body-chart-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.body-chart-target-line{stroke:color-mix(in srgb, var(--text-soft) 72%, transparent);stroke-width:2px;stroke-dasharray:6 6}.body-chart-target-label{fill:var(--muted);font-size:11px}.body-chart-point{fill:var(--panel);stroke:var(--accent);stroke-width:2px}.body-chart-label{fill:var(--muted);font-size:11px}.body-chart-value{fill:var(--text-soft);font-size:12px;font-weight:600}.body-history{gap:10px;display:grid}.body-history-item{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;display:grid}.body-history-date{color:var(--muted);font-size:.74rem}.body-history-weight{font-size:1.1rem;font-weight:700}.body-history-note{color:var(--text-soft);margin-top:6px;font-size:.92rem}.body-history-delete{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;padding:0 12px}.body-workout-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:start;gap:18px;display:grid}.body-workout-form{gap:14px;margin-top:10px;display:grid}.body-workout-parts{border-radius:var(--radius-md);background:var(--fill);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.body-part-button{border-radius:var(--radius-sm);min-height:38px;color:var(--muted);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.body-part-button:hover,.body-part-button:focus-visible{background:var(--panel);color:var(--text);outline:none}.body-part-button.is-active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00193c1a}.body-meal-types{grid-template-columns:repeat(4,minmax(0,1fr))}.body-workout-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.body-notes-toggle{grid-template-columns:repeat(2,minmax(0,1fr));width:240px}.body-notes-toggle .body-part-button{gap:6px}.body-notes-panel{gap:18px;display:grid}.body-workout-image-zone{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);cursor:pointer;align-items:center;gap:14px;min-height:170px;padding:16px;display:grid}.body-workout-image-zone:focus-visible,.body-workout-image-zone:hover{border-color:var(--text);outline:none}.body-workout-image-zone-copy{justify-items:start;gap:6px;display:grid}.body-workout-image-zone-copy ion-icon{color:var(--muted);font-size:1.4rem}.body-workout-image-zone-copy strong,.body-workout-image-zone-copy p{margin:0}.body-workout-image-zone-copy p{color:var(--text-soft);line-height:1.6}.body-workout-image-preview{gap:10px;display:grid}.body-workout-image-preview img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-md);width:100%;max-width:260px}.body-workout-list{gap:14px;margin-top:18px;display:grid}.body-workout-empty{border-radius:var(--radius-lg);background:var(--fill);border:0;align-items:center;gap:14px;padding:18px;display:flex}.body-workout-empty>ion-icon,.style-empty>ion-icon,.skin-video-empty>ion-icon{box-sizing:content-box;background:var(--panel-solid);color:var(--muted);border-radius:50%;flex-shrink:0;padding:11px;font-size:1.3rem}.body-workout-empty strong,.body-workout-empty p{margin:0}.body-workout-empty p{color:var(--text-soft);margin-top:4px;line-height:1.6}.body-workout-group{gap:10px;display:grid}.body-workout-group-head{color:var(--text);align-items:center;gap:12px;display:flex}.body-workout-group-head ion-icon{font-size:1.22rem}.body-workout-group-head h3{letter-spacing:0;margin:0;font-size:1.22rem;font-weight:700}.body-workout-group-head span{color:var(--muted);margin-left:auto;font-size:.78rem;font-weight:700}.body-workout-group-list{gap:10px;display:grid}.body-workout-item{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.body-workout-item.has-no-image{grid-template-columns:minmax(0,1fr) auto}.body-workout-edit,.body-workout-delete{justify-content:center;width:auto;min-width:96px;padding-inline:14px}.body-workout-actions{flex-wrap:wrap;justify-self:end;gap:8px;display:inline-flex}.body-workout-link,.body-workout-edit,.body-workout-delete{min-height:38px}.body-workout-item-image{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-sm);width:92px}.body-workout-item-copy{min-width:0}.body-workout-item-copy h3{margin:4px 0 0;font-size:1rem}.body-workout-note{color:var(--text-soft);white-space:pre-wrap;margin:6px 0 0;line-height:1.55}.body-workout-note.is-muted{color:var(--muted)}.style-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:start;gap:18px;display:grid}.style-form{gap:14px;margin-top:10px;display:grid}.style-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.style-category-control{border-radius:var(--radius-md);background:var(--fill);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.style-category-button{border-radius:var(--radius-sm);min-height:38px;color:var(--muted);font:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.style-category-button:hover,.style-category-button:focus-visible{background:var(--panel);color:var(--text);outline:none}.style-category-button.is-active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00193c1a}.style-image-zone{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);cursor:pointer;align-items:center;gap:14px;min-height:190px;padding:16px;display:grid}.style-image-zone:focus-visible,.style-image-zone:hover{border-color:var(--text);outline:none}.style-image-zone-copy{justify-items:start;gap:6px;display:grid}.style-image-zone-copy ion-icon{color:var(--muted);font-size:1.4rem}.style-image-zone-copy strong,.style-image-zone-copy p{margin:0}.style-image-zone-copy p{color:var(--text-soft);line-height:1.6}.style-image-preview{gap:10px;display:grid}.style-image-preview img{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-md);width:100%;max-width:260px}.style-list{gap:16px;margin-top:18px;display:grid}.style-empty{border-radius:var(--radius-lg);background:var(--fill);border:0;align-items:center;gap:14px;padding:18px;display:flex}.style-empty strong,.style-empty p{margin:0}.style-empty p{color:var(--text-soft);margin-top:4px;line-height:1.6}.style-group{gap:10px;display:grid}.style-group-head{align-items:center;gap:12px;display:flex}.style-group-head ion-icon{font-size:1.22rem}.style-group-head h3{letter-spacing:0;margin:0;font-size:1.22rem;font-weight:700}.style-group-head span{color:var(--muted);margin-left:auto;font-size:.78rem;font-weight:700}.style-group-list{gap:10px;display:grid}.style-item-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel) 92%, var(--panel-2) 8%);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.style-item-card.has-no-image{grid-template-columns:minmax(0,1fr) auto}.style-item-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius-sm);width:96px}.style-item-copy{min-width:0}.style-item-copy h3{margin:0;font-size:1rem}.style-item-note{color:var(--text-soft);white-space:pre-wrap;margin:6px 0 0;line-height:1.55}.style-item-note.is-muted{color:var(--muted)}.style-item-actions{flex-wrap:wrap;justify-self:end;gap:8px;display:inline-flex}.style-item-link,.style-item-edit,.style-item-delete{justify-content:center;min-width:86px;min-height:38px;padding-inline:14px}.section-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;padding:0 18px;display:flex}.week-nav{align-items:center;gap:10px;display:inline-flex}.week-nav-button{min-width:42px;min-height:42px;padding:0}.week-range-label{min-width:120px;color:var(--text-soft);text-align:center;margin:0;font-size:.82rem;font-weight:700}.section-label,.section-kicker{width:fit-content;color:var(--muted);align-items:center;gap:6px;margin:0;font-size:.72rem;display:inline-flex}.section-label ion-icon,.section-kicker ion-icon{font-size:1rem}.section-label{margin-bottom:14px}.section-note{margin:10px 0 0;font-size:.92rem}.table-card{padding:14px}.skin-videos{gap:18px;margin-bottom:14px;padding:20px;display:grid}.skin-videos-head h2{margin:6px 0 8px}.skin-video-form{gap:14px;display:grid}.skin-video-form-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;display:grid}.skin-video-field{gap:8px;display:grid}.skin-video-field span{color:var(--text-soft);font-size:.7rem;font-weight:700}.skin-video-field input,.skin-video-field textarea{border-radius:var(--radius-md);background:var(--fill);width:100%;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);color:var(--text);font:inherit;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);border:1.5px solid #0000;padding:14px 16px}.skin-video-field textarea{resize:vertical;min-height:110px}.skin-video-field input:focus,.skin-video-field textarea:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}.skin-video-form-actions{justify-content:flex-start;display:flex}.skin-video-preview{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel) 90%, var(--panel-2) 10%);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;padding:16px;display:grid}.skin-video-preview-frame,.skin-video-card-frame{border-radius:var(--radius-md);background:var(--panel-2);position:relative;overflow:hidden}.skin-video-preview-frame:before,.skin-video-card-frame:before{content:"";padding-top:56.25%;display:block}.skin-video-preview-frame iframe,.skin-video-card-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.skin-video-preview-copy,.skin-video-card-copy{align-content:start;gap:10px;min-width:0;display:grid}.skin-video-preview-copy h3,.skin-video-card-copy h3{margin:0;font-size:1.22rem;line-height:1.2}.skin-video-source-title,.skin-video-preview-note,.skin-video-note{color:var(--text-soft);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.7}.skin-video-source-title.is-muted,.skin-video-preview-note.is-muted,.skin-video-note.is-muted{color:var(--muted)}.skin-video-list{gap:14px;display:grid}.skin-video-card{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:18px;padding:16px;display:grid}.skin-video-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.skin-video-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.skin-video-link-button,.skin-video-edit-button,.skin-video-delete-button{min-height:40px}.skin-video-empty{border-radius:var(--radius-lg);background:var(--fill);color:var(--text-soft);border:0;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:18px;display:grid}.skin-video-empty strong,.skin-video-empty p{margin:0}.journal-summary{background:color-mix(in srgb, var(--panel) 88%, var(--panel-2) 12%);gap:14px;margin-bottom:14px;padding:18px;display:grid}.summary-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.today-steps{grid-template-columns:repeat(5,minmax(0,88px));gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.today-step{border-radius:var(--radius-lg);background:var(--fill);transition:transform .26s var(--ease-spring), background-color var(--motion-medium) var(--ease-out);justify-items:center;gap:8px;padding:14px 6px 12px;display:grid}.today-step-icon{background:var(--panel-solid);width:36px;height:36px;color:var(--muted);transition:background-color .3s var(--ease-out), color .3s var(--ease-out);border-radius:50%;place-items:center;display:grid}.today-step-icon ion-icon{font-size:1.05rem}.today-step small{color:var(--muted);font-size:.74rem;font-weight:600}.today-step.is-filled{background:var(--accent-soft)}.today-step.is-filled .today-step-icon{background:var(--accent);color:var(--on-accent);animation:dot-fill .42s var(--ease-spring)}.today-step.is-filled small{color:var(--accent)}.today-step:active{transform:scale(.95)}.summary-overview .summary-meta{margin-top:auto}.summary-kicker,.summary-stat-label{color:var(--muted);margin:0;font-size:.7rem;font-weight:600}.summary-copy{flex-direction:column;gap:14px;min-width:0;display:flex}.summary-copy h3{letter-spacing:-.02em;margin-top:-8px;font-size:1.9rem}.summary-text{color:var(--text-soft);margin:-6px 0 0;font-size:.96rem}.summary-progress-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);text-align:center;justify-self:end;place-items:center;min-width:118px;min-height:72px;padding:12px 14px;display:grid}.summary-progress-card strong{font-size:1.35rem;line-height:1}.summary-progress-card span{color:var(--muted);font-size:.62rem}.summary-meta{flex-wrap:wrap;gap:8px 18px;display:flex}.summary-meta>span{color:var(--text-soft);align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.summary-meta ion-icon{color:var(--muted);font-size:1.05rem}.summary-meta strong{color:var(--text)}.summary-bar{border-radius:var(--radius-sm);background:var(--panel-2);height:8px;position:relative;overflow:hidden}.summary-bar-fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.mood-picker{flex-wrap:wrap;gap:10px;display:flex}.mood-chip{background:var(--fill);min-height:40px;color:var(--text-soft);cursor:pointer;transition:transform .26s var(--ease-spring), background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);border:0;border-radius:12px;align-items:center;gap:6px;padding:0 14px 0 12px;font-weight:600;display:inline-flex}.mood-chip:hover,.mood-chip:focus-visible{background:var(--fill-strong);outline:none}.mood-chip:active{transform:scale(.95)}.mood-chip ion-icon{color:var(--muted);transition:color var(--motion-fast) var(--ease-out)}.mood-chip.is-active,.mood-chip.is-active:hover{background:var(--accent);color:var(--on-accent)}.mood-chip.is-active ion-icon{color:var(--on-accent)}.table-wrap{overflow-x:auto}.routine-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1580px}.col-day{width:96px}.col-morning,.col-skincare{width:280px}.col-face{width:220px}.col-grooming{width:250px}.col-evening{width:210px}.col-done{width:72px}.col-notes{width:240px}.routine-table th{border-bottom:1px solid var(--line);text-align:left;color:var(--muted);padding:14px 14px 18px;font-size:.7rem;font-weight:600}.routine-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:18px 14px}.routine-table tbody tr:hover{background:color-mix(in srgb, var(--panel) 94%, var(--text) 6%)}.routine-table tbody tr.today-row{background:var(--accent-soft)}.routine-table tbody tr:last-child td{border-bottom:none}.day-chip{flex-wrap:wrap;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;display:inline-flex}.day-sub{color:var(--muted);margin-top:8px;font-size:.84rem;font-weight:600}.table-mood,.mobile-mood{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:.8rem;font-weight:600;display:inline-flex}.today-badge{background:var(--accent-soft);height:26px;color:var(--accent);border:0;border-radius:6px;align-items:center;padding:0 8px;font-size:.66rem;font-weight:700;display:inline-flex}.editable-cell,.note-input,.mobile-textarea{border-radius:var(--radius-md);background:var(--fill);width:100%;min-height:92px;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);color:var(--text);resize:vertical;border:1.5px solid #0000;padding:12px 14px;line-height:1.65}.note-input,.mobile-textarea.note,.cell-display.note-display{min-height:112px}.editable-cell:focus,.note-input:focus,.mobile-textarea:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}.cell-display{border-radius:var(--radius-sm);min-height:92px;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);border:2px solid #0000;padding:8px 10px;position:relative}.cell-display.has-repeat{padding-right:42px}.cell-display.is-editable{cursor:text}.cell-display.is-editable:hover,.cell-display.is-editable:focus-visible{border-color:var(--line-strong);background:color-mix(in srgb, var(--panel) 94%, var(--text) 6%);outline:none}.cell-repeat-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);width:28px;height:28px;color:var(--muted);cursor:pointer;opacity:.72;transition:opacity var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);place-items:center;display:inline-grid;position:absolute;top:8px;right:8px}.cell-repeat-button:hover,.cell-repeat-button:focus-visible{opacity:1;border-color:var(--line-strong);background:var(--panel-2);color:var(--text);outline:none}.routine-repeat-menu{z-index:45;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:224px;box-shadow:var(--shadow);gap:4px;padding:6px;display:grid;position:fixed}.routine-repeat-menu[hidden]{display:none}.routine-repeat-menu button{border-radius:var(--radius-sm);min-height:34px;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:.86rem;font-weight:700}.routine-repeat-menu button:hover,.routine-repeat-menu button:focus-visible{background:var(--panel-2);color:var(--text);outline:none}.routine-repeat-custom{border-top:1px solid var(--line);grid-template-columns:1fr 54px auto;align-items:center;gap:6px;margin-top:4px;padding-top:8px;display:grid}.routine-repeat-custom span{color:var(--muted);font-size:.78rem;font-weight:700}.routine-repeat-custom input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);width:100%;height:34px;color:var(--text);font:inherit;text-align:center;font-size:.86rem;font-weight:700}.routine-repeat-custom input:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}.routine-repeat-menu .routine-repeat-custom button{background:var(--text);color:var(--panel);text-align:center}.routine-repeat-menu .routine-repeat-custom button:hover,.routine-repeat-menu .routine-repeat-custom button:focus-visible{background:var(--accent-soft);color:var(--text)}.routine-steps{gap:8px;display:grid}.routine-step{color:var(--text-soft);word-break:keep-all;padding-left:15px;font-size:.96rem;line-height:1.58;display:block;position:relative}.routine-step:before{content:"";border-radius:var(--radius-sm);background:var(--muted);width:6px;height:6px;position:absolute;top:.7em;left:0}.routine-step.is-emphasis{color:var(--text);font-weight:700}.routine-accent{color:var(--accent);font-weight:700}.note-text,.cell-placeholder{white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.7}.note-text{color:var(--text-soft)}.cell-placeholder{color:var(--muted)}.checkbox-wrap{justify-content:center;align-items:flex-start;padding-top:20px;display:flex}.done-checkbox{border:2px solid var(--line-strong);appearance:none;width:26px;height:26px;accent-color:var(--accent);background:var(--panel-solid);cursor:pointer;border-radius:50%;place-items:center;margin:0;display:grid}.done-checkbox:after{content:"";border-left:2.5px solid var(--on-accent);border-bottom:2.5px solid var(--on-accent);opacity:0;width:10px;height:5px;transition:opacity .16s var(--ease-out), transform .36s var(--ease-spring);transform:translateY(-1px)rotate(-45deg)scale(.4)}.done-checkbox:checked{border-color:var(--accent);background:var(--accent)}.done-checkbox:checked:after{opacity:1;transform:translateY(-1px)rotate(-45deg)scale(1)}.done-checkbox:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.sidebar{gap:16px;display:grid;position:sticky;top:18px}.info-card{padding:20px}.sidebar h2{margin:4px 0 14px}.rule-list,.guide-list{margin:0;padding:0;list-style:none}.rule-list li,.guide-list li{color:var(--text-soft);padding-left:16px;line-height:1.72;position:relative}.rule-list li:before,.guide-list li:before{content:"";border-radius:var(--radius-sm);background:var(--muted);width:6px;height:6px;position:absolute;top:.75em;left:0}.rule-list li+li,.guide-list li+li{margin-top:10px}.guide-block+.guide-block{border-top:2px solid var(--line);margin-top:18px;padding-top:18px}.mini-card .mini-copy{margin:0;font-size:.98rem;line-height:1.76}.mobile-cards{display:none}.routine-mobile-card{padding:16px}.routine-mobile-card+.routine-mobile-card{margin-top:14px}.mobile-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-card-main{flex:1;min-width:0}.mobile-day-wrap{align-items:center;gap:10px;display:flex}.mobile-day{letter-spacing:0;font-size:1.12rem;font-weight:700}.mobile-weekday{color:var(--muted);font-size:.8rem;font-weight:600}.mobile-day.today-label{color:var(--accent)}.mobile-today-badge{height:24px}.mobile-card-summary{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:.82rem;display:flex}.mobile-summary-dot{border-radius:var(--radius-sm);background:currentColor;width:4px;height:4px}.mobile-card-actions{align-items:center;gap:8px;display:flex}.mobile-done-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:40px;color:var(--text-soft);background:0 0;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.mobile-icon-button{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel);width:40px;height:40px;color:var(--text-soft);transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.mobile-icon-button:hover,.mobile-icon-button:focus-visible{background:var(--panel-2);color:var(--text);outline:none}.mobile-card-body{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;display:grid}.mobile-card-body[hidden]{display:none}.mobile-field{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-2);padding:12px}.mobile-field-head{margin-bottom:8px}.mobile-field-label{color:var(--muted);align-items:center;gap:8px;font-size:.7rem;font-weight:600;display:inline-flex}.mobile-field .cell-display,.mobile-field .mobile-textarea{min-height:auto}.mobile-field .cell-display{padding:0}.mobile-field .routine-step,.mobile-field .note-text,.mobile-field .cell-placeholder{font-size:.92rem}.field-label,.mobile-grid,.mobile-checkbox-row,.mobile-edit-hint{display:none}.save-status.saved{color:var(--success)}.save-status.reset{color:var(--danger)}.undo-toast{--toast-spring:cubic-bezier(.22, 1.2, .36, 1);top:calc(16px + env(safe-area-inset-top));z-index:60;border:1px solid var(--line);background:var(--panel-solid);width:min(100vw - 24px,440px);color:var(--text);box-shadow:var(--shadow-pop);opacity:0;transition:opacity .26s var(--ease-out), transform .42s var(--toast-spring);border-radius:18px;align-items:center;gap:10px;padding:10px 10px 12px 12px;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%,-18px)scale(.96)}.undo-toast.is-visible{opacity:1;transform:translate(-50%)scale(1)}.undo-toast.is-leaving{opacity:0;transition:opacity .24s var(--ease-out), transform .32s var(--ease-out);pointer-events:none;transform:translate(-50%,-14px)scale(.97)}.undo-toast-copy{min-width:0;color:var(--text);flex:1;align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:inline-flex}.undo-toast-icon{background:color-mix(in srgb, var(--accent) 16%, transparent);width:32px;height:32px;color:var(--accent-strong);border-radius:10px;flex:none;place-items:center;display:grid}.undo-toast-icon ion-icon{font-size:1.05rem}.undo-toast.is-visible .undo-toast-icon ion-icon{animation:icon-spin-in .42s var(--ease-out) 80ms both}.undo-toast-timer{background:color-mix(in srgb, var(--accent) 55%, transparent);transform-origin:0;height:3px;animation:toast-drain var(--toast-duration,6.5s) linear forwards;position:absolute;bottom:0;left:0;right:0}.undo-toast:hover .undo-toast-timer{animation-play-state:paused}@keyframes toast-drain{to{transform:scaleX(0)}}.undo-toast-action,.undo-toast-close{border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;font-weight:700}.undo-toast-action{border-radius:var(--radius-sm);min-height:36px;padding:0 15px}.undo-toast-close{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.undo-toast-action:hover,.undo-toast-close:hover,.undo-toast-action:focus-visible,.undo-toast-close:focus-visible{border-color:var(--text-soft);outline:none}@media (hover:hover) and (pointer:fine){.view-tab:hover,.skin-subtab:hover,.body-subtab:hover,.product-status-button:hover,.skin-type-button:hover,.body-segment-button:hover,.body-part-button:hover,.style-category-button:hover,.mood-chip:hover,.cell-display.is-editable:hover,.mobile-icon-button:hover{transform:translateY(-1px)}.view-tab:hover ion-icon,.skin-subtab:hover ion-icon,.body-subtab:hover ion-icon,.mood-chip:hover ion-icon,.mobile-icon-button:hover ion-icon{transform:translateY(-1px)scale(1.06)}.cell-repeat-button:hover ion-icon{transform:rotate(120deg)}.week-nav-button:first-child:hover ion-icon{transform:translate(-3px)}.week-nav-button:last-child:hover ion-icon,.skin-video-link-button:hover ion-icon,.body-workout-link:hover ion-icon,.style-item-link:hover ion-icon{transform:translate(3px)}}@keyframes icon-spin-in{0%{opacity:.35;transform:rotate(-32deg)scale(.88)}}.view-tab:active,.skin-subtab:active,.body-subtab:active,.product-status-button:active,.skin-type-button:active,.body-segment-button:active,.body-part-button:active,.style-category-button:active,.mood-chip:active,.mobile-icon-button:active{transform:scale(.97)}.cell-display.is-repeated .cell-repeat-button{opacity:1;border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 16%, var(--panel));color:var(--accent-strong)}.routine-repeat-section-label,.routine-repeat-current-label{color:var(--muted);margin:0;padding:6px 10px 2px;font-size:.74rem;font-weight:700}.routine-repeat-current{border-bottom:1px solid var(--line);gap:4px;margin-bottom:4px;padding-bottom:6px;display:grid}.routine-repeat-current-label{color:var(--accent-strong);align-items:center;gap:6px;display:inline-flex}.routine-repeat-menu button.is-danger{color:var(--danger)}.routine-repeat-menu button.is-danger:hover,.routine-repeat-menu button.is-danger:focus-visible{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.repeat-panel{gap:14px;margin-top:16px;padding:22px;display:grid}.repeat-panel-head h2{margin:8px 0 4px}.repeat-panel-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.repeat-panel-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.repeat-panel-copy{gap:4px;min-width:0;display:grid}.repeat-panel-meta,.repeat-panel-value,.repeat-panel-range{margin:0}.repeat-panel-meta{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.repeat-panel-badge{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent-strong);border-radius:999px;padding:2px 8px;font-weight:700}.repeat-panel-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.repeat-panel-range{color:var(--muted);font-size:.8rem}@media (max-width:560px){.repeat-panel{padding:16px}.repeat-panel-item{grid-template-columns:1fr}}.grooming-chips{flex-wrap:wrap;gap:6px;padding:4px 0;display:flex}.grooming-chip{border:1px solid var(--line);transition:background-color var(--motion-medium) var(--ease-out), border-color var(--motion-medium) var(--ease-out), box-shadow var(--motion-medium) var(--ease-out);background:0 0;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.grooming-chip-toggle,.grooming-chip-repeat{color:var(--muted);font:inherit;cursor:pointer;transition:color var(--motion-medium) var(--ease-out), background-color var(--motion-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:inline-flex}.grooming-chip-toggle{min-height:30px;padding:0 11px}.grooming-chip-toggle ion-icon{animation:chip-check-in .26s var(--ease-out);font-size:.9rem}.grooming-chip-repeat{border-left:1px solid color-mix(in srgb, var(--accent) 30%, transparent);width:28px;animation:chip-check-in .26s var(--ease-out);justify-content:center}.grooming-chip-toggle:hover,.grooming-chip-toggle:focus-visible,.grooming-chip-repeat:hover,.grooming-chip-repeat:focus-visible{color:var(--text);outline:none}.grooming-chip.is-on{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));background:color-mix(in srgb, var(--accent) 16%, transparent)}.grooming-chip.is-on .grooming-chip-toggle,.grooming-chip.is-on .grooming-chip-repeat{color:var(--accent-strong)}.grooming-chip.is-repeated .grooming-chip-repeat{background:color-mix(in srgb, var(--accent) 26%, transparent)}.grooming-chip-repeat:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}@keyframes chip-check-in{0%{opacity:0;transform:scale(.6)}}.grooming-items-list{flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;list-style:none;display:flex}.grooming-items-list li{border:1px solid var(--line);color:var(--text-soft);animation:chip-check-in .22s var(--ease-out);border-radius:999px;align-items:center;gap:2px;padding:4px 4px 4px 11px;font-size:.84rem;font-weight:700;display:inline-flex}.grooming-items-list button{width:22px;height:22px;color:var(--muted);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.grooming-items-list button:hover,.grooming-items-list button:focus-visible{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);outline:none}.grooming-items-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.grooming-items-form input{border-radius:var(--radius-sm);background:var(--fill);min-width:0;height:38px;color:var(--text);font:inherit;border:1.5px solid #0000;padding:0 10px;font-size:.86rem}.grooming-items-form input:focus{border-color:var(--accent);background:var(--panel-solid);outline:none}@media (prefers-reduced-motion:reduce){.grooming-chip-toggle ion-icon,.grooming-chip-repeat,.grooming-items-list li{animation:none}}.has-segment-indicator{isolation:isolate;position:relative}.segment-indicator{z-index:0;border-radius:var(--radius-sm);background:var(--panel-solid);opacity:0;pointer-events:none;position:absolute;top:0;left:0;box-shadow:0 1px 3px #00193c1a}.segment-indicator[data-ready]{transition:transform .42s var(--ease-spring), width .42s var(--ease-spring), height .42s var(--ease-spring), opacity .2s var(--ease-out)}[data-theme=dark] .segment-indicator{background:var(--fill-strong);box-shadow:none}.has-segment-indicator>button{z-index:1;transition:color .34s var(--ease-out), transform var(--motion-fast) var(--ease-out);position:relative}.has-segment-indicator>button,.has-segment-indicator>button:hover,.has-segment-indicator>button:focus-visible,.has-segment-indicator>button.is-active{box-shadow:none;background:0 0}.has-segment-indicator>button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.segment-indicator[data-ready]{transition:none}}@keyframes view-enter{0%{opacity:0}}@keyframes card-rise{0%{opacity:0;transform:translateY(16px)}}.content-view .card{animation:card-rise .62s var(--ease-out) backwards}.content-view .card:nth-child(2){animation-delay:70ms}.content-view .card:nth-child(3){animation-delay:.14s}.content-view .card:nth-child(n+4){animation-delay:.21s}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}}@keyframes item-enter{0%{opacity:0;transform:translateY(6px)scale(.99)}}.content-view:not([hidden]),.layout:not([hidden]),.skin-products-shell:not([hidden]),.body-shell:not([hidden]),.body-workout-shell:not([hidden]),.body-notes-panel:not([hidden]){animation:view-enter .36s var(--ease-out)}.settings-panel:not([hidden]),.cell-context-menu:not([hidden]),.routine-repeat-menu:not([hidden]),.body-calendar-panel:not([hidden]){transform-origin:0 0;animation:pop-in .2s var(--ease-out)}.settings-panel:not([hidden]){transform-origin:100% 0}.mobile-card-body:not([hidden]),.skin-video-preview,.skin-video-card,.skin-season-product-card,.body-workout-item,.style-item-card,.body-history-item,.repeat-panel-item{animation:item-enter .3s var(--ease-out) backwards}.mood-chip,.done-checkbox,.cell-display.is-editable,.button{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.24s;transition-timing-function:var(--ease-out)}.done-checkbox:checked{animation:check-pop .36s var(--ease-spring)}@keyframes check-pop{40%{transform:scale(.86)}}.routine-repeat-menu[data-placement=above]:not([hidden]){transform-origin:0 100%;animation-name:pop-in-above}@keyframes pop-in-above{0%{opacity:0;transform:translateY(4px)scale(.97)}}.summary-overview{align-items:stretch}.streak-card{border-radius:var(--radius-lg);background:var(--fill);gap:16px;width:min(100%,380px);padding:20px;display:grid;position:relative}.streak-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.streak-orb{place-items:center;width:64px;height:64px;display:grid;position:relative}.streak-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.streak-ring circle{fill:none;stroke-width:5px}.streak-ring-track{stroke:var(--line)}.streak-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease-out)}.streak-flame{background:var(--panel-solid);width:44px;height:44px;color:var(--muted);animation:flame-ignite .52s var(--ease-spring);border-radius:50%;place-items:center;display:grid}.streak-flame ion-icon{font-size:1.45rem}.streak-card:not([data-tier="0"]) .streak-flame{color:var(--flame)}.streak-ripple{border:2px solid var(--accent);opacity:0;pointer-events:none;animation:streak-ripple .9s var(--ease-out);border-radius:50%;position:absolute;inset:0}.streak-headline{min-width:0}.streak-level{color:var(--muted);align-items:center;gap:6px;margin:0 0 2px;font-size:.82rem;font-weight:600;display:inline-flex}.streak-level span{color:var(--accent);font-weight:700}.streak-count{align-items:baseline;gap:4px;min-width:0;display:flex}.streak-number{font-variant-numeric:tabular-nums;letter-spacing:-.03em;animation:streak-bump .52s var(--ease-spring);font-size:2.3rem;font-weight:700;line-height:1.1}.streak-count span{color:var(--text-soft);font-size:.95rem;font-weight:600}.streak-status{color:var(--text-soft);margin:-4px 0 0;font-size:.9rem;line-height:1.5}.streak-week{border-radius:var(--radius-md);background:var(--panel-solid);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;padding:12px 8px;list-style:none;display:grid}.streak-day{justify-items:center;gap:6px;display:grid}.streak-day small{color:var(--muted);font-size:.72rem;font-weight:600}.streak-day-dot{background:var(--fill);width:28px;height:28px;color:var(--on-accent);transition:background-color .3s var(--ease-out), transform .3s var(--ease-spring);border-radius:50%;place-items:center;display:grid}.streak-day-dot ion-icon{font-size:.9rem}.streak-day.is-done .streak-day-dot{background:var(--accent);animation:dot-fill .42s var(--ease-spring)}.streak-day.is-today .streak-day-dot{box-shadow:inset 0 0 0 2px var(--accent)}.streak-day.is-today.is-done .streak-day-dot{box-shadow:none}.streak-card[data-state=at-risk] .streak-day.is-today .streak-day-dot{animation:1.8s ease-in-out infinite today-pulse}.streak-day.is-today small{color:var(--accent);font-weight:700}.streak-day.is-upcoming .streak-day-dot{box-shadow:inset 0 0 0 1.5px var(--line);background:0 0}.streak-stats{flex-wrap:wrap;gap:4px 14px;display:flex}.streak-stats span{color:var(--text-soft);align-items:center;gap:4px;font-size:.82rem;font-weight:500;display:inline-flex}.streak-stats strong{color:var(--text);font-weight:700}.streak-stats ion-icon{color:var(--muted);font-size:.95rem}.streak-badges{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.streak-badge{justify-items:center;gap:4px;display:grid}.streak-badge ion-icon{box-sizing:content-box;background:var(--panel-solid);color:var(--line-strong);transition:transform .26s var(--ease-spring);border-radius:50%;padding:8px;font-size:.85rem}.streak-badge small{color:var(--muted);font-size:.68rem;font-weight:600}.streak-badge.is-earned ion-icon{background:var(--accent);color:var(--on-accent)}.streak-badge.is-earned small{color:var(--text)}.streak-badge.is-next ion-icon{background:var(--accent-soft);color:var(--accent)}@media (hover:hover) and (pointer:fine){.streak-badge:hover ion-icon{transform:scale(1.12)}}@keyframes streak-ripple{0%{opacity:.6;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes flame-ignite{0%{opacity:.4;transform:scale(.7)rotate(-8deg)}60%{transform:scale(1.12)rotate(3deg)}}@keyframes flame-flicker{0%,to{transform:scale(1)rotate(0)}35%{transform:scale(1.06)rotate(-3deg)}70%{transform:scale(.97)rotate(2deg)}}@keyframes streak-bump{0%{opacity:0;transform:translateY(6px)}60%{transform:translateY(-2px)}}@keyframes dot-fill{0%{transform:scale(.5)}60%{transform:scale(1.15)}}@keyframes today-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 40%, transparent), inset 0 0 0 2px var(--accent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 0%, transparent), inset 0 0 0 2px var(--accent)}}@media (max-width:760px){.summary-overview{grid-template-columns:1fr}.streak-card{width:100%}}
@media (max-width:1240px){.layout{grid-template-columns:1fr}.sidebar{grid-template-columns:repeat(3,minmax(0,1fr));position:static}}@media (max-width:920px){.page-shell{width:min(100% - 24px,920px);padding-top:16px;padding-bottom:calc(140px + env(safe-area-inset-bottom))}.hero{grid-template-columns:1fr;padding:24px}h1{font-size:3rem}.skin-video-form-grid,.skin-video-preview,.skin-video-card,.skin-product-form-grid,.style-form-grid{grid-template-columns:1fr}.skin-subtabs,.body-subtabs{justify-content:center;width:min(100%,420px);margin-inline:auto}.skin-video-card-actions{justify-content:flex-start}.hero-main{max-width:none}.hero-actions,.auth-status{justify-content:center;align-items:center;width:100%}.auth-status{flex-wrap:wrap}.auth-user{width:100%}.header-buttons{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center;justify-items:center;width:100%;display:grid}.settings-menu{width:100%}.settings-panel{width:100%;left:0;right:auto}.auth-form{grid-template-columns:1fr}.auth-card{grid-template-columns:1fr;grid-template-areas:"copy""tabs""form""reset""message"}.auth-tabs{justify-self:stretch}.section-header{flex-direction:column;align-items:flex-start;padding:0}.view-tabs{width:calc(100% - 24px)}.view-tab{justify-content:center}.week-nav{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;width:100%;display:grid}.week-range-label{overflow-wrap:anywhere;flex:1;min-width:0}.table-card{display:none}.journal-summary,.skin-videos,.skin-products-hero,.skin-product-form-card,.skin-season-board-card,.style-hero,.style-card{padding:18px}.skin-season-board-wrap{display:none}.skin-season-mobile-list{margin-top:18px;display:block}.skin-type-selector{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skin-type-button{padding-inline:8px}.summary-overview{grid-template-columns:1fr;align-items:flex-start}.summary-progress-card{justify-self:stretch}.mobile-cards{display:block}.sidebar{grid-template-columns:1fr;gap:14px}.body-grid,.body-workout-grid,.style-grid,.body-fields,.body-hero-grid,.body-workout-hero{grid-template-columns:1fr}.body-notes-toggle{width:100%}}@media (max-width:560px){h1{font-size:2.55rem}.card,.routine-mobile-card{border-radius:var(--radius-xl)}.hero,.auth-card,.info-card,.routine-mobile-card,.journal-summary{padding:18px}.header-buttons,.auth-tabs{grid-template-columns:1fr;justify-items:center;width:100%;display:grid}.view-tabs{--tab-gap:4px;border-radius:18px;width:calc(100% - 20px);padding:6px}.view-tab-indicator{border-radius:14px}.view-tab{border-radius:14px;gap:5px;min-height:48px;padding:0 8px;font-size:.78rem}.view-tab ion-icon{font-size:1.08rem}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}#skinViewTab,#bodyViewTab,#styleViewTab{order:initial}.skin-subtabs,.body-subtabs{order:initial;--sub-pad:6px;justify-content:center;width:100%;margin-inline:auto}.skin-subtab,.body-subtab{min-height:36px;padding-inline:8px;font-size:.78rem}.header-buttons{max-width:420px;margin:0 auto}.button,.auth-tab{justify-content:center;width:100%;padding-inline:0}.settings-menu,#themeToggle,#logoutButton{width:min(100%,420px);margin-inline:auto}.mobile-card-head{flex-direction:column;align-items:flex-start;gap:12px}.mobile-card-main,.mobile-card-summary{width:100%}.mobile-card-summary{flex-wrap:wrap;row-gap:6px}.mobile-card-actions{grid-template-columns:44px 44px;align-items:center;display:grid}.mobile-done-toggle{justify-content:center;width:100%}.sidebar h2,.auth-card h2{font-size:1.5rem}.hero-copy,.section-note,.summary-text,.auth-message,.body-hero-note{font-size:.92rem;line-height:1.62}.summary-copy h3{font-size:1.25rem}.summary-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.summary-meta>span{min-width:0;font-size:.8rem}.today-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.mood-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mood-chip{justify-content:center;min-width:0}.week-nav-button{min-width:40px;min-height:40px}.week-range-label{font-size:.74rem;line-height:1.35}.mobile-day-wrap{flex-wrap:wrap;row-gap:6px}.mobile-day{font-size:1.02rem}.mobile-weekday,.mobile-card-summary,.mobile-mood{font-size:.78rem}.mobile-field{padding:11px}.mobile-field .routine-step,.mobile-field .note-text,.mobile-field .cell-placeholder{font-size:.9rem;line-height:1.58}.body-hero,.body-card,.body-workout-hero,.style-hero,.style-card{padding:18px}.body-workout-parts,.product-status-control,.style-category-control{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.body-part-button,.style-category-button{justify-content:center}.body-workout-item,.style-item-card{grid-template-columns:74px minmax(0,1fr)}.body-workout-actions,.style-item-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));justify-self:stretch;width:100%;display:grid}.body-workout-link,.body-workout-edit,.body-workout-delete,.style-item-link,.style-item-edit,.style-item-delete{justify-content:center;width:100%}.body-workout-item-image,.style-item-image{width:74px}.body-calendar-panel{width:min(100%,320px);left:0;right:auto}.body-history-item{grid-template-columns:1fr;gap:10px}.undo-toast{width:calc(100% - 20px);top:calc(10px + env(safe-area-inset-top))}.undo-toast-copy{font-size:.84rem}}@media (max-width:400px){.page-shell{width:min(100% - 20px,400px);padding-bottom:calc(146px + env(safe-area-inset-bottom))}.hero,.auth-card,.info-card,.routine-mobile-card,.journal-summary{padding:16px}h1{font-size:2.2rem}.button,.auth-tab,#settingsButton{min-height:44px}.summary-copy h3{font-size:1.15rem}.skin-type-selector{grid-template-columns:1fr}.mobile-card-actions{grid-template-columns:1fr;gap:8px}.mobile-icon-button{width:100%;height:42px}}@media (max-width:920px){.hero-actions{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:4px 18px;min-width:0}.auth-status,.auth-user{justify-content:flex-start;width:auto}.header-buttons{justify-content:flex-start;gap:18px;width:auto;max-width:none;margin:0;display:flex}.header-buttons .settings-menu,.header-buttons .button,.header-buttons #themeToggle,.hero-actions #logoutButton{width:auto;margin:0;padding-inline:4px}}
.app-loading{min-height:240px;color:var(--text-soft);place-items:center;display:grid}
