*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:inherit;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{min-height:100vh}:root{--breakpoint-mobile: 320px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1280px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}:root{--color-comic-primary: #FFED00;--color-comic-cyan: #00BAFF;--color-comic-magenta: #E9117A;--color-comic-magenta-light: #F04D96;--color-comic-lime: #4DFF00;--color-comic-orange: #FF6D00;--color-comic-red: #FF1B12;--color-comic-black: #000000;--color-comic-white: #FFFFFF;--color-comic-bg: #F7F5F2;--border-comic: 4px solid var(--color-comic-black);--shadow-comic: 6px 6px 0 0 var(--color-comic-black);--shadow-comic-lg: 10px 10px 0 0 var(--color-comic-black);--font-display: "Bangers", cursive;--sidebar-width: 7rem;--topbar-height: 4.5rem;--bottom-nav-height: 4.5rem}:root{--color-background: #ffffff;--color-surface: #f9fafb;--color-surface-elevated: #ffffff;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #dbeafe;--color-secondary: #8b5cf6;--color-secondary-hover: #7c3aed;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #06b6d4;--color-info-light: #cffafe}[data-theme=dark]{--color-background: #111827;--color-surface: #1f2937;--color-surface-elevated: #374151;--color-text-primary: #f9fafb;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-border: #374151;--color-border-hover: #4b5563;--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-light: #1e3a8a;--color-secondary: #a78bfa;--color-secondary-hover: #8b5cf6;--color-success: #34d399;--color-success-light: #065f46;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-error: #f87171;--color-error-light: #7f1d1d;--color-info: #22d3ee;--color-info-light: #164e63}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width:768px){.container{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}.grid{display:grid;gap:var(--spacing-md)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.font-display{font-family:Bangers,cursive;text-transform:uppercase;letter-spacing:.05em}.text-red{color:var(--color-comic-red)}.text-white{color:var(--color-comic-white)}.layout-wrapper{display:flex;min-height:100vh;background:var(--color-comic-bg);font-family:Roboto,sans-serif;color:var(--color-comic-black)}.layout-wrapper h1,.layout-wrapper h2,.layout-wrapper h3,.layout-wrapper h4,.layout-wrapper h5,.layout-wrapper h6,.layout-wrapper p,.layout-wrapper label,.layout-wrapper input,.layout-wrapper textarea,.layout-wrapper select,.layout-wrapper a{color:var(--color-comic-black)}.halftone-sidebar{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.2) 2px,transparent 2px);background-size:12px 12px;pointer-events:none;opacity:.3}.layout-sidebar-desktop{display:none}@media(min-width:1024px){.layout-sidebar-desktop{display:block;flex-shrink:0}.layout-sidebar{width:var(--sidebar-width);background:var(--color-comic-primary);border-right:var(--border-comic);position:fixed;top:0;left:0;height:100%;z-index:50;overflow-y:auto}.layout-sidebar-inner{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;padding:2rem 0;gap:2rem}.layout-sidebar-nav{display:flex;flex-direction:column;gap:1.5rem}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit}.nav-icon{width:4rem;height:4rem;background:var(--color-comic-white);border:var(--border-comic);box-shadow:var(--shadow-comic);border-radius:1rem;display:flex;align-items:center;justify-content:center}.nav-item:hover .nav-icon{background:var(--color-comic-orange)}.nav-item:hover .nav-icon .material-symbols-outlined{color:var(--color-comic-white)}.nav-icon .material-symbols-outlined{font-size:2rem}.nav-label{font-family:Bangers,cursive;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem;text-align:center}.nav-item.active .nav-icon{background:var(--color-comic-cyan)}.nav-item.active .nav-icon .material-symbols-outlined{color:var(--color-comic-white)}.nav-item.missions .nav-icon{background:var(--color-comic-red)}.nav-item.missions .nav-icon .material-symbols-outlined{color:var(--color-comic-white)}.nav-item.missions .nav-label{color:var(--color-comic-red);font-weight:900}.settings-btn{width:3rem;height:3rem;background:var(--color-comic-white);border:var(--border-comic);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-comic);margin-top:auto;color:var(--color-comic-black);text-decoration:none}.settings-btn:hover{opacity:.9}}.comic-border{border:var(--border-comic)}.layout-body{flex-grow:1;display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-comic-bg);position:relative}.layout-body:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.08) 1px,transparent 1px);background-size:10px 10px;pointer-events:none;z-index:0}.layout-body>*{position:relative;z-index:1}@media(min-width:1024px){.layout-body{margin-left:var(--sidebar-width)}}.layout-topbar{background:var(--color-comic-white);color:var(--color-comic-black);border-bottom:var(--border-comic);padding:1rem;position:sticky;top:0;z-index:40}.layout-topbar .topbar-brand,.layout-topbar .topbar-title,.layout-topbar .household-switcher__trigger{color:var(--color-comic-black)}.layout-topbar-inner{max-width:100%;padding:0 .75rem;display:flex;align-items:center;justify-content:space-between}.topbar-brand{font-size:1.125rem;line-height:1;margin:0 0 .15rem;opacity:.9;letter-spacing:.05em;white-space:nowrap}.topbar-title{font-size:2.25rem;text-transform:uppercase;letter-spacing:.05em;margin:0}.topbar-left{min-width:0}.topbar-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.topbar-chrono{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .875rem;font-size:1.125rem;line-height:1.2}.topbar-chrono-label{font-size:1rem;letter-spacing:.05em;opacity:.9}.topbar-chrono-date{white-space:nowrap}.topbar-chrono-time{font-weight:700}@media(max-width:1023px){.layout-topbar{padding-left:4.5rem}.topbar-left{min-width:4rem;flex:1 1 auto;overflow:hidden}.topbar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-chrono{display:none}}.btn-icon{width:3rem;height:3rem;border:var(--border-comic);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-comic-white);cursor:pointer}.btn-icon--notif{background:var(--color-comic-red);color:var(--color-comic-white)}.layout-main{padding:.75rem 0;flex-grow:1;padding-bottom:calc(var(--bottom-nav-height) + 2rem)}@media(min-width:1024px){.layout-main{padding:1rem 0 1.5rem}}.layout-footer{max-width:100%;margin:3rem auto 0;padding:3rem .75rem;text-align:center;opacity:.4;font-family:Bangers,cursive;font-size:1.25rem;text-transform:uppercase;letter-spacing:.1em;border-top:var(--border-comic)}@media(max-width:1023px){.layout-footer{display:none}}.layout-hamburger{display:flex;position:fixed;top:1rem;left:1rem;z-index:70;width:44px;height:44px;align-items:center;justify-content:center;background:var(--color-comic-primary);border:var(--border-comic);border-radius:.5rem;cursor:pointer}@media(min-width:1024px){.layout-hamburger{display:none}}.mobile-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:80}.mobile-drawer{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100%;background:var(--color-comic-primary);border-right:var(--border-comic);z-index:81;padding:2rem 1rem;overflow-y:auto}.mobile-drawer__close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-comic-white);border:var(--border-comic);border-radius:.5rem;cursor:pointer}.mobile-drawer__nav{display:flex;flex-direction:column;gap:.5rem;margin-top:3rem}.mobile-drawer__item{display:flex;align-items:center;gap:1rem;padding:1rem;text-decoration:none;color:inherit;border:var(--border-comic);background:var(--color-comic-white);border-radius:.5rem;font-family:Bangers,cursive;text-transform:uppercase}.mobile-drawer__item.active{background:var(--color-comic-cyan)}.mobile-drawer__item.missions.active{background:var(--color-comic-red);color:var(--color-comic-white)}.layout-bottom-nav{display:block}@media(min-width:1024px){.layout-bottom-nav{display:none}}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);padding-top:10px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--color-comic-white);border-top:var(--border-comic);display:flex;justify-content:space-around;align-items:flex-start;z-index:60}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-decoration:none;color:inherit;padding:.35rem .5rem;min-width:44px;min-height:44px;justify-content:center}.mobile-nav-item:not(.active){opacity:.6}.mobile-nav-icon{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-comic-black);box-shadow:2px 2px 0 0 var(--color-comic-black)}.mobile-nav-item.active .mobile-nav-icon{background:var(--color-comic-cyan)}.mobile-nav-item.missions .mobile-nav-icon{background:var(--color-comic-red)}.mobile-nav-item.missions .mobile-nav-icon .material-symbols-outlined{color:var(--color-comic-white)}.mobile-nav-label{font-family:Bangers,cursive;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5%}.loading-screen__spinner{font-size:5rem;margin-bottom:2rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen__title{font-family:Bangers,cursive;font-size:2rem;margin:0 0 1rem}.loading-screen__message{font-size:1rem;margin:0}.error-state{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:6px solid var(--color-comic-red);border-radius:.5rem;margin:2rem}.error-state__title{font-family:Bangers,cursive;font-size:2rem;margin:0 0 1rem}.error-state__message{margin:0 0 2rem;text-align:center}.error-state__actions{display:flex;gap:1rem}.error-state__btn{padding:1rem 2rem;font-family:Bangers,cursive;font-size:1rem;border:4px solid var(--color-comic-black);background:var(--color-comic-primary);cursor:pointer;text-transform:uppercase}.error-state__btn--secondary{background:var(--color-comic-white)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:var(--border-comic);box-shadow:var(--shadow-comic);border-radius:.5rem;background:var(--color-comic-white);color:var(--color-comic-black)}.toast--success{border-left:6px solid var(--color-comic-lime)}.toast--error{border-left:6px solid var(--color-comic-red)}.toast--warning{border-left:6px solid var(--color-comic-orange)}.toast--info{border-left:6px solid var(--color-comic-cyan)}.toast__message{flex:1;font-family:Comic Neue,cursive}.toast__dismiss{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 .5rem;color:var(--color-comic-black)}.calendar-sync-error-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;border:var(--border-comic);border-left-width:6px;border-left-color:var(--color-comic-orange);box-shadow:var(--shadow-comic);background:var(--color-comic-white);font-family:Comic Neue,cursive}.calendar-sync-error-banner__message{flex:1;min-width:0}.calendar-sync-error-banner__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.calendar-sync-error-banner__link{color:var(--color-comic-cyan, #0a7ea4);text-decoration:underline}.calendar-sync-error-banner__link:hover{text-decoration:none}.calendar-sync-error-banner__dismiss{padding:.25rem .5rem;border:var(--border-comic);border-radius:.25rem;background:var(--color-comic-white);font-family:inherit;cursor:pointer}.calendar-sync-error-banner__dismiss:hover{background:var(--color-comic-off-white, #f5f5f5)}.app-layout{min-height:100vh}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.auth-page__halftone{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.08) 1px,transparent 1px);background-size:8px 8px;pointer-events:none;opacity:.2}.auth-panel{max-width:36rem;width:100%;background:var(--color-comic-white);border:var(--border-comic);box-shadow:var(--shadow-comic-lg);position:relative;z-index:10;transform:rotate(-1deg)}.auth-panel--login{max-width:42rem}.auth-panel__strip{border-bottom:var(--border-comic);padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.auth-panel__strip--magenta{background:var(--color-comic-magenta)}.auth-panel__strip--magenta .auth-panel__edition,.auth-panel__strip--magenta .auth-panel__tag{color:var(--color-comic-white)}.auth-panel__strip--cyan{background:var(--color-comic-cyan)}.auth-panel__strip--cyan .auth-panel__edition,.auth-panel__strip--cyan .auth-panel__tag{color:var(--color-comic-black)}.auth-panel__strip--orange{background:var(--color-comic-orange)}.auth-panel__strip--orange .auth-panel__edition,.auth-panel__strip--orange .auth-panel__tag{color:var(--color-comic-white)}.auth-panel__strip--lime{background:var(--color-comic-lime)}.auth-panel__strip--lime .auth-panel__edition,.auth-panel__strip--lime .auth-panel__tag{color:var(--color-comic-black)}.auth-panel__edition{font-size:1.25rem}.auth-panel__tag{font-size:.75rem;text-transform:uppercase;opacity:.9}.auth-panel__body{padding:2rem;color:var(--color-comic-black)}.auth-panel__body h1,.auth-panel__body h2,.auth-panel__body h3,.auth-panel__body h4,.auth-panel__body h5,.auth-panel__body h6,.auth-panel__body p,.auth-panel__body label,.auth-panel__body input,.auth-panel__body textarea,.auth-panel__body select,.auth-panel__body a{color:var(--color-comic-black)}.auth-panel__brand{font-size:clamp(3rem,10vw,5rem);font-style:italic;text-transform:uppercase;letter-spacing:.05em;text-align:center;margin:0 0 .5rem;transform:rotate(-1deg);line-height:1}.auth-panel__title{font-size:clamp(1.75rem,4vw,2.5rem);font-style:italic;text-transform:uppercase;letter-spacing:.05em;text-align:center;margin:0 0 1.5rem;transform:rotate(-1deg)}.auth-panel__lead{text-align:center;margin:0 0 1.5rem;line-height:1.5}.auth-panel__ctas{display:flex;flex-direction:column;gap:.75rem}.auth-panel__ctas .auth-btn{text-align:center;text-decoration:none;display:block;box-sizing:border-box}.auth-form{display:flex;flex-direction:column;gap:1rem;max-width:28rem;margin:0 auto}.auth-form__submit{padding-top:.5rem}.auth-form__divider{display:flex;align-items:center;gap:1rem;margin:1rem 0 .5rem}.auth-form__divider:before,.auth-form__divider:after{content:"";flex:1;height:1px;background:var(--color-comic-black);opacity:.3}.auth-form__divider-text{font-family:Bangers,cursive;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}.auth-form__generator{padding:1rem;background:#0000000a;border:var(--border-comic);border-radius:.5rem}.auth-form__generator-label{margin:0 0 .25rem;font-size:1rem}.auth-form__generator-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--color-comic-black)}.auth-form__generator-row{display:flex;gap:.5rem;align-items:center}.auth-form__generator-row .auth-form__input{flex:1;min-width:0;padding:.5rem .75rem;border:var(--border-comic);border-radius:.25rem;font-size:1rem}.auth-form__generator-row .auth-btn{width:auto;flex-shrink:0;padding:.5rem 1rem;font-size:1rem}.auth-btn{width:100%;padding:1rem;font-family:Bangers,cursive;font-size:1.25rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:var(--border-comic);transition:transform .1s ease}.auth-btn:active:not(:disabled){transform:translate(2px,2px)}.auth-btn--primary{background:var(--color-comic-primary);color:var(--color-comic-black);box-shadow:var(--shadow-comic)}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-btn--small{padding:.5rem 1rem;font-size:1rem}.auth-btn--copy{flex-shrink:0}.auth-btn--secondary{background:var(--color-comic-white);color:var(--color-comic-black);box-shadow:var(--shadow-comic)}.auth-btn--danger{background:var(--color-comic-red);color:var(--color-comic-white)}.auth-links{margin-top:1.5rem;text-align:center;font-size:.9rem}.auth-links a{color:var(--color-comic-black);text-decoration:underline}.auth-links a:hover{color:var(--color-comic-magenta)}.auth-message{text-align:center;margin-bottom:1.5rem;color:var(--color-comic-black)}.wizard-btns{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;max-width:36rem;margin-left:auto;margin-right:auto}.wizard-btns .auth-btn{flex:1;min-width:10rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-family:Permanent Marker,cursive;font-size:1.1rem}.form-required{color:var(--color-comic-red)}.auth-form input,.form-field input{width:100%;padding:.75rem 1rem;border:var(--border-comic);background:var(--color-comic-white);font-family:Bangers,cursive;font-size:1rem;letter-spacing:.05em}.auth-form input:focus,.form-field input:focus{outline:none;box-shadow:0 0 0 4px var(--color-comic-cyan)}.auth-form input[aria-invalid=true],.form-field input[aria-invalid=true]{border-color:var(--color-comic-red)}.form-error{color:var(--color-comic-red);margin:0;font-size:.9rem}.page-login,.page-register,.page-forgot-password{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.page-stub{padding:1rem 0}.page-dashboard{padding:.5rem 0}.page-dashboard h2,.page-stub h2{margin-bottom:1rem}.page-dashboard{max-width:none}.dashboard-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}@media(min-width:768px){.dashboard-header{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}}.dashboard-hero{display:inline-block;background:var(--color-comic-white);border:var(--border-comic);padding:1.25rem 1.5rem;border-radius:1rem;box-shadow:var(--shadow-comic-lg)}.dashboard-hero h2{font-family:var(--font-display, "Bangers", cursive);font-size:clamp(2rem,6vw,4rem);font-style:italic;text-transform:uppercase;letter-spacing:.05em;margin:0}.dashboard-mission-day{font-family:var(--font-display, "Bangers", cursive);font-size:1.25rem;text-transform:uppercase;text-align:right}.dashboard-mission-day span{color:var(--color-comic-red);text-decoration:underline;text-underline-offset:4px}.dashboard-mission-day .status{font-size:.875rem;opacity:.7}.dashboard-empty{background:var(--color-comic-white);padding:2rem;border-radius:1rem;text-align:center}.dashboard-empty p:first-child{margin-top:0}.dashboard-empty a{color:var(--color-comic-red);font-weight:700}.dashboard-leaderboard{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:var(--color-comic-white);padding:.4rem .75rem;border-radius:1rem;box-shadow:var(--shadow-comic);min-width:200px;cursor:pointer}.dashboard-leaderboard-title{font-family:var(--font-display, "Bangers", cursive);font-size:1.15rem;font-style:italic;margin:0}.dashboard-leaderboard-loading,.dashboard-leaderboard-empty{margin:0;font-size:.875rem;font-family:var(--font-display, "Bangers", cursive)}.dashboard-leaderboard-empty a{color:var(--color-comic-red);font-weight:700}.dashboard-leaderboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.6rem;overflow-x:auto;scrollbar-width:thin}.dashboard-leaderboard-item{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-shrink:0;padding:0;text-align:center}.dashboard-leaderboard-pos{font-family:var(--font-display, "Bangers", cursive);font-size:.9rem;font-weight:700;min-width:1.1rem}.dashboard-leaderboard-pos.rank-1{color:#d4af37}.dashboard-leaderboard-pos.rank-2{color:silver}.dashboard-leaderboard-pos.rank-3{color:#cd7f32}.dashboard-leaderboard-pos.rank-4{color:var(--color-comic-black)}.dashboard-leaderboard-name{font-family:var(--font-display, "Bangers", cursive);font-weight:500;font-size:1.15rem;white-space:nowrap}.dashboard-leaderboard-list--compact .dashboard-leaderboard-pos,.dashboard-leaderboard-list--compact .dashboard-leaderboard-name{display:none}.dashboard-leaderboard-pts{font-family:var(--font-display, "Bangers", cursive);font-weight:600;font-size:.95rem}.dashboard-leaderboard-squad{width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid rgba(0,0,0,.3);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--color-comic-black);line-height:1}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}@media(min-width:1024px){.dashboard-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.dashboard-main-inner{grid-column:1;grid-row:1 / 3}.dashboard-sidebar{grid-column:2;grid-row:1 / 3}}.dashboard-main-inner{display:flex;flex-direction:column;gap:2rem}.dashboard-cards{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.dashboard-cards{grid-template-columns:1fr 1fr}}.dashboard-sidebar{display:flex;flex-direction:column;gap:1.5rem}.panel-tasks{background:var(--color-comic-cyan);border-radius:1rem;box-shadow:var(--shadow-comic-lg);overflow:hidden;display:flex;flex-direction:column}.panel-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 1rem .5rem;background:var(--color-comic-cyan);flex-shrink:0}.panel-tasks-title{font-size:1.75rem;margin:0;text-align:left}.panel-tasks-banner{background:var(--color-comic-black);color:var(--color-comic-white);padding:.35rem .75rem;font-size:.9rem;border-radius:0 0 .5rem .5rem;flex-shrink:0;align-self:flex-start;margin-top:0}.panel-tasks-inner{padding:1rem 1.5rem;flex-grow:1;display:flex;flex-direction:column;min-height:0;text-align:left}.panel-tasks .panel-muted{font-family:var(--font-display, "Bangers", cursive)}.panel-tasks .panel-cta{margin-top:auto;padding-top:1rem}.panel-tasks-remaining-wrap{padding:.2rem 1rem 0 0;flex-shrink:0;display:flex;justify-content:flex-end}.panel-tasks-remaining-capsule{display:inline-block;background:var(--color-comic-white);padding:.25rem .6rem;border-radius:9999px;font-size:.875rem;font-weight:700;box-shadow:var(--shadow-comic);border:2px solid var(--color-comic-black, #000)}.panel-tasks-list{list-style:none;margin:0 0 1rem;padding:0}.panel-tasks-list li{margin-bottom:.5rem}.panel-task-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffffb3;border-radius:1rem;border:2px solid var(--color-comic-black);font-weight:600;font-style:italic;text-transform:uppercase;box-shadow:var(--shadow-comic)}.panel-task-row[role=button]{cursor:pointer}.panel-task-row[role=button]:hover{background:#fffffff2}.panel-task-cb{flex-shrink:0;width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;background:var(--color-comic-white);border:2px solid var(--color-comic-black);border-radius:.2rem;font-size:.9rem;font-weight:700;line-height:1}.panel-task-title{flex:1;min-width:0;font-size:1rem}.panel-task-done{text-decoration:line-through;opacity:.7}.panel-task-squad-indicator{width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid rgba(0,0,0,.3);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--color-comic-black);line-height:1}.panel-meal{background:var(--color-comic-magenta);border-radius:1rem;box-shadow:var(--shadow-comic-lg);overflow:hidden;display:flex;flex-direction:column}.panel-meal-inner{padding:1.5rem;flex-grow:1;min-height:0;text-align:center;display:flex;flex-direction:column;align-items:center}.panel-meal .panel-cta{margin-top:auto;padding-top:1rem}.panel-meal-starburst-wrap{position:relative;width:100%;aspect-ratio:1;max-width:12rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center}.panel-meal-starburst{position:absolute;inset:0;background:var(--color-comic-primary);box-shadow:var(--shadow-comic);transform:scale(1.1);clip-path:polygon(100% 50%,88% 65%,95% 85%,75% 80%,65% 95%,50% 85%,35% 95%,25% 80%,5% 85%,12% 65%,0% 50%,12% 35%,5% 15%,25% 20%,35% 5%,50% 15%,65% 5%,75% 20%,95% 15%,88% 35%)}.panel-meal-starburst-content{position:relative;z-index:2;padding:1rem;text-align:center}.panel-meal-pow-text{display:block;font-size:clamp(2rem,5vw,3rem);color:var(--color-comic-white);-webkit-text-stroke:1.5px var(--color-comic-black);font-style:italic;transform:rotate(-5deg);line-height:1}.panel-meal-starburst-name{font-family:Permanent Marker,cursive;font-size:clamp(1.25rem,3vw,1.75rem);margin:.25rem 0 0;line-height:1.1;transform:rotate(2deg);color:var(--color-comic-white);-webkit-text-stroke:1px var(--color-comic-black)}.panel-meal-starburst-label{margin:.25rem 0 0;color:var(--color-comic-red);font-size:1rem;opacity:.95;font-family:var(--font-display, "Bangers", cursive)}.panel-meal-grub{color:var(--color-comic-white);font-size:1.75rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .75rem;opacity:.9}.panel-meal-muted{color:var(--color-comic-white);opacity:.9;margin:0 0 .75rem;font-size:.95rem}.panel-meal-list{width:100%;text-align:left;margin-bottom:.75rem}.panel-meal-capsule{border:2px solid var(--color-comic-black, #000);border-radius:.75rem;padding:.75rem 1.25rem;margin-bottom:.75rem;background:var(--color-comic-magenta-light, #F04D96);box-shadow:var(--shadow-comic);pointer-events:none}.panel-meal-capsule:last-child{margin-bottom:0}.panel-meal-capsule .panel-meal-recipe-link{pointer-events:auto}.panel-meal-block{margin-bottom:0}.panel-meal-block:last-child{margin-bottom:0}.panel-meal-type{color:var(--color-comic-white);font-size:1.35rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;-webkit-text-stroke:.5px var(--color-comic-black)}.panel-meal-entry-row{display:flex;align-items:center;gap:.5rem;padding-left:.75rem;margin-bottom:.25rem;flex-wrap:wrap}.panel-meal-entry{color:var(--color-comic-white);font-size:1.125rem;line-height:1.3;word-wrap:break-word;flex:1;min-width:0}.panel-meal-entry-row .panel-meal-entry{padding-left:0}.panel-meal-block>.panel-meal-entry-empty{padding-left:.75rem}.panel-meal-recipe-link{flex-shrink:0;display:inline-block;background:var(--color-comic-primary);color:var(--color-comic-black);border:var(--border-comic);padding:.25rem .6rem;border-radius:9999px;font-size:.85rem;text-transform:uppercase;text-decoration:none;box-shadow:var(--shadow-comic)}.panel-meal-recipe-link:hover{filter:brightness(1.05)}.panel-meal-entry-empty{opacity:.7}.panel-shared{background:var(--color-comic-white);border-radius:2rem;box-shadow:var(--shadow-comic-lg);padding:1.5rem 2rem;position:relative;overflow:hidden}.panel-shared:before{content:"";position:absolute;top:0;left:0;width:100%;height:8px;background:var(--color-comic-black);opacity:.1}.panel-shared-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:4px solid var(--color-comic-black)}.panel-shared-head h3{font-family:var(--font-display, "Bangers", cursive);font-size:1.75rem;font-style:italic;text-transform:uppercase;margin:0}.panel-shared-tag{background:var(--color-comic-lime);padding:.5rem 1rem;border:var(--border-comic);font-size:1.125rem;text-transform:uppercase}.panel-shared-coming-soon{margin:0 0 1rem;font-size:1rem;opacity:.85;font-family:var(--font-display, "Bangers", cursive)}.panel-shared-add{width:100%;border:4px dashed var(--color-comic-black);padding:1.25rem;border-radius:1rem;font-family:var(--font-display, "Bangers", cursive);font-size:1.25rem;text-transform:uppercase;font-style:italic;background:transparent;color:#0006;cursor:not-allowed}.panel-shared-add:disabled{cursor:not-allowed}.panel-supply{position:relative;background:var(--color-comic-primary);border-radius:1rem;box-shadow:var(--shadow-comic-lg);overflow:hidden;display:flex;flex-direction:column;min-height:0}.panel-supply-banner{background:var(--color-comic-black);color:var(--color-comic-white);padding:.5rem 1.25rem;font-size:1.125rem;align-self:flex-start;margin-left:1rem;margin-top:-1px;border-radius:0 0 .5rem .5rem;position:relative;z-index:10}.panel-supply-inner{padding:1.5rem;position:relative;z-index:10;flex-grow:1}.panel-supply-head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;text-align:left}.panel-supply-head h3{font-family:var(--font-display, "Bangers", cursive);font-size:1.75rem;font-style:italic;text-transform:uppercase;margin:0;letter-spacing:-.02em;line-height:1;text-align:left}.panel-supply-tag{background:var(--color-comic-red);color:var(--color-comic-white);padding:.25rem .75rem;border:var(--border-comic);align-self:flex-start;transform:rotate(2deg);font-size:1rem;text-transform:uppercase;box-shadow:var(--shadow-comic)}.supply-list{max-height:28rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;margin-bottom:.5rem;list-style:none;padding:0;margin-left:0}.supply-row{background:#ffffffb3;border:2px solid var(--color-comic-black);padding:.75rem 1rem;border-radius:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-comic)}.supply-row-cb{width:1.5rem;height:1.5rem;border:4px solid var(--color-comic-black);background:var(--color-comic-white);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:.25rem}.supply-row.done .supply-row-cb{background:var(--color-comic-lime)}.supply-row.done .supply-row-cb .material-symbols-outlined{font-size:.875rem;font-weight:700}.supply-label{font-size:1.125rem;font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.02em;flex-grow:1;text-align:left}.supply-qty{font-size:.875rem;font-weight:700;opacity:.85;flex-shrink:0;text-align:right}.supply-row.done .supply-label,.supply-row.done .supply-qty{text-decoration:line-through;opacity:.5}.panel-supply-cta{padding:0 1.5rem 1.5rem}.panel-supply-btn-update{display:block;width:100%;background:var(--color-comic-white);color:var(--color-comic-black);border:var(--border-comic);padding:.75rem 1rem;border-radius:9999px;font-size:1.25rem;text-transform:uppercase;box-shadow:var(--shadow-comic);text-align:center;text-decoration:none}.panel-supply-btn-update:hover{background:var(--color-comic-bg)}.panel-muted{margin:0 0 1rem;opacity:.85;font-size:.9375rem}.panel-cta{padding-top:.5rem}.dashboard-cta-link{display:block;width:100%;background:var(--color-comic-white);border:var(--border-comic);padding:.75rem 1rem;border-radius:9999px;font-family:var(--font-display);font-size:1.125rem;text-transform:uppercase;box-shadow:var(--shadow-comic);text-align:center;text-decoration:none;color:var(--color-comic-black)}.dashboard-cta-link:hover{background:var(--color-comic-bg)}.dashboard-calendar-wrap{display:flex;flex-direction:column;gap:1.25rem}.dashboard-calendar-title{background:var(--color-comic-primary);padding:1rem;box-shadow:var(--shadow-comic);text-align:center;width:100%;box-sizing:border-box}.dashboard-calendar-title h3{font-size:1.75rem;margin:0}.dashboard-cal-events{width:100%}.dashboard-cal-events .panel-muted{margin:0;font-family:var(--font-display, "Bangers", cursive)}.cal-events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.cal-card{position:relative;border:var(--border-comic);border-radius:1rem;padding:.75rem 1rem;box-shadow:var(--shadow-comic);width:100%;box-sizing:border-box}.cal-card-row1{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.cal-card-day{background:var(--color-comic-black);color:var(--color-comic-white);padding:.15rem .5rem;font-size:.75rem;text-transform:uppercase;flex-shrink:0}.cal-card-title{font-size:1.125rem;font-style:italic;text-transform:uppercase;margin:0;flex-grow:1}.cal-card-meta{font-size:.875rem;font-weight:700;margin:0}.cal-card-lime{background:var(--color-comic-lime)}.cal-card-orange{background:var(--color-comic-orange)}.cal-card-cyan{background:var(--color-comic-cyan)}.cal-card-magenta{background:var(--color-comic-magenta)}.cal-card-white{background:#fff;border:var(--border-comic)}.cal-card-red{background:var(--color-red, #ff1b12)}.cal-card-electric-blue{background:#7df9ff;border:var(--border-comic)}.cal-btns{display:flex;flex-direction:column;gap:.5rem;width:100%}.cal-btn{background:var(--color-comic-white);border:var(--border-comic);padding:.75rem 1rem;border-radius:1rem;font-size:1.125rem;text-transform:uppercase;box-shadow:var(--shadow-comic);text-align:center;text-decoration:none;color:var(--color-comic-black)}.cal-btn-full{width:100%}.cal-btn:hover{background:var(--color-comic-bg)}.household-switcher{position:relative}.household-switcher--single{display:inline-block}.household-switcher__trigger{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;font:inherit;cursor:pointer;padding:0}.household-switcher__chevron{font-size:1.25rem;transition:transform .2s}.household-switcher__trigger[aria-expanded=true] .household-switcher__chevron{transform:rotate(180deg)}.household-switcher__dropdown{position:absolute;top:100%;left:0;margin:.5rem 0 0;padding:.5rem 0;list-style:none;background:var(--color-comic-white);border:var(--border-comic);box-shadow:var(--shadow-comic-lg);min-width:12rem;z-index:50}.household-switcher__item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;font:inherit;cursor:pointer}.household-switcher__item:hover{background:var(--color-comic-primary)}.household-switcher__item--active{font-weight:700}.invite-code-block{margin:1.5rem 0}.invite-code-block__label{display:block;margin-bottom:.5rem}.invite-code-box{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.invite-code-display{flex:1;min-width:10rem;padding:.75rem 1rem;border:var(--border-comic);background:var(--color-comic-primary);text-align:center;font-size:1.5rem;letter-spacing:.15em}.invite-code-block__hint{margin-bottom:1rem;color:var(--color-text-secondary)}.invite-code-block--with-qr{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap;max-width:36rem}.invite-code-block--with-qr .invite-code-wrap{flex:1;min-width:12rem}.qr-wrap{flex:0 0 auto;text-align:center}.qr-wrap__label{display:block;font-size:1.125rem;margin-bottom:.5rem}.qr-placeholder{width:11rem;height:11rem;padding:.5rem;border:var(--border-comic);background:var(--color-comic-white);display:flex;align-items:center;justify-content:center}.qr-placeholder svg{max-width:100%;height:auto}.page-household{padding:1rem 0}.household-header{margin-bottom:2rem}.household-hero{padding:1rem 1.5rem;background:var(--color-comic-white);margin-bottom:1rem}.household-hero h2{margin:0}.household-hero__display{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.household-edit-name{margin-top:.5rem;font-size:.9rem;background:none;border:none;cursor:pointer;text-decoration:underline}.household-name-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.household-name-input{flex:1;min-width:10rem}.panel-members{max-width:48rem;background:var(--color-comic-cyan);padding:1.5rem 2rem 2rem;margin-bottom:2rem;position:relative}.panel-members__banner{background:var(--color-comic-black);color:var(--color-comic-white);padding:.5rem 1.5rem;font-style:italic;font-size:1.125rem;display:inline-block;margin:-1px 0 0 1rem;border-radius:0 0 .5rem .5rem}.member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.member-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:#ffffffbf;border:2px solid var(--color-comic-black);padding:.75rem 1rem;border-radius:1rem}.member-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-comic-primary);border:var(--border-comic);display:flex;align-items:center;justify-content:center;font-family:Bangers,cursive;font-weight:700}.member-name{min-width:8rem;font-weight:600}.member-edit-name-btn{margin-left:.5rem;padding:.15rem .4rem;font-size:.75rem;border:var(--border-comic);border-radius:.25rem;background:#ffffffe6;cursor:pointer}.member-edit-name-btn:hover{background:var(--color-comic-primary)}.member-name-edit{display:flex;flex-direction:column;gap:.35rem;min-width:10rem}.member-name-edit .member-name-input{padding:.35rem .5rem;border:var(--border-comic);border-radius:.25rem;font:inherit;max-width:12rem}.member-name-error{font-size:.8rem}.member-name-edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.member-row--header{background:#ffffff80;font-size:.875rem}.member-row--header .member-name{font-weight:700;text-transform:uppercase;letter-spacing:.03em}.member-email{flex:1;min-width:8rem}.member-role{font-size:.875rem;padding:.25rem .5rem;border-radius:.25rem;text-transform:capitalize}.member-role--admin,.member-role--parent{background:var(--color-comic-primary)}.member-role--child{background:#ffffffe6}.member-actions{display:flex;gap:.5rem;align-items:center}.member-role-select{padding:.25rem .5rem;border:var(--border-comic);font:inherit}.member-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.member-color-header,.member-letter-header,.member-avatar-header{min-width:5rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.875rem}.member-color-cell{min-width:6rem}.member-letter-cell{min-width:4rem}.member-letter-input{width:3rem;min-height:2.25rem;padding:.35rem .25rem;text-align:center;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:var(--color-comic-black, #000);background-color:var(--color-comic-white, #fff);border:var(--border-comic)}.member-color-select{padding:.25rem .5rem;border:var(--border-comic);font:inherit;max-width:100%}.member-avatar-cell{min-width:10rem;max-width:18rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.member-avatar-btn{flex-shrink:0}.member-avatar-icon-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:.25rem;width:100%;margin-top:.5rem;padding:.5rem;background:#ffffffb3;border:var(--border-comic);border-radius:.5rem}.member-avatar-icon-option{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:2px solid var(--color-comic-black);border-radius:.35rem;background:#fff;cursor:pointer;color:var(--color-comic-black)}.member-avatar-icon-option:hover{background:var(--color-comic-primary)}.member-avatar-icon-option[aria-pressed=true]{box-shadow:0 0 0 3px var(--color-cyan, #00baff)}.household-danger{margin-top:2rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:4rem 1rem 1rem}.modal-overlay.cal-event-form-overlay{z-index:2147483647;padding:7rem 1rem 4rem;align-items:flex-start}.modal-overlay.cal-event-form-overlay .modal-content{margin:0 auto auto;max-width:40rem;max-height:calc(100vh - 11rem)}.layout-footer{position:relative;z-index:1}.modal-content{background:var(--color-comic-white);color:var(--color-comic-black);padding:2rem;max-width:28rem;max-height:90vh;overflow-y:auto;width:100%}.modal-content .modal-header,.modal-content .modal-body,.modal-content .modal-actions,.modal-content .modal-header .modal-header-title,.modal-content h1,.modal-content h2,.modal-content h3,.modal-content h4,.modal-content h5,.modal-content h6,.modal-content p,.modal-content label,.modal-content input,.modal-content textarea,.modal-content select,.modal-content a{color:var(--color-comic-black)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-2rem -2rem 0;padding:1rem 2rem;border-bottom:var(--border-comic)}.modal-header .modal-header-title{margin:0;flex:1}.modal-close{flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:var(--border-comic);border-radius:.35rem;background:var(--color-comic-white);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:Bangers,cursive}.modal-close:hover{background:#f4f4f5}.modal-content input{width:100%;margin:.5rem 0 1rem}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.modal-strip{background:var(--color-cyan, #00baff);border-bottom:var(--border-comic);padding:.75rem 1rem;font-size:1rem;text-transform:uppercase}.modal-body{padding:1.25rem 0}.cal-event-form .form-row{display:flex;gap:1rem}.cal-event-form .form-row .form-field{flex:1}.checkbox-wrap{display:flex;align-items:center;gap:.5rem}.checkbox-wrap input{width:auto;margin:0}.delete-confirm{margin-top:1.5rem;padding:1rem;background:#fff8f8}.add-to-cart-overlay{align-items:flex-start;padding-top:5.5rem;overflow:hidden}.add-to-cart-modal{max-width:26rem;max-height:calc(100vh - 8rem);overflow:hidden;display:flex;flex-direction:column}.add-to-cart-modal-body{flex:1;min-height:0;overflow-y:auto}.add-to-cart-instruction{margin:1rem 0 .75rem;font-size:.9rem;line-height:1.4}.add-to-cart-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.add-to-cart-actions-top{margin-top:0}.add-to-cart-actions-bottom{margin-top:1rem;margin-bottom:0}.add-to-cart-list-actions{display:flex;gap:.5rem;margin-bottom:.5rem}.add-to-cart-list-actions .btn-sm{font-size:.8rem;padding:.35rem .6rem}.add-to-cart-list{list-style:none;margin:0;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:.35rem}.add-to-cart-list-item{border-bottom:1px solid rgba(0,0,0,.08)}.add-to-cart-list-item:last-child{border-bottom:none}.add-to-cart-label{display:grid;grid-template-columns:1rem 1fr;align-items:center;gap:.35rem;padding:.35rem .5rem;margin:0;cursor:pointer;font-weight:400}.add-to-cart-checkbox{width:1rem;min-width:1rem;max-width:1rem;height:1rem;min-height:1rem;max-height:1rem;margin:0;padding:0;justify-self:start;align-self:center;flex-shrink:0;cursor:pointer;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:2px solid var(--color-comic-black, #000);border-radius:.15rem;background:var(--color-comic-white, #fff);position:relative}.add-to-cart-checkbox:checked{background:var(--color-magenta, #e9117a);border-color:var(--color-magenta, #e9117a)}.add-to-cart-checkbox:checked:after{content:"";position:absolute;left:.28rem;top:.08rem;width:.28rem;height:.48rem;border:solid var(--color-comic-white, #fff);border-width:0 2px 2px 0;transform:rotate(45deg);box-sizing:border-box}.add-to-cart-item-name{min-width:0;font-size:.9rem}.page-calendar{display:flex;flex-direction:column;gap:1rem;padding:1rem}.cal-page-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.cal-page-header .cal-tabs,.cal-page-header .squad-selector,.cal-page-header .source-filter-wrap{min-height:2.75rem;align-items:center}.cal-page-header .cal-tabs,.cal-page-header .squad-selector{padding:.6rem 1rem}.cal-page-header .source-filter-wrap{padding:.5rem .75rem}.cal-header-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex-shrink:0}.cal-header-actions .btn-add-event{width:auto;white-space:nowrap}.cal-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.cal-tabs{display:flex;padding:.25rem;background:var(--color-comic-white);border-radius:.5rem;gap:.25rem;box-shadow:var(--shadow-comic)}.cal-tab{padding:.5rem 1rem;border:none;background:transparent;cursor:pointer;font-size:1.125rem;text-transform:uppercase;border-radius:.5rem}.cal-tab:hover{background:var(--color-bg-light, #f4f4f5)}.cal-tab.active{background:var(--color-comic-primary);box-shadow:var(--shadow-comic)}.cal-nav{display:flex;align-items:center;gap:.5rem}.btn-nav{width:2.5rem;height:2.5rem;min-width:2.5rem;min-height:2.5rem;padding:0;border:var(--border-comic);border-radius:50%;background:var(--color-comic-white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:Bangers,cursive;font-size:1.125rem;text-transform:uppercase;box-shadow:var(--shadow-comic)}.btn-nav:hover{background:var(--color-bg-light, #f4f4f5)}.btn-nav-arrow{font-size:1.75rem;font-weight:800;line-height:1;display:block;transform:translateY(.08em)}.btn-nav .btn-nav-arrow{font-size:2rem}.btn-nav .arrow-icon{display:block;width:.6rem;height:.6rem;border-top:3px solid var(--color-black, #000);border-right:3px solid var(--color-black, #000)}.btn-nav-prev .arrow-icon{transform:rotate(-135deg);margin-left:.15rem}.btn-nav-next .arrow-icon{transform:rotate(45deg);margin-right:.15rem}.btn-today{padding:.5rem 1rem;border:var(--border-comic);border-radius:9999px;background:var(--color-comic-white);cursor:pointer;font-size:1.125rem;font-family:Bangers,cursive;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-comic)}.btn-today:hover{background:var(--color-bg-light, #f4f4f5)}.cal-date-label{min-width:140px;text-align:center;font-size:1rem;white-space:nowrap}.btn-add-event{padding:.5rem 1rem;width:auto;border-radius:9999px}.cal-export-bar{margin-top:1rem;padding:.5rem 0;display:flex;justify-content:flex-start}.cal-export-bar .auth-btn{width:auto}.export-dropdown-wrap{position:relative}.export-menu{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:12rem;background:var(--color-comic-white);border-radius:.5rem;padding:.25rem;z-index:50;display:flex;flex-direction:column;gap:.125rem}.export-menu-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;border:none;background:transparent;cursor:pointer;font-size:.9rem;border-radius:.35rem}.export-menu-item:hover{background:var(--color-bg-light, #f4f4f5)}.source-filter-wrap{display:flex;align-items:center;gap:.5rem;padding:.25rem;background:var(--color-comic-white);border-radius:.5rem;box-shadow:var(--shadow-comic);max-width:fit-content}.source-filter-label{font-family:Bangers,cursive;font-size:1.125rem;text-transform:uppercase;letter-spacing:.05em;padding:0 .25rem}.source-filter-select{padding:.5rem 1.75rem .5rem .75rem;font-size:1.125rem;font-family:Bangers,cursive;text-transform:uppercase;letter-spacing:.05em;border:var(--border-comic);border-radius:.5rem;background:var(--color-comic-white);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231a1a1a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.source-filter-select:hover{background-color:var(--color-bg-light, #f4f4f5)}.source-filter-select:focus{outline:2px solid var(--color-comic-primary);outline-offset:1px}.squad-selector{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;padding:.25rem;background:var(--color-comic-white);border-radius:.5rem;box-shadow:var(--shadow-comic);max-width:fit-content}.squad-label{font-family:Bangers,cursive;font-size:1.125rem;text-transform:uppercase;letter-spacing:.05em;padding:0 .25rem}.squad-dot{width:2.25rem;height:2.25rem;border-radius:50%;border:var(--border-comic);background:transparent;cursor:pointer;padding:0;font-size:.75rem;font-weight:700;font-family:Bangers,cursive;display:flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s}.squad-dot:hover{background:var(--color-bg-light, #f4f4f5)}.squad-dot.selected{box-shadow:var(--shadow-comic)}.squad-dot.all.selected{background:var(--color-comic-black, #1a1a1a);color:var(--color-comic-white);border-color:var(--color-comic-black)}.squad-dot.member.cyan,.squad-dot.member.cyan.selected{border-color:var(--color-cyan, #00baff)}.squad-dot.member.cyan.selected.no-avatar{background:var(--color-cyan, #00baff);color:var(--color-comic-white)}.squad-dot.member.magenta,.squad-dot.member.magenta.selected{border-color:var(--color-magenta, #e9117a)}.squad-dot.member.magenta.selected.no-avatar{background:var(--color-magenta, #e9117a);color:var(--color-comic-white)}.squad-dot.member.lime,.squad-dot.member.lime.selected{border-color:var(--color-lime, #4dff00)}.squad-dot.member.lime.selected.no-avatar{background:var(--color-lime, #4dff00);color:var(--color-comic-black, #1a1a1a)}.squad-dot.member.orange,.squad-dot.member.orange.selected{border-color:var(--color-orange, #ff6d00)}.squad-dot.member.orange.selected.no-avatar{background:var(--color-orange, #ff6d00);color:var(--color-comic-white)}.squad-dot.member.red,.squad-dot.member.red.selected{border-color:var(--color-red, #ff1b12)}.squad-dot.member.red.selected.no-avatar{background:var(--color-red, #ff1b12);color:var(--color-comic-white)}.squad-dot.member.electric-blue,.squad-dot.member.electric-blue.selected{border-color:#7df9ff}.squad-dot.member.electric-blue.selected.no-avatar{background:#7df9ff;color:var(--color-comic-black, #1a1a1a)}.squad-dot .squad-dot-avatar.member-avatar{border:none;background:transparent!important}.cal-loading,.cal-empty{padding:2rem;text-align:center}.cal-empty{max-width:24rem;margin:0 auto}.cal-empty p{margin-bottom:.5rem}.cal-empty .auth-btn{margin-top:1rem}.page-shopping{display:flex;flex-direction:column;gap:1rem}.shop-page-header{margin-bottom:.5rem}.shop-page-hero{display:inline-block;padding:1rem 1.5rem;background:var(--color-white);box-shadow:var(--shadow-comic-lg);border-radius:1rem}.shop-page-hero .font-display{margin:0;font-size:clamp(1.5rem,4vw,2.25rem)}.shop-page-sub{margin:.25rem 0 0;font-size:1rem;opacity:.85}.shop-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.shop-toolbar-actions{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center}.shop-toolbar-actions .auth-btn,.shop-toolbar-actions a.auth-btn{width:auto;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none}.shop-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.shop-filter-label{display:inline-flex;align-items:center;gap:.5rem}.shop-filter-select{padding:.4rem .75rem;border:var(--border-comic);border-radius:.5rem;font-family:inherit;background:var(--color-comic-white, #fff);color:var(--color-comic-black, #000);appearance:auto;cursor:pointer}.shop-loading,.shop-empty{padding:2rem;text-align:center}.shop-empty{max-width:28rem;margin:0 auto}.shop-empty p{margin-bottom:.5rem}.shop-empty .auth-btn{margin-top:1rem}.shop-panel{background:#ff6d001a;border-radius:1rem;overflow:hidden;max-width:44rem;box-shadow:var(--shadow-comic-lg)}.shop-panel-banner{background:var(--color-comic-orange, #ff6d00);color:var(--color-black);padding:.5rem 1.5rem;border-bottom:var(--border-comic);font-size:1.125rem;margin:0}.shop-panel-inner{padding:1rem 1.5rem;background:var(--color-white)}.shop-category{margin-bottom:1.25rem}.shop-category:last-child{margin-bottom:0}.shop-category-title{margin:0 0 .5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:.25rem;border-bottom:2px solid var(--color-comic-black)}.shop-item-list{list-style:none;margin:0;padding:0}.shop-item-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;border:var(--border-comic);border-radius:.5rem;margin-bottom:.5rem;background:var(--color-white);box-shadow:var(--shadow-comic)}.shop-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.shop-item-row.checked .shop-item-name{text-decoration:line-through;opacity:.7}.shop-item-checkbox{display:inline-flex;align-items:center;gap:.75rem;flex:1;min-width:0;cursor:pointer}.shop-item-row.checked .supply-row-cb{background:var(--color-comic-lime)}.shop-item-row.checked .supply-row-cb .material-symbols-outlined{font-size:.875rem;font-weight:700}.shop-item-name{flex:1;min-width:0}.shop-item-store{font-size:.875rem;opacity:.8}.shop-item-recipes{list-style:none;margin:0 0 0 1.75rem;padding:0}.shop-item-recipes li{font-size:.8125rem;opacity:.85;position:relative;padding-left:.75rem;margin-bottom:.15rem}.shop-item-recipes li:before{content:"•";position:absolute;left:0;font-size:.65rem;vertical-align:middle}.shop-item-recipes li.shop-item-recipes-label:before{content:none}.shop-item-actions{display:flex;gap:.35rem;flex-shrink:0}.shop-item-btn{padding:.35rem .6rem;font-size:.875rem;border:var(--border-comic);border-radius:.35rem;background:var(--color-white);cursor:pointer}.shop-item-btn.danger{background:var(--color-comic-red, #ff1b12);color:var(--color-comic-white)}.shop-delete-confirm{width:100%;margin-top:.5rem;padding:.75rem;background:var(--color-bg-light, #f4f4f5);border-radius:.5rem}.shop-delete-confirm p{margin:0 0 .5rem}.shop-delete-confirm .auth-btn{margin-right:.5rem}.page-chores{padding:1rem;max-width:none}.chore-page-header{margin-bottom:1.25rem}.chore-page-hero{display:inline-block;padding:1rem 1.5rem;background:var(--color-white);box-shadow:var(--shadow-comic-lg);border-radius:1rem}.chore-page-hero .font-display{margin:0;font-size:clamp(1.5rem,4vw,2.25rem)}.chore-page-sub{margin:.25rem 0 0;font-size:1rem;opacity:.85}.page-chores{font-family:Bangers,cursive;letter-spacing:.08em}.chore-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem;margin-bottom:1rem}.chore-toolbar-buttons{display:flex;flex-wrap:nowrap;gap:.75rem;align-items:center}.chore-toolbar-buttons .auth-btn{width:auto;display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;box-sizing:border-box;border-radius:.5rem}.chore-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.chore-filter-label{display:inline-flex;align-items:center;gap:.5rem}.chore-filter-select{padding:.4rem .75rem;border:var(--border-comic);border-radius:.5rem;font-family:inherit;background:var(--color-comic-white, #fff)!important;color:var(--color-comic-black, #000)!important}.chore-loading,.chore-empty{padding:2rem;text-align:center}.chore-empty{max-width:28rem;margin:0 auto}.chore-empty p{margin-bottom:.5rem}.chore-empty .auth-btn{margin-top:1rem}.chore-panel{background:var(--color-comic-cyan, #00baff);border-radius:1rem;overflow:hidden;max-width:52rem;box-shadow:var(--shadow-comic-lg)}@media(min-width:64rem){.chore-panel{max-width:none;width:100%}.chore-row{flex-wrap:nowrap}}.chore-panel-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--color-black);color:var(--color-white);padding:.5rem 1.5rem;font-size:1.25rem;border-bottom:var(--border-comic)}.chore-panel-banner-title{margin:0;font-size:1.25rem;font-style:italic;text-transform:uppercase}.chore-panel-banner-sort{display:flex;align-items:center;gap:.5rem}.chore-panel-banner-sort-label{font-size:1.25rem;font-style:normal;text-transform:none;color:#fffc;margin:0}.chore-panel-banner-sort-select{padding:.35rem 2rem .35rem .6rem;border:2px solid var(--color-white);border-radius:.375rem;background:transparent;color:var(--color-white);font-family:inherit;font-size:1.25rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .35rem center;background-size:1rem}.chore-panel-banner-sort-select:focus{outline:none;box-shadow:0 0 0 2px #fff6}.chore-panel-inner{padding:1.5rem 2rem 2rem;background:var(--color-black);color:var(--color-white)}.chore-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.chore-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffffb3;color:var(--color-black);border:2px solid var(--color-black);border-radius:1rem;box-shadow:var(--shadow-comic);cursor:pointer;min-width:0;overflow:hidden}.chore-row:hover{background:#ffffffe6}.chore-row.chore-row--done .chore-title{text-decoration:line-through;opacity:.6}.chore-row-cb{width:1.75rem;height:1.75rem;flex-shrink:0;border:3px solid var(--color-comic-red, #ff1b12);background:var(--color-white, #fff);border-radius:.25rem;display:flex;align-items:center;justify-content:center}.chore-row.chore-row--done .chore-row-cb{border-color:var(--color-black);background:var(--color-comic-cyan, #00baff)}.chore-row-cb-check{font-size:1rem;font-weight:700}.chore-title{flex:0 1 auto;min-width:0;font-size:1.35rem;font-style:italic;text-transform:uppercase;font-weight:700}.chore-row-right{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.chore-row-assignees{display:flex;align-items:center;gap:.25rem}.chore-row-ava{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--color-black);background:var(--color-white);overflow:hidden;flex-shrink:0}.chore-row-recur-pill{padding:.25rem .6rem;border:var(--border-comic);font-size:.85rem;text-transform:uppercase;border-radius:9999px;background:var(--color-lime, #4dff00);color:var(--color-black)}.chore-row-due{font-size:1.05rem;font-weight:700;opacity:.9}.chore-row-due--overdue{color:var(--color-comic-red, #ff1b12)}.chore-row-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.chore-row-edit,.chore-row-delete{padding:.2rem;border:none;background:none;cursor:pointer;color:#0006}.chore-row-edit:hover,.chore-row-delete:hover{color:var(--color-black)}.chore-row-edit .material-symbols-outlined,.chore-row-delete .material-symbols-outlined{font-size:1.5rem}.chore-row-assignee-wrap{display:inline-flex;align-items:center;gap:.1rem}.chore-row-unassign{padding:0;border:none;background:none;cursor:pointer;color:#00000080;display:flex;align-items:center;justify-content:center}.chore-row-unassign:hover{color:var(--color-black)}.chore-row-unassign .material-symbols-outlined{font-size:1rem}.chore-row-assign-select{padding:.35rem .6rem;font-size:1rem;border:var(--border-comic);border-radius:.35rem;background:var(--color-white);cursor:pointer;max-width:100%;min-width:0}.chore-list-add-wrap{list-style:none;margin:0;padding:0}.chore-add-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:2px dashed var(--color-black);border-radius:1rem;background:#ffffff80;font-size:1.125rem;text-transform:uppercase;cursor:pointer}.chore-add-cta:hover{background:#ffffffe6}.chore-add-cta .material-symbols-outlined{font-size:1.5rem}.chore-link-scoreboard{text-decoration:none}.chore-row .chore-delete-confirm{flex-basis:100%}.chore-delete-confirm{width:100%;margin-top:.5rem;padding:.75rem;background:var(--color-bg-light, #f4f4f5);border-radius:.5rem}.chore-delete-confirm p{margin:0 0 .5rem}.chore-delete-confirm .auth-btn{margin-right:.5rem}.chore-form .modal-strip.chore-strip{background:var(--color-comic-cyan, #00baff);color:var(--color-black)}.chore-form .form-field input,.chore-form .form-field select,.chore-form .form-field textarea{background:var(--color-comic-white, #fff)!important;color:var(--color-comic-black, #000)!important}.chore-form .form-field select{appearance:auto}.chore-form .form-row{display:flex;gap:1rem}.chore-form .form-row .form-field{flex:1}.chore-form .form-field--assignee .chore-assignee-dropdown{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.chore-form .form-field--assignee .checkbox-wrap{display:inline-flex;align-items:center;gap:.35rem}.chore-split-confirm-overlay{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center}.chore-split-confirm{padding:1.5rem;max-width:24rem}.chore-split-confirm-text{margin:0 0 1rem;font-size:1rem}.chore-split-confirm .modal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.page-scoreboard{padding:1rem;max-width:none}.scoreboard-header{margin-bottom:1rem}.scoreboard-hero{padding:1rem 1.5rem;background:var(--color-white)}.scoreboard-sub{margin:.35rem 0 0;font-size:.9rem;opacity:.9}.scoreboard-loading,.scoreboard-empty{padding:2rem;text-align:center}.scoreboard-empty p{margin:0 0 .5rem}.scoreboard-empty .auth-btn{margin-top:1rem}.scoreboard-panel{background:var(--color-white);overflow:hidden}.scoreboard-panel-banner{padding:.5rem 1rem;background:var(--color-black);color:var(--color-white);font-size:1.125rem}.scoreboard-list{list-style:none;margin:0;padding:0}.scoreboard-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:2px solid var(--color-black)}.scoreboard-row:last-child{border-bottom:none}.scoreboard-rank{font-family:var(--font-display);font-size:1.125rem;font-weight:700;min-width:1.5rem}.scoreboard-rank.rank-1{color:#d4af37}.scoreboard-rank.rank-2{color:silver}.scoreboard-rank.rank-3{color:#cd7f32}.scoreboard-name{flex:1;font-weight:500}.scoreboard-points{font-weight:600}.page-devices{padding:1rem;max-width:none;color:var(--color-comic-black)}.page-devices .devices-hero .font-display,.page-devices .devices-sub,.page-devices .pairing-inner,.page-devices .pairing-inner label,.page-devices .pairing-inner .auth-links a{color:var(--color-comic-black)}.page-devices .auth-form input,.page-devices .form-field input{color:var(--color-comic-black);background:var(--color-comic-white)}.devices-header{margin-bottom:1rem}.devices-hero{padding:1rem 1.5rem;background:var(--color-comic-white);color:var(--color-comic-black)}.devices-sub{margin:.35rem 0 0;font-size:.9rem;opacity:.9}.pairing-section{background:var(--color-lime, #b8e986);overflow:hidden;margin-bottom:1.5rem}.pairing-banner{padding:.5rem 1rem;background:var(--color-comic-black);color:var(--color-comic-white);font-size:1.125rem}.pairing-inner{padding:1.5rem;color:var(--color-comic-black)}.pairing-instructions{font-size:1rem;margin:0 0 1rem}.pairing-code-block{margin-bottom:.75rem}.pairing-code{display:inline-block;font-size:2.5rem;letter-spacing:.2em;padding:.75rem 1rem;border:4px solid var(--color-black);background:var(--color-white);box-shadow:var(--shadow-comic)}.pairing-expiry{font-size:.95rem;margin:0 0 1rem;opacity:.9}.pairing-expiry .countdown{font-weight:700}.pairing-actions{display:flex;gap:.75rem;flex-wrap:wrap}.pairing-actions .auth-btn{margin-right:0}.pairing-toggle{margin-bottom:1.5rem}.devices-section{background:var(--color-white);overflow:hidden}.devices-section-banner{padding:.5rem 1rem;background:var(--color-black);color:var(--color-white);font-size:1.125rem}.devices-section-inner{padding:1rem 1.25rem}.devices-loading,.devices-empty{padding:1.5rem;text-align:center}.devices-empty p{margin:0 0 .5rem}.device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.device-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--color-bg-light, #f4f4f5);border:2px solid var(--color-black);border-radius:1rem;box-shadow:var(--shadow-comic)}.device-icon{width:3rem;height:3rem;border-radius:.5rem;border:2px solid var(--color-black);background:var(--color-white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.device-icon .material-symbols-outlined{font-size:1.75rem}.device-info{flex-grow:1;min-width:10rem}.device-name{font-size:1.25rem;font-style:italic;text-transform:uppercase;margin:0 0 .25rem}.device-status{font-size:.9rem;opacity:.85;margin:0}.device-btn-unpair{padding:.35rem .75rem;font-size:.875rem;text-transform:uppercase;border:2px solid var(--color-black);border-radius:9999px;background:var(--color-white);color:var(--color-red, #e11d48);cursor:pointer;flex-shrink:0}.device-btn-unpair:hover{background:#e11d481a}.device-row-actions{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.device-btn-revoke{padding:.35rem .75rem;font-size:.875rem;text-transform:uppercase;border:2px solid var(--color-black);border-radius:9999px;background:var(--color-white);color:var(--color-orange, #ea580c);cursor:pointer}.device-btn-revoke:hover{background:#ea580c1a}.device-btn-rename{padding:.35rem .75rem;font-size:.875rem;text-transform:uppercase;border:2px solid var(--color-black);border-radius:9999px;background:var(--color-white);color:var(--color-black);cursor:pointer}.device-btn-rename:hover{background:#0000000f}.device-rename-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.device-rename-inline .device-rename-input{flex:1;min-width:10rem;padding:.35rem .5rem;font-size:1rem}.device-token-revoked{font-weight:600;color:var(--color-orange, #ea580c)}.device-revoke-confirm{width:100%;padding:.75rem;margin-top:.5rem;border-radius:.5rem}.device-revoke-confirm p{margin:0 0 .5rem}.device-revoke-confirm .auth-btn{margin-right:.5rem}.device-unpair-confirm{width:100%;padding:.75rem;margin-top:.5rem;border-radius:.5rem}.device-unpair-confirm p{margin:0 0 .5rem}.device-unpair-confirm .auth-btn{margin-right:.5rem}.cal-event-form .modal-strip.cal-strip{background:var(--color-comic-cyan, #00baff);font-size:1.5rem}.cal-event-form .form-field label,.cal-event-form .form-field input,.cal-event-form .form-field select,.cal-event-form .form-field textarea,.cal-event-form .form-hint,.cal-event-form .form-error,.cal-event-form .modal-actions .auth-btn,.cal-event-form .assignee-dropdown,.cal-event-form .assignee-dropdown span{font-family:Bangers,cursive}.cal-event-form .form-field input,.cal-event-form .form-field select,.cal-event-form .form-field textarea{letter-spacing:.05em}.cal-event-form .form-field select{height:2.75rem;min-height:2.75rem;padding:.75rem 1rem;box-sizing:border-box;appearance:none;-webkit-appearance:none;border:var(--border-comic);background:var(--color-comic-white)}.cal-event-form .form-field select:focus{outline:none;box-shadow:0 0 0 4px var(--color-comic-cyan)}.cal-event-form .form-row--category-repeat .form-field label{height:1.5em;min-height:1.5em;display:block;margin-top:0;padding-top:0}.cal-event-form .form-row--category-repeat .form-field:first-child label{margin-top:0!important}.cal-event-form .form-row--category-repeat .cal-event-form-control-wrap{height:56px;overflow:hidden}.cal-event-form .form-row--category-repeat .cal-event-form-control-wrap input,.cal-event-form .form-row--category-repeat .cal-event-form-control-wrap select{height:100%;min-height:100%;padding:.75rem 1rem;box-sizing:border-box;margin-top:0!important}.cal-event-form .form-row--date-time .form-field label{height:1.5em;min-height:1.5em;display:block}.cal-event-form .form-row--date-time .cal-event-form-control-wrap input{height:100%;min-height:100%;padding:.75rem 1rem;box-sizing:border-box}.cal-event-form .form-row--date-time{display:flex;gap:.75rem;margin-bottom:.75rem}.cal-event-form .form-row--date-time .form-field{flex:1;min-width:0}.cal-event-form .form-row--category-repeat{display:flex;gap:.75rem}.cal-event-form .form-row--category-repeat .form-field{flex:1;min-width:0}.cal-event-form .modal-body{padding:.75rem 0}.cal-event-form .form-field{margin-bottom:.6rem}.cal-event-form .form-field:last-of-type{margin-bottom:0}.cal-event-form .modal-actions{margin-top:.75rem}.cal-event-form .form-field--assignee{position:relative}.cal-event-form .assignee-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:var(--border-comic);background:var(--color-comic-white);font-family:Bangers,cursive;font-size:1rem;letter-spacing:.05em;cursor:pointer;text-align:left}.cal-event-form .assignee-trigger:hover{background:#f4f4f5}.cal-event-form .assignee-trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-event-form .assignee-trigger-chevron{flex-shrink:0;margin-left:.5rem;font-size:.7rem;opacity:.8}.cal-event-form .assignee-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:.5rem;background:var(--color-comic-white);border:var(--border-comic);border-radius:.35rem;box-shadow:var(--shadow-comic-lg);z-index:10;max-height:12rem;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.cal-event-form .assignee-dropdown .checkbox-wrap{padding:.25rem 0}.cal-event-form .form-field textarea{min-height:2.25rem;resize:vertical;border:var(--border-comic);background:var(--color-comic-white);padding:.75rem 1rem}.cal-event-form .form-field textarea:focus{outline:none;box-shadow:0 0 0 4px var(--color-comic-cyan)}@media(max-width:32rem){.cal-event-form .form-row--date-time,.cal-event-form .form-row--category-repeat{flex-direction:column}}.shop-item-form .modal-strip.shop-strip{background:var(--color-comic-orange, #ff6d00);color:var(--color-black)}.shop-item-form .form-field input,.shop-item-form .form-field select,.shop-item-form .form-field textarea{background:var(--color-comic-white, #fff);color:var(--color-comic-black, #000)}.shop-item-form .form-field select{appearance:auto;cursor:pointer;border:var(--border-comic)}.shop-item-form .form-row{display:flex;gap:1rem}.shop-item-form .form-row .form-field{flex:1}.cal-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;overflow-x:auto;min-height:400px;-webkit-overflow-scrolling:touch}.cal-week-grid--hourly{grid-template-columns:auto repeat(7,1fr);grid-auto-rows:minmax(2.5rem,auto);gap:0;min-height:auto;overflow:visible}.cal-week-header-row{display:contents}.cal-week-header-row .cal-day-header{border-bottom:var(--border-comic)}.cal-week-time-col{padding:.25rem .5rem;font-size:.75rem;color:var(--color-muted, #6b7280);background:var(--color-bg-subtle, #f4f4f5);border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb}.cal-week-header-row .cal-week-time-col{border-right:var(--border-comic)}.cal-week-hour-row{display:contents}.cal-week-cell{padding:.25rem .5rem;min-height:2.5rem;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;background:#fffef7}.cal-week-cell:hover{background:#00baff0d}.cal-week-cell.alt{background:var(--color-bg-light, #f4f4f5)}.cal-week-cell.alt:hover{background:#00baff14}.cal-week-cell.weekend{background:#ffed0026}.cal-week-cell.weekend:hover{background:#ffed0040}.cal-week-cell.today{border-left:3px solid var(--color-comic-red, #ff1b12)}.cal-week-hour-row .cal-week-time-col{position:sticky;left:0;z-index:1;background:var(--color-bg-subtle, #f4f4f5)}@media(max-width:767px){.cal-week-grid{grid-template-columns:repeat(7,minmax(140px,1fr));gap:.5rem}.cal-week-grid--hourly{grid-template-columns:auto repeat(7,minmax(100px,1fr))}}.cal-day-column{min-width:140px;display:flex;flex-direction:column}.cal-day-column.alt{background:var(--color-bg-light, #f4f4f5)}.cal-day-column.weekend{background:#ffed0026}.cal-day-column.today{border-left-width:6px}.cal-day-header{padding:.5rem;background:var(--color-comic-primary);border-bottom:var(--border-comic);text-align:center}.cal-day-header.highlight{background:var(--color-comic-red, #ff1b12);color:var(--color-comic-white)}.cal-day-header.weekend{background:var(--color-comic-orange, #ff6d00);color:var(--color-black)}.cal-day-num{display:block;font-size:.8rem;opacity:.9}.cal-day-regions{flex:1;display:flex;flex-direction:column;min-height:120px}.region{flex:1;padding:.5rem;min-height:2.5rem;border-bottom:1px solid #e5e7eb}.region:hover{background:#00baff0d}.region-morning{background:#fffef7}.region-afternoon{background:#f7faff}.region-evening{background:#f7f7ff}.event-chip{background:var(--color-lime, #4dff00);border:var(--border-comic);padding:.25rem .5rem;margin-bottom:.25rem;font-size:.875rem;cursor:pointer;text-align:left}.event-chip--lime{background:var(--color-lime, #4dff00);color:var(--color-black)}.event-chip--cyan{background:var(--color-cyan, #00baff);color:var(--color-black)}.event-chip--magenta{background:var(--color-magenta, #e9117a);color:#fff}.event-chip--orange{background:var(--color-orange, #ff6d00);color:var(--color-black)}.event-chip--red{background:var(--color-red, #ff1b12);color:#fff}.event-chip--electric-blue{background:#7df9ff;color:var(--color-black)}.event-chip--google{background:#e8f0fe;color:#1967d2;border-left:3px solid #1967d2}.event-chip--no-assignee{background:#fff;color:#000;border:var(--border-comic)}.event-chip-google-icon{font-size:.75em;margin-right:.2rem;vertical-align:middle}.event-chip:hover{filter:brightness(.95)}.event-chip.is-dragging{opacity:.8;box-shadow:4px 4px #000}.event-chip.compact{font-size:.7rem;padding:.1rem .3rem}.event-chip-assignee{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(0,0,0,.3);flex-shrink:0}.event-chip-assignee--single{margin-right:.35rem}.event-chip-assignees{display:inline-flex;gap:.2rem;margin-right:.35rem;align-items:center}.event-chip-assignee--multi{border-width:1px}.event-chip-assignee-avatar.member-avatar{border:none;background:transparent!important}.event-chip-assignee-avatar .member-avatar-img{border-radius:50%}.color-swatches{display:flex;flex-wrap:wrap;gap:.35rem}.color-swatch-wrap{margin:0;cursor:pointer}.color-swatch-input{position:absolute;opacity:0;width:0;height:0}.color-swatch{display:block;width:1.75rem;height:1.75rem;border:3px solid black;border-radius:.35rem;box-shadow:2px 2px #0003}.color-swatch-wrap:has(.color-swatch-input:checked) .color-swatch{box-shadow:0 0 0 3px var(--color-cyan, #00baff)}.color-swatch-wrap:hover .color-swatch{filter:brightness(1.1)}.event-title{font-family:Bangers,cursive;font-size:1.125rem;text-transform:uppercase;font-style:italic}.event-time{display:block;font-size:.8125rem;font-family:Permanent Marker,cursive;line-height:1.35;opacity:.9}.cal-day-view{padding:1rem}.cal-day-slots{display:flex;flex-direction:column}.cal-slot{display:flex;gap:1rem;padding:.25rem 0;border-bottom:1px solid #e5e7eb;min-height:2.5rem}.cal-slot:hover{background:#00baff0d}.cal-slot--drop-over,.region--drop-over{background:#00baff26;outline:2px dashed var(--color-cyan, #00baff)}.cal-slot-label{width:5.5rem;flex-shrink:0;font-size:2rem;line-height:1;font-family:Bangers,cursive;letter-spacing:.02em;color:var(--color-comic-black)}.cal-slot-events{flex:1}.cal-slot--empty{border-bottom-style:dashed;background:#f4f4f5;min-height:3.5rem;align-items:center}.cal-slot--empty:hover{background:#e8e8ea}.cal-slot-empty-hint{font-size:1rem;text-transform:uppercase;font-style:italic;letter-spacing:.05em;opacity:.5}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:.5rem}.cal-month-header{padding:.5rem;text-align:center;font-size:.9rem}.cal-month-cell{min-height:5rem;padding:.25rem;border:1px solid #e5e7eb;background:var(--color-comic-white);cursor:default}.cal-month-cell.other-month{background:#f9fafb;color:#9ca3af}.cal-month-num{font-size:.8rem;font-weight:700}.cal-month-events{margin-top:.25rem}.cal-month-more{font-size:.7rem;opacity:.8}@media(max-width:767px){.page-calendar{padding:.75rem .75rem 6rem}.cal-page-header{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.cal-page-header .cal-tabs{padding:.5rem .75rem}.cal-header-actions{width:100%;justify-content:flex-end}.cal-tabs{flex:.25 1 auto;min-width:min-content}.cal-tab{padding:.5rem;font-size:.9rem;flex-shrink:0}.cal-nav{gap:.25rem}.btn-nav{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}.btn-nav .btn-nav-arrow{font-size:1.35rem}.btn-nav .arrow-icon{width:.5rem;height:.5rem}.btn-today{padding:.5rem .75rem;font-size:.85rem;min-height:2.25rem}.cal-date-label{min-width:auto;font-size:.85rem}.btn-add-event{padding:.5rem 1rem;font-size:.9rem;min-height:2.25rem}.squad-selector{display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem}.squad-label{font-size:.6rem;padding-right:.2rem}.squad-dot{width:2rem;height:2rem;min-width:2rem;min-height:2rem;border-width:2px;font-size:.7rem}.cal-day-column{min-width:140px}.cal-day-header{padding:.4rem .5rem;font-size:1rem}.cal-day-num{font-size:.75rem}.cal-day-regions{min-height:100px}.region{padding:.35rem;min-height:2rem}.event-chip{padding:.35rem .5rem;min-height:2.25rem;font-size:.8rem}.event-chip.compact{font-size:.65rem;padding:.15rem .3rem;min-height:1.75rem}.cal-day-view{padding:.75rem}.cal-slot{min-height:2.75rem;padding:.35rem 0}.cal-slot-label{width:4rem;font-size:1.25rem}.cal-month-grid{padding:.35rem}.cal-month-header{padding:.35rem;font-size:.75rem}.cal-month-cell{min-height:4rem;padding:.2rem}.cal-month-num{font-size:.7rem}.cal-loading,.cal-empty{padding:1.5rem 1rem}.cal-empty p{font-size:.95rem}.modal-content{margin:1rem;padding:1.25rem;max-width:none;width:calc(100% - 2rem)}.modal-strip{padding:.6rem 1rem;font-size:.9rem}.modal-body{padding:1rem 0}.modal-actions{flex-wrap:wrap;gap:.75rem}.modal-actions .auth-btn{min-height:2.5rem;flex:1;min-width:7rem}}.page-meals,.meal-plan-page{padding:1rem;max-width:none;font-family:Bangers,cursive;letter-spacing:.02em}.page-meals .meal-cell-name,.page-meals .meal-cell-entry-name,.page-meals .meal-cell-entry .meal-cell-entry-name,.page-meals .meal-loading,.page-meals .meal-empty,.page-meals .meal-week-label,.page-meals .meal-grid-banner,.page-meals .meal-day-label,.page-meals .meal-type-label,.page-meals .meal-add-btn{font-family:Bangers,cursive}.meal-grid-banner{background:var(--color-magenta, #e9117a);color:var(--color-white, #fff);padding:.5rem 1.5rem;font-family:var(--font-display, inherit);font-size:1.125rem;text-transform:uppercase;border-bottom:var(--border-comic)}.btn-meal-nav,.btn-meal-prev,.btn-meal-next{width:2.5rem;height:2.5rem;border:var(--border-comic);border-radius:50%;background:var(--color-white, #fff);box-shadow:var(--shadow-comic);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.btn-this-week{padding:.6rem 1rem;border:var(--border-comic);border-radius:9999px;font-family:var(--font-display, inherit);font-size:.9rem;text-transform:uppercase;background:var(--color-white, #fff);cursor:pointer;box-shadow:var(--shadow-comic)}.meal-loading,.meal-empty{padding:2rem 1rem;text-align:center;font-family:var(--font-comic, inherit)}.meal-add-btn{background:none;border:none;cursor:pointer;font-family:var(--font-display, inherit);font-size:1rem;text-transform:uppercase;opacity:.6}.meal-add-btn:hover{opacity:1}.meal-page-header{margin-bottom:1rem}.meal-page-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;row-gap:.5rem}.meal-page-title{font-family:Bangers,cursive;font-size:clamp(1.35rem,3.5vw,2rem);text-transform:uppercase;margin:0;letter-spacing:.02em}.meal-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.meal-week-nav{display:flex;align-items:center;gap:.5rem}.meal-week-label{font-family:var(--font-display, inherit);font-size:1.25rem;text-transform:uppercase;min-width:12rem;text-align:center}.btn-meal-prev,.btn-meal-next{width:2.5rem;height:2.5rem;border:3px solid var(--color-black, #000);border-radius:50%;background:var(--color-white, #fff);box-shadow:2px 2px 0 0 var(--color-black, #000);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-meal-prev .arrow-icon,.btn-meal-next .arrow-icon{display:block;width:.6rem;height:.6rem;border-top:3px solid var(--color-black, #000);border-right:3px solid var(--color-black, #000)}.btn-meal-prev .arrow-icon{transform:rotate(-135deg);margin-left:.15rem}.btn-meal-next .arrow-icon{transform:rotate(45deg);margin-right:.15rem}.btn-add-meal,.btn-recipe-book{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border:3px solid var(--color-black, #000);border-radius:9999px;font-family:var(--font-display, inherit);font-size:1rem;text-transform:uppercase;box-shadow:2px 2px 0 0 var(--color-black, #000);text-decoration:none;color:inherit;cursor:pointer;background:var(--color-primary, #ffeb3b)}.btn-recipe-book{background:var(--color-white, #fff);color:var(--color-comic-black, #000)}.meal-grid-wrap{background:var(--color-white, #fff);border:3px solid var(--color-black, #000);border-radius:1rem;box-shadow:4px 4px 0 0 var(--color-black, #000);overflow:hidden}.meal-banner{background:var(--color-magenta, #e9117a);color:var(--color-white, #fff);padding:.5rem 1.5rem;font-family:var(--font-display, inherit);font-size:1rem;text-transform:uppercase;border-bottom:3px solid var(--color-black, #000)}.meal-grid{display:grid;grid-template-columns:6rem repeat(7,1fr);grid-template-rows:auto repeat(3,auto);gap:0}.meal-grid-corner,.meal-day-label,.meal-type-label{background:var(--color-black, #000);color:var(--color-white, #fff);padding:.5rem .35rem;font-family:var(--font-display, inherit);font-size:.875rem;text-transform:uppercase;text-align:center;border-right:2px solid rgba(255,255,255,.2);border-bottom:2px solid rgba(255,255,255,.2)}.meal-day-header{display:flex;flex-direction:column;gap:.35rem;align-items:center;justify-content:center}.meal-day-header .btn-day-cart{font-size:.7rem;padding:.2rem .4rem;white-space:nowrap;border:1px solid rgba(255,255,255,.5);border-radius:4px;background:var(--color-magenta, #e9117a);color:var(--color-white, #fff);cursor:pointer;font-family:var(--font-display, inherit);text-transform:uppercase}.meal-day-header .btn-day-cart:hover:not(:disabled){background:var(--color-white, #fff);color:var(--color-magenta, #e9117a)}.meal-day-header .btn-day-cart:disabled{opacity:.7;cursor:not-allowed}.meal-type-label{background:var(--color-comic-white, #fff);color:var(--color-black, #000);align-self:center}.meal-cell{min-height:0;padding:.5rem;border-right:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);display:flex;flex-direction:column;gap:.35rem;align-items:stretch}.meal-cell.empty{cursor:pointer;justify-content:center;align-items:center;border:2px dashed rgba(0,0,0,.25);min-height:2.5rem}.meal-cell.empty:hover,.meal-cell.filled:hover{background:#e9117a14}.meal-cell.filled{background:#e9117a1f;border:2px solid var(--color-black, #000);box-shadow:2px 2px 0 0 var(--color-black, #000);cursor:grab}.meal-cell-capsule{border:5px solid var(--color-comic-black, #000);border-radius:.5rem;padding:.5rem .75rem;background:var(--color-comic-magenta-light, #F04D96);display:flex;flex-direction:column;gap:.35rem}.meal-cell.filled.is-dragging{opacity:.7;cursor:grabbing}.meal-cell.drop-over{background:#e9117a33;border-color:var(--color-magenta, #e9117a)}.add-label{font-size:1rem;opacity:.6}.meal-cell-name{font-family:var(--font-hand, inherit);font-size:1rem;flex-grow:1}.meal-cell-actions{display:flex;flex-wrap:wrap;gap:.35rem}.btn-cell{padding:.2rem .5rem;font-size:.7rem;text-transform:uppercase;border:2px solid var(--color-black, #000);border-radius:9999px;background:var(--color-primary, #ffeb3b);color:var(--color-comic-black, #000);cursor:pointer;font-family:Bangers,cursive;text-decoration:none}.btn-cell.cart{background:var(--color-white, #fff);color:var(--color-comic-black, #000)}.btn-cell.btn-remove-entry{min-width:1.75rem;flex-shrink:0;padding:.2rem .4rem;font-size:1.1rem;line-height:1;background:var(--color-comic-red, #e53935);color:var(--color-comic-white, #fff);border-color:var(--color-comic-black, #000)}.btn-cell.btn-remove-entry:hover{filter:brightness(1.1)}.meal-cell-entries{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.meal-cell-entry{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .35rem;background:#fffc;border:1px solid var(--color-black, #000);border-radius:.35rem;font-size:.8rem}.meal-cell-entry-name{font-family:var(--font-hand, inherit)}.meal-cell-empty{display:flex;flex-direction:column;gap:.35rem;align-items:stretch;justify-content:center;cursor:pointer;min-height:100%}.meal-cell-empty-search-wrap{flex-shrink:0}.meal-cell-empty-search-wrap *{pointer-events:auto}.meal-cell-empty-hint{font-size:.9rem;opacity:.8}.meal-entry-search{position:relative}.meal-entry-search-input{width:100%;padding:.25rem .5rem;font-size:.85rem;border:1px solid var(--color-black, #000);border-radius:.25rem}.meal-entry-search-spinner{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.75rem;opacity:.7}.meal-entry-search-results{position:absolute;left:0;right:0;top:100%;z-index:10;margin:0;padding:0;list-style:none;background:var(--color-white, #fff);border:2px solid var(--color-black, #000);border-radius:.25rem;box-shadow:4px 4px 0 0 var(--color-black, #000);max-height:12rem;overflow-y:auto}.meal-entry-search-result{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.08);font-size:.9rem}.meal-entry-search-result:last-child{border-bottom:none}.meal-entry-search-result:hover{background:var(--color-primary, #ffeb3b)}.meal-entry-search-result-name{flex:1;font-family:var(--font-hand, inherit)}.meal-entry-search-result-type{font-size:.75rem;text-transform:uppercase;opacity:.8;margin-left:.5rem}.confirm-new-item-modal .confirm-new-item-prompt,.new-recipe-flow-modal .new-recipe-flow-prompt{padding:1rem;margin:0}.confirm-new-item-actions,.new-recipe-flow-modal .form-actions{display:flex;gap:.5rem;padding:1rem;flex-wrap:wrap}.meal-no-recipe{font-size:.75rem;opacity:.7}.meal-loading,.meal-empty{padding:2rem 1rem;text-align:center}.meal-form-modal .meal-form-row,.meal-form-modal .form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.meal-form-modal .meal-form-row .form-field,.meal-form-modal .form-row .form-field{flex:1;min-width:10rem}.meal-form-modal .form-field select{width:100%;padding:.5rem 1rem;border:var(--border-comic);background:var(--color-comic-white);font-family:Bangers,cursive;font-size:1rem;letter-spacing:.05em;line-height:1.4;appearance:auto;cursor:pointer;min-height:3.25rem;height:auto;box-sizing:border-box}.meal-form-modal .form-field select:focus{outline:none;box-shadow:0 0 0 4px var(--color-comic-cyan)}.meal-form-modal .form-field input[type=date]{min-height:3.25rem;box-sizing:border-box}.meal-form-modal .form-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.meal-form-modal .form-actions .btn,.meal-form-modal .form-actions .auth-btn{padding:.75rem 1.5rem;font-family:Bangers,cursive;font-size:1.125rem;text-transform:uppercase;letter-spacing:.05em;border:var(--border-comic);border-radius:9999px;cursor:pointer;box-shadow:var(--shadow-comic);transition:transform .1s ease}.meal-form-modal .form-actions .btn:active:not(:disabled),.meal-form-modal .form-actions .auth-btn:active:not(:disabled){transform:translate(2px,2px)}.meal-form-modal .form-actions .btn-primary,.meal-form-modal .form-actions .auth-btn--primary{background:var(--color-comic-primary, #ffed00);color:var(--color-comic-black, #000)}.meal-form-modal .form-actions .btn-primary:hover:not(:disabled),.meal-form-modal .form-actions .auth-btn--primary:hover:not(:disabled){background:#ffe066}.meal-form-modal .form-actions .btn-secondary,.meal-form-modal .form-actions .auth-btn--secondary{background:var(--color-comic-white, #fff);color:var(--color-comic-black, #000)}.meal-form-modal .form-actions .btn-secondary:hover,.meal-form-modal .form-actions .auth-btn--secondary:hover{background:#f4f4f5}.meal-form-modal .recipe-picker{border:2px solid var(--color-black, #000);border-radius:.5rem;overflow:hidden}.meal-form-modal .recipe-search{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.1)}.meal-form-modal .recipe-search input{flex:1;border:none;font-size:1rem}.meal-form-modal .recipe-list{max-height:12rem;overflow-y:auto}.meal-form-modal .recipe-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid rgba(0,0,0,.08)}.meal-form-modal .btn-recipe-add{padding:.3rem .6rem;font-size:.8rem;text-transform:uppercase;border:2px solid var(--color-black, #000);border-radius:9999px;background:var(--color-primary, #ffeb3b);cursor:pointer}.meal-form-modal .btn-recipe-add.added{background:#e0e0e0;color:#666;cursor:default}.meal-form-modal .form-hint{font-size:.9rem;opacity:.85;margin-top:.35rem}.meal-form-ingredients,.meal-form-entries{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem}.meal-form-modal .form-field label{font-family:Permanent Marker,cursive;font-size:1.1rem}.meal-form-ingredient-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .6rem;border-radius:.35rem;border:var(--border-comic);background:var(--color-comic-white);font-family:Bangers,cursive;font-size:1rem;letter-spacing:.05em}.meal-form-ingredient-remove{padding:0 .2rem;border:none;background:transparent;cursor:pointer;font-size:1.1rem;line-height:1;color:#666}.meal-form-ingredient-remove:hover{color:#c00}.recipe-checkbox-list{display:flex;flex-direction:column;gap:.5rem;max-height:12rem;overflow-y:auto;padding:.5rem;border:var(--border-comic);border-radius:.5rem;background:#f4f4f5}.recipe-checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-comic, inherit)}.recipe-checkbox-item input{width:1rem;height:1rem}.mystery-meal-spinner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.btn-mystery-meal{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border:var(--border-comic);border-radius:9999px;font-family:var(--font-display, inherit);font-size:1rem;text-transform:uppercase;box-shadow:var(--shadow-comic);background:var(--color-cyan, #00d4ff);color:var(--color-black, #000);cursor:pointer}.btn-mystery-meal:hover:not(:disabled){background:#33c8ff}.btn-mystery-meal:disabled{opacity:.7;cursor:not-allowed}.mystery-icon{font-size:1.25rem;display:inline-block}.btn-mystery-meal.spinning .mystery-icon{animation:mystery-spin .5s linear infinite}@keyframes mystery-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mystery-reveal{padding:.75rem 1.25rem;background:var(--color-white, #fff);border-radius:.5rem;box-shadow:var(--shadow-comic)}.mystery-reveal-label{font-size:.9rem;margin:0 0 .25rem;opacity:.9}.mystery-reveal-name{font-size:1.25rem;font-style:italic;margin:0;text-transform:uppercase}.mystery-wheel-wrap{flex:1 1 100%;display:flex;justify-content:center;padding:1rem 0}.mystery-wheel-outer{position:relative;width:12rem;height:12rem;display:flex;align-items:center;justify-content:center}.mystery-wheel-outer-clip{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;contain:layout paint;border-radius:50%}.mystery-spinner-modal{max-width:36rem}.mystery-spinner-modal-body{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.mystery-wheel-wrap--modal{padding:1.5rem 0;width:100%;min-height:20rem;flex-shrink:0}.mystery-wheel-outer--modal{width:20rem;height:20rem;min-width:20rem;min-height:20rem;margin:0 auto}.mystery-wheel-inner{position:relative;width:100%;height:100%;border-radius:50%;border:8px solid var(--color-comic-black, #000);overflow:hidden;box-sizing:border-box;transform-origin:center center;flex-shrink:0}.mystery-wheel-inner--spinning{will-change:transform;backface-visibility:hidden}.mystery-wheel-pointer{position:absolute;top:-1.375em;left:50%;transform:translate(-50%);width:0;height:0;pointer-events:none;z-index:1}.mystery-wheel-pointer:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:0;height:0;border-left:.5em solid transparent;border-right:.5em solid transparent;border-top:2.5em solid var(--color-comic-black, #000)}.mystery-wheel-outer--modal .mystery-wheel-pointer{top:-1.7875em}.mystery-wheel-outer--modal .mystery-wheel-pointer:before{border-left-width:.65em;border-right-width:.65em;border-top-width:3.25em}.mystery-meal-choice{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0}.mystery-meal-choice-prompt{margin:0;font-size:1.1rem;text-transform:uppercase}.mystery-meal-choice-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.mystery-duck-shoot{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.mystery-duck-loading{padding:1.5rem;text-align:center}.mystery-duck-instructions{margin:0;font-size:.95rem;text-transform:uppercase}.mystery-duck-style-picker{display:flex;align-items:center;gap:.5rem}.mystery-duck-style-label{font-size:.85rem;text-transform:uppercase}.mystery-duck-style-select{padding:.25rem .5rem;border:var(--border-comic);border-radius:.25rem;font-family:var(--font-display, inherit);font-size:.85rem;background:var(--color-white, #fff);color:var(--color-black, #000)}.mystery-duck-arena{position:relative;width:100%;max-width:32rem;height:216px;overflow:hidden;border-radius:.5rem;background:linear-gradient(180deg,#87ceeb,#4fc3f7 40%,#29b6f6,#039be5);border:var(--border-comic);box-shadow:var(--shadow-comic)}.mystery-duck-waves{position:absolute;inset:0;pointer-events:none;z-index:0}.mystery-duck-wave{position:absolute;left:0;right:0;height:24px;background:repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(255,255,255,.25) 20px,rgba(255,255,255,.25) 40px);animation:mystery-duck-wave 3s ease-in-out infinite}.mystery-duck-wave--1{top:20%;opacity:.6}.mystery-duck-wave--2{top:50%;opacity:.5;animation-delay:-1s}.mystery-duck-wave--3{top:80%;opacity:.4;animation-delay:-2s}@keyframes mystery-duck-wave{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.mystery-duck-rows{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column}.mystery-duck-row{position:relative;width:100%;flex-shrink:0;overflow:hidden}.mystery-duck{position:absolute;top:50%;transform:translateY(-50%);padding:0;border:3px solid;border-radius:50% 50% 45% 45%;cursor:crosshair;transition:transform .15s ease-out;box-shadow:0 2px 4px #0003;display:flex;align-items:center;justify-content:center}.mystery-duck:hover:not(:disabled){transform:translateY(-50%) scale(1.05)}.mystery-duck:disabled{cursor:default}.mystery-duck--hit{animation:mystery-duck-fall .4s ease-out forwards;pointer-events:none}@keyframes mystery-duck-fall{to{transform:translateY(-50%) rotate(-85deg) scale(.9);opacity:.7}}.mystery-duck-body{width:60%;height:70%;border-radius:50%;background:#00000026}.mystery-duck-head{position:absolute;top:-8px;right:-4px;width:14px;height:14px;border-radius:50%;background:#0003}.mystery-duck-beak{display:none}.mystery-duck--rounded .mystery-duck-body{width:60%;height:70%;border-radius:50%;background:#00000026}.mystery-duck--rounded .mystery-duck-head{top:-8px;right:-4px;width:14px;height:14px;border-radius:50%}.mystery-duck--classic{border-radius:50% 45% 45% 50%}.mystery-duck--classic .mystery-duck-body{width:55%;height:65%;border-radius:50%;background:#ffffff59;margin-left:-5%}.mystery-duck--classic .mystery-duck-head{top:-10px;right:-6px;width:18px;height:18px;border-radius:50%;background:#fff6;box-shadow:0 0 0 2px #00000026}.mystery-duck--classic .mystery-duck-beak{display:block;position:absolute;top:50%;right:-6px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:10px solid #f39c12;transform:translateY(-50%)}.mystery-duck--silhouette{border:none;border-radius:0;box-shadow:none}.mystery-duck--silhouette .mystery-duck-body{width:70%;height:55%;margin-left:-15%;border-radius:50% 40% 40% 50%;background:#00000040}.mystery-duck--silhouette .mystery-duck-head{top:-6px;right:-2px;width:20px;height:20px;border-radius:50%;background:#0000004d}.mystery-duck--silhouette .mystery-duck-beak{display:block;position:absolute;top:45%;right:-8px;width:12px;height:4px;background:#0006;border-radius:0 2px 2px 0}.mystery-duck--pixel{border-radius:4px;border-width:2px;image-rendering:pixelated}.mystery-duck--pixel .mystery-duck-body{width:55%;height:60%;border-radius:4px;background:#0003}.mystery-duck--pixel .mystery-duck-head{top:-6px;right:2px;width:16px;height:16px;border-radius:4px;background:#00000040}.mystery-duck--pixel .mystery-duck-beak{display:none}.mystery-duck--image{background:transparent!important;border:none!important;padding:0}.mystery-duck--image .mystery-duck-body,.mystery-duck--image .mystery-duck-head,.mystery-duck--image .mystery-duck-beak{display:none}.mystery-duck-img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.mystery-duck-image-hint{margin:0;font-size:.8rem;text-transform:uppercase;opacity:.85}.breadcrumb{margin-bottom:1rem}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0;font-size:.9rem;font-family:Bangers,cursive}.breadcrumb-item{display:flex;align-items:center;gap:.25rem}.breadcrumb-link{color:var(--color-comic-cyan, #00baff);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{font-weight:600;color:var(--color-comic-cyan, #00baff)}.breadcrumb-text{color:var(--color-comic-cyan, #00baff)}.breadcrumb-sep{display:inline-flex;color:var(--color-comic-cyan, #00baff);opacity:.7}.breadcrumb-sep .material-symbols-outlined{font-size:1rem}.page-settings{padding:.5rem 0;color:var(--color-comic-black)}.settings-header{margin-bottom:2rem}.settings-hero{background:var(--color-comic-white);border:var(--border-comic);padding:1rem 1.5rem;border-radius:var(--radius-xl, 1rem);box-shadow:var(--shadow-comic-lg);display:inline-block}.settings-hero-title{font-family:var(--font-display, "Bangers", cursive);font-size:clamp(1.75rem,4vw,2.75rem);font-style:italic;text-transform:uppercase;margin:0;color:var(--color-comic-black)}.settings-hero-sub{font-family:var(--font-family-base);font-size:1rem;opacity:.85;margin:.25rem 0 0;color:var(--color-comic-black)}.settings-section{max-width:48rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem}.settings-card{display:block;background:var(--color-comic-white);border:var(--border-comic);border-radius:var(--radius-xl, 1rem);padding:1.5rem;box-shadow:var(--shadow-comic);text-decoration:none;color:var(--color-comic-black);transition:transform .15s ease,box-shadow .15s ease}.settings-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.settings-card-icon-wrap{width:3.5rem;height:3.5rem;border-radius:var(--radius-xl, 1rem);border:var(--border-comic);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.settings-card-icon-wrap .material-symbols-outlined{font-size:2rem}.settings-card.household .settings-card-icon-wrap{background:var(--color-comic-cyan)}.settings-card.devices .settings-card-icon-wrap{background:var(--color-comic-lime)}.settings-card.subscriptions .settings-card-icon-wrap{background:var(--color-comic-orange)}.settings-card.calendar .settings-card-icon-wrap,.settings-card.integrations .settings-card-icon-wrap{background:var(--color-comic-magenta)}.settings-card.account .settings-card-icon-wrap{background:var(--color-comic-primary)}.settings-card-title{font-family:var(--font-display, "Bangers", cursive);font-size:1.25rem;font-style:italic;text-transform:uppercase;margin:0 0 .35rem;color:var(--color-comic-black)}.settings-card-desc{font-family:var(--font-family-base);font-size:.95rem;opacity:.85;margin:0;color:var(--color-comic-black)}.settings-card.coming-soon{opacity:.75;cursor:default;pointer-events:none}.settings-card.coming-soon:hover{transform:none;box-shadow:var(--shadow-comic)}.settings-card-badge{display:inline-block;margin-top:.5rem;padding:.2rem .5rem;background:#e0e0e0;border:var(--border-comic);font-family:var(--font-display, "Bangers", cursive);font-size:.75rem;text-transform:uppercase;border-radius:var(--radius-full, 9999px)}.calendar-premium-required{margin-bottom:1.25rem;padding:1.25rem;background:var(--color-comic-white);border:var(--border-comic);border-radius:var(--radius-xl, 1rem);box-shadow:var(--shadow-comic);border-left:4px solid var(--color-comic-orange)}.calendar-premium-message{margin:0 0 .75rem;font-family:var(--font-family-base);font-size:.95rem;opacity:.9;color:var(--color-comic-black)}.calendar-premium-upgrade-link{display:inline-block;font-family:var(--font-display, "Bangers", cursive);font-size:1.1rem;font-style:italic;text-transform:uppercase;font-weight:600;color:var(--color-comic-primary);text-decoration:underline;letter-spacing:.02em}.calendar-premium-upgrade-link:hover{text-decoration:none;opacity:.9}.calendar-connection-buttons{display:flex;flex-wrap:wrap;gap:1rem}.calendar-connection-buttons .settings-card{flex:1 1 14rem;min-width:14rem}.settings-card.connect-btn{cursor:pointer;font:inherit;text-align:left}.settings-card.connect-btn:disabled{opacity:.8;cursor:not-allowed}.settings-card.disconnect-btn{cursor:pointer;font:inherit;text-align:left}.settings-card.disconnect-btn .settings-card-icon-wrap{background:var(--color-comic-orange)}.settings-card.disconnect-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.settings-card.disconnect-btn:disabled{opacity:.8;cursor:not-allowed}.settings-card.load-calendars-btn{width:100%;cursor:pointer;font:inherit;text-align:left;margin-top:.5rem}.settings-card.load-calendars-btn .settings-card-icon-wrap{background:var(--color-comic-cyan)}.settings-card.load-calendars-btn:hover{transform:translateY(-2px)}.settings-card.load-calendars-btn:disabled{opacity:.8;cursor:not-allowed}.settings-card.save-sync-btn{width:100%;cursor:pointer;font:inherit;text-align:left;margin-top:.5rem}.settings-card.save-sync-btn .settings-card-icon-wrap{background:var(--color-comic-lime)}.settings-card.save-sync-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.settings-card.save-sync-btn:disabled{opacity:.8;cursor:not-allowed}.settings-card.refresh-calendars-btn{width:100%;cursor:pointer;font:inherit;text-align:left;margin-top:.5rem}.settings-card.refresh-calendars-btn .settings-card-icon-wrap{background:var(--color-comic-cyan)}.page-subscriptions .subscriptions-current{margin:0 0 1.5rem;font-size:1rem}.page-subscriptions .subscriptions-period-end{font-weight:400;opacity:.9;font-size:.95em}.page-subscriptions .subscriptions-expired-banner,.subscription-expired-banner{margin:1rem 0 1.25rem;padding:1rem 1.25rem;background:var(--color-comic-white);border:var(--border-comic);border-radius:var(--radius-xl, 1rem);box-shadow:var(--shadow-comic);border-left:4px solid var(--color-comic-red, #c00)}.page-subscriptions .subscriptions-expired-message,.subscription-expired-banner .settings-card-desc{margin:0 0 .75rem;font-size:.95rem;opacity:.9}.page-subscriptions .subscriptions-expired-link,.subscription-expired-banner .subscriptions-expired-link{display:inline-block;font-family:var(--font-display, "Bangers", cursive);font-size:1.1rem;font-style:italic;text-transform:uppercase;font-weight:600;color:var(--color-comic-primary);text-decoration:underline;letter-spacing:.02em}.page-subscriptions .subscriptions-expired-link:hover,.subscription-expired-banner .subscriptions-expired-link:hover{text-decoration:none;opacity:.9}.page-subscriptions .subscriptions-manage-wrap{margin-top:1rem;margin-bottom:2rem;margin-left:1.25rem}.page-subscriptions .subscriptions-manage-btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font:inherit;padding:.75rem 1.25rem;border-left:4px solid var(--color-comic-primary)}.page-subscriptions .subscriptions-manage-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.page-subscriptions .subscriptions-manage-btn:disabled{opacity:.85;cursor:not-allowed}.subscriptions-renewal-soon-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1.5rem;padding:1rem 1.25rem;background:var(--color-comic-white);border:var(--border-comic);border-radius:var(--radius-xl, 1rem);box-shadow:var(--shadow-comic);border-left:4px solid var(--color-comic-orange)}.subscriptions-renewal-soon-banner .material-symbols-outlined{flex-shrink:0;font-size:1.5rem}.subscriptions-renewal-soon-banner__btn{margin-left:auto;padding:.5rem 1rem;font-size:.9rem;border:2px solid var(--color-comic-black);border-radius:var(--radius-md);background:var(--color-comic-primary);cursor:pointer;font:inherit}.subscriptions-renewal-soon-banner__btn:hover:not(:disabled){opacity:.9}.page-subscriptions .subscriptions-features-title{font-size:1.1rem;margin:0 0 1rem}.subscriptions-features-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.subscriptions-features-list li{display:flex;align-items:center;gap:.5rem}.subscriptions-features-list .material-symbols-outlined{flex-shrink:0;color:var(--color-comic-green, #38b000)}.subscriptions-features-list__premium .material-symbols-outlined{color:var(--color-comic-black)}.subscriptions-features-list__badge{margin-left:auto;font-size:.75rem;padding:.2rem .5rem;background:var(--color-comic-primary);border-radius:var(--radius-full)}.subscriptions-payment-method{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.subscriptions-payment-method__card{font-variant-numeric:tabular-nums}.subscriptions-manage-btn--small{padding:.5rem 1rem;font-size:.95rem}.subscriptions-inline-link{background:none;border:none;padding:0;font:inherit;color:var(--color-comic-primary);text-decoration:underline;cursor:pointer}.subscriptions-inline-link:hover{text-decoration:none}.subscriptions-invoices-wrap{overflow-x:auto;margin-top:.5rem}.subscriptions-invoices-table{width:100%;border-collapse:collapse;font-size:.95rem}.subscriptions-invoices-table th,.subscriptions-invoices-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.subscriptions-invoices-table th{font-weight:600}.subscriptions-invoices-status{text-transform:capitalize}.subscriptions-invoices-status--paid{color:var(--color-comic-green, #38b000)}.subscriptions-invoices-receipt-link{color:var(--color-comic-primary);text-decoration:underline}.subscriptions-invoices-receipt-link:hover{text-decoration:none}.page-subscriptions__comparison .marketing-pricing-grid{max-width:48rem}.page-subscriptions__current-badge{display:block;margin-top:.5rem;font-size:.9rem;font-weight:600;color:var(--color-comic-primary, #333)}.page-subscriptions .subscriptions-options-title{font-size:1.1rem;margin:0 0 1rem 1.25rem}.page-subscriptions .subscriptions-options{display:flex;flex-wrap:wrap;gap:1.25rem;margin-left:1.25rem}.page-subscriptions .subscriptions-option{flex:1 1 14rem;min-width:14rem;cursor:pointer;font:inherit;text-align:left;border-left:4px solid var(--color-comic-orange)}.page-subscriptions .subscriptions-option .material-symbols-outlined{font-size:2rem;display:block;margin-bottom:.5rem}.page-subscriptions .subscriptions-option-title{display:block;font-family:var(--font-display, "Bangers", cursive);font-size:1.25rem;text-transform:uppercase;margin-bottom:.25rem}.page-subscriptions .subscriptions-option-price{display:block;font-size:1rem;opacity:.9;margin-bottom:.75rem}.page-subscriptions .subscriptions-option-cta{display:inline-block;font-weight:600;text-decoration:underline}.page-subscriptions .subscriptions-option:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.page-subscriptions .subscriptions-option:disabled{opacity:.85;cursor:not-allowed}.settings-card.refresh-calendars-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-comic-lg)}.settings-card.refresh-calendars-btn:disabled{opacity:.8;cursor:not-allowed}.calendar-loading-wrap{margin:1rem 0;min-height:2.5rem;display:flex;align-items:center}.page-calendar-settings .settings-header{margin-bottom:1.5rem}.page-calendar-settings .settings-hero-sub{margin-top:.25rem}.settings-subheading{font-size:1.1rem;margin:1.5rem 0 .75rem}.calendar-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.calendar-section-heading .settings-subheading{margin:1.5rem 0 0}.calendar-sync-note{font-size:.9rem;opacity:.9;margin:.25rem 0 0;max-width:36rem}.calendar-timezone-wrap,.calendar-sync-interval-wrap,.calendar-default-assignee-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.sync-interval-label{font-size:.9rem}.sync-interval-select{font-size:.9rem;padding:.25rem .5rem;border:1px solid var(--color-border, #e0e0e0);border-radius:4px;background:var(--color-bg, #fff)}.last-sync-text{font-size:.85rem;opacity:.85}.calendar-select-section .calendar-loading,.calendar-select-section .calendar-empty,.calendar-select-section .calendar-error{margin:1rem 0}.calendar-select-section .calendar-error .button{margin-top:.5rem}.calendar-list{list-style:none;padding:0;margin:.75rem 0}.calendar-list-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border, #e0e0e0)}.calendar-list-item:last-child{border-bottom:none}.calendar-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-family-base)}.calendar-toggle-label input[type=checkbox]{width:1.1rem;height:1.1rem}.calendar-name{flex:1}.calendar-select-section .button.secondary{margin-top:.5rem}.page-preferences .settings-header{margin-bottom:1.5rem}.page-preferences .settings-hero-sub{margin-top:.25rem}.preferences-loading,.preferences-error{margin:1rem 0}.preferences-error{color:var(--color-red, #e63946)}.preferences-section{max-width:36rem}.preferences-section .form-field{margin-bottom:0}.preferences-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.preferences-toggle-text{font-family:var(--font-display, "Bangers", cursive);font-size:1.1rem}.preferences-section .form-hint{font-size:.9rem;opacity:.85;margin-top:.35rem;margin-left:1.75rem}.settings-signout-wrap{margin-top:2rem}.page-settings .breadcrumb,.page-settings .breadcrumb a{color:var(--color-comic-black)}.settings-signout-btn{width:100%;padding:1rem;background:var(--color-comic-white);border:var(--border-comic);font-size:1rem;cursor:pointer;border-radius:var(--radius-md, .5rem);transition:background .15s ease,box-shadow .15s ease;color:var(--color-comic-black)}.settings-signout-btn:hover{background:#f0f0f0;box-shadow:var(--shadow-comic)}.settings-signout-btn:focus-visible{outline:2px solid var(--color-comic-cyan);outline-offset:2px}@media(max-width:767px){.settings-hero-title{font-size:1.5rem}.settings-hero-sub{font-size:.9rem}.settings-grid{grid-template-columns:1fr}.settings-card{padding:1rem;border-left-width:8px}.settings-card.household{border-left-color:var(--color-comic-cyan)}.settings-card.devices{border-left-color:var(--color-comic-lime)}.settings-card.subscriptions{border-left-color:var(--color-comic-orange)}.settings-card.integrations{border-left-color:var(--color-comic-magenta)}.settings-card.account{border-left-color:var(--color-comic-primary)}}.page-recipes,.page-recipe-new,.page-recipe-detail{display:flex;flex-direction:column;gap:1.5rem;padding:0 1rem 2rem}.page-recipes-header{display:flex;flex-direction:column;gap:1rem}.page-recipes-header-nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}@media(min-width:768px){.page-recipes-header{flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}}.page-recipes-hero{background:var(--color-comic-white, #fff);padding:1rem 1.5rem;border-radius:1rem;display:inline-block}.page-recipes-hero h2{font-family:var(--font-display, "Bangers", cursive);font-size:clamp(1.5rem,4vw,2.5rem);font-style:italic;text-transform:uppercase;margin:0}.page-recipes-sub{font-size:1rem;opacity:.85;margin:.25rem 0 0}.btn-back{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-comic-white, #fff);padding:.5rem 1rem;border-radius:9999px;font-size:1rem;text-transform:uppercase;box-shadow:var(--shadow-comic);color:var(--color-comic-black, #000);text-decoration:none}.btn-back:hover{background:#f4f4f5}.page-recipes-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.recipe-search-wrap{flex:1;min-width:16rem;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-comic-white, #fff);border-radius:var(--radius-md, .5rem);box-shadow:var(--shadow-comic)}.recipe-search-wrap .material-symbols-outlined{color:#0006;font-size:1.25rem}.recipe-search-wrap input{flex:1;border:none;background:none;font-size:1rem}.recipe-search-wrap input:focus{outline:none}.btn-add-recipe{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-comic-primary, #ffed00);padding:.6rem 1.25rem;border-radius:9999px;font-size:1.125rem;text-transform:uppercase;box-shadow:var(--shadow-comic);color:var(--color-comic-black, #000);text-decoration:none}.btn-add-recipe:hover{background:#ffe066}.panel-recipes{position:relative;max-width:48rem;background:var(--color-comic-white, #fff);border-radius:1rem;overflow:hidden}.panel-recipes-banner{background:var(--color-comic-magenta, #e9117a);color:var(--color-comic-white, #fff);padding:.5rem 1.5rem;font-style:italic;font-size:1.125rem;text-transform:uppercase;border-bottom:var(--border-comic)}.panel-recipes-inner{padding:1.5rem 2rem 2rem}.panel-recipes-muted{opacity:.8;margin:.5rem 0}.panel-recipes-empty{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.recipe-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;max-height:32rem;overflow-y:auto}.recipe-row{background:#fffffff2;padding:.75rem 1rem;border-radius:var(--radius-md, .5rem);display:flex;align-items:center;gap:1rem;flex-wrap:wrap;box-shadow:var(--shadow-comic)}.recipe-row:hover{background:#e9117a14}.recipe-row-thumb{width:4rem;height:4rem;border-radius:.5rem;background:#f4f4f5;flex-shrink:0}.recipe-row-name{flex-grow:1;min-width:10rem;font-size:1.25rem;font-style:italic}.recipe-row-name a{color:inherit;text-decoration:none}.recipe-row-name a:hover{text-decoration:underline}.recipe-row-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-act{padding:.3rem .6rem;font-size:.875rem;text-transform:uppercase;border-radius:9999px;background:var(--color-comic-primary, #ffed00);color:var(--color-comic-black, #000);text-decoration:none;box-shadow:2px 2px 0 0 var(--color-comic-black, #000)}.btn-act:hover{filter:brightness(.97)}.system-recipe-badge{display:inline-flex;align-items:center;justify-content:center;background:#00baff26;color:var(--color-comic-cyan, #00baff);border:1px solid var(--color-comic-cyan, #00baff);border-radius:4px;padding:2px 6px;font-size:.8rem;margin-left:.5rem;flex-shrink:0}.system-recipe-badge .material-symbols-outlined{font-size:1rem}.recipe-form-panel{max-width:40rem;background:var(--color-comic-white, #fff);border-radius:1rem;overflow:hidden}.recipe-form-banner{background:var(--color-comic-magenta, #e9117a);color:var(--color-comic-white, #fff);padding:.5rem 1.5rem;font-style:italic;font-size:1.125rem;text-transform:uppercase;border-bottom:var(--border-comic)}.recipe-form-body{padding:1.5rem 2rem 2rem}.recipe-form .field{margin-bottom:1.25rem}.recipe-form label{display:block;font-size:1rem;margin-bottom:.35rem}.recipe-form input,.recipe-form textarea{width:100%;padding:.6rem 1rem;border:var(--border-comic);background:var(--color-comic-white, #fff);font-size:1rem;box-sizing:border-box;border-radius:var(--radius-md, .5rem)}.recipe-form textarea{min-height:4rem;resize:vertical}.recipe-form input:focus,.recipe-form textarea:focus{outline:none;box-shadow:0 0 0 3px #e9117a40}.recipe-form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:1rem}.ingredients-table-wrap{border-radius:var(--radius-md, .5rem);overflow:hidden;background:var(--color-comic-white, #fff);box-shadow:var(--shadow-comic)}.ingredients-table{width:100%;border-collapse:collapse}.ingredients-table th{text-align:left;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;background:#f4f4f5;border-bottom:var(--border-comic)}.ingredients-table th.qty{width:6rem}.ingredients-table th.unit{width:8rem}.ingredients-table th.name{min-width:12rem}.ingredients-table th.act{width:2.5rem}.ingredients-table td{padding:.35rem .75rem;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:middle}.ingredients-table td.act{border-left:1px solid rgba(0,0,0,.1)}.ingredients-table input{width:100%;padding:.4rem .5rem;border:2px solid transparent;background:transparent;font-size:.95rem;box-sizing:border-box}.ingredients-table input:focus{outline:none;border-color:var(--color-comic-black, #000);background:var(--color-comic-white, #fff)}.ingredients-table td.unit-cell-wrap{vertical-align:top}.ingredients-table .unit-input-wrap{position:relative}.ingredients-table .unit-suggestions{position:absolute;left:0;right:0;top:100%;z-index:10;list-style:none;margin:0;padding:0;background:var(--color-comic-white, #fff);border:2px solid var(--color-comic-black, #000);border-top:none;box-shadow:var(--shadow-comic);max-height:12rem;overflow-y:auto}.ingredients-table .unit-suggestions li{padding:.4rem .5rem;cursor:pointer;font-size:.95rem}.ingredients-table .unit-suggestions li:hover{background:#f4f4f5}.unit-suggestions-portal{z-index:9999;list-style:none;margin:0;padding:0;background:var(--color-comic-white, #fff);border:2px solid var(--color-comic-black, #000);border-top:none;box-shadow:var(--shadow-comic);max-height:12rem;overflow-y:auto}.unit-suggestions-portal li{padding:.4rem .5rem;cursor:pointer;font-size:.95rem}.unit-suggestions-portal li:hover{background:#f4f4f5}.unit-suggestions-portal li.highlighted{background:#e8e8ea}.btn-remove{padding:.25rem;border:none;background:none;cursor:pointer;color:#0006;display:flex;align-items:center;justify-content:center}.btn-remove:hover{color:var(--color-comic-red, #ff1b12)}.ingredients-add{display:flex;align-items:center;padding:.5rem .75rem;background:#f4f4f5;border-top:1px solid rgba(0,0,0,.1)}.btn-add-row{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:9999px;background:var(--color-comic-primary, #ffed00);font-size:.9rem;text-transform:uppercase;cursor:pointer;box-shadow:2px 2px 0 0 var(--color-comic-black, #000)}.btn-add-row:hover{background:#ffe066}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.form-actions .btn{padding:.75rem 1.5rem;font-size:1.125rem;text-transform:uppercase;border-radius:9999px;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-save{background:var(--color-comic-primary, #ffed00);color:var(--color-comic-black, #000)}.btn-save:hover:not(:disabled){background:#ffe066}.btn-cancel{background:var(--color-comic-white, #fff);color:var(--color-comic-black, #000)}.btn-cancel:hover{background:#f4f4f5}.btn-danger{background:var(--color-comic-red, #ff1b12);color:var(--color-comic-white, #fff)}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.detail-actions{display:flex;flex-wrap:wrap;gap:.75rem}.detail-actions .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:1rem;text-transform:uppercase;border-radius:9999px;box-shadow:var(--shadow-comic);cursor:pointer;text-decoration:none;color:var(--color-comic-black, #000)}.detail-actions .btn-primary{background:var(--color-comic-primary, #ffed00)}.detail-actions .btn-primary:hover{background:#ffe066}.detail-actions .btn-secondary{background:var(--color-comic-white, #fff)}.detail-actions .btn-secondary:hover{background:#f4f4f5}.recipe-detail-panel{max-width:44rem;background:var(--color-comic-white, #fff);border-radius:1rem;overflow:hidden}.recipe-detail-banner{background:var(--color-comic-magenta, #e9117a);color:var(--color-comic-white, #fff);padding:.5rem 1.5rem;font-style:italic;font-size:1.125rem;text-transform:uppercase;border-bottom:var(--border-comic)}.recipe-detail-body{padding:1.5rem 2rem 2rem}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1.25rem;text-transform:uppercase;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:2px solid var(--color-comic-black, #000)}.recipe-detail-text{margin:0}.recipe-meta{display:flex;flex-wrap:wrap;gap:1rem}.ingredients-readonly{border-radius:var(--radius-md, .5rem);overflow:hidden;background:#f4f4f5}.ingredients-readonly table{width:100%;border-collapse:collapse}.ingredients-readonly th{text-align:left;padding:.4rem .75rem;font-size:.8rem;text-transform:uppercase;background:var(--color-comic-white, #fff);border-bottom:var(--border-comic)}.ingredients-readonly th.qty{width:5rem}.ingredients-readonly th.unit{width:6rem}.ingredients-readonly td{padding:.4rem .75rem;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.08)}.ingredients-readonly tr:last-child td{border-bottom:none}.instructions-block{font-size:1rem;line-height:1.5;white-space:pre-wrap}.instructions-attachment-view{margin-top:1rem}.instructions-attachment-img{max-width:100%;height:auto;border-radius:.5rem;border:1px solid var(--color-border, #ddd)}.instructions-attachment-link{display:inline-block;padding:.5rem 1rem;background:var(--color-primary, #333);color:var(--color-comic-white, #fff);border-radius:.5rem;text-decoration:none}.instructions-attachment-link:hover{text-decoration:underline}.instructions-attachment-edit{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.instructions-attachment-label{font-size:.9rem;color:var(--color-text-secondary)}.instructions-file-name{display:block;font-size:.9rem;margin-top:.25rem}.field-hint{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content{background:var(--color-comic-white, #fff);padding:1.5rem 2rem;border-radius:1rem;max-width:24rem;box-shadow:var(--shadow-comic-lg)}.modal-content h3{margin-top:0}.modal-content p{margin:.5rem 0 1rem}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-elevated{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg)}.marketing-page{min-height:100vh;display:flex;flex-direction:column;background-color:#f4f4f0;color:#0f0f0f}.marketing-header{position:sticky;top:0;z-index:20;width:100%;border-bottom:4px solid #000;background-color:#ffea00}.marketing-header__inner{max-width:80rem;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.marketing-header__brand{display:flex;align-items:center;gap:.75rem}.marketing-header__icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;border:2px solid #000;border-radius:.5rem;box-shadow:2px 2px #000}.marketing-header__icon .material-symbols-outlined{font-size:28px}.marketing-header__logo{font-size:1.875rem;font-weight:700;letter-spacing:.05em;color:#000;text-decoration:none;font-style:italic}.marketing-header__logo:hover{color:#000;text-decoration:none}.marketing-header__hamburger{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:2px solid #000;border-radius:.5rem;background:#fff;color:#000;cursor:pointer;box-shadow:2px 2px #000;transition:transform .15s,box-shadow .15s}.marketing-header__hamburger:hover{transform:translate(1px,1px);box-shadow:1px 1px #000}.marketing-header__hamburger .material-symbols-outlined{font-size:1.5rem}@media(min-width:768px){.marketing-header__hamburger{display:none}}.marketing-nav{display:none}@media(min-width:768px){.marketing-nav{display:flex;align-items:center;gap:1.5rem}}.marketing-nav__link{font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;color:#0f0f0f;text-decoration:none}.marketing-nav__link:hover{color:#f72585}.marketing-nav__link--active{color:#f72585;text-decoration:underline;text-underline-offset:2px}.marketing-header__ctas{display:flex;align-items:center;gap:1rem}.marketing-header__login{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1.5rem;border:2px solid #000;border-radius:.5rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;text-decoration:none;background-color:#fff;box-shadow:4px 4px #000;transition:transform .15s,box-shadow .15s}.marketing-header__login:hover{transform:translate(2px,2px);box-shadow:2px 2px #000;color:#000;text-decoration:none}.marketing-header__btn{display:none;align-items:center;justify-content:center;height:2.5rem;padding:0 1.5rem;border:2px solid #000;border-radius:.5rem;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:4px 4px #000;transition:transform .15s,box-shadow .15s}@media(min-width:640px){.marketing-header__btn{display:inline-flex}}.marketing-header__btn:hover{transform:translate(2px,2px);box-shadow:2px 2px #000;text-decoration:none}.marketing-header__btn--primary{background-color:#f72585;color:#fff}.marketing-mobile-menu{position:fixed;inset:0;z-index:30;pointer-events:none;visibility:hidden;transition:visibility .2s ease}.marketing-mobile-menu--open{pointer-events:auto;visibility:visible}.marketing-mobile-menu__backdrop{position:absolute;inset:0;background:#0006;border:none;cursor:pointer;padding:0;opacity:0;transition:opacity .2s ease}.marketing-mobile-menu--open .marketing-mobile-menu__backdrop{opacity:1}.marketing-mobile-menu__panel{position:absolute;top:0;right:0;bottom:0;width:min(18rem,85vw);max-width:100%;background:#ffea00;border-left:4px solid #000;box-shadow:-4px 0 #000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease-out;overflow:auto}.marketing-mobile-menu--open .marketing-mobile-menu__panel{transform:translate(0)}.marketing-mobile-menu__nav{display:flex;flex-direction:column;padding:1rem 0;gap:.25rem}.marketing-mobile-menu__link{display:block;padding:1rem 1.5rem;font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#0f0f0f;text-decoration:none;border-bottom:2px solid rgba(0,0,0,.1)}.marketing-mobile-menu__link:hover{background:#0000000f;color:#0f0f0f;text-decoration:none}.marketing-mobile-menu__link--active{color:#f72585;background:#f7258514}@media(min-width:768px){.marketing-mobile-menu{display:none}}.marketing-main{flex:1;position:relative;padding:4rem 1rem}@media(min-width:1024px){.marketing-main{padding:6rem 1rem}}.marketing-main__dotgrid{position:absolute;inset:0;z-index:0;opacity:.07;pointer-events:none;background-image:radial-gradient(circle,#000 1px,transparent 1.5px);background-size:20px 20px}.marketing-main__inner{position:relative;z-index:1;max-width:72rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.marketing-main__inner{padding:0 1.5rem}}@media(min-width:1024px){.marketing-main__inner{padding:0 2rem}}.marketing-hero{text-align:center;margin-bottom:5rem}.marketing-hero__badge{display:inline-block;padding:.5rem 1rem;background:#000;color:#ffea00;font-size:.875rem;text-transform:uppercase;transform:rotate(-2deg);margin-bottom:1.5rem}.marketing-hero__title{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;font-style:italic;margin:0 0 1.5rem;line-height:1.1}.marketing-hero__lead{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:500;color:#334155;max-width:42rem;margin:0 auto 2.5rem;line-height:1.5}.marketing-hero__cta{display:inline-flex;align-items:center;gap:.5rem;height:4rem;padding:0 2.5rem;border:4px solid #000;border-radius:.75rem;background:#f72585;color:#fff;font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:4px 4px #000;transition:transform .15s,box-shadow .15s}.marketing-hero__cta:hover{transform:translate(2px,2px);box-shadow:2px 2px #000;color:#fff;text-decoration:none}.marketing-hero__cta .material-symbols-outlined{font-size:1.5rem}.marketing-hero__note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.5rem 0 0;font-size:.875rem;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:.025em}.marketing-hero__note .material-symbols-outlined{font-size:1.25rem}.marketing-features{margin-bottom:5rem}.marketing-features__grid{display:grid;gap:2rem}@media(min-width:768px){.marketing-features__grid{grid-template-columns:repeat(3,1fr);gap:2rem}}.marketing-card{background:#fff;border:4px solid #000;border-radius:1rem;padding:2rem;text-align:center;box-shadow:4px 4px #000;transition:transform .15s,box-shadow .15s}.marketing-card:hover{transform:translateY(-4px);box-shadow:8px 8px #000}.marketing-card__icon{width:4rem;height:4rem;margin:0 auto 1rem;border:2px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #000}.marketing-card__icon .material-symbols-outlined{font-size:1.875rem}.marketing-card__icon--primary{background:#00b4d8;color:#000}.marketing-card__icon--magenta{background:#f72585;color:#fff}.marketing-card__icon--orange{background:#fb8500;color:#000}.marketing-card__icon--green{background:#38b000;color:#000}.marketing-card__icon--yellow{background:#ffea00;color:#000}.marketing-card__title{font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;font-style:italic;margin:0 0 .5rem}.marketing-card__text{font-size:1rem;font-weight:500;color:#334155;margin:0;line-height:1.5}.marketing-platforms{text-align:center}.marketing-platforms__label{font-size:.875rem;font-weight:700;text-transform:uppercase;color:#64748b;margin:0 0 1rem}.marketing-platforms__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.marketing-platforms__tag{padding:.5rem 1rem;background:#fff;border:2px solid #000;border-radius:.5rem;font-size:.875rem;text-transform:uppercase;box-shadow:2px 2px #000}.marketing-footer{border-top:4px solid #000;background:#0f0f0f;color:#fff;padding:3rem 1rem}.marketing-footer__inner{max-width:80rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}@media(min-width:768px){.marketing-footer__inner{flex-direction:row;justify-content:space-between;text-align:left}}.marketing-footer__brand{display:flex;align-items:center;gap:.5rem}.marketing-footer__icon{padding:.25rem;background:#ffea00;border:2px solid #fff;border-radius:.25rem}.marketing-footer__icon .material-symbols-outlined{color:#000;font-size:1.5rem}.marketing-footer__logo{font-size:1.5rem;letter-spacing:.05em}.marketing-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.875rem;font-weight:700}.marketing-footer__links a{color:#9ca3af;text-decoration:none}.marketing-footer__links a:hover{color:#ffea00}.marketing-footer__copy{font-size:.875rem;color:#6b7280;margin:0}.marketing-content-blocks{display:flex;flex-direction:column;gap:3rem;margin-bottom:4rem}.marketing-content-block{display:flex;flex-direction:column;gap:1.5rem;background:#fff;border:4px solid #000;border-radius:1rem;padding:2rem;box-shadow:4px 4px #000}@media(min-width:768px){.marketing-content-block{flex-direction:row;align-items:flex-start}}.marketing-content-block__icon{width:3.5rem;height:3.5rem;flex-shrink:0;border:2px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #000}.marketing-content-block__icon .material-symbols-outlined{font-size:1.5rem}.marketing-content-block__title{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;font-style:italic;margin:0 0 .5rem}.marketing-content-block__text{font-size:1rem;font-weight:500;color:#334155;margin:0;line-height:1.6}.marketing-pricing-grid{display:grid;gap:2rem;margin-bottom:4rem}@media(min-width:768px){.marketing-pricing-grid{grid-template-columns:repeat(2,1fr);align-items:stretch}}.marketing-pricing-card{position:relative;background:#fff;border:4px solid #000;border-radius:1rem;padding:2rem;box-shadow:4px 4px #000;display:flex;flex-direction:column}.marketing-pricing-card--premium{overflow:hidden}.marketing-pricing-card__coming{position:absolute;top:1rem;right:1rem;background:#fb8500;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border:2px solid #000;border-radius:9999px;transform:rotate(-6deg)}.marketing-pricing-card__badge{display:inline-block;padding:.5rem 1rem;border:4px solid #000;border-radius:.75rem;font-size:1.25rem;text-transform:uppercase;margin-bottom:1.5rem;align-self:flex-start}.marketing-pricing-card__badge--primary{background:#00b4d8;color:#fff;transform:rotate(-2deg)}.marketing-pricing-card__badge--magenta{background:#f72585;color:#fff;transform:rotate(2deg)}.marketing-pricing-card__price{margin-bottom:1.5rem}.marketing-pricing-card__amount{font-size:3rem;font-weight:700;color:#000}.marketing-pricing-card__period{font-size:1rem;font-weight:500;color:#64748b}.marketing-pricing-card__period--secondary{display:block;font-size:.9rem;margin-top:.25rem}.marketing-pricing-card__desc{font-size:1rem;color:#334155;margin:0 0 1.5rem;flex-grow:1}.marketing-pricing-card__list{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.marketing-pricing-card__list li{display:flex;align-items:center;gap:.75rem;font-weight:500}.marketing-pricing-card__list .material-symbols-outlined{color:#38b000;flex-shrink:0}.marketing-pricing-card__btn{display:block;width:100%;padding:1rem;border-radius:.75rem;border:4px solid #000;font-size:1.25rem;text-transform:uppercase;font-weight:700;text-align:center;cursor:pointer;text-decoration:none;box-shadow:4px 4px #000;transition:transform .15s,box-shadow .15s}.marketing-pricing-card__btn:disabled{cursor:default;opacity:.9}.marketing-pricing-card__btn--outline{background:#fff;color:#000}.marketing-pricing-card__btn--outline:hover{transform:translate(2px,2px);box-shadow:2px 2px #000}.marketing-pricing-card__btn--yellow{background:#ffea00;color:#000}.marketing-pricing-note{text-align:center;padding:1.5rem;background:#fff;border:4px solid #000;border-radius:1rem;box-shadow:4px 4px #000}.marketing-pricing-note__main{font-size:1.125rem;color:#334155;margin:0 0 .5rem}.marketing-pricing-note__sub{font-size:.875rem;color:#64748b;margin:0}.marketing-tv-placeholder{aspect-ratio:16/9;background:#e2e8f0;border:4px solid #000;border-radius:1rem;overflow:hidden;margin-bottom:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#64748b}.marketing-tv-placeholder .material-symbols-outlined{font-size:2.5rem}.marketing-tv-placeholder__hint{font-size:.875rem;font-weight:500;color:#94a3b8}.marketing-content-grid-2{display:grid;gap:2rem;margin-bottom:3rem}@media(min-width:768px){.marketing-content-grid-2{grid-template-columns:repeat(2,1fr)}}.marketing-tv-options{display:flex;gap:1rem;margin-top:1rem}.marketing-tv-option{flex:1;padding:1rem;background:#f1f5f9;border:2px solid #000;border-radius:.75rem;text-align:center}.marketing-tv-option__label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:#64748b;margin:0 0 .5rem}.marketing-tv-option__value{font-size:1.125rem;margin:0}.marketing-tv-checklist{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.marketing-tv-checklist li{display:flex;align-items:center;gap:.5rem;font-weight:500}.marketing-tv-checklist .material-symbols-outlined{color:#38b000}.marketing-tv-cta{padding:1.5rem;background:#fff;border:4px solid #000;border-radius:1rem;box-shadow:4px 4px #000;text-align:center}.marketing-tv-cta__main{font-size:1.125rem;color:#334155;margin:0 0 .5rem}.marketing-tv-cta__sub{font-size:.875rem;color:#64748b;margin:0}.marketing-faq-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:4rem}.marketing-faq-item{background:#fff;border:4px solid #000;border-radius:.75rem;padding:1.5rem;box-shadow:4px 4px #000}.marketing-faq-item__q{font-size:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#000;font-style:italic;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.marketing-faq-item__q .material-symbols-outlined{color:#00b4d8;flex-shrink:0}.marketing-faq-item__a{font-size:1rem;font-weight:500;color:#334155;line-height:1.6;margin:0}.marketing-faq-item__link{color:#00b4d8;font-weight:700;text-decoration:none}.marketing-faq-item__link:hover{text-decoration:underline}.marketing-faq-contact{text-align:center;padding:1.5rem;background:#fff;border:4px solid #000;border-radius:1rem;box-shadow:4px 4px #000}.marketing-faq-contact__main{font-size:1.125rem;color:#334155;margin:0 0 1rem}.marketing-faq-contact__link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:#f72585;text-transform:uppercase;text-decoration:none}.marketing-faq-contact__link:hover{text-decoration:underline}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}button{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.auth-panel__body,.auth-panel__body h1,.auth-panel__body h2,.auth-panel__body h3,.auth-panel__body h4,.auth-panel__body h5,.auth-panel__body h6,.auth-panel__body p,.auth-panel__body label,.auth-panel__body input,.auth-panel__body textarea,.auth-panel__body select,.auth-panel__body a{color:var(--color-comic-black)}#root{width:100%;min-height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
