.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--color-navy, #102A56);transition:opacity .6s ease}.splash--fadeout{opacity:0;pointer-events:none}.splash__content{display:flex;flex-direction:column;align-items:center;gap:20px}.splash__logo{height:45px;width:auto;opacity:0;animation:splashLogoFade 1s ease forwards}@keyframes splashLogoFade{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.splash__tagline{font-size:16px;font-weight:400;color:#ffffffd9;letter-spacing:.3px;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.splash__tagline--visible{opacity:1;transform:translateY(0)}.app-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-navy, #102A56);gap:16px}.app-loading__logo{height:28px;width:auto;opacity:.9}.app-loading__text{font-size:14px;color:#fff9;font-weight:400}.auth-screen{min-height:100dvh;padding-top:44px;display:flex;flex-direction:column;background:#fff}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--app-content-gutter, 20px)}.auth-card{width:100%;max-width:400px}.auth-title{font-size:28px;font-weight:700;color:var(--color-navy, #102A56);margin-bottom:6px}.auth-subtitle{font-size:15px;color:var(--color-text-secondary, #888);margin-bottom:var(--space-6, 24px)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.auth-field{display:flex;flex-direction:column}.auth-input-wrapper{display:flex;align-items:center;gap:var(--space-2, 8px);border:1.5px solid var(--color-border, #e5e5e5);border-radius:12px;padding:0 14px;height:50px;background:#f9fafb;transition:border-color .2s}.auth-input-wrapper:focus-within{border-color:var(--color-navy, #102A56);background:#fff}.auth-input-icon{color:var(--color-text-secondary, #888);flex-shrink:0}.auth-input{flex:1;border:none;outline:none;font-size:15px;background:transparent;color:var(--color-text, #1a1a1a)}.auth-input::placeholder{color:var(--color-text-tertiary, #bbb)}.auth-toggle-pw{background:none;border:none;color:var(--color-text-secondary, #888);cursor:pointer;padding:4px;display:flex;align-items:center}.auth-error{font-size:13px;color:#dc3545;margin:0;padding:8px 12px;background:#fef2f2;border-radius:8px}.auth-success{font-size:13px;color:#059669;margin:0;padding:8px 12px;background:#f0fdf4;border-radius:8px}.auth-submit{width:100%;height:50px;border-radius:12px;font-size:16px;font-weight:600;background:var(--color-navy, #102A56);color:#fff;border:none;cursor:pointer;transition:opacity .2s;margin-top:var(--space-2, 8px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:var(--space-5, 20px);font-size:14px;color:var(--color-text-secondary, #888)}.auth-link{background:none;border:none;color:var(--color-navy, #102A56);font-weight:600;cursor:pointer;font-size:14px;text-decoration:underline}.auth-forgot-link{background:none;border:none;color:var(--color-text-secondary, #666);font-size:13px;cursor:pointer;padding:0;margin-top:-4px;margin-bottom:8px;text-align:right;display:block;width:100%}.auth-confirmation{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center}.auth-confirmation__title{font-size:28px;font-weight:700;color:var(--color-navy, #102A56);margin-bottom:var(--space-4, 16px)}.auth-confirmation__anim-wrapper{position:relative;width:180px;height:180px;margin:16px auto;display:flex;align-items:center;justify-content:center}.auth-confirmation__lottie{width:180px;height:180px;color:var(--color-navy, #102A56)}.auth-confirmation__lottie svg path{stroke:var(--color-navy, #102A56)!important;fill:var(--color-navy, #102A56)!important}.auth-confirmation__subtext{margin-top:8px;font-size:15px;color:var(--color-text-secondary, #666);line-height:1.5;opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.auth-confirmation__subtext--visible{opacity:1;transform:translateY(0)}.top-bar{position:fixed;top:0;left:0;right:0;width:100%;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-navy);z-index:200;flex-shrink:0}.top-bar__logo{height:20px;width:auto}.app-shell{display:flex;flex-direction:column;min-height:100dvh;padding-top:44px;width:100%;max-width:100vw;overflow-x:hidden;position:relative;background:var(--color-bg)}.app-main{flex:1;padding-bottom:76px;overflow-y:auto;overflow-x:hidden}.nav-bar{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;justify-content:space-around;background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--space-2) 0;padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-tertiary);min-width:64px;min-height:44px;justify-content:center;transition:color .2s ease}.nav-item--active{color:var(--color-blue)}.nav-item--disabled{opacity:.35;cursor:not-allowed}.nav-label{font-size:11px;font-weight:500}.screen{width:100%;max-width:100%;padding:var(--space-6) var(--app-content-gutter) var(--space-5);overflow-x:hidden;word-wrap:break-word}.screen-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.screen-title{font-size:30px;font-weight:700;letter-spacing:-.5px;color:var(--color-text-strong)}.screen-actions{display:flex;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 24px;border-radius:var(--radius-btn);font-size:16px;font-weight:600;transition:background .2s ease,transform .12s ease;min-height:50px;text-decoration:none}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-navy);color:#fff}@media (hover: hover){.btn--primary:hover{background:var(--color-navy-hover)}}.btn--primary:active{background:var(--color-navy-pressed)}.btn--accent{background:var(--color-navy);color:#fff}.btn--secondary{background:var(--color-bg);color:var(--color-navy);border:1px solid var(--color-border)}.btn--ghost{color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);min-height:40px}@media (hover: hover){.btn--ghost:hover{background:var(--color-surface)}}.btn--outline{color:var(--color-accent, #1a2d4a);border:1px solid var(--color-accent, #1a2d4a);background:transparent;display:inline-flex;align-items:center;gap:var(--space-2)}@media (hover: hover){.btn--outline:hover{background:#1a2d4a0f}}.recipe-chat-toggle{width:100%;justify-content:center;margin-bottom:var(--space-3)}.btn--large{padding:16px 32px;font-size:17px;min-height:52px}.btn--small{padding:8px 12px;font-size:13px;min-height:36px}.btn--icon{padding:10px;min-width:44px;min-height:44px}.btn--danger{color:var(--color-danger)}.btn--full{width:100%}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-9) var(--space-5);gap:var(--space-3)}.empty-icon{color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.empty-text{font-size:20px;font-weight:600;color:var(--color-text)}.empty-subtext{font-size:15px;color:var(--color-text-secondary)}.recipe-list{display:flex;flex-direction:column;gap:var(--space-5)}.recipe-card{display:flex;flex-direction:column;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);transition:box-shadow .2s ease;overflow:hidden;min-width:0}@media (hover: hover){.recipe-card:hover{box-shadow:var(--shadow-subtle)}}.recipe-card__info{margin-bottom:var(--space-5)}.recipe-card__title{font-size:21px;font-weight:600;color:var(--color-text-strong);margin-bottom:2px}.recipe-card__subtitle{font-size:15px;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.recipe-card__meta{display:flex;gap:var(--space-4);font-size:14px;color:var(--color-text-tertiary)}.meta-item{display:inline-flex;align-items:center;gap:4px}.recipe-card__action{align-self:flex-start}.import-instructions{font-size:15px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-5)}.import-textarea{width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:15px;line-height:1.5;resize:vertical;background:var(--color-bg);color:var(--color-text);margin-bottom:var(--space-3);min-height:200px}.import-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-soft)}.import-textarea:disabled{opacity:.6}.import-status{display:flex;align-items:center;gap:var(--space-3);font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.import-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.import-error{color:var(--color-danger);font-size:14px;margin-bottom:var(--space-3);line-height:1.4}.import-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.review-section{margin-bottom:var(--space-5)}.review-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.review-input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:18px;font-weight:600;color:var(--color-text-strong);background:var(--color-bg)}.review-input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-soft)}.review-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.review-header__actions{display:flex;align-items:center;gap:8px}.review-header__back{font-size:13px;padding:4px 8px;color:var(--color-text-secondary)}.review-subtitle{font-size:15px;color:var(--color-text-secondary);margin-bottom:var(--space-5)}.review-heading{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.review-list{list-style:none;padding:0}.review-list-item{font-size:15px;line-height:1.6;color:var(--color-text);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border-soft)}.review-list-item:last-child{border-bottom:none}.review-steps{padding-left:var(--space-5)}.review-step{font-size:15px;line-height:1.6;color:var(--color-text);padding:var(--space-2) 0}.review-timer{font-size:12px;font-weight:500;color:var(--color-blue);margin-left:var(--space-2)}.review-issues{background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-4)}.review-issues__hint{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-3);line-height:1.4}.review-heading--secondary{font-size:15px;margin-top:var(--space-4)}.review-issue{font-size:14px;line-height:1.4;color:var(--color-text);margin-bottom:var(--space-2)}.review-issue--warning{color:var(--color-warning)}.review-issue--info{color:var(--color-text-secondary)}.review-issue--needs_review{color:var(--color-danger)}.recipe-card__image{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-4);background:var(--color-surface)}.recipe-card__img{width:100%;height:100%;object-fit:cover}.recipe-card__generating{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-accent, #1a2d4a)}.generating__icon{color:#ffffff59;animation:generating-pulse 2s ease-in-out infinite}@keyframes generating-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.recipe-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.recipe-card__placeholder--failed{background:var(--color-danger-soft)}.recipe-card__placeholder-icon{color:var(--color-text-tertiary);opacity:.4}.recipe-card__change-photo{position:absolute;bottom:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);opacity:0;transition:opacity .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (hover: hover){.recipe-card:hover .recipe-card__change-photo{opacity:1}}.recipe-card__change-photo:focus-visible{opacity:1}@media (hover: none){.recipe-card__change-photo{opacity:1}}.screen-footer{margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--color-border-soft);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.footer-note{font-size:13px;color:var(--color-text-tertiary)}.session-list{display:flex;flex-direction:column;gap:var(--space-4)}.session-card{width:100%;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);transition:box-shadow .2s ease}.session-card--with-thumb{display:flex;align-items:stretch;gap:var(--space-4);padding:0;overflow:hidden}.session-card__thumb{width:90px;min-height:100%;flex-shrink:0;overflow:hidden}.session-card__thumb-img{width:100%;height:100%;object-fit:cover;display:block}.session-card__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-border-soft, #f1f5f9);color:var(--color-text-tertiary)}.session-card__body{flex:1;min-width:0;padding:var(--space-4) var(--space-4) var(--space-4) 0}@media (hover: hover){.session-card:hover{box-shadow:var(--shadow-subtle)}}.session-card__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}.session-card__title{font-size:18px;font-weight:600;color:var(--color-text-strong)}.session-card__phase{font-size:13px;color:var(--color-blue);font-weight:500}.session-card__progress{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.progress-bar{flex:1;height:4px;background:var(--color-surface);border-radius:2px;overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-blue);border-radius:2px;transition:width .4s ease}.progress-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);min-width:32px;text-align:right}.session-card__info{margin-bottom:var(--space-3)}.session-card__current{font-size:15px;color:var(--color-text);font-weight:500;line-height:1.4}.session-card__next{font-size:13px;color:var(--color-text-tertiary);margin-top:4px}.next-label{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px;color:var(--color-text-tertiary)}.session-card__timers{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--color-blue);font-weight:500;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-soft)}.timer-countdown{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-blue-bright)}.timer-extra{color:var(--color-text-tertiary);font-weight:400}.session-card-wrapper{position:relative}.session-card__menu-btn{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;transition:background .15s}.session-card__menu-btn:hover{background:var(--color-border-soft)}.session-card__menu{position:absolute;top:44px;right:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:10px;box-shadow:var(--shadow-subtle);padding:var(--space-2) 0;z-index:10;min-width:120px}.session-card__menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-4);border:none;background:none;font-size:14px;font-weight:500;color:var(--color-text);cursor:pointer}.session-card__menu-item:hover{background:var(--color-border-soft)}.session-card__menu-item--danger{color:var(--color-red, #e53935)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.confirm-dialog{background:var(--color-bg);border-radius:14px;padding:var(--space-5);max-width:320px;width:100%;box-shadow:0 10px 40px #00000026}.confirm-dialog__title{font-size:17px;font-weight:600;color:var(--color-text-strong);margin-bottom:var(--space-2)}.confirm-dialog__body{font-size:14px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--space-4)}.confirm-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.confirm-dialog__btn{padding:var(--space-2) var(--space-4);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;min-height:36px}.confirm-dialog__btn--cancel{background:var(--color-border-soft);color:var(--color-text)}.confirm-dialog__btn--danger{background:var(--color-red, #e53935);color:#fff}.live-cook-screen{padding:0}.live-cook-section{padding-inline:var(--app-content-gutter)}.live-cook-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--app-content-gutter)}.live-cook-header__thumb{width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.live-cook-header__info{flex:1}.live-cook-title{font-size:17px;font-weight:600;color:var(--color-text-strong)}.live-cook-phase{font-size:13px;color:var(--color-text-tertiary)}.live-cook-progress-bar{height:3px;background:var(--color-surface)}.live-cook-progress-bar__fill{height:100%;background:var(--color-blue);transition:width .4s ease}.mise-view{padding:var(--space-5) var(--app-content-gutter)}.mise-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-6)}.mise-title{font-size:20px;font-weight:650;color:var(--color-text-strong)}.mise-count{font-size:14px;color:var(--color-text-tertiary)}.current-instruction{margin-bottom:var(--space-7)}.current-instruction__text{font-size:28px;font-weight:650;line-height:1.2;letter-spacing:-.3px;color:var(--color-text-strong);margin-bottom:var(--space-3)}.current-instruction__prompt{font-size:17px;color:var(--color-text-secondary);margin-bottom:var(--space-5)}.voice-indicator{display:inline-flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--color-blue);padding:8px 14px;background:var(--color-blue-soft);border-radius:20px;font-weight:500}.live-cook-fixed-top{position:sticky;top:0;z-index:50;background:var(--color-bg, #fff);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border, #e5e5e5)}.prep-checklist{list-style:none;display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-5)}.prep-checklist--scrollable{overflow-y:auto;flex:1}.btn--step-complete{margin-left:auto;flex-shrink:0;font-size:11px;padding:4px 10px;border-radius:12px;background:var(--color-success, #22c55e);color:#fff;font-weight:600;border:none;white-space:nowrap}.prep-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);font-size:15px;line-height:1.4;transition:background .2s ease,opacity .3s ease}.prep-item--active{background:var(--color-orange-soft);border-left:3px solid var(--color-orange);padding-left:calc(var(--space-3) - 3px)}.prep-item--completed{opacity:.7}.prep-item--completed .prep-item__text{text-decoration:line-through;text-decoration-color:var(--color-text-tertiary)}.prep-item--skipped{opacity:.45}.prep-item--skipped .prep-item__text{text-decoration:line-through;font-style:italic}.prep-item--substituted{opacity:.55}.prep-item--substituted .prep-item__text{text-decoration:line-through}.prep-item--animating{animation:prepComplete .4s ease forwards}.prep-item--animating .prep-item__icon{animation:checkPulse .4s ease}@keyframes prepComplete{0%{background:var(--color-success-soft);transform:translate(0)}40%{transform:translate(2px)}to{background:transparent;opacity:.7}}@keyframes checkPulse{0%{transform:scale(1)}40%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes activePulse{0%,to{opacity:1}50%{opacity:.4}}.prep-item__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:1px}.icon-active-dot{width:10px;height:10px;border-radius:50%;background:var(--color-orange);animation:activePulse 1.5s ease-in-out infinite}.icon-active{color:var(--color-orange)}.icon-pending{color:var(--color-text-tertiary)}.icon-sub{font-size:14px;color:var(--color-blue)}.prep-item__text{flex:1;color:var(--color-text)}.dev-controls{background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);margin-top:var(--space-5)}.dev-controls__label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.dev-controls__buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.dev-btn{padding:8px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-sm);background:var(--color-navy);color:#fff;min-height:36px;transition:background .15s ease}.dev-btn:hover{background:var(--color-navy-hover)}.dev-btn--secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.dev-btn--secondary:hover{background:var(--color-surface)}.ready-view{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-9) var(--space-5);gap:var(--space-5)}.ready-icon{width:64px;height:64px;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);display:flex;align-items:center;justify-content:center}.ready-title{font-size:24px;font-weight:700;color:var(--color-text-strong)}.ready-text{font-size:17px;color:var(--color-text-secondary)}.cooking-view{padding:var(--space-5) var(--app-content-gutter)}.step-indicator{font-size:13px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4)}.current-step{margin-bottom:var(--space-6)}.current-step__instruction{font-size:28px;font-weight:650;line-height:1.2;letter-spacing:-.3px;color:var(--color-text-strong);margin-bottom:var(--space-3)}.current-step__duration{font-size:14px;color:var(--color-text-tertiary)}.next-step{padding:var(--space-4) 0;border-top:1px solid var(--color-border-soft);margin-bottom:var(--space-5)}.next-step__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.next-step__instruction{font-size:15px;color:var(--color-text-secondary);line-height:1.4}.active-timers{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.timer-display{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-4);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border-soft)}.timer-display--warning{border-color:var(--color-blue);background:var(--color-blue-soft)}.timer-display--finished{border-color:var(--color-success);background:var(--color-success-soft)}.timer-display__label{font-size:14px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px}.timer-display__time{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-strong);letter-spacing:-.5px}.timer-display--warning .timer-display__time{color:var(--color-blue)}.timer-display--finished .timer-display__time{color:var(--color-success);font-size:20px}.transcript-area{padding:var(--space-5) var(--app-content-gutter);margin-top:var(--space-4);border-top:1px solid var(--color-border-soft)}.transcript-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-blue);margin-bottom:var(--space-1)}.transcript-text{font-size:16px;color:var(--color-text-secondary);font-style:italic;line-height:1.5}.dev-log-container{padding:var(--space-3) var(--app-content-gutter);margin-top:var(--space-4)}.dev-log-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--color-text-tertiary);padding:var(--space-2) 0;width:100%}.dev-log{max-height:200px;overflow-y:auto;margin-top:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--color-surface-subtle)}.dev-log__empty{font-size:12px;color:var(--color-text-tertiary);text-align:center;padding:var(--space-3)}.dev-log__entry{display:flex;justify-content:space-between;font-size:11px;padding:3px var(--space-2);font-family:var(--font-mono)}.dev-log__type{color:var(--color-text-secondary)}.dev-log__time{color:var(--color-text-tertiary)}.completion-view{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-9) var(--space-5);gap:var(--space-5)}.completion-icon{width:80px;height:80px;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);display:flex;align-items:center;justify-content:center}.completion-title{font-size:30px;font-weight:700;color:var(--color-text-strong)}.completion-text{font-size:17px;color:var(--color-text-secondary)}.error-text{color:var(--color-danger);font-size:15px}.dev-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--color-text-tertiary);padding:var(--space-2) 0;width:100%;margin-top:var(--space-6)}.audio-warning{padding:var(--space-3) var(--space-4);background:var(--color-danger-soft);color:var(--color-danger);font-size:13px;text-align:center;border-radius:var(--radius-sm);margin:var(--space-3) var(--space-5)}.recipe-detail-screen{padding-bottom:100px}.recipe-detail-header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--app-content-gutter) var(--space-2)}.recipe-detail-header__nav{display:flex;align-items:center;justify-content:space-between}.recipe-detail-header__info{padding-left:2px}.recipe-detail-header__actions{display:flex;gap:2px}.recipe-detail-title{font-size:15px;font-weight:600;color:var(--color-text-strong);line-height:1.35}.recipe-detail-subtitle{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.recipe-detail-hero{margin:0 var(--app-content-gutter) var(--space-4);border-radius:var(--radius-md);overflow:hidden}.recipe-detail-hero__img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:0 var(--app-content-gutter);margin-bottom:var(--space-5)}.recipe-detail-section{padding:0 var(--app-content-gutter);margin-bottom:var(--space-5)}.recipe-detail-section__title{font-size:15px;font-weight:600;color:var(--color-text-strong);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.recipe-detail-ingredients{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.ingredient-row{display:flex;align-items:baseline;gap:var(--space-3);font-size:15px;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-soft)}.ingredient-qty{min-width:72px;font-weight:500;color:var(--color-text-secondary);font-size:13px}.ingredient-name{flex:1;color:var(--color-text)}.recipe-detail-steps{list-style:none;counter-reset:step-counter;display:flex;flex-direction:column;gap:var(--space-3)}.step-row{display:flex;align-items:flex-start;gap:var(--space-3);font-size:15px;line-height:1.5}.step-number{min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface);font-size:12px;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.step-instruction{flex:1;color:var(--color-text)}.step-duration{font-size:12px;font-weight:500;color:var(--color-blue);white-space:nowrap}.recipe-detail-footer{position:fixed;bottom:76px;left:0;right:0;padding:var(--space-3) var(--app-content-gutter);background:var(--color-bg);border-top:1px solid var(--color-border-soft)}.recipe-detail-edit{padding:0 var(--app-content-gutter);margin-bottom:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.edit-field{display:flex;flex-direction:column;gap:var(--space-1)}.edit-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.edit-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:15px;background:var(--color-bg)}.edit-textarea{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;line-height:1.6;background:var(--color-bg);resize:vertical;width:100%}.edit-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.recipe-agent-chat{margin:0 var(--app-content-gutter) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:400px;overflow:hidden}.agent-chat__messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.agent-chat__welcome{text-align:center;color:var(--color-text-secondary);padding:var(--space-5) 0}.agent-chat__welcome p{margin:var(--space-2) 0;font-size:14px}.agent-suggestions{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.agent-suggestions li{font-size:13px;color:var(--color-blue);font-style:italic}.agent-chat__msg{display:flex;flex-direction:column;gap:2px}.agent-chat__msg--user{align-items:flex-end}.agent-chat__role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.agent-chat__msg--user .role{color:var(--color-blue)}.agent-chat__msg--assistant .role{color:var(--color-success)}.agent-chat__text{font-size:14px;line-height:1.5;max-width:85%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface)}.agent-chat__msg--user .agent-chat__text{background:var(--color-blue-soft);color:var(--color-text)}.agent-chat__thinking{color:var(--color-text-tertiary);font-style:italic}.agent-chat__input-row{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border-soft)}.agent-chat__input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;background:var(--color-bg)}.btn--active{background:var(--color-blue-soft);color:var(--color-blue)}.btn--tiny{padding:2px;min-width:unset}.agent-mic-btn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-mic-btn--active{background:var(--color-danger);animation:micPulse 1.5s ease-in-out infinite}@keyframes micPulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 10px #dc262600}}.agent-voice-transcript{flex:1;font-size:14px;color:var(--color-text-secondary);font-style:italic;padding:0 var(--space-2)}.recipe-card__actions{display:flex;align-items:center;gap:var(--space-3, 12px);padding:0 var(--space-4) var(--space-4)}.recipe-card__start-btn{padding:8px 14px;font-size:12px;font-weight:700;line-height:1.3;text-align:center;min-height:unset;border-radius:8px}.recipe-card__icon-btn{width:40px;height:40px;min-height:unset;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.recipe-card__fav-btn{background:none;border:none;cursor:pointer;padding:0;margin-left:4px;color:var(--color-text-secondary);display:inline-flex;align-items:center;vertical-align:middle}.recipe-card__fav-btn--active{color:#e74c3c}.fab-container{position:fixed;bottom:calc(60px + var(--space-4) + env(safe-area-inset-bottom,0px));right:var(--space-4);z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.fab-button{width:56px;height:56px;border-radius:50%;background:#1e3a5f;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;transition:transform .2s ease,background .2s ease}.fab-button:hover{background:#16304f;transform:scale(1.05)}.fab-button:active{transform:scale(.95)}.fab-button--open{background:#334155;transform:rotate(0)}.fab-menu{display:flex;flex-direction:column;gap:var(--space-2);animation:fabMenuIn .2s ease-out}@keyframes fabMenuIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fab-menu__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #0000001f;transition:background .15s,transform .1s}.fab-menu__item:hover{background:var(--color-surface-hover, #f1f5f9);transform:translate(-2px)}.fab-menu__item:active{transform:scale(.98)}.fab-menu__icon{width:36px;height:36px;border-radius:50%;background:#1e3a5f;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fab-menu__label{font-size:14px;font-weight:500;color:var(--color-text)}.url-input-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-3) var(--space-4)}.url-input-icon{color:var(--color-text-secondary);flex-shrink:0}.url-input{flex:1;border:none;outline:none;font-size:15px;background:transparent;color:var(--color-text)}.url-input::placeholder{color:var(--color-text-secondary);opacity:.7}.recipe-chat{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);overflow:hidden;max-height:420px;margin-bottom:var(--space-5)}.recipe-chat__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-accent, #1a2d4a);color:#fff;font-size:14px;font-weight:600}.recipe-chat__header-left{display:flex;align-items:center;gap:var(--space-2)}.recipe-chat__close{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:2px;border-radius:var(--radius-sm);transition:color .15s}.recipe-chat__close:hover{color:#fff}.recipe-chat__messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-height:180px}.recipe-chat__empty{color:var(--color-text-tertiary);font-size:13px;line-height:1.5}.recipe-chat__empty p{margin-bottom:var(--space-2)}.recipe-chat__empty ul{list-style:none;padding:0;margin:0}.recipe-chat__empty li{padding:4px 0;font-style:italic}.recipe-chat__empty li:before{content:"•";color:var(--color-text-tertiary)}.recipe-chat__msg{display:flex}.recipe-chat__msg--user{justify-content:flex-end}.recipe-chat__msg--assistant{justify-content:flex-start}.recipe-chat__bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:16px;font-size:14px;line-height:1.45;word-wrap:break-word;white-space:pre-wrap}.recipe-chat__msg--user .recipe-chat__bubble{background:var(--color-accent, #1a2d4a);color:#fff;border-bottom-right-radius:4px}.recipe-chat__msg--assistant .recipe-chat__bubble{background:var(--color-surface, #f1f5f9);color:var(--color-text);border-bottom-left-radius:4px}.recipe-chat__bubble--interim{opacity:.6;font-style:italic}.recipe-chat__bubble--typing{display:flex;align-items:center;gap:4px;padding:var(--space-3) var(--space-4)}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-tertiary);animation:typing-bounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.recipe-chat__input-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-bg)}.recipe-chat__input{flex:1;border:1px solid var(--color-border);border-radius:20px;padding:8px 14px;font-size:14px;outline:none;background:var(--color-surface, #f8fafc);color:var(--color-text);transition:border-color .15s}.recipe-chat__input:focus{border-color:var(--color-accent, #1a2d4a)}.recipe-chat__input::placeholder{color:var(--color-text-tertiary)}.recipe-chat__mic,.recipe-chat__send{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.recipe-chat__mic{background:var(--color-surface, #f1f5f9);color:var(--color-text-secondary)}.recipe-chat__mic:hover{background:var(--color-border-soft, #e2e8f0)}.recipe-chat__mic--active{background:var(--color-red, #e53935);color:#fff;animation:mic-pulse 1.5s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 #e539354d}50%{box-shadow:0 0 0 8px #e5393500}}.recipe-chat__send{background:var(--color-accent, #1a2d4a);color:#fff}.recipe-chat__send:disabled{opacity:.4;cursor:default}.recipe-chat__send:not(:disabled):hover{opacity:.85}.shopping-subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:2px}.shopping-hint{font-size:13px;color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.shopping-ingredients{list-style:none;padding:0;margin:0 0 var(--space-5) 0}.shopping-ingredient{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-soft, #f1f5f9)}.shopping-ingredient:last-child{border-bottom:none}.shopping-ingredient__label{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.shopping-ingredient__checkbox{width:20px;height:20px;margin-top:2px;accent-color:var(--color-accent, #1a2d4a);flex-shrink:0}.shopping-ingredient__text{display:flex;flex-direction:column;gap:2px}.shopping-ingredient__name{font-size:15px;font-weight:500;color:var(--color-text)}.shopping-ingredient__qty{font-size:13px;color:var(--color-text-secondary)}.grocery-header{display:flex;align-items:flex-start;justify-content:space-between}.grocery-subtitle{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.grocery-menu-wrapper{position:relative}.grocery-menu{position:absolute;right:0;top:100%;min-width:200px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;z-index:50;overflow:hidden}.grocery-menu__item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;font-size:14px;background:none;border:none;cursor:pointer;color:var(--color-text);transition:background .12s}.grocery-menu__item:hover{background:var(--color-surface, #f8fafc)}.grocery-menu__item--danger{color:var(--color-red, #e53935)}.grocery-list{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-6)}.grocery-category__title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-soft, #f1f5f9)}.grocery-category__items{list-style:none;padding:0;margin:0}.grocery-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-soft, #f1f5f9);transition:opacity .2s}.grocery-item:last-child{border-bottom:none}.grocery-item--purchased{opacity:.45}.grocery-item--purchased .grocery-item__name{text-decoration:line-through}.grocery-item__check{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s;color:#fff;padding:0}.grocery-item--purchased .grocery-item__check{background:var(--color-accent, #1a2d4a);border-color:var(--color-accent, #1a2d4a)}.grocery-item__checkbox{display:block;width:12px;height:12px}.grocery-item__info{flex:1;min-width:0}.grocery-item__name{display:block;font-size:15px;font-weight:500;color:var(--color-text)}.grocery-item__qty{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:1px}.grocery-item__recipe{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;flex-shrink:0}.parsing-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);height:calc(100dvh - 120px);max-height:calc(100dvh - 120px);box-sizing:border-box}.parsing-animation__box{background:#fff;border:3px solid var(--color-navy, #102A56);border-radius:24px;padding:var(--space-5);margin-bottom:var(--space-5);display:flex;align-items:center;justify-content:center}.parsing-animation__phrase{font-size:16px;font-weight:500;color:#444;text-align:center;margin:0;padding:0 var(--space-3);transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease}.parsing-animation__phrase[data-state=enter]{transform:translateY(12px);opacity:0}.parsing-animation__phrase[data-state=visible]{transform:translateY(0);opacity:1}.parsing-animation__phrase[data-state=exit]{transform:translateY(-12px);opacity:0}.prep-item__icon--completed{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 15%,transparent);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;animation:checkZoom .35s cubic-bezier(.34,1.56,.64,1)}@keyframes checkZoom{0%{transform:scale(.5);opacity:.4}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.favorites-tabs{display:flex;gap:var(--space-2);padding:0 var(--app-content-gutter);margin-bottom:var(--space-4)}.favorites-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.favorites-tab--active{background:var(--color-navy, #102A56);color:#fff;border-color:var(--color-navy, #102A56)}.favorites-list-actions{padding:0 var(--app-content-gutter);margin-bottom:var(--space-4)}.favorites-new-list-form{display:flex;align-items:center;gap:var(--space-2)}.favorites-new-list-form .edit-input{flex:1}.favorites-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);color:var(--color-text-secondary);text-align:center;gap:var(--space-2)}.favorites-empty-state svg{opacity:.4}.favorites-empty-state__hint{font-size:13px;opacity:.7}.favorites-recipe-list{list-style:none;padding:0 var(--app-content-gutter)}.favorites-recipe-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.favorites-recipe-item__check{width:24px;height:24px;border-radius:6px;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;background:transparent;cursor:pointer;flex-shrink:0;transition:all .15s}.favorites-recipe-item__check--selected{background:var(--color-navy, #102A56);border-color:var(--color-navy, #102A56);color:#fff}.favorites-recipe-item__info{flex:1;min-width:0;cursor:pointer}.favorites-recipe-item__title{display:block;font-size:15px;font-weight:500;color:var(--color-text)}.favorites-recipe-item__sub{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:2px}.favorites-heart--active{color:#e74c3c}.favorites-lists{list-style:none;padding:0 var(--app-content-gutter)}.favorites-list-card{display:flex;align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;transition:background .15s}.favorites-list-card:active{background:var(--color-bg-hover, #f9f9f9)}.favorites-list-card__info{display:flex;align-items:center;gap:var(--space-2);flex:1}.favorites-list-card__name{font-size:15px;font-weight:500}.favorites-list-card__count{font-size:12px;color:var(--color-text-secondary)}.favorites-search{padding:0 var(--app-content-gutter);margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.favorites-search__bar{display:flex;align-items:center;gap:var(--space-2);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.favorites-search__bar--ai{border-color:var(--color-navy, #102A56)}.favorites-search__input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.favorites-ai-result-count{font-size:12px;color:var(--color-text-secondary);margin:4px 0 0}.btn--tiny{padding:4px 8px;font-size:11px}:root{--color-bg: #FFFFFF;--color-surface: #F7F9FC;--color-surface-subtle: #FAFBFC;--color-text: #0F172A;--color-text-strong: #09090B;--color-text-secondary: #64748B;--color-text-tertiary: #94A3B8;--color-border: #E2E8F0;--color-border-soft: #EEF2F6;--color-blue: #2563EB;--color-blue-bright: #3B82F6;--color-blue-soft: #EFF6FF;--color-navy: #102A56;--color-navy-hover: #0B2147;--color-navy-pressed: #071B3B;--color-success: #16A34A;--color-success-soft: #F0FDF4;--color-danger: #DC2626;--color-danger-soft: #FEF2F2;--color-warning: #D97706;--color-orange: #EA580C;--color-orange-soft: #FFF7ED;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-btn: 14px;--shadow-subtle: 0 1px 3px rgba(0,0,0,.04);--shadow-card: 0 1px 2px rgba(0,0,0,.03), 0 0 0 1px var(--color-border);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--space-9: 64px;--app-content-gutter: 24px;--app-shell-max-width: 100%;--app-shell-max-width-tablet: 100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);overflow-x:hidden}body{background:var(--color-bg);color:var(--color-text);min-height:100dvh;overflow-x:hidden;width:100%}#root{min-height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:var(--radius-sm)}button:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
