/* Authoritative website design system. Application CSS owns layout, not controls. */
:root {
 --layout-unit: clamp(1px, .0694444444vw, 1.25px);
 --space-10: calc(10 * var(--layout-unit)); --space-20: calc(20 * var(--layout-unit));
 --space-30: calc(30 * var(--layout-unit)); --space-40: calc(40 * var(--layout-unit)); --space-50: calc(50 * var(--layout-unit));
 --background-floor: rgb(100% 100% 100%); --background-ceiling: rgb(50% 50% 50%);
 --text-ceiling: rgb(0% 0% 0%); --text-floor: rgb(50% 50% 50%);
 --font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --control-font-size: 16px; --control-font-weight: 400;
 --control-height: calc(32 * var(--layout-unit)); --control-padding: var(--space-10);
 --corner-radius: 4px; --control-radius: var(--corner-radius); --panel-radius: var(--corner-radius); --space-control: var(--space-10); --space-section: var(--space-20);
 --background: var(--background-floor); --foreground: var(--text-ceiling); --surface: var(--background-floor);
 --subtle: var(--background-ceiling); --divider: var(--background-ceiling); --muted: var(--text-floor); --secondary-text: var(--text-floor);
 --interaction-rest: var(--text-ceiling);
 --interaction-hover: var(--text-ceiling);
 --interaction-pressed: var(--text-ceiling);
 --navigation-hover: var(--interaction-hover); --navigation-pressed: var(--interaction-pressed);
 --button-danger-background: var(--interaction-rest); --button-danger-text: var(--text-ceiling);
 font-family: var(--font-family); accent-color: var(--foreground); scrollbar-color: var(--divider) var(--background);
}
:root[data-appearance="dark"] { --background-floor: rgb(0% 0% 0%); --text-ceiling: rgb(100% 100% 100%); }
@media(prefers-color-scheme:dark) {
 :root:not([data-appearance="light"]):not([data-appearance="dark"]) { --background-floor: rgb(0% 0% 0%); --text-ceiling: rgb(100% 100% 100%); }
}
:root:root body { font: 400 16px/1.5 var(--font-family); letter-spacing: 0; background: var(--background); color: var(--foreground); }
:root:root:root *, :root:root:root *::before, :root:root:root *::after { border-radius: 0 !important; }
:root:root:root svg rect { rx: 0; ry: 0; }
h1,h2,h3 { overflow-wrap:anywhere; text-wrap:balance; }
:root:root :is(.page-heading,.words-heading,.library-editor-heading,.tasks-heading,.recipe-heading) { display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-10);margin-bottom:var(--space-20); }
:root:root :is(.page-heading,.words-heading,.library-editor-heading,.tasks-heading,.recipe-heading) :is(h1,h2) { margin:0; }
:root:root :is(.auth-card h1,.ui-dialog h2,#meal-editor h2,#library-editor-heading) { font-size:20px;font-weight:500;letter-spacing:0; }
:root:root :is(.ui-section-title,.task-group-title,#calendar-period) { font-size:16px;font-weight:400;letter-spacing:0; }

/* All command controls share one geometry, type scale, and state palette. */
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary) {
 box-sizing:border-box !important; height:var(--control-height) !important; min-height:var(--control-height) !important; max-height:var(--control-height) !important; min-width:var(--control-height) !important; min-inline-size:var(--control-height) !important; flex-shrink:0;
 padding:0 var(--control-padding) !important; font:var(--control-font-weight) var(--control-font-size)/1.25 var(--font-family) !important;
 background:var(--interaction-rest) !important;color:var(--background-floor) !important;-webkit-text-fill-color:var(--background-floor) !important;
 border:0 !important;box-shadow:none !important;gap:var(--space-10);align-items:center;justify-content:center;justify-self:start;align-self:flex-start;margin-inline:0;
 text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:none !important;animation:none !important;translate:none !important;scale:none !important;
}
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary):not([hidden]) { display:inline-flex; }
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary) :is(span,strong,small,time,p,i,svg) { color:inherit !important;-webkit-text-fill-color:inherit !important; }
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary) :is(strong,span) { font-weight:inherit; }
@media(hover:hover) {
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary):not(:disabled):not([data-disabled]):not([aria-disabled="true"]):is(:hover,[data-hovered]) { background:var(--interaction-hover) !important; }
}
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary):not(:disabled):not([data-disabled]):not([aria-disabled="true"]):is(:active,[data-pressed]) { background:var(--interaction-pressed) !important;translate:none !important; }
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary):is(:disabled,[data-disabled],[aria-disabled="true"]) { background:var(--interaction-rest) !important;color:var(--background-floor) !important;-webkit-text-fill-color:var(--background-floor) !important;cursor:not-allowed;opacity:1; }
:root:root:root :is(:focus-visible,[data-focus-visible]) { outline:1px solid var(--text-ceiling);outline-offset:2px; }
:root:root:root [hidden] { display:none !important; }
:root:root :is([role="status"],[role="alert"]):empty { display:none; }
:root:root :is(button,.action,.back-link,.app-link) { position:relative; }
:root:root :is(.library-item,.document-summary,.task-content,.recipe-button,.sidebar-panel a) { justify-content:flex-start; }
:root:root :is(.library-item,.document-summary,.task-content) { overflow:hidden; }
:root:root :is(.library-item,.document-summary,.task-content) > :is(span,strong) { min-width:0;overflow:hidden;text-overflow:ellipsis; }
:root:root :is(.global-search-close,.formatting button) { padding-inline:0 !important;min-width:var(--control-height); }

/* Form fields and structured content retain their own multiline height. */
:root:root:root :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.spreadsheet-cell),select,textarea) {
 box-sizing:border-box;min-width:0;max-width:100%;font:400 16px/1.5 var(--font-family) !important;color:var(--foreground);background:var(--background);
 border:1px solid var(--divider);padding:0 var(--space-10);border-radius:0;
}
:root:root:root :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.spreadsheet-cell),select) { height:var(--control-height) !important;min-height:var(--control-height) !important; }
:root:root:root textarea { padding:var(--space-10);resize:vertical; }
:root:root ::placeholder { color:var(--text-floor);opacity:1; }
::selection { color:var(--background);background:var(--foreground); }
:root:root :is(.ui-field,#meal-form label,#category-fields label,#library-fields label) { display:grid;gap:var(--space-10);font-size:16px; }
:root:root :is(.ui-form,.ui-dialog,.ui-menu,.security-settings,#meal-form,#category-fields,#library-fields) { gap:var(--space-20); }
:root:root :is(.ui-actions,.editor-actions,.formatting,.filters,.calendar-tools,.calendar-views,.calendar-week,.task-filters,.task-actions,.passkey-actions,.account-actions,.library-tools,.default-fields,.meal-fields,.meal-actions,.section-tabs,.appearance-options,.library-filters) { gap:var(--space-10);align-items:center; }
:root:root .section-tabs { display:flex;flex-wrap:wrap;margin-bottom:var(--space-20); }
:root:root :is(.task-filters,.filters,.library-tools) { margin-bottom:var(--space-20); }
:root:root :is(.ui-menu > section,.ui-menu > .appearance-setting,.ui-menu > .security-settings,.ui-menu > .account-actions,#category-form,#library-form,.exercise,.chart) { padding:var(--space-20);border:1px solid var(--divider);background:var(--background); }
:root:root :is(.ui-modal,#meal-editor,#task-editor) { width:min(calc(520 * var(--layout-unit)),calc(100% - 2 * var(--space-10)));max-height:calc(100dvh - 2 * var(--space-10));overflow:auto;padding:var(--space-20);border:1px solid var(--divider);background:var(--background);color:var(--foreground); }
:root:root .ui-overlay { padding:var(--space-10); }
:root:root .ui-modal { width:min(calc(520 * var(--layout-unit)),100%); }
:root:root :is(.ui-modal form,.passkey-card) { gap:var(--space-20); }
:root:root .appearance-options { display:flex;flex-wrap:wrap;padding:0;background:transparent; }
:root:root .task-check { width:calc(44 * var(--layout-unit));min-height:calc(44 * var(--layout-unit)); }
:root:root .task-group { margin-bottom:var(--space-20); }
:root:root .task-group-title { display:flex;gap:var(--space-10);margin:0 0 var(--space-20); }
:root:root .task-group ul { display:grid;gap:var(--space-10); }
:root:root :is(.task-row,.task-removed-actions,.task-copy) { gap:var(--space-10); }
:root:root #documents { grid-template-columns:minmax(0,1fr); }
:root:root .library-filters { grid-template-columns:minmax(0,1fr); }
:root:root :is(input[type="search"]) { width:100%;max-width:none;margin:0; }
:root:root :is(.filters,.library-filters):has(input[type="search"]) { display:flex;flex-wrap:wrap;width:100%; }
:root:root :is(.filters,.library-filters) input[type="search"] { flex:1 1 100%; }
:root:root :is(.history-controls,.calendar-date,.task-date,.document-date,.set-number) { font-variant-numeric:tabular-nums; }
:root:root :is(.calendar-tools,.library-tools,.words-heading,.recipe-heading) > :is(.action,#new-document,#new-recipe,.library-add-picker) { margin-left:0; }
:root:root #calendar-view-options,:root:root #library-add-options { padding:0;border:0;width:100%;gap:var(--space-10); }
:root:root #calendar-view-options button,:root:root #library-add-options button { width:100%;justify-content:center;text-align:center;text-decoration:none; }

/* Home shares the solid control palette. */
:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle {
 --interaction-rest:var(--text-ceiling);
 --interaction-hover:var(--text-ceiling);
 --interaction-pressed:var(--text-ceiling);
 -webkit-backdrop-filter:none;backdrop-filter:none;
}
:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle::before { content:none; }
:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle { padding:0 !important; }
:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle:active { translate:none; }
:root:root:root .shell { width:calc(100% - 2 * var(--space-10) - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:none;margin-inline:auto; }
:root:root:root .auth-card { padding:var(--space-20); }
.skip-link { z-index:110; }
/* Enlarged targets only in rows with enough separation to avoid overlap. */
@media(pointer:coarse) {
 :root:root :is(.calendar-tools,.library-tools,.ui-actions,.meal-actions) > button::after { content:"";position:absolute;inset:calc(-5 * var(--layout-unit)) 0; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none !important;transition:none !important;scroll-behavior:auto !important; }
 button,.action,.app-link { translate:none !important; }
}
input[type="checkbox"] {
  appearance: none; display: inline-grid; place-content: center; vertical-align: middle;
  width: calc(20 * var(--layout-unit)); height: calc(20 * var(--layout-unit)); min-height: calc(20 * var(--layout-unit)); padding: 0;
  border: 1px solid var(--foreground); background: var(--background); border-radius: 4px;
}
input[type="checkbox"]:checked { background: var(--foreground); }
input[type="checkbox"]:checked::after { content: ""; width: calc(5 * var(--layout-unit)); height: calc(10 * var(--layout-unit)); border: solid var(--background); border-width: 0 2px 2px 0; transform: translateY(calc(-1 * var(--layout-unit))) rotate(45deg); }

:root:root:root input[type="radio"] { border-radius:50% !important; }

/* Structural variants: identical controls, with compact padding for icon/date cells. */
:root:root:root #main :is(.calendar-date,.calendar-year-day,#previous-day,#next-day,.picker-trigger,.picker-days button) { padding-inline:0 !important; }
:root:root:root .application-controls { margin-bottom:var(--space-20); }
:root:root:root .application-controls .application-mobile-sections { gap:var(--space-10); }
:root:root:root .application-controls .task-add-control { margin-left:0; }
:root:root :is(.actions,.exercise-heading,.set,.history-controls,.recipe-heading,.recipe-actions,.ingredients,.editor-actions) { gap:var(--space-10); }
:root:root :is(.history,.security-settings > section,.date-label) { margin-block:var(--space-20); }
:root:root :is(.library-item,.library-category,.library-filters) { margin-bottom:var(--space-10); }
:root:root :is(.library-tools,.words-heading,.recipe-heading,.ui-section-title) { margin-bottom:var(--space-20); }
:root:root :is(.exercise label,.date-label,.default-fields label,.title-label) { font-size:16px;font-weight:400; }
:root:root #main label :is(input,select,textarea) { margin-top:var(--space-10); }
:root:root #main label:has(> .picker-input-row) input { margin-top:0; }
:root:root :is(#documents,#library-list) { gap:var(--space-10); }
:root:root #documents li { padding:var(--space-10);gap:var(--space-10); }
:root:root .formatting button[aria-label="Bold"] strong { font-weight:700; }
:root:root .auth-card { display:grid;gap:var(--space-20); }
:root:root .auth-card > * { margin:0; }
:root:root .auth-card form { display:grid;gap:var(--space-10);margin-top:var(--space-20); }

@media(hover:hover) {
 :root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle:hover { background:var(--interaction-hover) !important; }
}
:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle:active { background:var(--interaction-pressed) !important; }
:root:root:root .ui-menu.auth-card { padding:0;border:0; }
:root:root .ui-menu h2 { font-size:16px;font-weight:400;margin:0 0 var(--space-20); }
:root:root .ui-menu h1 { font-size:20px;font-weight:500; }


/* Choice surfaces and editors occupy the viewport, rather than floating menus. */
:root:root:root :is(dialog.choice-window,dialog.calendar-picker,#meal-editor,.ui-modal) {
 box-sizing:border-box; position:fixed; inset:0; margin:0; width:100%; max-width:none;
 height:100dvh; max-height:none; padding:max(var(--space-10),env(safe-area-inset-top)) max(var(--space-10),env(safe-area-inset-right)) max(var(--space-10),env(safe-area-inset-bottom)) max(var(--space-10),env(safe-area-inset-left));
 border:0; background:var(--background); color:var(--foreground); overflow:auto; overscroll-behavior:contain;
}
:root:root:root dialog.calendar-picker[open] { display:block; }
:root:root:root .ui-overlay { padding:0; }
:root:root:root .choice-window-heading { display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);margin-bottom:var(--space-20); }
:root:root:root .choice-window-heading h2 { margin:0;font-size:16px;font-weight:400; }
:root:root:root .choice-window-options { display:grid;gap:var(--space-10); }
:root:root:root .choice-window-options button { width:100%; }
:root:root:root .choice-window-options [aria-pressed="true"] { background:var(--interaction-pressed) !important; }
:root:root:root select.choice-select-source { position:absolute;width:1px;height:1px !important;min-height:0 !important;clip-path:inset(50%);opacity:0;pointer-events:none; }
:root:root:root .choice-select-trigger { min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis; }
:root:root:root label > .choice-select-trigger { width:100%; }
:root:root:root .calendar-picker .picker-heading { margin-bottom:var(--space-20); }
:root:root:root .calendar-picker .picker-times { max-height:none;overflow:visible; }
html:has(dialog[open],.ui-overlay) { overflow:hidden; }

/* State feedback stays monochrome and immediate, without button motion. */
:root:root:root :is(button,[role="button"],.action,.app-link,.nav-link,.menu-link,.back-link,summary,.appearance-options label,.calendar-task,.global-search-results a)::before,
:root:root:root :is(button,[role="button"],.action,.app-link,.nav-link,.menu-link,.back-link,summary,.appearance-options label,.calendar-task,.global-search-results a)::after { animation:none !important;transition:none !important; }
/* Buttons retain their plain fill in every interaction and selection state. */
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,.sidebar-panel a,.appearance-options label,.calendar-task,.global-search-results a,summary) {
 border:0 !important;outline:none !important;outline-offset:0 !important;box-shadow:none !important;
 -webkit-tap-highlight-color:transparent;
}

/* Creation actions share the leading edge; Fitness history remains below Add. */
:root:root:root .creation-control { margin-inline:0;justify-self:start;align-self:flex-start; }
.activity-toolbar { flex-direction:column;align-items:flex-start; }

.recipes-page :is(#ingredients-panel,#instructions-panel):not([hidden]) { display:grid;gap:var(--space-10); }

:root:root:root .recipe-heading { justify-content:flex-start; }
:root:root:root #add-recipe { order:-1; }
:root:root:root #supplements-page > .nutrition-tracking-actions { justify-content:flex-start; }

/* Action groups share the leading edge throughout applications and full-screen menus. */
:root:root:root :is(.actions,.ui-actions,.editor-actions,.recipe-actions,.step-actions,.nutrition-tracking-actions,.workout-tools,.library-tools,.library-editor-heading,.recipe-heading,.page-heading,.choice-window-heading,.window-heading,.global-search-heading,.passkey-actions,.account-actions,.settings-row) { justify-content:flex-start; }
:root:root:root :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.action,.app-link,.back-link,.nav-link,.menu-link) { margin-inline:0;justify-self:start;align-self:flex-start; }
:root:root:root .workout-tools h3 { margin-inline:0; }

/* Login is centered independently of application action alignment. */
:root:root:root .auth-shell .auth-card > #signin { justify-self:center;align-self:center;margin-inline:auto; }

/* Search surfaces use the same inverse solid palette as controls. */
:root:root:root:root:root :is(input[type="search"],.global-search-input-wrap) {
 background:var(--foreground) !important; color:var(--background) !important;
 -webkit-text-fill-color:var(--background) !important; border:0 !important;
}
:root:root:root:root:root input[type="search"]::placeholder { color:var(--background) !important; -webkit-text-fill-color:var(--background) !important; opacity:1; }
:root:root:root:root:root .global-search-input-wrap svg { color:var(--background) !important; }

/* The global square stays translucent without fading its interactive target. */
:root:root:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle {
 --interaction-rest:color-mix(in srgb,var(--text-ceiling) 50%,transparent);
 --interaction-hover:var(--interaction-rest);
 --interaction-pressed:var(--interaction-rest);
 background:var(--interaction-rest) !important;
 -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
:root:root:root:root:root .global-controls:not(.is-expanded) > .sidebar-toggle svg { visibility:hidden; }

/* One viewport anchor for the global square, independent of sidebar state. */
:root:root:root:root:root:root body .global-controls:not(.is-expanded) {
 position:fixed !important;
 inset:auto 0 calc(var(--space-10) + env(safe-area-inset-bottom)) 0 !important;
 width:calc(32 * var(--layout-unit)) !important;
 height:calc(32 * var(--layout-unit)) !important;
 margin:0 auto !important;padding:0 !important;
 transform:none !important;translate:none !important;
 z-index:2147483000 !important;isolation:isolate;
 transition:none !important;animation:none !important;
}
:root:root:root:root:root:root[data-no-sidebars] .shell {
 padding-bottom:calc(52 * var(--layout-unit) + env(safe-area-inset-bottom));
}

/* Shared Back chevron: retain text for existing actions and accessible labels. */
:root:root:root:root:root:root :is(button,a).back-chevron:not([hidden]) {
 align-items:center !important;justify-content:center !important;gap:0 !important;
 box-sizing:border-box !important;width:32px !important;height:32px !important;min-height:32px !important;max-height:32px !important;
 width:32px !important;min-width:32px !important;
 max-width:32px !important;padding:0 !important;
 font-size:0 !important;line-height:0 !important;text-decoration:none !important;
}
.back-chevron::before {
 content:"";display:block;flex:none;width:16px;height:16px;background:currentColor;
 -webkit-mask:url("/back-chevron.svg") center/contain no-repeat;
 mask:url("/back-chevron.svg") center/contain no-repeat;
 pointer-events:none;
}

a.back-chevron {display:inline-flex;}

/* Explicit browser-only opt-in; no saved checkbox preference. */
:root:root:root #remember-option { display:inline-flex;align-items:center;justify-self:center;gap:var(--space-10);min-height:var(--control-height);cursor:pointer; }
:root:root:root #remember-option[hidden] { display:none; }
:root:root:root #remember-option input { width:calc(20 * var(--layout-unit));height:calc(20 * var(--layout-unit));min-height:calc(20 * var(--layout-unit));padding:0;margin:0;flex:0 0 calc(20 * var(--layout-unit)); }

/* Shared 4px corners on controls and bounded panels; canvases keep their geometry. */
:root:root:root:root:root:root:root:root :is(.application-rail a,button,input:not([type="hidden"]):not([type="radio"]):not(.spreadsheet-cell),select,textarea:not(.document-editor),[role="button"],.action,.nav-link,.menu-link,.back-link,.app-link,summary,.appearance-options label,.calendar-task,.library-item,.document-summary,.task-content,.recipe-button) {
 border-radius:var(--control-radius) !important;
}
:root:root:root:root:root:root:root:root :is(.app-card,.passkey-card,.ui-modal,.map-card,.map-search,.map-status,.global-search-input-wrap,.ui-menu > .appearance-setting,.ui-menu > .security-settings,.ui-menu > .account-actions,#category-form,#library-form) {
 border-radius:var(--panel-radius) !important;
}
:root:root:root:root:root:root:root:root :is(.choice-window,.native-passkey-approval,.document-page,.spreadsheet-grid,.spreadsheet-cell,.spreadsheet-grid button) {
 border-radius:0 !important;
}

/* Content actions fill their page; icon controls retain their own geometry. */
:root:root:root:root :is(main,dialog,.persistent-recording-panel) :is(.actions,.ui-actions,.editor-actions,.recipe-actions,.meal-actions,.step-actions,.nutrition-tracking-actions,.task-actions,.library-tools,.workout-tools,.passkey-actions,.account-actions) {
 display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none;align-items:stretch;
}
:root:root:root:root :is(main,dialog,.persistent-recording-panel) :is(.actions,.ui-actions,.editor-actions,.recipe-actions,.meal-actions,.step-actions,.nutrition-tracking-actions,.task-actions,.library-tools,.workout-tools,.passkey-actions,.account-actions)>:is(button,.action,a[role="button"]):not(.back-chevron),
:root:root:root:root :is(.activity-sequences,.library-exercises,.choice-window-options)>button:not(.back-chevron) {
 width:100%;max-width:none;justify-self:stretch;justify-content:flex-start;text-align:left;
}
:root:root:root:root .activity-picker-tools {width:100%;align-items:stretch;}
/* Content pages use the viewport width rather than legacy narrow page caps. */
:root:root:root:root:root:root[data-navigation="hierarchy"] .shell>main {width:100%;max-width:none;min-width:0;}

/* Full-width content labels share one leading text edge. */
:root:root:root:root #library-page #library-add,
:root:root:root:root :is(main:not(.map-workspace),dialog) :is(.recipe-button,.document-summary,.task-content,.app-link,.menu-link) {
 justify-content:flex-start;text-align:left;
}

/* Recording controls stack; only the timing comparison uses columns. */
#live-recording .workout-tools {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;}
#live-recording .workout-tools > * {width:100%;min-width:0;}
.recording-times {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;}
.recording-times > p {margin:0;min-width:0;font-variant-numeric:tabular-nums;}
.recording-sensor-row {display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;}
.recording-sensor-row > :last-child {text-align:right;font-variant-numeric:tabular-nums;}
#live-recording .completed-session-form button:not(.back-chevron) {width:100%;max-width:none;text-align:left;justify-content:flex-start;}

/* Liquid glass for surfaces floating over the map (Apple parity). Change the look here, in one place.
   The fill is the controls' own ink colour at 50% so icons and text keep their colours. */
:root { --glass-bg: color-mix(in srgb, var(--foreground) 50%, transparent); --glass-bg-hover: color-mix(in srgb, var(--foreground) 62.5%, transparent); --glass-bg-pressed: color-mix(in srgb, var(--foreground) 37.5%, transparent); --glass-bg-selected: color-mix(in srgb, var(--foreground) 75%, transparent); --glass-bg-selected: color-mix(in srgb, var(--background) 75%, transparent); --glass-bg-selected-hover: color-mix(in srgb, var(--background) 87.5%, transparent); --glass-bg-selected-pressed: color-mix(in srgb, var(--background) 93.75%, transparent); --glass-button-tint: color-mix(in srgb, var(--background) 50%, transparent); --glass-button-tint-hover: color-mix(in srgb, var(--background) 62.5%, transparent); --glass-button-tint-pressed: color-mix(in srgb, var(--background) 37.5%, transparent); --glass-blur: 2px; }
@media (prefers-reduced-transparency: reduce) { :root { --glass-bg: var(--foreground); --glass-bg-hover: var(--foreground); --glass-bg-pressed: var(--foreground); --glass-bg-selected: var(--background); --glass-bg-selected-hover: var(--background); --glass-bg-selected-pressed: var(--background); --glass-blur: 0px; } }

/* History panels: the shared X (close-x.js, the place card's button) at the top trailing corner, 10px in, 32px glass; no Back button. */
:root:root:root:root:root:root:root:root:root:root :is(.history-panel > .place-close,.history-panel .library-editor-heading > .place-close,.history-panel #category-form .place-close){position:absolute;top:calc(10px + env(safe-area-inset-top));inset-inline-end:10px;display:grid;place-items:center;box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;padding:0;margin:0;border:0;outline:none;cursor:pointer;z-index:2;border-radius:4px;color:var(--foreground)!important;-webkit-text-fill-color:var(--foreground)!important;background-color:var(--glass-bg)!important;background-image:linear-gradient(var(--glass-button-tint),var(--glass-button-tint))!important;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));}
:root:root:root:root:root:root:root:root:root:root .history-panel > .place-close:hover{background-color:var(--glass-bg-hover)!important;background-image:linear-gradient(var(--glass-button-tint-hover),var(--glass-button-tint-hover))!important;}
:root:root:root:root:root:root:root:root:root:root .history-panel > .place-close:active{background-color:var(--glass-bg-pressed)!important;background-image:linear-gradient(var(--glass-button-tint-pressed),var(--glass-button-tint-pressed))!important;}
:root:root:root:root:root:root:root:root:root:root .history-panel > .place-close:focus-visible{outline:1px solid var(--foreground)!important;outline-offset:-3px;}
:root:root:root:root:root:root:root:root:root:root .history-panel > .place-close .place-action-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.history-panel:is(dialog,section){position:relative}
dialog.history-panel{position:fixed}
:root:root:root:root:root:root:root:root:root:root dialog.history-panel{padding-top:calc(52px + env(safe-area-inset-top))!important}

/* One small bold heading for lists of rows: Fitness categories and the Settings sections (Appearance, Devices, Passkeys). */
:root:root:root:root:root:root:root:root:root:root .section-heading{font-size:13px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:0!important;color:var(--foreground)!important;margin:16px 0 6px!important;padding:0}
:root:root:root:root:root:root:root:root:root:root .section-heading > button{font:inherit!important;font-weight:600!important;color:var(--foreground)!important;-webkit-text-fill-color:var(--foreground)!important;background:transparent!important;border:0!important;min-height:0!important;height:auto!important;padding:0 10px!important;width:100%;justify-content:flex-start!important;text-align:left!important}

/* Shared outline field: 1px ink border, transparent, no glass, 2-unit radius, 32px high; focus 2px. A small label sits above it. */
:root:root:root:root:root:root:root:root:root:root :is(.field,#library-form :is(input,textarea,select):not([type="checkbox"]):not([type="radio"])){box-sizing:border-box!important;width:100%!important;max-width:none!important;height:32px!important;min-height:32px!important;padding:0 var(--space-10)!important;border:1px solid var(--foreground)!important;border-radius:calc(2 * var(--layout-unit))!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;color:var(--foreground)!important;-webkit-text-fill-color:var(--foreground)!important;margin:0!important;outline:0}
:root:root:root:root:root:root:root:root:root:root :is(.field,#library-form :is(input,textarea,select)):focus-visible{border-width:2px!important;padding:0 calc(var(--space-10) - 1px)!important}
:root:root:root:root:root:root:root:root:root:root #library-form textarea{height:auto!important;min-height:64px!important;padding:6px var(--space-10)!important}
:root:root:root:root:root:root:root:root:root:root #library-form label{display:grid!important;gap:4px!important;font:400 12px/1.2 var(--font-family)!important;color:var(--foreground)!important}

/* No search field has a clear X (a tap outside cancels the search); the browser's own cancel button is hidden everywhere. */
input[type=search]::-webkit-search-cancel-button{display:none;-webkit-appearance:none;}

/* A page's main column is exactly as wide as its slot between the sidebars: grid tracks are never sized by the widest child (a search field, a radar frame), so nothing hangs under the right sidebar or off screen. */
:root:root:root:root main#main{grid-template-columns:minmax(0,1fr);}
:root:root:root:root main#main > *{min-width:0;max-width:100%;}
