.app-shell{max-width:1280px;min-height:100vh;margin:0 auto;position:relative}.skip-link{z-index:1000;background:var(--primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:.4rem;padding:.45rem .9rem;text-decoration:none;transition:top .15s;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.75rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-layout{display:grid}.app-nav-wrap{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:.5rem .75rem;display:flex}.app-nav{scrollbar-width:none;gap:.2rem;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.nav-pill{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;border-radius:.5rem;padding:.4rem .75rem;text-decoration:none;transition:background .12s,color .12s;display:block}.nav-pill:hover{background:var(--surface-alt);color:var(--text-main)}.nav-pill-active{background:var(--primary-soft);color:var(--primary);font-weight:var(--font-weight-semibold)}.nav-action{cursor:pointer;text-align:left;background:0 0;border:0;margin:0;font-family:inherit}.app-nav-account{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.45rem}.app-menu{position:relative}.app-menu-button{align-items:center;gap:.45rem;display:inline-flex}.app-menu-popover{z-index:60;border:1px solid var(--border);background:var(--surface);border-radius:.5rem;min-width:13rem;padding:.35rem;display:grid;position:absolute;bottom:calc(100% + .35rem);right:0;box-shadow:0 1rem 2.5rem #0f172a33}.app-menu-item{color:var(--text-main);cursor:pointer;font:inherit;font-size:var(--font-size-sm);text-align:left;background:0 0;border:0;border-radius:.375rem;padding:.5rem .65rem}.app-menu-item:disabled{cursor:default;opacity:.7}.app-menu-item:hover,.app-menu-item:focus-visible{background:var(--surface-alt);outline:none}.app-menu-personality-toggle{background:var(--primary-soft);width:100%;min-height:3rem;color:var(--primary);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;padding:.75rem .85rem;display:flex}.app-menu-personality-toggle:hover,.app-menu-personality-toggle:focus-visible{background:var(--primary-soft);color:var(--primary)}.app-menu-divider{background:var(--border);height:1px;margin:.35rem .25rem}.app-menu-error{color:var(--danger);font-size:var(--font-size-sm);line-height:var(--line-height-md);margin:.25rem .55rem}.app-content{background:var(--bg);align-content:safe center;min-height:60vh;padding:1.25rem 1rem;display:grid}.app-route-loading{color:var(--text-muted);font-size:var(--font-size-sm);padding:2rem .5rem}.view-intro-backdrop{z-index:100;background:#0f172a7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.view-intro-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,26rem);color:var(--text-main);border-radius:.5rem;gap:.85rem;padding:1.1rem;display:grid;box-shadow:0 1.25rem 3rem #0f172a3d}.view-intro-dialog h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-main);margin:0}.view-intro-dialog p{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-md);white-space:pre-line;margin:0}.settings-consent-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.settings-policy-link{color:var(--link-blue);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);justify-self:start;text-decoration:none}.settings-policy-link:hover{text-decoration:underline}.settings-consent-links{flex-wrap:wrap;gap:.75rem;display:flex}.settings-consent-check{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm);grid-template-columns:auto 1fr;align-items:start;gap:.55rem;display:grid}.settings-consent-check input{margin-top:.16rem}.privacy-page{background:var(--bg);min-height:100dvh;color:var(--text-main);padding:2rem 1rem}.privacy-document{gap:1.25rem;width:min(100%,48rem);margin:0 auto;display:grid}.privacy-document h1,.privacy-document h2,.privacy-document p{margin:0}.privacy-document h1{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl)}.privacy-document h2{font-size:var(--font-size-md)}.privacy-document section{gap:.4rem;display:grid}.privacy-document p{color:var(--text-muted);line-height:var(--line-height-md)}.privacy-updated{font-size:var(--font-size-sm)}.account-deletion-page{background:var(--bg);min-height:100dvh;color:var(--text-main);place-items:center;padding:1.25rem;display:grid}.account-deletion-panel{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;gap:1rem;width:min(100%,32rem);padding:1.25rem;display:grid;box-shadow:0 1rem 2.5rem #0f172a29}.account-deletion-panel h1{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);margin:0}.account-deletion-panel p{color:var(--text-muted);line-height:var(--line-height-md);margin:0}.account-deletion-copy{gap:.55rem;display:grid}.account-deletion-account{border:1px solid var(--border);background:var(--surface-alt);border-radius:.5rem;gap:.35rem;padding:.75rem;display:grid}.account-deletion-account span,.account-deletion-option span,.account-deletion-confirm span{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.account-deletion-account code{overflow-wrap:anywhere;color:var(--text-main);font-size:var(--font-size-sm)}.account-deletion-confirm{gap:.4rem;display:grid}.account-deletion-option{border:1px solid var(--border);background:var(--surface-alt);border-radius:.5rem;align-items:center;gap:.6rem;padding:.75rem;display:flex}.account-deletion-option input{width:1rem;height:1rem;margin:0}.account-deletion-confirm input{border:1px solid var(--border);background:var(--surface);min-height:2.5rem;color:var(--text-main);font:inherit;border-radius:.5rem;padding:0 .7rem}@media (width>=960px){.app-layout{grid-template-columns:13rem 1fr;align-items:start}.app-nav-wrap{border-bottom:none;border-right:1px solid var(--border);justify-content:safe center;gap:.125rem;height:100vh;padding:.875rem .625rem;position:sticky;top:0;overflow-y:auto}.app-nav-account{gap:.35rem;margin-top:0;padding-top:.75rem;display:grid;position:absolute;bottom:.875rem;left:.625rem;right:.625rem}.app-nav{flex-direction:column;gap:.125rem;overflow-x:visible}.nav-pill{padding:.45rem .75rem;position:relative}.nav-pill-active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:-.625rem}.app-content{min-height:100vh;padding:1.5rem}}@media (width<=959px){.app-shell{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.app-nav-wrap{z-index:20;border-bottom:none;border-top:1px solid var(--border);padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:fixed;bottom:0;left:0;right:0}.app-nav{-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:.15rem;overflow-x:auto}.app-content{padding:1rem .875rem calc(7.75rem + env(safe-area-inset-bottom,0px))}.nav-pill{text-align:center;flex:none;min-width:max-content}.app-nav-account{gap:.25rem;margin-top:.35rem;padding-top:.35rem;display:grid}.app-nav-account .nav-action{text-align:center;width:100%}}@media (width<=639px){.app-nav-wrap{padding-inline:.35rem}.app-nav{justify-content:space-between;gap:.1rem;overflow-x:visible}.nav-pill{min-width:0;font-size:var(--font-size-xs);flex:1 1 0;padding:.45rem .2rem}.page-chat .macro-header{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem}.page-chat .macro-pill{padding:.55rem .45rem}.page-chat .macro-pill strong{font-size:var(--font-size-xs);letter-spacing:0}.page-chat .macro-pill span{font-size:var(--font-size-sm)}.page-chat{grid-template-rows:auto auto minmax(16rem,1fr) auto auto;min-height:calc(100dvh - 9.5rem)}.chat-input-row{flex-direction:column}.chat-input-row button{width:100%}.chat-composer .chat-input-row{flex-direction:row;align-items:center}.chat-composer .chat-input-row input{flex:auto;min-width:0}.chat-input-row .chat-send-button,.chat-input-row .chat-brainiac-button{flex:0 0 2.75rem;align-self:center;width:2.75rem;min-width:2.75rem}.chat-log{min-height:0;max-height:none}.chat-composer{margin-bottom:-.1rem}.meal-card-header{flex-direction:column;align-items:stretch}.page-header-row{flex-direction:column;align-items:flex-start}.page-header-row.chat-header-row{flex-direction:row;align-items:center}.page-header-row.chat-header-row h2{font-size:var(--font-size-lg)}}.page{gap:.875rem;display:grid}.page h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:0;color:var(--text-main);margin:0}.page h3{margin:0}.page p{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-md);margin:0}.page-header-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.page-header-row h2,.page-header-row h3{margin:0}.page button,.page select,.page input,.page textarea{font:inherit}.page input,.page select,.page textarea{font-size:var(--font-size-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-main);border-radius:.5rem;padding:.5rem .65rem;transition:border-color .15s,box-shadow .15s}.page input:focus,.page select:focus,.page textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.page label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);gap:.3rem;display:grid}.page button{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--border);background:var(--surface);color:var(--text-main);cursor:pointer;border-radius:.5rem;padding:.45rem .8rem;transition:background .12s,border-color .12s,color .12s}.page button:hover:enabled{background:var(--surface-alt);border-color:var(--text-muted)}.page button:disabled{opacity:.45;cursor:not-allowed}.app-button{justify-content:center;align-items:center;gap:.4rem;width:fit-content;display:inline-flex}.app-button-icon{flex:none;width:1rem;height:1rem}.app-button-sm{font-size:var(--font-size-xs);padding:.38rem .72rem}.app-button-md{font-size:var(--font-size-sm);padding:.45rem .8rem}.app-button-primary,.btn-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.app-button-primary:hover:enabled,.btn-primary:hover:enabled{background:#1d4ed8!important;border-color:#1d4ed8!important}.app-button-danger,.btn-danger{color:color-mix(in srgb, var(--danger) 90%, var(--text-main))!important;border-color:color-mix(in srgb, var(--danger) 38%, var(--border))!important;background:color-mix(in srgb, var(--danger-soft) 58%, var(--surface))!important}.app-button-danger:hover:enabled,.btn-danger:hover:enabled{background:color-mix(in srgb, var(--danger-soft) 86%, var(--surface))!important;color:var(--danger)!important;border-color:color-mix(in srgb, var(--danger) 72%, var(--border))!important}.app-button-soft{font-weight:var(--font-weight-medium);background:var(--primary-soft)!important;color:var(--primary)!important;border-color:#2563eb33!important}.app-button-soft:hover:enabled{background:#dbeafe!important}.delete-button{width:2rem;min-width:2rem;padding-inline:0}.delete-button-icon{flex:none;width:1rem;height:1rem}.icon-button{flex:none;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex}.icon-button-circle{border-radius:999px!important}.icon-button-soft{border-radius:.5rem!important}.icon-button-sm{width:1.75rem;height:1.75rem}.icon-button-md{width:2rem;height:2rem}.icon-button-lg{width:2.5rem;height:2.5rem}.icon-button-xl{width:2.75rem;height:2.75rem}.icon-button svg{width:1rem;height:1rem}.icon-button-sm svg{width:.95rem;height:.95rem}.icon-button-lg svg,.icon-button-xl svg{width:1.1rem;height:1.1rem}.icon-button-surface{box-shadow:var(--shadow-sm);background:var(--surface)!important;color:var(--text-main)!important;border-color:var(--border)!important}.icon-button-surface:hover:enabled{background:var(--surface-alt)!important}.icon-button-muted{color:var(--text-muted)!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.icon-button-muted:hover:enabled{background:var(--surface-alt)!important;color:var(--text-main)!important;border-color:#0000!important}.icon-button-danger{color:var(--danger)!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.icon-button-danger svg{width:1.35rem;height:1.35rem}.icon-button-danger:hover:enabled{color:color-mix(in srgb, var(--danger) 82%, var(--text-main))!important;background:0 0!important;border-color:#0000!important}.icon-button-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.icon-button-primary:hover:enabled{background:#1d4ed8!important;border-color:#1d4ed8!important}.app-disclosure-icon{width:1rem;height:1rem;color:var(--text-muted);flex:none}.page-error{font-size:var(--font-size-sm);color:var(--danger)!important}.row-form{flex-wrap:wrap;gap:.5rem;display:flex}.row-form>input:not([type]),.row-form>input[type=text],.row-form>input[type=search]{flex:16rem}.row-form input{min-width:12rem}.macro-header{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;display:grid}.macro-pill{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-top-width:3px;border-radius:.75rem;gap:.15rem;padding:.65rem .75rem;display:grid}.macro-pill:first-child{border-top-color:var(--macro-carbs)}.macro-pill:nth-child(2){border-top-color:var(--macro-protein)}.macro-pill:nth-child(3){border-top-color:var(--macro-fat)}.macro-pill:nth-child(4){border-top-color:var(--macro-kcal)}.macro-pill strong{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0}.macro-pill:first-child strong{color:var(--macro-carbs)}.macro-pill:nth-child(2) strong{color:var(--macro-protein)}.macro-pill:nth-child(3) strong{color:var(--macro-fat)}.macro-pill:nth-child(4) strong{color:var(--macro-kcal)}.macro-pill span{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-main)}.macro-bar{background:var(--border);border-radius:2px;height:4px;margin-top:.2rem;overflow:hidden}.macro-bar-fill{border-radius:2px;height:100%;transition:width .4s}.macro-pill:first-child .macro-bar-fill{background:var(--macro-carbs)}.macro-pill:nth-child(2) .macro-bar-fill{background:var(--macro-protein)}.macro-pill:nth-child(3) .macro-bar-fill{background:var(--macro-fat)}.macro-pill:nth-child(4) .macro-bar-fill{background:var(--macro-kcal)}.chat-log{border:1px solid var(--border);background:var(--surface);border-radius:.875rem;align-content:start;gap:.625rem;min-height:340px;max-height:60vh;padding:.875rem;display:grid;overflow-y:auto}.page-chat{gap:.75rem}.chat-header-row{align-items:center}.chat-composer{z-index:3;padding:.5rem 0 calc(env(safe-area-inset-bottom,0px) + .1rem);background:linear-gradient(180deg, #080f2100 0%, color-mix(in srgb, var(--bg) 88%, transparent) 24%, var(--bg) 100%);flex-direction:column;gap:.35rem;display:flex;position:sticky;bottom:0}.chat-composer-meta{flex-direction:column;gap:.15rem;padding:0 .25rem;display:flex}.chat-composer-meta-trigger{outline:none;flex-direction:column;gap:.15rem;display:flex}.chat-composer-meta-line{color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-sm)}.statusbar-history-dialog{gap:.75rem;width:min(100%,40rem)}.statusbar-history-list{color:#e5e7eb;min-height:12rem;max-height:min(30rem,100vh - 10rem);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--font-size-xs);line-height:var(--line-height-md);background:#050505;border:1px solid #1f2937;border-radius:.25rem;flex-direction:column;gap:.35rem;padding:.85rem;display:flex;overflow:auto}.statusbar-history-more{justify-content:center;padding-bottom:.35rem;display:flex}.statusbar-history-line{white-space:pre}.statusbar-history-actions{justify-content:flex-end;display:flex}.chat-bubble{border-radius:.875rem;max-width:80ch;padding:.65rem .9rem}.chat-message-block{flex-direction:column;max-width:80ch;display:flex}.chat-message-block-user{align-items:flex-end;margin-left:auto}.chat-message-block-model{align-items:flex-start;margin-right:auto}.chat-message-block-system{align-items:center;margin:0 auto}.chat-message-meta-row{justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;margin-bottom:.2rem;display:flex}.chat-message-meta-list{gap:.1rem;min-width:0;display:grid}.chat-message-block-user .chat-message-meta-row{justify-content:flex-end}.chat-message-block-system .chat-message-meta-row{justify-content:center}.chat-message-meta{color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-sm);margin:0 0 0 .25rem}.chat-message-block-user .chat-message-meta{text-align:right;margin-left:0;margin-right:.25rem}.chat-bubble p{color:var(--text-main);font-size:var(--font-size-sm);line-height:var(--line-height-md);margin:0}.chat-bubble-model h1,.chat-bubble-model h2,.chat-bubble-model h3{color:var(--text-main);letter-spacing:0;margin:.6rem 0 .35rem}.chat-bubble-model>h1:first-child,.chat-bubble-model>h2:first-child{color:var(--primary);margin-top:0}.chat-bubble-user{background:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 78%, #000 22%);margin-left:auto}.chat-bubble-model{background:var(--surface-alt);border:1px solid var(--border);margin-right:auto}.chat-bubble-user p{color:var(--primary-on)}.chat-feedback-link{line-height:var(--line-height-xs);text-underline-offset:.15rem;flex:none;text-decoration:underline;color:var(--text-muted)!important;font-size:var(--font-size-xs)!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.chat-feedback-link:hover:enabled,.chat-feedback-link:focus-visible{color:var(--text-main)!important}.chat-bubble-model,.chat-bubble-model p,.chat-bubble-model li,.chat-bubble-model strong,.chat-bubble-model em,.chat-bubble-model code{color:var(--text-main)}.chat-bubble-model .suggest-meal-eyebrow{color:#ffffffb3}.chat-bubble-model .suggest-meal-name{color:#fff}.chat-bubble-model .suggest-meal-reason{color:#ffffffd9}.chat-bubble-model .suggest-ingredients-label{color:var(--text-muted)}.chat-bubble-model .suggest-ingredients-list li{color:var(--text-main)}.chat-bubble-system{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);background:0 0;border:none;margin:0 auto}.chat-bubble-model ul,.chat-bubble-model ol{margin:.5rem 0 .25rem 1rem}.chat-bubble-model p{margin:0 0 .35rem}.chat-bubble-model p:last-child{margin-bottom:0}.chat-input-row{gap:.5rem;display:flex}.chat-input-row input{flex:1}.chat-input-row input.chat-message-input-brainiac{background:linear-gradient(0deg, #ff4aa813, #ff4aa813), var(--surface);border-color:#ff4aa87a;box-shadow:inset 0 0 0 1px #ffd6ea14}.chat-input-row input.chat-message-input-brainiac:focus{border-color:#ff67b7c7;box-shadow:0 0 0 3px #ff4aa82e,inset 0 0 0 1px #ffd6ea1f}.chat-brainiac-button{flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem;overflow:visible;color:#ffd6ea!important;background:#7a1648!important;border-color:#9b1b55!important;box-shadow:inset 0 0 0 1px #ffd6ea1f!important}.chat-brainiac-button:hover:enabled{color:#ffe4f2!important;background:#941b5b!important;border-color:#c02d78!important}.chat-brainiac-button.icon-button-xl .chat-brainiac-icon{transform-origin:50%;width:3rem;height:3rem;transform:scale(1.18)}.chat-brainiac-button-on{color:#fff!important;background:#ff4aa8!important;border-color:#ff79bf!important}.chat-brainiac-button-on:hover:enabled{color:#fff!important;background:#ff67b7!important;border-color:#ff8aca!important}.chat-send-button{flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem}.chat-load-more{justify-content:center;padding:.25rem 0 .5rem;display:flex}.feedback-backdrop{z-index:110;background:#0f172a85;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.feedback-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,32rem);max-height:min(44rem,100vh - 2rem);color:var(--text-main);border-radius:.5rem;gap:.9rem;padding:1rem;display:grid;overflow:auto;box-shadow:0 1.5rem 3.5rem #0f172a47}.feedback-dialog-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.feedback-dialog-header h3{font-size:var(--font-size-md);margin:0}.chat-creds-dialog-message{color:var(--text-main);line-height:var(--line-height-sm);margin:0}.feedback-close{border:1px solid var(--border);background:var(--surface-alt);width:2rem;height:2rem;color:var(--text-main);cursor:pointer;border-radius:999px!important;padding:0!important}.feedback-field{gap:.35rem;display:grid}.feedback-field span,.feedback-reference span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.feedback-field select,.feedback-field textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-main);font:inherit;font-size:var(--font-size-sm);border-radius:.5rem;padding:.5rem .65rem;transition:border-color .15s,box-shadow .15s}.feedback-field select:focus,.feedback-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.feedback-field option{background:var(--surface);color:var(--text-main)}.feedback-field textarea{resize:vertical;min-height:7rem}.feedback-reference{gap:.35rem;display:grid}.feedback-reference p{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 86%, var(--bg) 14%);max-height:10rem;color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm);white-space:pre-wrap;border-radius:.45rem;margin:0;padding:.65rem;overflow:auto}.feedback-error{margin:0}.feedback-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.feedback-dialog .app-button{border:1px solid var(--border);cursor:pointer;font-weight:var(--font-weight-medium);border-radius:.5rem}.feedback-dialog .app-button:disabled,.feedback-close:disabled{cursor:not-allowed;opacity:.45}.chat-loading{color:var(--text-muted);font-size:var(--font-size-sm);align-items:center;gap:.5rem;padding:.25rem 0;display:inline-flex}.chat-loading-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:.9rem;height:.9rem;animation:.8s linear infinite chat-spin}@keyframes chat-spin{to{transform:rotate(360deg)}}.tool-list{gap:.5rem;margin-top:.625rem;display:grid}.suggest-meal-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;overflow:hidden;box-shadow:0 2px 10px #0000001a}.suggest-meal-header{background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%);padding:1rem}.suggest-meal-title-row{align-items:flex-start;gap:.625rem;display:flex}.suggest-meal-icon{font-size:var(--font-size-xl);color:#fff;flex-shrink:0;margin-top:.1rem;line-height:1}.suggest-meal-eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:0;color:#ffffffb3;margin:0}.suggest-meal-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;line-height:var(--line-height-sm);margin:.125rem 0 0}.suggest-meal-reason{font-size:var(--font-size-sm);color:#ffffffd9;font-style:italic;line-height:var(--line-height-sm);margin:.625rem 0 0}.suggest-meal-body{gap:.875rem;padding:1rem;display:grid}.suggest-meal-macros{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.suggest-macro-pill{border-radius:.75rem;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .25rem;display:flex}.suggest-macro-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.suggest-macro-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted)}.suggest-macro-kcal{background:#3b82f61f}.suggest-macro-carbs{background:#22c55e1f}.suggest-macro-prot{background:#ef44441f}.suggest-macro-fat{background:#f59e0b1f}.suggest-macro-kcal .suggest-macro-value{color:var(--macro-kcal)}.suggest-macro-carbs .suggest-macro-value{color:var(--macro-carbs)}.suggest-macro-prot .suggest-macro-value{color:var(--macro-protein)}.suggest-macro-fat .suggest-macro-value{color:var(--macro-fat)}.suggest-meal-ingredients{border-top:1px solid var(--border);gap:.4rem;padding-top:.75rem;display:grid}.suggest-ingredients-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:0;color:var(--text-muted);margin:0}.suggest-ingredients-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.suggest-ingredients-list li{font-size:var(--font-size-sm);color:var(--text-main);padding-left:.875rem;position:relative}.suggest-ingredients-list li:before{content:"";background:var(--primary);opacity:.5;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.suggest-meal-action{justify-content:center;width:100%!important;font-size:var(--font-size-sm)!important;border-radius:.75rem!important;padding:.625rem!important}.tool-card{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;gap:.5rem;padding:.75rem;display:grid}.tool-card-question{align-items:flex-start;gap:.625rem;display:flex}.tool-badge{background:var(--primary);color:#fff;width:1.625rem;height:1.625rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;display:flex}.tool-card h5{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-main);line-height:var(--line-height-sm);margin:0}.tool-card p{color:var(--text-muted)}.tool-divider{border:none;border-top:1px solid var(--border);margin:0}.tool-options{flex-wrap:wrap;gap:.4rem;display:flex}.wisdom-card{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;gap:.625rem;padding:.75rem;display:grid}.wisdom-card-header p{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:0;color:var(--text-muted);margin:0}.wisdom-link-list{gap:.375rem;display:grid}.wisdom-link{border:1px solid var(--border);color:var(--text-main);background:var(--surface-elevated);border-radius:.5rem;gap:.15rem;padding:.5rem .625rem;text-decoration:none;display:grid}.wisdom-link:hover,.wisdom-link:focus-visible{border-color:var(--primary);outline:none}.wisdom-link-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-sm)}.wisdom-link-source{font-size:var(--font-size-xs);color:var(--text-muted)}.wisdom-dismiss{justify-self:start}.macro-grid{font-size:var(--font-size-sm);color:var(--text-muted);flex-wrap:wrap;gap:.45rem;display:flex}.meal-list,.notebook-list,.timeline-list,.history-list{gap:.625rem;display:grid}.notebook-list{gap:1rem}.meal-card,.timeline-item,.notebook-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:.875rem;gap:.5rem;padding:1rem;display:grid}.meal-card{border-left:3px solid var(--primary);cursor:pointer}.notebook-card-collapsed{cursor:pointer}.notebook-category{gap:.5rem;display:grid}.notebook-category-title{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-xs);text-transform:uppercase;margin:0;padding:0 .125rem}.notebook-card-routine{border-color:var(--notebook-routine-border);background:var(--notebook-routine-bg)}.notebook-card-user-added{border-color:var(--notebook-user-border);background:var(--notebook-user-bg)}.meal-card:hover{background:color-mix(in srgb, var(--surface) 95%, var(--primary))}.meal-expanded{border-top:1px solid var(--border);gap:.5rem;margin-top:.25rem;padding-top:.75rem;display:grid}.meal-ingredients-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:0;color:var(--text-muted);margin:0}.meal-ingredients-list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.meal-ingredients-list li{font-size:var(--font-size-sm);color:var(--text-main);padding-left:.875rem;position:relative}.meal-ingredients-list li:before{content:"";background:var(--primary);opacity:.4;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.meal-time{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.meal-macros{flex-wrap:wrap;gap:.35rem;display:flex}.meal-macro{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:.375rem;padding:.2rem .5rem}.meal-macro-kcal{color:var(--macro-kcal);background:#3b82f61f}.meal-macro-carbs{color:var(--macro-carbs);background:#22c55e1f}.meal-macro-prot{color:var(--macro-protein);background:#ef44441f}.meal-macro-fat{color:var(--macro-fat);background:#f59e0b1f}.meal-card h3,.timeline-item h3,.notebook-card h3{margin:0}.meal-card-header{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.meal-card-title-row{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.meal-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.meal-card-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.meal-card-actions-history .delete-button{margin-left:auto}.meal-edit-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.meal-edit-name,.meal-edit-time,.meal-edit-actions{grid-column:1/-1}.history-details{border-radius:.875rem;overflow:hidden}.history-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1rem;list-style:none;transition:opacity .1s;display:flex}.history-details>summary::-webkit-details-marker{display:none}.history-details>summary::marker{display:none}.history-details>summary:hover{opacity:.82}.history-chevron{flex-shrink:0;transition:transform .2s}.history-details[open]>summary .history-chevron{transform:rotate(90deg)}.history-level-title{font-weight:var(--font-weight-bold);color:inherit}.history-year-details{background:var(--primary-soft);box-shadow:var(--shadow-sm);border:1px solid #2563eb33}.history-year-details>summary .history-level-title{font-size:var(--font-size-lg);color:var(--primary)}.history-year-content{gap:.5rem;padding:.625rem .75rem .75rem;display:grid}.history-month-details{background:var(--surface-alt);border:1px solid var(--border)}.history-month-details>summary .history-level-title{font-size:var(--font-size-md);color:var(--text-main)}.history-month-content{gap:.4rem;padding:.5rem .625rem .625rem;display:grid}.history-week-details{background:var(--surface);border:1px solid var(--border)}.history-week-details>summary .history-level-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0;color:var(--text-muted)}.history-week-details>summary{padding:.625rem .875rem}.history-week-content{gap:.375rem;padding:.375rem .5rem .5rem;display:grid}.history-day-details{background:var(--surface);border:1px solid var(--border);border-radius:.75rem}.history-day-summary{align-items:flex-start!important;padding:.75rem .875rem!important}.history-day-summary-meta{flex-direction:column;gap:.3rem;display:flex}.history-day-summary-meta .history-level-title{font-size:var(--font-size-sm);color:var(--text-main)}.history-day-content{border-top:1px solid var(--border);gap:.4rem;padding:.375rem .625rem .625rem;display:grid}.macro-summary-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.macro-dot-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);align-items:center;gap:.25rem;display:flex}.macro-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.macro-dot-kcal{background:var(--macro-kcal)}.macro-dot-carbs{background:var(--macro-carbs)}.macro-dot-prot{background:var(--macro-protein)}.macro-dot-fat{background:var(--macro-fat)}.history-meal-card{background:var(--surface-alt);border:1px solid var(--border);border-left:3px solid var(--primary);cursor:pointer;border-radius:.625rem;gap:.35rem;padding:.65rem .75rem;transition:background .1s;display:grid}.history-meal-card:hover{background:color-mix(in srgb, var(--surface-alt) 88%, var(--primary))}.history-meal-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.history-meal-card-info{gap:.1rem;display:grid}.simple-list{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.simple-list-row{border:1px solid var(--border);background:var(--surface-alt);font-size:var(--font-size-sm);border-radius:.625rem;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.simple-list-row-label{overflow-wrap:anywhere;min-width:0}.pantry-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pantry-view-switch{align-items:center;gap:.35rem;display:inline-flex}.pantry-view-button{border-radius:.5rem}.pantry-view-button-pantry{color:#15803d!important;border-color:#22c55e66!important}.pantry-view-button-pantry:hover,.pantry-view-button-pantry:focus-visible,.pantry-view-button-pantry.pantry-view-button-active{background:#22c55e1f!important;border-color:#22c55ea6!important}.pantry-view-button-shopping{color:#a16207!important;border-color:#eab3087a!important}.pantry-view-button-shopping:hover,.pantry-view-button-shopping:focus-visible,.pantry-view-button-shopping.pantry-view-button-active{background:#eab30824!important;border-color:#eab308bf!important}.pantry-view-panel{gap:.75rem;min-width:0;animation-duration:.18s;animation-timing-function:cubic-bezier(.2,0,.2,1);animation-fill-mode:both;display:grid}.pantry-view-panel-left{animation-name:pantry-panel-enter-from-right}.pantry-view-panel-right{animation-name:pantry-panel-enter-from-left}@keyframes pantry-panel-enter-from-right{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}@keyframes pantry-panel-enter-from-left{0%{opacity:0;transform:translate(-1.25rem)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.pantry-view-panel{animation:none}}.pantry-list-row{gap:.35rem}.pantry-row-spacer{flex:auto;min-width:.5rem}.pantry-delete-button{width:1.75rem;min-width:1.75rem}.pantry-move-button,.shopping-delete-button{width:1.75rem;min-width:1.75rem;padding-inline:0}.pantry-move-button-to-pantry{border-color:#22c55e66;color:#16a34a!important}.pantry-move-button-to-pantry:hover,.pantry-move-button-to-pantry:focus-visible{background:#22c55e1f;border-color:#22c55eb3}.pantry-move-button-to-shopping{border-color:#eab3087a;color:#ca8a04!important}.pantry-move-button-to-shopping:hover,.pantry-move-button-to-shopping:focus-visible{background:#eab30824;border-color:#eab308c7}.shopping-action-icon{fill:none;stroke:currentColor;flex:none;width:1rem;height:1rem;display:block;overflow:visible}.notebook-editor{gap:.6rem;display:grid}.notebook-editor h4{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-main);margin:0}.notebook-display-text{color:var(--text-muted);white-space:pre-line;margin:0}.notebook-card-collapsed .notebook-display-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notebook-card-actions{justify-content:flex-end;gap:1rem;width:100%}.notebook-card-actions-secondary{gap:.4rem;display:flex}.notebook-delete-button{margin-left:.35rem}.macro-edit-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.routine-meals-list{gap:.5rem;display:grid}.routine-meal-row{border:1px solid var(--border);background:var(--surface-alt);border-radius:.625rem;gap:.45rem;padding:.65rem;display:grid}.routine-meals-display-list,.routine-meals-quick-log,.current-meals-section{gap:.5rem;display:grid}.routine-meals-quick-log .routine-meals-display-list{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.routine-meal-display-row{border:1px solid var(--border);background:var(--surface-alt);border-radius:.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.65rem;display:grid}.routine-meal-display-text{min-width:0;color:var(--text-muted);gap:.2rem;display:grid}.routine-meal-display-text strong{color:var(--text-main);overflow-wrap:anywhere}.routine-meal-display-text span{overflow-wrap:anywhere;white-space:pre-line}.routine-meal-name-button{justify-content:flex-start;width:100%;min-height:2.75rem}.routine-meals-quick-log .routine-meal-name-button{white-space:normal;justify-content:center;width:auto;max-width:100%}.settings-page{gap:1.25rem}.settings-hero{display:block}.settings-hero h2{font-size:var(--font-size-xl)}.settings-error{margin-top:-.15rem}.settings-layout,.settings-column{gap:1rem;display:grid}.settings-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:1.15rem;gap:1rem;padding:1.1rem;display:grid}.settings-action-copy h4{font-size:var(--font-size-md);color:var(--text-main);margin:0}.settings-action-note{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm);margin:0}.settings-field-list,.settings-action-stack{gap:.8rem;display:grid}.settings-field{background:color-mix(in srgb, var(--surface-alt) 68%, var(--surface));border:1px solid color-mix(in srgb, var(--border) 78%, var(--surface-alt));border-radius:.95rem;gap:.75rem;padding:.9rem;display:grid}.settings-field-copy{gap:0;display:grid}.settings-field-copy strong{font-size:var(--font-size-sm);color:var(--text-main)}.settings-field-note{color:var(--text-main);font-size:var(--font-size-xs);line-height:var(--line-height-sm);margin-top:.2rem}.settings-select{border-width:2px;border-color:color-mix(in srgb, var(--primary) 62%, var(--border));background:color-mix(in srgb, var(--primary-soft) 58%, var(--surface));width:100%;min-width:0;min-height:3rem;color:var(--text-main);cursor:pointer;font-weight:var(--font-weight-semibold);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 10%, transparent);padding:.7rem .8rem}.settings-field-readonly .settings-select{border-color:color-mix(in srgb, var(--primary) 46%, var(--border));background:color-mix(in srgb, var(--primary-soft) 38%, var(--surface))}.settings-select:hover:not(:disabled){border-color:var(--primary);background:color-mix(in srgb, var(--primary-soft) 72%, var(--surface))}.settings-select:disabled{cursor:not-allowed;opacity:.68}.settings-toggle-panel{border:1px dashed color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary-soft) 48%, var(--surface));border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.settings-toggle-panel>div{gap:0;display:grid}.settings-button-row{flex-flow:row;align-items:center;gap:.9rem;display:flex}.settings-import-export-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-import-export-actions .app-button{justify-self:stretch;width:100%}.settings-toggle-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-main);margin:0}.settings-toggle-description{color:var(--text-main);font-size:var(--font-size-sm);margin:.2rem 0 0}.settings-action-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--surface-alt) 55%, var(--surface)) 100%);border-radius:1rem;gap:.85rem;padding:.95rem;display:grid}.settings-action-card-danger{border-color:color-mix(in srgb, var(--danger) 22%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--danger-soft) 36%, var(--surface)) 0%, var(--surface) 100%)}.settings-action-copy{gap:0;display:grid}.settings-action-card .app-button{justify-self:start}.settings-chatcreds-panel{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--surface-alt) 55%, var(--surface)) 100%);border-radius:1rem;gap:.85rem;padding:.95rem;display:grid}.settings-chatcreds-header{justify-content:space-between;align-items:center;gap:.85rem;display:flex}.settings-chatcreds-balance{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary-soft) 38%, var(--surface));border-radius:.8rem;gap:.15rem;padding:.85rem;display:grid}.settings-chatcreds-balance span{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-sm)}.settings-chatcreds-balance strong{color:var(--text-main);font-size:var(--font-size-xl);line-height:var(--line-height-sm)}.settings-account-panel{justify-content:flex-end;align-items:center;gap:.35rem;padding:0 .15rem;display:flex}.settings-account-copy{flex:auto;justify-content:flex-end;align-items:baseline;gap:.25rem;min-width:0;margin:0;display:inline-flex}.settings-account-copy span{color:var(--text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-sm);font-weight:var(--font-weight-semibold)}.settings-account-copy code{min-width:0;color:var(--text-muted);font-family:inherit;font-size:var(--font-size-xs);line-height:var(--line-height-sm);font-weight:var(--font-weight-regular);word-break:break-all}.settings-account-copy-button{width:1.75rem;height:1.75rem;min-height:1.75rem;color:var(--text-muted);background:0 0;border-color:#0000;flex:none;padding:0}.settings-account-copy-button:hover:enabled{background:var(--surface-alt);color:var(--text-main);border-color:var(--border)}.settings-account-copy-icon{flex:none;width:.9rem;height:.9rem}@media (width>=900px){.settings-layout{grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);align-items:start}}@media (width<=699px){.settings-toggle-panel{flex-direction:column;align-items:stretch}.settings-button-row{display:grid}.settings-action-card .app-button,.settings-chatcreds-header .app-button,.settings-toggle-panel .app-button{justify-self:stretch;width:100%}.settings-chatcreds-header{flex-direction:column;align-items:stretch}}.biomarkers-form input,.biomarkers-form select{min-width:7rem}.biomarkers-form #biomarker-value{flex:10rem}.biomarkers-form .biomarker-unit-select{flex:none;width:auto;min-width:5.25rem;max-width:7.25rem}.timeline-item-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.timeline-item-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.gki-chip{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:#7c3aed;letter-spacing:0;white-space:nowrap;background:#7c3aed1f;border-radius:999px;align-items:center;padding:.175rem .55rem;display:inline-flex}.biomarker-meal-card{background:color-mix(in srgb, var(--surface-alt) 82%, var(--surface));border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:.9rem;gap:.5rem;padding:.8rem .9rem;display:grid}.biomarker-meal-context{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-xs);color:var(--text-main);margin:0}.biomarker-fasted{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);margin:0}@media (width<=639px){.timeline-item{gap:.7rem;padding:.85rem}.timeline-item-header{gap:.5rem}.timeline-item-header h3{font-size:var(--font-size-md)}.icon-button-sm{width:1.65rem;height:1.65rem}.biomarker-meal-card{padding:.75rem}.biomarker-meal-context{font-size:var(--font-size-sm)}.meal-macro{font-size:var(--font-size-xs);border-radius:999px;padding:.22rem .45rem}}.app-state-card{align-content:center;gap:.875rem;max-width:36rem;min-height:100vh;margin:0 auto;padding:2rem;display:grid}.app-state-card h2,.app-state-card p{margin:0}.app-state-card-error h2{color:var(--danger)}.auth-shell{background:var(--bg);place-items:center;min-height:100dvh;padding:2rem;display:grid;overflow:hidden auto}.auth-welcome{width:min(100%,26rem)}.auth-brand-lockup{width:fit-content;color:var(--text-main);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);align-items:center;gap:.65rem;display:inline-flex}.auth-brand-lockup img{object-fit:cover;border-radius:.5rem;width:2.5rem;height:2.5rem;display:block}.auth-panel{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow-sm);border-radius:.5rem;gap:1.25rem;padding:1.5rem;display:grid}.auth-status-panel{width:min(100%,26rem)}.auth-panel h1,.auth-panel p{margin:0}.auth-panel h1{color:var(--text-main);font-size:var(--font-size-xl);line-height:var(--line-height-2xl);letter-spacing:0}.auth-panel p{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.auth-actions{gap:.65rem;display:grid}.auth-actions .app-button,.auth-panel .app-button{width:100%}.auth-link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.auth-panel .app-button{border:1px solid var(--border);min-height:3rem;color:var(--text-main);cursor:pointer;font:inherit;font-weight:var(--font-weight-bold);border-radius:.5rem;transition:background .14s,border-color .14s,color .14s}.auth-panel .app-button-surface{background:var(--surface)}.auth-panel .app-button-surface:hover:enabled{background:color-mix(in srgb, var(--surface-alt) 72%, var(--surface));border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}.auth-google-button{cursor:pointer;background:0 0;border:0;border-radius:20px;justify-self:center;width:189px;max-width:100%;height:40px;padding:0;line-height:0}.auth-google-button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:3px}.auth-google-button-image{width:100%;height:100%;display:block}.auth-error{color:var(--danger);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.auth-loading-mark{border:3px solid color-mix(in srgb, var(--primary) 18%, var(--border));border-top-color:var(--primary);border-radius:999px;width:2rem;height:2rem;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-panel .app-button,.auth-loading-mark{transition:none;animation:none}}@media (width<=860px){.auth-shell{padding:1.25rem}.auth-welcome{width:100%}}@media (width<=540px){.auth-shell{place-items:center;padding:1rem}.auth-panel{padding:1.25rem}}.app-error-actions{flex-wrap:wrap;gap:.6rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--bg:#f9fafb;--surface:#fff;--surface-alt:#f3f4f6;--border:#e5e7eb;--text-main:#111827;--text-muted:#6b7280;--primary:#2563eb;--primary-soft:#eff6ff;--primary-on:#fff;--link-blue:#00e;--danger:#dc2626;--danger-soft:#fef2f2;--success:#16a34a;--warning:#d97706;--notebook-routine-bg:color-mix(in srgb, var(--surface) 91%, var(--warning) 9%);--notebook-routine-border:color-mix(in srgb, var(--border) 62%, var(--warning) 38%);--notebook-user-bg:color-mix(in srgb, var(--surface) 91%, var(--primary) 9%);--notebook-user-border:color-mix(in srgb, var(--border) 62%, var(--primary) 38%);--font-family-base:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:2rem;--line-height-xs:1.333;--line-height-sm:1.467;--line-height-md:1.5;--line-height-lg:1.444;--line-height-xl:1.364;--line-height-2xl:1.25;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--macro-kcal:#3b82f6;--macro-carbs:#22c55e;--macro-protein:#ef4444;--macro-fat:#f59e0b;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--line:var(--border);--brand-strong:var(--primary);--brand-soft:var(--primary-soft)}[data-theme=dark]{--bg:#111827;--surface:#1f2937;--surface-alt:#374151;--border:#374151;--text-main:#f9fafb;--text-muted:#9ca3af;--primary:#3b82f6;--primary-soft:#3b82f626;--link-blue:#60a5fa;--danger:#ef4444;--danger-soft:#ef44441f;--success:#22c55e;--warning:#f59e0b;--notebook-routine-bg:color-mix(in srgb, var(--surface) 88%, var(--warning) 12%);--notebook-routine-border:color-mix(in srgb, var(--border) 58%, var(--warning) 42%);--notebook-user-bg:color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);--notebook-user-border:color-mix(in srgb, var(--border) 58%, var(--primary) 42%);--shadow-sm:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#111827;--surface:#1f2937;--surface-alt:#374151;--border:#374151;--text-main:#f9fafb;--text-muted:#9ca3af;--primary:#3b82f6;--primary-soft:#3b82f626;--link-blue:#60a5fa;--danger:#ef4444;--danger-soft:#ef44441f;--success:#22c55e;--warning:#f59e0b;--notebook-routine-bg:color-mix(in srgb, var(--surface) 88%, var(--warning) 12%);--notebook-routine-border:color-mix(in srgb, var(--border) 58%, var(--warning) 42%);--notebook-user-bg:color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);--notebook-user-border:color-mix(in srgb, var(--border) 58%, var(--primary) 42%);--shadow-sm:none}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-main);font-family:var(--font-family-base);font-size:var(--font-size-md);-webkit-font-smoothing:antialiased;line-height:var(--line-height-md)}
