:root,[data-theme=dark]{color-scheme:dark;--bg: #0e1116;--bg-elevated: #161a21;--surface: rgba(24, 28, 36, .94);--surface-solid: #1a1f28;--surface2: #222831;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #eef1f4;--muted: #8b949e;--accent: #d4623a;--accent-hover: #e07850;--accent-soft: rgba(212, 98, 58, .16);--secondary: #3d8f7a;--secondary-soft: rgba(61, 143, 122, .14);--success: #4caf7a;--error: #e05555;--error-soft: rgba(224, 85, 85, .12);--warn: #e0a341;--highlight: #d4623a;--shadow: 0 12px 40px rgba(0, 0, 0, .28);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .18);--glass: blur(12px);--radius: 14px;--radius-sm: 10px;--font-display: "Outfit", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--nav-active-bar: var(--accent);--page-enter: fadeSlideIn .42s ease both}[data-theme=light]{color-scheme:light;--bg: #f3f1ec;--bg-elevated: #faf9f6;--surface: rgba(255, 255, 255, .88);--surface-solid: #ffffff;--surface2: #ebe8e1;--border: rgba(28, 32, 38, .1);--border-strong: rgba(28, 32, 38, .16);--text: #1c2026;--muted: #5c6570;--accent: #c4542f;--accent-hover: #a84424;--accent-soft: rgba(196, 84, 47, .12);--secondary: #2f7a68;--secondary-soft: rgba(47, 122, 104, .12);--success: #2d9660;--error: #c94444;--error-soft: rgba(201, 68, 68, .1);--warn: #b45309;--highlight: #c4542f;--shadow: 0 12px 36px rgba(28, 32, 38, .1);--shadow-sm: 0 2px 10px rgba(28, 32, 38, .06);--nav-active-bar: var(--accent)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}html[data-theme=light]{color-scheme:light}body{font-family:var(--font-body);color:var(--text);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .25s ease}#root{min-height:100vh}h1,h2,h3,h4,.sidebar-brand strong{font-family:var(--font-display);letter-spacing:-.02em}.app-shell,.auth-page{position:relative;min-height:100vh;background-color:var(--bg);background-attachment:fixed}[data-theme=dark] .app-shell,[data-theme=dark] .auth-page{background-image:radial-gradient(ellipse 95% 70% at -5% -15%,rgba(212,98,58,.34),transparent 58%),radial-gradient(ellipse 80% 60% at 105% 5%,rgba(61,143,122,.26),transparent 52%),radial-gradient(ellipse 70% 50% at 70% 100%,rgba(40,72,110,.28),transparent 55%),radial-gradient(ellipse 50% 40% at 40% 60%,rgba(212,98,58,.08),transparent 60%),linear-gradient(155deg,#0a0d12,#141922 42%,#0f141b 72%,#0c1016)}[data-theme=light] .app-shell,[data-theme=light] .auth-page{background-image:radial-gradient(ellipse 90% 65% at -8% -10%,rgba(196,84,47,.2),transparent 55%),radial-gradient(ellipse 75% 55% at 108% 0%,rgba(47,122,104,.16),transparent 52%),radial-gradient(ellipse 60% 45% at 50% 110%,rgba(196,140,90,.1),transparent 55%),linear-gradient(165deg,#fbf9f4,#f3efe6 48%,#ebe6dc)}.app-shell:before,.auth-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}[data-theme=dark] .app-shell:before,[data-theme=dark] .auth-page:before{background:radial-gradient(ellipse 85% 70% at 50% 40%,transparent 35%,rgba(8,10,14,.35) 100%)}[data-theme=light] .app-shell:before,[data-theme=light] .auth-page:before{background:radial-gradient(ellipse 90% 75% at 50% 35%,transparent 40%,rgba(235,228,216,.45) 100%)}.app-layout,.auth-card{position:relative;z-index:1}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes authRise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-page{display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface-solid);border:1px solid var(--border);border-radius:20px;padding:36px 32px 32px;box-shadow:var(--shadow);animation:authRise .5s ease both}.auth-topbar{display:flex;justify-content:flex-end;margin-bottom:8px}.auth-header{text-align:center;margin-bottom:28px}.auth-header .brand-mark{transform:scale(1.15)}.auth-header h1{font-size:2.35rem;font-weight:800;margin-top:14px;letter-spacing:-.03em;line-height:1.1}.auth-header p{color:var(--muted);font-size:.95rem;margin-top:8px;max-width:28ch;margin-left:auto;margin-right:auto}.brand-mark{display:inline-flex;color:var(--accent)}.brand-mark svg{width:48px;height:48px}.auth-tabs{display:flex;gap:4px;background:var(--surface2);border-radius:var(--radius-sm);padding:4px;margin-bottom:24px}.auth-tabs button{flex:1;padding:10px;border:none;background:transparent;color:var(--muted);border-radius:8px;cursor:pointer;font-weight:600;font-family:inherit;font-size:.9rem;transition:background .2s,color .2s,box-shadow .2s}.auth-tabs button.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-sm)}.auth-form label{display:block;margin-bottom:16px;font-size:.82rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.auth-form input{display:block;width:100%;margin-top:6px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.app-layout{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{width:272px;background:color-mix(in srgb,var(--surface-solid) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 14px;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:24px}.sidebar-brand strong{display:block;font-size:1.28rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.sidebar-brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px;letter-spacing:.02em}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-icon svg{width:18px;height:18px}.sidebar-nav{display:flex;flex-direction:column;gap:3px;flex:1}.sidebar-nav button{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border:none;background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font-size:.92rem;font-weight:500;font-family:inherit;text-align:left;transition:background .18s,color .18s,transform .12s}.sidebar-nav button:hover{background:var(--surface2);color:var(--text)}.sidebar-nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-nav button.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--nav-active-bar)}.sidebar-nav button.active .nav-icon{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px}.user-info{display:flex;align-items:center;gap:10px;padding:0 4px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--secondary));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.user-info strong{display:block;font-size:.88rem}.user-info small{color:var(--muted);font-size:.72rem}.main-content{flex:1;overflow-y:auto;max-height:100vh}.page-inner{max-width:960px;margin:0 auto;padding:40px 40px 56px;animation:var(--page-enter)}.theme-toggle{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);cursor:pointer;font-family:inherit;color:var(--muted);font-size:.82rem;font-weight:500;width:100%;transition:border-color .18s,background .18s,color .18s}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.theme-toggle-compact{width:auto;padding:6px 8px}.theme-toggle-track{position:relative;width:40px;height:22px;border-radius:11px;background:var(--border-strong);transition:background .2s;flex-shrink:0}.theme-toggle-track.is-dark{background:var(--accent)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.theme-toggle-track.is-dark .theme-toggle-thumb{transform:translate(18px)}.page-header{margin-bottom:32px}.page-header h2{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.page-header p{color:var(--muted);margin-top:8px;font-size:1rem;max-width:52ch;line-height:1.5}.card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-strong)}.form-card h3,.info-card h3{margin-bottom:16px;font-size:1.08rem;font-weight:700}.cards-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.action-card{margin-bottom:24px}.action-card p{color:var(--muted);margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.form-grid .full-width{grid-column:1 / -1}label{display:block;font-size:.82rem;font-weight:600;color:var(--muted)}textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .15s}textarea:focus{outline:none;border-color:var(--accent)}.preferences-field{display:block;margin:16px 0;font-size:.82rem;font-weight:600;color:var(--muted)}.preferences-field .optional{font-weight:400;opacity:.75;text-transform:none}.restriction-chips{margin-top:12px}.restriction-chips-label{display:block;font-size:.78rem;font-weight:500;color:var(--muted);margin-bottom:8px}.restriction-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center}.restriction-chip-group{font-size:.72rem;font-weight:600;color:var(--muted);margin-right:4px;min-width:5.5rem}.restriction-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.restriction-chip:hover:not(:disabled){border-color:var(--accent);background:var(--surface)}.restriction-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface2));color:var(--text)}.restriction-chip:disabled{opacity:.5;cursor:not-allowed}.days-picker{margin:16px 0 4px}.days-picker-label{display:block;font-size:.78rem;font-weight:500;color:var(--muted);margin-bottom:8px}.days-picker-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.day-option{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.day-option:hover:not(:disabled){border-color:var(--accent)}.day-option.active{border-color:var(--accent);background:var(--accent);color:#fff}.day-option:disabled{opacity:.5;cursor:not-allowed}.day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 8px}.day-tab{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:80px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.day-tab span{font-size:.72rem;color:var(--muted)}.day-tab:hover{border-color:var(--accent)}.day-tab.active{border-color:var(--accent);background:var(--surface)}.day-tab.active span{color:var(--text)}input,select{display:block;width:100%;margin-top:6px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .15s}input:focus,select:focus{outline:none;border-color:var(--accent)}.btn-primary{padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.92rem;cursor:pointer;font-family:inherit;transition:background .18s,transform .12s,box-shadow .18s}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 18px #d4623a47}.btn-primary:active:not(:disabled){transform:translateY(1px) scale(.99)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-full{width:100%;margin-top:8px}.btn-lg{padding:13px 28px;font-size:.95rem}.btn-ghost{width:100%;padding:10px;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.85rem;transition:border-color .18s,color .18s,background .18s}.btn-ghost:hover{border-color:var(--error);color:var(--error);background:var(--error-soft)}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.btn-secondary{padding:12px 24px;background:var(--surface2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-weight:600;font-size:.92rem;cursor:pointer;font-family:inherit;transition:border-color .18s,color .18s,background .18s,transform .12s}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn-ai{padding:12px 24px;background:var(--secondary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.92rem;cursor:pointer;font-family:inherit;transition:filter .18s,transform .12s,box-shadow .18s}.btn-ai:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 6px 18px #3d8f7a47}.btn-ai:disabled{opacity:.55;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat strong{font-size:1.35rem;font-family:var(--font-display);font-weight:700;color:var(--text)}.stat small{display:block;margin-top:4px;font-size:.78rem;color:var(--muted);font-weight:500}.composition-card .composition-hint{margin:0 0 16px;color:var(--muted)}.info-card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:24px;box-shadow:var(--shadow-sm);color:var(--text)}.info-card h3{color:var(--text)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.result-card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow-sm)}.result-card span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.result-card strong{font-size:2rem;font-weight:800;font-family:var(--font-display);color:var(--text)}.result-card small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.result-card.highlight{border-color:var(--accent);background:var(--accent-soft)}.result-card.accent{border-color:var(--secondary);background:var(--secondary-soft)}.result-card.accent strong{color:var(--secondary)}.meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.meal-card h3{margin-bottom:12px;color:var(--accent);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.meal-card ul{list-style:none}.meal-card li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem}.meal-card li:last-child{border-bottom:none}.meal-card li span{color:var(--muted);white-space:nowrap}.dish-block{padding:16px 0;border-bottom:1px solid var(--border)}.dish-block:last-child{border-bottom:none;padding-bottom:0}.dish-block h4{margin:0 0 6px;font-size:1.05rem;font-weight:600;font-family:var(--font-display);color:var(--text)}.dish-macros{margin:0 0 10px;font-size:.78rem;color:var(--muted)}.dish-ingredients{list-style:none;margin:0 0 12px}.dish-ingredients li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:.85rem;color:var(--muted);border-bottom:none}.dish-recipe{background:var(--surface2);border-radius:var(--radius-sm);padding:12px 14px;font-size:.85rem;border:1px solid var(--border)}.dish-recipe strong{display:block;margin-bottom:8px;color:var(--secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.dish-recipe ol{margin:0;padding-left:18px}.dish-recipe li{margin-bottom:4px;line-height:1.5;color:var(--text)}.meal-card-dishes h3{margin-bottom:8px}.workout-grid{display:flex;flex-direction:column;gap:16px;margin-top:24px}.workout-plan-summary{display:flex;flex-direction:column;gap:6px;padding:16px 20px}.workout-plan-summary .summary-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.source-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(108,99,255,.2)}.workout-day{padding:0;overflow:hidden}.workout-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface2)}.day-badge{flex-shrink:0;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.workout-empty{padding:28px 20px;text-align:center;color:var(--muted);font-size:.9rem}.location-fieldset{border:none;padding:0;margin:20px 0 0}.location-fieldset legend{padding:0;margin-bottom:10px;font-weight:600;font-size:.9rem}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.style-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.style-toolbar .hint-text{margin:0}.style-card{flex-direction:column;gap:4px;min-height:72px}.style-card-desc{font-size:.72rem;line-height:1.3;color:var(--muted);font-weight:400}.style-card.active .style-card-desc{color:inherit;opacity:.85}.location-card{position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 12px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface2);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,box-shadow .15s;font:inherit;color:inherit;width:100%}.location-card input{position:absolute;opacity:0;pointer-events:none}.location-card-title{font-size:.86rem;line-height:1.35;font-weight:500}.location-card:hover{border-color:var(--accent)}.location-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.exercise-exclude-block{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.exclude-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.exclude-header h4{margin:0 0 4px;font-size:.95rem}.exclude-sub{margin:0;color:var(--muted);font-size:.82rem}.exclude-counter{flex-shrink:0;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--surface2);border:1px solid var(--border);color:var(--muted);white-space:nowrap}.exercise-search{width:100%;margin-bottom:12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);font-size:.9rem}.exercise-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:240px;overflow-y:auto;padding:14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius)}.exercise-chip{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,opacity .15s;max-width:100%}.exercise-chip:hover{border-color:var(--accent)}.exercise-chip.excluded{opacity:.45;background:var(--surface2);border-style:dashed}.exercise-chip.excluded .chip-name{text-decoration:line-through}.chip-name{font-size:.86rem;font-weight:500;line-height:1.3;color:var(--text)}.chip-meta{font-size:.72rem;color:var(--muted);line-height:1.2}.chip-empty{width:100%;text-align:center;padding:8px}.clear-excluded{margin-top:10px}.exclude-header small,.muted{color:var(--muted);font-size:.82rem}.edit-hint{color:var(--muted);font-size:.85rem;margin:0}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-sm);padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;color:#fff;background:var(--error)}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.account-settings{margin-top:28px;padding-top:8px;border-top:1px solid var(--border)}.account-danger{border-color:color-mix(in srgb,var(--error) 35%,var(--border))}.account-danger h3{color:var(--error)}.admin-table-wrap{overflow-x:auto;margin-top:12px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.admin-table th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.admin-table tr.is-banned{background:color-mix(in srgb,var(--error) 8%,transparent)}.admin-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.72rem;background:color-mix(in srgb,var(--secondary) 20%,transparent);color:var(--secondary)}.ban-status{color:var(--error);font-weight:600}.ok-status{color:var(--success)}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-danger.btn-sm{padding:6px 10px;font-size:.8rem}.day-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.day-number{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.workout-day-header h3{margin:0;font-family:var(--font-display);font-size:1.1rem}.day-stats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.day-note{display:flex;align-items:baseline;gap:10px;margin:0;padding:12px 20px;font-size:.82rem;line-height:1.45;color:var(--muted);background:var(--surface2);border-bottom:1px solid var(--border)}.day-note.cooldown{border-bottom:none;border-top:1px solid var(--border)}.note-label{flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--secondary)}.exercise-list{list-style:none;margin:0;padding:0}.exercise-card{padding:16px 20px;border-bottom:1px solid var(--border);transition:background .15s,box-shadow .15s}.exercise-card:last-child{border-bottom:none}.exercise-card:hover{background:var(--surface2)}.exercise-card.dirty{box-shadow:inset 3px 0 0 var(--accent)}.exercise-head{display:flex;align-items:flex-start;gap:12px}.exercise-index{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.exercise-title{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.exercise-title strong{font-size:.98rem;line-height:1.25}.exercise-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip{padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:600;color:var(--muted);background:var(--surface2);border:1px solid var(--border);white-space:nowrap}.exercise-card:hover .chip{background:var(--surface-solid)}.chip-muscle{color:var(--secondary);background:var(--secondary-soft);border-color:transparent}.chip-quiet{font-weight:500;opacity:.85}.exercise-actions{display:flex;gap:4px;flex-shrink:0}.exercise-remove,.exercise-replace{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background .15s}.exercise-card:hover .exercise-remove,.exercise-card:hover .exercise-replace,.exercise-remove:focus-visible,.exercise-replace:focus-visible{opacity:1}.exercise-remove:hover{color:var(--error);background:var(--error-soft)}.exercise-replace:hover{color:var(--accent);background:var(--accent-soft)}.replace-picker{margin:10px 0 4px 38px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2)}.replace-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.replace-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.replace-option{width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.replace-option:hover{border-color:var(--accent);background:var(--accent-soft)}.replace-option-name{display:block;font-weight:600;font-size:.9rem}.replace-option-meta{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}.session-card{margin-bottom:16px}.session-exercise{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.session-exercise strong{display:block}.session-sets{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.session-set-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.session-set-row .set-num{width:28px;color:var(--muted);font-size:.85rem}.session-set-row label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.session-set-row input{width:72px;padding:6px 8px}.exercise-tip{margin:8px 0 0 38px;color:var(--muted);font-size:.8rem;line-height:1.45}.exercise-params{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0 0 38px}.param-field{display:flex;flex-direction:column;gap:4px;margin:0;font-size:.72rem}.param-label{font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.66rem}.param-input{width:86px;padding:7px 10px;margin:0;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:center}.exercise-save{margin-left:auto}.exercise-card .inline-error{margin:10px 0 0 38px;padding:6px 10px!important;border-radius:var(--radius-sm)}@media(max-width:640px){.exercise-tip,.exercise-params,.exercise-card .inline-error{margin-left:0}.param-input{width:68px}.exercise-save{margin-left:0;width:100%}.exercise-remove,.exercise-replace{opacity:1}}.volume-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.volume-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.volume-head h4{margin:0;font-size:.95rem}.volume-hint{color:var(--muted);font-size:.78rem}.volume-bars{display:grid;gap:6px;margin-top:10px}.volume-row{display:grid;grid-template-columns:84px 1fr 28px;align-items:center;gap:10px;font-size:.82rem}.volume-name{color:var(--muted)}.volume-track{height:8px;border-radius:999px;background:var(--surface2);overflow:hidden}.volume-fill{display:block;height:100%;border-radius:999px;background:var(--accent, #4f8cff)}.volume-fill.low{background:#e0a341}.volume-value{text-align:right;font-variant-numeric:tabular-nums}.inline-error{padding:6px 12px!important;font-size:.82rem}.source-badge{margin-top:10px;font-size:.82rem;color:var(--muted)}.full-width{display:block;margin-top:16px}.full-width textarea{margin-top:6px;width:100%;min-height:64px;resize:vertical}@media(max-width:720px){.location-grid{grid-template-columns:1fr}.style-grid{grid-template-columns:1fr 1fr}.exclude-header{flex-direction:column;align-items:stretch}.exclude-counter{align-self:flex-start}}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}td{padding:10px 12px;border-bottom:1px solid var(--border)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.card-head h3{margin-bottom:2px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:24px}.metric-grid.compact{margin-bottom:20px}.metric-card{position:relative;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.metric-card.mood-good{border-left-color:var(--success)}.metric-card.mood-bad{border-left-color:var(--warn)}.metric-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted)}.metric-value{display:block;margin-top:6px;font-family:var(--font-display);font-size:1.55rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.metric-value em{margin-left:4px;font-size:.82rem;font-style:normal;font-weight:600;color:var(--muted)}.mood-good .metric-value{color:var(--success)}.mood-bad .metric-value{color:var(--warn)}.metric-card small{display:block;margin-top:6px;font-size:.76rem;color:var(--muted)}.range-tabs{display:flex;gap:4px;padding:4px;background:var(--surface2);border:1px solid var(--border);border-radius:999px}.range-tab{padding:6px 14px;border:none;border-radius:999px;background:transparent;color:var(--muted);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.range-tab:hover{color:var(--text)}.range-tab.active{background:var(--accent);color:#fff}.chart-wrap{position:relative}.weight-chart{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{fill:var(--muted);font-size:11px;font-family:var(--font-body)}.chart-target{stroke:var(--secondary);stroke-width:1.5;stroke-dasharray:6 5}.chart-target-label{fill:var(--secondary);font-size:11px;font-weight:600;font-family:var(--font-body)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-average{fill:none;stroke:var(--text);stroke-width:1.5;stroke-dasharray:4 4;opacity:.4}.chart-dot{fill:var(--surface-solid);stroke:var(--accent);stroke-width:2}.chart-dot.from-metrics{stroke:var(--muted)}.chart-dot-active{fill:var(--accent);stroke:var(--surface-solid);stroke-width:2.5}.chart-cursor{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;transform:translate(-50%,-128%);padding:8px 12px;min-width:96px;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;z-index:5}.chart-tooltip.below{transform:translate(-50%,28%)}.chart-tooltip strong{display:block;font-family:var(--font-display);font-size:1rem}.chart-tooltip span,.chart-tooltip em{display:block;font-size:.74rem;font-style:normal;color:var(--muted)}.chart-tooltip em{max-width:190px;white-space:normal}.chart-footnotes{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted)}.chart-footnotes .warn{color:var(--warn);font-weight:600}.target-form{display:flex;align-items:center;gap:8px}.target-form input{width:96px;margin-top:0;text-align:center}.goal-track-block{margin-top:8px}.goal-track{height:10px;background:var(--surface2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.goal-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--secondary));transition:width .3s ease}.goal-track-labels{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:.8rem;color:var(--muted)}.goal-track-labels strong{color:var(--text)}.spark-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:4px;padding-top:16px;border-top:1px solid var(--border)}.spark-item>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted);margin-bottom:4px}.sparkline svg{display:block;width:132px;height:38px}.sparkline path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.sparkline small{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}.cal-chart{position:relative;margin:4px 0 20px;padding-top:12px}.cal-bars{display:flex;align-items:flex-end;gap:6px;height:160px}.cal-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.cal-bar-track{display:flex;align-items:flex-end;width:100%;flex:1;background:linear-gradient(var(--surface2),transparent);border-radius:6px}.cal-bar{width:100%;border-radius:6px 6px 3px 3px;background:var(--accent);transition:height .25s ease}.cal-bar.ok{background:var(--success)}.cal-bar.over{background:var(--warn)}.cal-bar.under{background:var(--accent);opacity:.55}.cal-bar.empty{background:var(--border-strong);border-radius:3px}.cal-day{font-size:.7rem;color:var(--muted)}.cal-target-line{position:absolute;left:0;right:0;bottom:0;border-top:1px dashed var(--secondary);pointer-events:none}.cal-target-line span{position:absolute;right:0;top:-18px;font-size:.7rem;font-weight:600;color:var(--secondary)}.progress-log-list{display:flex;flex-direction:column;gap:8px;list-style:none}.progress-log-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm)}.log-date{min-width:62px;text-align:center;line-height:1.2}.log-date strong{display:block;font-family:var(--font-display);font-size:.92rem}.log-date span{font-size:.7rem;color:var(--muted)}.log-main{flex:1;min-width:0}.log-weight{display:flex;align-items:center;gap:10px}.log-weight strong{font-family:var(--font-display);font-size:1.05rem;font-variant-numeric:tabular-nums}.delta-chip{padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums}.delta-chip.tone-good{color:var(--success);border-color:var(--success)}.delta-chip.tone-bad{color:var(--warn);border-color:var(--warn)}.log-notes{margin-top:4px;font-size:.83rem;color:var(--muted);overflow-wrap:anywhere}.log-remove{flex-shrink:0;width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;transition:all .15s}.log-remove:hover{border-color:var(--error);color:var(--error);background:var(--error-soft)}@media(max-width:720px){.card-head{flex-direction:column;align-items:stretch}.range-tabs{justify-content:space-between}.range-tab{flex:1;padding:6px 8px;text-align:center}.cal-day{font-size:.6rem}.metric-value{font-size:1.35rem}}.diary-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px}.diary-toolbar input[type=date]{margin-top:6px}.hint-text{color:var(--muted);font-size:.88rem;margin:0}.diary-summary h3{margin-bottom:16px}.macro-bars{display:flex;flex-direction:column;gap:14px}.macro-bar-item{display:flex;flex-direction:column;gap:6px}.macro-bar-head{display:flex;justify-content:space-between;font-size:.88rem}.macro-bar-head .diff-ok{color:var(--secondary)}.macro-bar-head .diff-over{color:var(--error)}.macro-bar-head .diff-under{color:var(--muted)}.macro-bar-track{height:8px;background:var(--surface2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.macro-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--secondary));border-radius:999px;transition:width .25s ease}.food-search-wrap{position:relative}.food-search-results{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto}.food-search-results li button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text);text-align:left;border-radius:var(--radius-sm);cursor:pointer}.food-search-results li button:hover{background:var(--surface2)}.food-search-results small{color:var(--muted);white-space:nowrap}.diary-form-actions{display:flex;gap:12px;flex-wrap:wrap}.diary-meals{display:flex;flex-direction:column;gap:16px;margin-top:20px}.diary-entry-list{list-style:none;margin:0;padding:0}.diary-entry-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.diary-entry-list li:last-child{border-bottom:none}.diary-entry-list li span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}.btn-sm{padding:6px 10px;font-size:.85rem}.error-msg{margin-top:12px;padding:10px 14px;background:var(--error-soft);border:1px solid rgba(224,85,85,.25);border-radius:var(--radius-sm);color:var(--error);font-size:.88rem}.success-msg{margin-top:12px;padding:10px 14px;background:#4caf7a1f;border:1px solid rgba(76,175,122,.25);border-radius:var(--radius-sm);color:var(--success);font-size:.88rem}.hint{color:var(--muted);font-size:.88rem;line-height:1.5}.ai-comment{margin-top:12px;padding:12px 16px;background:var(--secondary-soft);border:1px solid rgba(90,143,123,.2);border-radius:var(--radius-sm);color:var(--text);font-size:.88rem;line-height:1.5}.hint-card code{background:var(--surface2);padding:2px 6px;border-radius:4px;font-size:.85rem}.hint-card a{color:var(--accent)}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 72px)}.chat-box{flex:1;display:flex;flex-direction:column;min-height:400px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-bubble{max-width:80%;padding:12px 16px;border-radius:14px;font-size:.92rem;line-height:1.55;white-space:pre-wrap}.chat-bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-bubble.assistant{align-self:flex-start;background:var(--surface2);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-bubble.typing{color:var(--muted);font-style:italic}.chat-input-row{display:flex;gap:8px;padding:16px;border-top:1px solid var(--border)}.chat-input-row input{flex:1;margin-top:0}@media(max-width:900px){.app-layout{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding-bottom:12px}.sidebar-brand{margin-bottom:12px}.sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:6px}.sidebar-nav button{flex:1 1 auto;min-width:120px;justify-content:center;padding-left:12px}.sidebar-nav button.active:before{left:8px;right:8px;top:auto;bottom:0;width:auto;height:2px;border-radius:2px 2px 0 0}.sidebar-footer{flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar-footer .theme-toggle{width:auto}.sidebar-footer .btn-ghost{width:auto;padding-inline:14px}.cards-row{grid-template-columns:1fr}.page-inner{padding:24px 16px 36px}.page-header h2{font-size:1.7rem}.auth-header h1{font-size:2rem}}@media(max-width:520px){.btn-row{flex-direction:column}.btn-row button{width:100%}.sidebar-nav button{min-width:calc(50% - 6px);font-size:.85rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.next-step-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;margin-bottom:18px;border-radius:var(--radius, 14px);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%),var(--surface-solid)}.next-step-title{display:block;margin-bottom:4px;font-size:.98rem}.next-step-text{margin:0;color:var(--muted);font-size:.9rem;max-width:48ch}.next-step-actions{display:flex;flex-wrap:wrap;gap:8px}.empty-state{text-align:center;padding:36px 24px;margin-bottom:18px}.empty-state h3{margin:0 0 8px}.empty-state .btn-primary{margin-top:14px}.onboarding-card{margin-bottom:20px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--secondary) 25%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,var(--secondary) 8%,transparent),transparent 50%),var(--surface-solid)}.onboarding-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.onboarding-head .hint-text{margin:4px 0 0}.onboarding-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.onboarding-steps li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,transparent)}.onboarding-steps li.done{opacity:.72}.onboarding-index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,var(--surface-solid));color:var(--accent);flex-shrink:0}.onboarding-steps li.done .onboarding-index{background:color-mix(in srgb,var(--secondary) 22%,var(--surface-solid));color:var(--secondary)}.onboarding-label{flex:1;font-size:.95rem}.generate-bar{display:flex;flex-direction:column;gap:10px;margin-top:8px}.mode-toggle{display:inline-flex;align-self:flex-start;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,var(--surface-solid));border:1px solid var(--border)}.mode-toggle button{border:0;background:transparent;color:var(--muted);padding:8px 16px;border-radius:999px;font:inherit;font-size:.9rem;cursor:pointer}.mode-toggle button.active{background:var(--surface-solid);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--text) 12%,transparent);font-weight:600}.generate-hint{margin:0}.ai-progress{margin-top:12px;padding:14px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface-solid))}.ai-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.95rem}.ai-progress-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}.ai-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--secondary));transition:width .6s ease}.ai-progress .hint-text{margin:8px 0 0}.day-goal-block{margin-bottom:18px}.day-goal-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.day-goal-head h3{margin:0}.day-goal-focus{font-size:.85rem;color:var(--muted)}.day-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.day-goal-col{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--border)}.day-goal-col.accent{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid))}.day-goal-col.muted{opacity:.85}.day-goal-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.day-goal-col strong{display:block;font-size:1.25rem}.day-goal-col small{color:var(--muted)}.advanced-details{margin:16px 0;border:1px solid var(--border);border-radius:14px;padding:0 14px 14px;background:color-mix(in srgb,var(--bg) 55%,var(--surface-solid))}.advanced-details>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 2px;font-weight:600}.advanced-details>summary::-webkit-details-marker{display:none}.advanced-details>summary:before{content:"▸";color:var(--muted);transition:transform .15s ease}.advanced-details[open]>summary:before{transform:rotate(90deg)}.advanced-summary-meta{font-weight:400;font-size:.85rem;color:var(--muted)}.portion-chips,.recent-foods{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.portion-chips-label,.recent-foods-label{font-size:.85rem;color:var(--muted)}.portion-chip,.recent-food-chip{border:1px solid var(--border);background:var(--surface-solid);color:var(--text);border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}.portion-chip.active,.recent-food-chip:hover,.portion-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid))}.recent-foods-row{display:flex;flex-wrap:wrap;gap:6px}.bottom-nav{display:none}@media(max-width:900px){.app-shell{padding-bottom:72px}.sidebar-nav,.sidebar-footer .user-info{display:none}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:2px;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface-solid) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.bottom-nav button{flex:1 0 auto;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;padding:6px 4px;cursor:pointer;border-radius:10px}.bottom-nav button .nav-icon{width:20px;height:20px}.bottom-nav button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.page-inner{padding-bottom:28px}}
