@import"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap";.kitchen-layout{display:flex;min-height:100vh;background:var(--bg-canvas);color:var(--text-primary)}.kitchen-sidebar{width:220px;flex-shrink:0;background:var(--card-bg);border-right:1px solid var(--border-soft);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:10}.kitchen-sidebar-header{padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border-soft)}.kitchen-sidebar-header h2{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.01em}.kitchen-sidebar-nav{list-style:none;margin:0;padding:.5rem 0}.kitchen-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:0;transition:background .15s,color .15s}.kitchen-sidebar-link:hover{background:var(--bg-muted);color:var(--text-primary)}.kitchen-sidebar-link.active{background:var(--bg-muted);color:var(--text-primary);font-weight:600;border-left:3px solid var(--link-color);padding-left:calc(1.25rem - 3px)}.kitchen-main{flex:1;min-width:0;padding:1.5rem 2rem 2rem;max-width:1200px}.kitchen-bottomnav{display:none}.kitchen-nav-icon{font-size:1.2rem;line-height:1}.kitchen-nav-label{font-size:.85rem}@media (max-width: 768px){.kitchen-sidebar{display:none}.kitchen-main{padding:1rem 1rem 5.5rem;max-width:100%}.kitchen-bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);border-top:1px solid var(--border-soft);z-index:100;padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom,0px));justify-content:space-around;box-shadow:0 -4px 20px #00000014}.kitchen-bottomnav-link{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .5rem;color:var(--text-muted);text-decoration:none;font-size:.7rem;font-weight:500;min-width:3rem;transition:color .15s;-webkit-tap-highlight-color:transparent}.kitchen-bottomnav-link .kitchen-nav-icon{font-size:1.35rem}.kitchen-bottomnav-link .kitchen-nav-label{font-size:.65rem}.kitchen-bottomnav-link:hover,.kitchen-bottomnav-link.active{color:var(--link-color)}.kitchen-bottomnav-link.active{font-weight:700}}@media (max-width: 480px){.kitchen-main{padding:.75rem .75rem 5.5rem}}.theme-toggle{position:fixed;top:1.25rem;right:1.5rem;width:48px;height:48px;border-radius:999px;border:1px solid var(--border-soft);display:grid;place-items:center;font-size:1.35rem;cursor:pointer;background:var(--toggle-bg);color:var(--toggle-fg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .15s ease,box-shadow .15s ease;z-index:1000}.theme-toggle:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-canvas);color:var(--text-primary)}.header{padding:2rem 1.5rem 1rem;text-align:center}.header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.header p{color:var(--text-secondary)}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2rem;padding:2rem 1.5rem 3rem}.insights-grid{width:min(64rem,100%);display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.insight-card{background:var(--card-bg);border-radius:1.5rem;padding:2rem 2.25rem;box-shadow:var(--shadow-soft);min-height:200px;display:grid;gap:.5rem}.insight-label{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:var(--text-muted);margin:0}.insight-card h2{font-size:1.4rem;margin:0 0 .25rem;color:var(--text-primary)}.insight-placeholder{color:var(--text-secondary);margin:0}.insight-error{color:var(--danger-color);font-weight:600;margin:0}.weather-card{--tile-bg: linear-gradient(150deg, #dbeafe 0%, #eef2ff 55%, #e0e7ff 100%);--tile-color: #0f172a;--tile-body-color: #1d4ed8;--tile-border: transparent;--tile-shadow: 0 18px 40px rgba(37, 99, 235, .18)}[data-theme=dark] .weather-card{--tile-bg: linear-gradient(160deg, rgba(30, 58, 138, .88), rgba(15, 23, 42, .85));--tile-color: #dbeafe;--tile-body-color: rgba(191, 219, 254, .9);--tile-border: rgba(96, 165, 250, .35);--tile-shadow: 0 25px 50px rgba(15, 23, 42, .55)}.weather-temp{font-size:clamp(2.4rem,4vw,3.2rem);font-weight:700;margin:0;color:var(--tile-color)}.weather-temp span{font-size:1.25rem;margin-left:.2rem}.weather-desc{font-weight:600;margin:0;color:var(--tile-body-color)}.weather-meta{margin:0;color:color-mix(in srgb,var(--tile-body-color) 70%,#0f172a);font-size:.95rem}.steps-card{--steps-bg: var(--bg-soft);--steps-color: var(--text-primary);--steps-border: var(--border-soft);--steps-shadow: var(--shadow-soft);border:1px solid var(--steps-border);background:var(--steps-bg);color:var(--steps-color);box-shadow:var(--steps-shadow)}.steps-card.steps-achieved{--steps-bg: linear-gradient(150deg, #bbf7d0 0%, #ecfccb 55%, #a7f3d0 100%);--steps-color: #065f46;--steps-border: transparent;--steps-shadow: 0 22px 45px rgba(16, 185, 129, .2)}[data-theme=dark] .steps-card.steps-achieved{--steps-bg: linear-gradient(160deg, rgba(5, 122, 85, .7), rgba(4, 120, 87, .5));--steps-color: #bbf7d0;--steps-border: rgba(45, 212, 191, .35)}.steps-card.steps-close{--steps-bg: linear-gradient(150deg, #fef9c3 0%, #fde68a 55%, #fcd34d 100%);--steps-color: #92400e;--steps-border: transparent;--steps-shadow: 0 22px 45px rgba(251, 191, 36, .22)}[data-theme=dark] .steps-card.steps-close{--steps-bg: linear-gradient(160deg, rgba(146, 64, 14, .65), rgba(180, 83, 9, .55));--steps-color: #fde68a;--steps-border: rgba(251, 191, 36, .35)}.steps-card.steps-missed{--steps-bg: linear-gradient(150deg, #fee2e2 0%, #fecaca 55%, #fca5a5 100%);--steps-color: #7f1d1d;--steps-border: transparent;--steps-shadow: 0 22px 45px rgba(239, 68, 68, .2)}[data-theme=dark] .steps-card.steps-missed{--steps-bg: linear-gradient(160deg, rgba(127, 29, 29, .65), rgba(185, 28, 28, .55));--steps-color: #fecaca;--steps-border: rgba(248, 113, 113, .35)}.steps-card.steps-pending,.steps-card.steps-loading{--steps-bg: var(--bg-soft);--steps-color: var(--text-primary);--steps-border: var(--border-soft)}.steps-answer{font-size:clamp(1.8rem,3vw,2.2rem);margin:0;font-weight:700}.steps-detail{margin:0;font-size:1rem}.steps-meta{margin:0;font-size:.9rem;color:inherit;opacity:.85}.home-card{--home-bg: linear-gradient(150deg, #ccfbf1 0%, #a7f3d0 50%, #bfdbfe 100%);--home-title-color: #0f172a;--home-body-color: rgba(15, 23, 42, .78);--home-label-color: rgba(15, 23, 42, .6);--home-shadow: 0 22px 45px rgba(13, 148, 136, .18);background:var(--home-bg);box-shadow:var(--home-shadow)}[data-theme=dark] .home-card{--home-bg: linear-gradient( 160deg, rgba(13, 148, 136, .35), rgba(37, 99, 235, .22) );--home-title-color: #ecfeff;--home-body-color: rgba(236, 254, 255, .85);--home-label-color: rgba(236, 254, 255, .7);--home-shadow: 0 25px 50px rgba(2, 6, 23, .55)}.home-card .insight-label{color:var(--home-label-color)}.home-card h2{color:var(--home-title-color)}.home-count{display:flex;align-items:baseline;gap:.6rem;margin:.25rem 0 .75rem;color:var(--home-title-color)}.home-count-number{font-size:clamp(2.8rem,5vw,3.8rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.home-count-unit{font-size:1.05rem;font-weight:650;opacity:.85}.home-count-zero{font-size:clamp(1.9rem,3vw,2.3rem);font-weight:800;margin:.5rem 0 .75rem}.home-meta{margin:0;font-size:.95rem;color:var(--home-body-color)}.tiles-grid{display:grid;gap:2rem;width:min(64rem,100%);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cta-card{--tile-bg: var(--card-bg);--tile-color: var(--text-primary);--tile-body-color: var(--text-secondary);--tile-border: transparent;--tile-shadow: var(--shadow-strong);background:var(--tile-bg);border-radius:1.5rem;padding:3rem 2.5rem;max-width:28rem;width:100%;text-align:center;box-shadow:var(--tile-shadow);border:1px solid var(--tile-border);color:var(--tile-color)}.loading-card,.error-card,.empty-card{max-width:none}.error-card{--tile-bg: var(--error-surface);--tile-color: var(--danger-color);--tile-body-color: color-mix(in srgb, var(--danger-color) 78%, #fff 22%);--tile-shadow: var(--shadow-soft)}.loading-card,.empty-card{--tile-bg: var(--bg-soft);--tile-color: var(--text-primary);--tile-body-color: var(--text-secondary);--tile-shadow: var(--shadow-soft);--tile-border: var(--border-soft)}.cta-card h2{font-size:2rem;margin-bottom:.75rem;color:var(--tile-color)}.cta-card p{color:var(--tile-body-color);margin-bottom:2rem}.tile-accent-default{--tile-bg: linear-gradient(145deg, #f8fafc 0%, #f1f5f9 60%, #ffffff 100%);--tile-color: var(--text-primary);--tile-body-color: color-mix(in srgb, var(--text-primary) 65%, var(--text-secondary));--tile-border: var(--border-soft);--tile-shadow: var(--shadow-soft)}[data-theme=dark] .tile-accent-default{--tile-bg: linear-gradient(150deg, rgba(15, 23, 42, .9), rgba(15, 23, 42, .75));--tile-color: #f8fafc;--tile-body-color: rgba(226, 232, 240, .85);--tile-border: rgba(148, 163, 184, .25);--tile-shadow: var(--shadow-soft)}.tile-accent-ski{--tile-bg: linear-gradient(160deg, #ecfeff 0%, #cffafe 55%, #99f6e4 100%);--tile-color: #065f46;--tile-body-color: rgba(6, 95, 70, .85);--tile-border: transparent;--tile-shadow: 0 25px 45px rgba(13, 148, 136, .18)}[data-theme=dark] .tile-accent-ski{--tile-bg: linear-gradient(165deg, rgba(8, 47, 73, .9), rgba(6, 78, 59, .8));--tile-color: #ecfeff;--tile-body-color: rgba(207, 250, 254, .9);--tile-border: rgba(45, 212, 191, .35);--tile-shadow: 0 25px 50px rgba(15, 118, 110, .3)}.tile-accent-sunset{--tile-bg: linear-gradient(150deg, #ffe4e6 0%, #fef3c7 50%, #fecdd3 100%);--tile-color: #9f1239;--tile-body-color: rgba(124, 45, 18, .85);--tile-border: transparent;--tile-shadow: 0 25px 45px rgba(249, 115, 22, .18)}[data-theme=dark] .tile-accent-sunset{--tile-bg: linear-gradient(160deg, rgba(190, 24, 93, .45), rgba(234, 88, 12, .35));--tile-color: #ffe4e6;--tile-body-color: rgba(255, 240, 230, .9);--tile-border: rgba(251, 146, 60, .3)}.tile-accent-meadow{--tile-bg: linear-gradient(140deg, #ecfccb 0%, #bbf7d0 55%, #86efac 100%);--tile-color: #065f46;--tile-body-color: rgba(22, 101, 52, .85);--tile-border: transparent;--tile-shadow: 0 25px 40px rgba(22, 163, 74, .18)}[data-theme=dark] .tile-accent-meadow{--tile-bg: linear-gradient(150deg, rgba(21, 128, 61, .4), rgba(5, 150, 105, .4));--tile-color: #ecfccb;--tile-body-color: rgba(217, 249, 157, .9);--tile-border: rgba(134, 239, 172, .35)}.tile-accent-midnight{--tile-bg: linear-gradient(160deg, #e0e7ff 0%, #c4b5fd 50%, #818cf8 100%);--tile-color: #312e81;--tile-body-color: rgba(49, 46, 129, .85);--tile-border: transparent;--tile-shadow: 0 25px 45px rgba(99, 102, 241, .22)}[data-theme=dark] .tile-accent-midnight{--tile-bg: linear-gradient(160deg, rgba(30, 64, 175, .9), rgba(76, 29, 149, .85));--tile-color: #e0e7ff;--tile-body-color: rgba(224, 231, 255, .9);--tile-border: rgba(129, 140, 248, .35)}.tile-accent-citrus{--tile-bg: linear-gradient(140deg, #fef9c3 0%, #fde68a 55%, #fdba74 100%);--tile-color: #92400e;--tile-body-color: rgba(146, 64, 14, .85);--tile-border: transparent;--tile-shadow: 0 25px 40px rgba(251, 191, 36, .22)}[data-theme=dark] .tile-accent-citrus{--tile-bg: linear-gradient(150deg, rgba(250, 204, 21, .25), rgba(251, 146, 60, .35));--tile-color: #fff7d6;--tile-body-color: rgba(255, 243, 189, .88);--tile-border: rgba(251, 191, 36, .35)}.tile-accent-blossom{--tile-bg: linear-gradient(150deg, #fce7f3 0%, #fbcfe8 45%, #ddd6fe 100%);--tile-color: #9d174d;--tile-body-color: rgba(131, 24, 67, .85);--tile-border: transparent;--tile-shadow: 0 25px 40px rgba(236, 72, 153, .22)}[data-theme=dark] .tile-accent-blossom{--tile-bg: linear-gradient(160deg, rgba(236, 72, 153, .4), rgba(147, 51, 234, .35));--tile-color: #fff0f6;--tile-body-color: rgba(255, 224, 243, .9);--tile-border: rgba(236, 72, 153, .35)}.tile-accent-slate{--tile-bg: linear-gradient(150deg, #f8fafc 0%, #e2e8f0 55%, #cbd5f5 100%);--tile-color: #0f172a;--tile-body-color: rgba(15, 23, 42, .75);--tile-border: var(--border-soft);--tile-shadow: var(--shadow-soft)}[data-theme=dark] .tile-accent-slate{--tile-bg: linear-gradient(150deg, rgba(30, 41, 59, .8), rgba(15, 23, 42, .9));--tile-color: #f1f5f9;--tile-body-color: rgba(226, 232, 240, .85);--tile-border: rgba(148, 163, 184, .4)}.archived-card{--tile-bg: var(--bg-soft);--tile-color: var(--text-secondary);--tile-body-color: var(--text-secondary);--tile-border: var(--border-soft);--tile-shadow: none;opacity:.85}[data-theme=dark] .archived-card{--tile-bg: rgba(15, 23, 42, .7);--tile-color: rgba(148, 163, 184, .95);--tile-body-color: rgba(148, 163, 184, .85);--tile-border: rgba(148, 163, 184, .35)}.cta-button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;background:var(--button-primary-gradient);color:#fff;font-weight:600;letter-spacing:.05em;border:none;border-radius:9999px;padding:1rem 2.75rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--cta-shadow)}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--cta-shadow-hover)}.tile-button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;background:var(--button-secondary-gradient);color:#fff;font-weight:600;letter-spacing:.05em;border:none;border-radius:9999px;padding:1rem 2.75rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--cta-shadow)}.tile-button:hover{transform:translateY(-2px);box-shadow:var(--cta-shadow-hover)}.tile-button.is-link{text-decoration:none}.archive-panel{width:100%;margin-top:3rem;padding:0 1.5rem 3rem}.archive-inner{margin:0 auto;width:min(64rem,100%);text-align:center}.archive-intro{margin:0 auto;max-width:38rem;color:var(--text-secondary)}.archive-list{margin:2rem auto 0;padding:0;list-style:none;width:min(48rem,100%);display:grid;gap:1rem}.archive-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg-soft);border-radius:1rem;padding:1.25rem 1.5rem;border:1px solid var(--border-soft)}.archive-title{font-weight:600;color:var(--text-primary)}.archive-actions{display:flex;gap:.75rem}.archive-button{padding:.75rem 2rem;font-size:.85rem}.cta-secondary{display:inline-flex;justify-content:center;margin-top:1.5rem;color:var(--link-color);font-weight:600}.cta-secondary:hover{text-decoration:underline}.footer{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop-color);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal-card{background:var(--card-bg);border-radius:1.25rem;padding:2rem;width:min(24rem,100%);box-shadow:var(--shadow-strong);text-align:left}.modal-card h2{font-size:1.5rem;margin-bottom:.75rem;color:var(--text-primary)}.modal-card p{color:var(--text-secondary);margin-bottom:0}.modal-form{margin-top:1rem;display:grid;gap:1rem}.password-input{width:100%;border:1px solid var(--input-border-strong);border-radius:.85rem;padding:.75rem 1rem;font-size:1rem;background:var(--input-bg)}.password-input:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 3px var(--focus-ring-color);background:var(--card-bg)}.modal-error{margin:0;color:var(--danger-color)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-cancel,.modal-confirm{border:none;border-radius:999px;padding:.6rem 1.4rem;font-weight:600;cursor:pointer}.modal-cancel{background:var(--border-soft);color:var(--text-primary)}.modal-confirm{background:var(--link-color);color:#fff}.modal-cancel:hover{background:var(--border-strong)}.modal-confirm:hover{background:var(--link-hover)}.auth-shell{min-height:100vh;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--info-color) 32%,transparent) 0%,transparent 45%),radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--success-color) 28%,transparent) 0%,transparent 42%),var(--bg-canvas);display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;color:var(--text-primary)}.auth-card{background:var(--card-bg);border-radius:1.5rem;padding:2.5rem;width:min(420px,100%);box-shadow:var(--shadow-strong);text-align:left}.auth-card h1{font-size:1.9rem;margin-bottom:.5rem;color:var(--text-primary)}.auth-card p{margin:0 0 1.25rem;color:var(--text-secondary)}.auth-form{display:grid;gap:1.25rem}.auth-form label{display:grid;gap:.35rem;font-size:.95rem;color:var(--text-secondary)}.auth-form input{border-radius:.85rem;border:1px solid var(--input-border-strong);padding:.75rem 1rem;font-size:1rem;background:var(--input-bg);color:inherit}.auth-form input:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 3px var(--focus-ring-color);background:var(--card-bg)}.auth-error{margin:0;color:var(--danger-color);font-weight:600}.auth-form button{margin-top:.5rem;border:none;border-radius:999px;padding:.9rem 1.5rem;font-weight:600;font-size:1rem;text-transform:uppercase;color:#fff;background:var(--button-primary-gradient);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--cta-shadow)}.auth-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--cta-shadow-hover)}.auth-form button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.auth-loading{min-height:50vh;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-primary)}.auth-language-switcher{display:flex;gap:.25rem;margin-bottom:1.5rem}.auth-language-button{border:1px solid var(--border-soft);border-radius:999px;padding:.3rem .85rem;background:transparent;color:var(--text-muted);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;font-family:inherit}.auth-language-button:hover:not(.is-active){border-color:var(--link-color);color:var(--text-primary)}.auth-language-button.is-active{background:var(--link-color);border-color:var(--link-color);color:#fff}.page-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--info-color) 24%,transparent) 0%,transparent 45%),radial-gradient(circle at 90% 0,color-mix(in srgb,var(--warning-color) 18%,transparent) 0%,transparent 40%),var(--bg-canvas);color:var(--text-primary)}.page-shell header{padding:2rem 1.5rem 1rem;text-align:center}.page-shell header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.page-shell header p{color:var(--text-secondary)}.overview-link{display:inline-flex;margin-top:.75rem;color:var(--link-color);font-weight:600}.overview-link:hover{text-decoration:underline}.form-wrapper{flex:1;width:min(720px,92vw);margin:0 auto 3rem;background:var(--card-bg);box-shadow:var(--shadow-medium);border-radius:1.75rem;padding:2.75rem 2.5rem}.form-grid{display:grid;gap:1.75rem}.form-group label{display:block;font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.group-label{font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.checkbox-group{display:grid;gap:.5rem;max-height:14rem;overflow-y:auto;padding-right:.35rem}.checkbox-group::-webkit-scrollbar{width:.4rem}.checkbox-group::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.checkbox-option{display:flex;align-items:center;gap:.25rem;padding:.65rem .85rem;border-radius:.75rem;border:1px solid transparent;background:var(--bg-soft);transition:border-color .12s ease,background-color .12s ease}.checkbox-option input{accent-color:var(--link-color)}.checkbox-option-label{flex:1;padding-left:5px}.response-indicator{display:inline-flex;align-items:center}.response-indicator-icon{width:1.25rem;height:1.25rem}.checkbox-option:hover{border-color:var(--border-strong);background:var(--info-surface)}.text-input,.select-input,.textarea-input{width:100%;border:1px solid var(--input-border);border-radius:.85rem;padding:.85rem 1rem;font-size:1rem;background:var(--input-bg);min-height:3.1rem;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease;color:inherit}.textarea-input{resize:vertical;min-height:6.5rem;line-height:1.5}.text-input:focus,.select-input:focus,.textarea-input:focus{border-color:var(--link-color);background:var(--card-bg);box-shadow:0 0 0 3px var(--focus-ring-color);outline:none}.radio-group{display:grid;gap:.5rem}.radio-option{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:.75rem;border:1px solid transparent;background:var(--bg-soft);transition:border-color .12s ease,background-color .12s ease}.radio-option input{accent-color:var(--link-color);margin-right:5px}.radio-option:hover{border-color:var(--border-strong);background:var(--info-surface)}.actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;margin-top:2.5rem}.submit-button{background:var(--button-primary-gradient);color:#fff;border:none;border-radius:9999px;padding:.95rem 2.75rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--cta-shadow)}.submit-button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none}.feedback{flex:1;color:var(--text-primary);font-weight:500}.back-link{color:var(--text-secondary);font-weight:600}.error-text{color:var(--danger-color)}.success-text{color:var(--success-color)}@media (max-width: 720px){.form-wrapper{padding:2rem 1.5rem}.actions-row{flex-direction:column;align-items:stretch}.submit-button{width:100%;justify-content:center}}.summary-shell{min-height:100vh;background:radial-gradient(circle at 15% 5%,color-mix(in srgb,var(--info-color) 22%,transparent) 0%,transparent 40%),radial-gradient(circle at 80% -10%,color-mix(in srgb,var(--success-color) 18%,transparent) 0%,transparent 38%),var(--bg-canvas);display:flex;flex-direction:column;color:var(--text-primary)}.summary-header{padding:2rem 1.5rem 1rem;text-align:center}.summary-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.summary-header p{color:var(--text-secondary)}.summary-nav{margin-top:1rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.summary-link{color:var(--link-color);font-weight:600}.summary-wrapper{flex:1;width:min(900px,94vw);margin:0 auto 3rem;display:grid;gap:1.5rem}.summary-stats{background:color-mix(in srgb,var(--info-color) 75%,var(--link-hover) 25%);color:#fff;padding:1.5rem;border-radius:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.summary-stats span{font-weight:600}.aggregate-card{background:var(--card-bg);border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-medium)}.aggregate-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--text-primary)}.aggregate-header h2{font-size:1.5rem;font-weight:700}.aggregate-header span{font-size:.9rem;color:var(--text-secondary)}.aggregate-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.aggregate-grid h3{font-size:1.05rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.aggregate-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;color:var(--text-secondary)}.aggregate-empty{color:var(--text-muted);margin:0}.summary-card{background:var(--card-bg);border-radius:1.5rem;padding:2rem;box-shadow:var(--shadow-medium)}.summary-card header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem}.summary-card h2{font-size:1.5rem;font-weight:700}.summary-card time{font-size:.9rem;color:var(--text-secondary)}.summary-grid{display:grid;gap:1rem}.summary-grid dt{font-weight:600;color:var(--text-primary)}.summary-grid dd{margin:0;color:var(--text-secondary)}.empty-state,.error-state,.loading-state{padding:2rem;text-align:center;color:var(--text-secondary)}.error-state{color:var(--danger-color)}@media (max-width: 640px){.summary-card{padding:1.5rem}.summary-stats{flex-direction:column;align-items:flex-start}.aggregate-card{padding:1.5rem}}.ski-shell{min-height:100vh;background:radial-gradient(circle at 10% 5%,color-mix(in srgb,var(--info-color) 28%,transparent) 0%,transparent 45%),radial-gradient(circle at 85% -5%,color-mix(in srgb,var(--success-color) 24%,transparent) 0%,transparent 40%),var(--bg-canvas);display:flex;flex-direction:column;color:var(--text-primary)}.ski-header{padding:2.25rem 1.5rem 1.25rem;text-align:center}.ski-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.ski-header p{color:var(--text-secondary);margin-bottom:1rem}.ski-nav{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.ski-link{color:var(--link-color);font-weight:600}.ski-link:hover{text-decoration:underline}.ski-grid{flex:1;width:min(1040px,94vw);margin:0 auto 3.5rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-auto-rows:minmax(260px,auto);align-items:start}.ski-tile{background:var(--card-bg);border-radius:1.75rem;padding:2.25rem 2rem;box-shadow:var(--shadow-medium);display:grid;gap:1rem;min-height:260px}.ski-tile h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.countdown-tile{background:linear-gradient(165deg,#dcfce7,#bbf7d0)}.schedule-tile{background:linear-gradient(180deg,#3b82f61a,#1e40af26)}.schedule-list{list-style:none;padding:0;margin:0;display:grid;gap:1.25rem}.schedule-list li{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;align-items:start}.schedule-date{background:color-mix(in srgb,var(--info-color) 25%,transparent);color:color-mix(in srgb,var(--info-color) 80%,#0b1a3a);font-weight:700;padding:.45rem .8rem;border-radius:999px;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}.schedule-title{margin:0;font-weight:600;color:var(--text-primary)}.schedule-detail{margin:.125rem 0 0;color:var(--text-secondary)}.schedule-detail:first-of-type{margin-top:0}.webcam-tile{background:linear-gradient(165deg,#67e8f966,#0ea5e959)}.weather-tile{background:linear-gradient(160deg,#fee2e2,#fecaca,#fef2f2)}.wide-tile{grid-column:1 / -1}.countdown-number{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:var(--success-color);margin:0}.countdown-note{margin:0;color:color-mix(in srgb,var(--success-color) 70%,#064e3b)}.resource-tile p,.finance-tile p{color:var(--text-secondary);margin:0}.sheet-link{display:inline-flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:var(--link-color);color:#fff;border-radius:999px;font-weight:600;width:fit-content}.sheet-link:hover{background:var(--link-hover)}.sheet-link svg{width:1.5rem;height:1.5rem}.placeholder-note{margin:0;font-size:.9rem;color:var(--text-muted)}.prepayment-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.prepayment-item{background:var(--bg-soft);border-radius:1rem;padding:1rem 1.25rem;border:1px solid var(--border-soft)}.prepayment-item div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.prepayment-name{font-weight:600;color:var(--text-primary)}.prepayment-amount{font-weight:600;color:var(--link-color)}.prepayment-note{margin:.5rem 0 0;color:var(--text-secondary)}.tile-link{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.75rem;border-radius:999px;background:color-mix(in srgb,var(--link-color) 65%,#0f766e 35%);color:var(--text-inverse);font-weight:600;width:fit-content}.tile-link:hover{background:color-mix(in srgb,var(--link-hover) 70%,#08344f 30%)}.helper-text{margin:0;color:var(--text-primary);font-size:.95rem}.weather-grid{display:grid;gap:.35rem}.weather-value{font-size:clamp(2.25rem,4vw,3rem);font-weight:700;color:var(--danger-color);margin:0}.weather-value span{font-size:1.5rem;margin-left:.25rem}.weather-label{margin:0;font-weight:600;color:color-mix(in srgb,var(--danger-color) 70%,black 20%)}.weather-meta{margin:0;color:color-mix(in srgb,var(--danger-color) 60%,black 20%);font-size:.95rem}.weather-error{margin:0;color:var(--danger-color);font-weight:600}@media (max-width: 640px){.ski-tile{padding:1.75rem 1.5rem}.wide-tile{grid-column:auto}.schedule-list li{grid-template-columns:1fr;gap:.35rem}}.admin-shell{min-height:100vh;background:var(--bg-canvas);color:var(--text-primary);display:flex;flex-direction:column}.admin-header{padding:2.5rem 2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.admin-kicker{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:var(--text-muted)}.admin-header h1{margin:.25rem 0;font-size:2rem;color:var(--text-primary)}.admin-header p{margin:0;color:var(--text-secondary)}.admin-signout{border:none;border-radius:999px;padding:.75rem 1.5rem;font-weight:600;background:var(--text-primary);color:var(--text-inverse);cursor:pointer}.admin-main{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.75rem;padding:0 2rem 3rem}.admin-panel{background:var(--card-bg);border-radius:1.5rem;padding:1.75rem;box-shadow:var(--shadow-soft)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.panel-heading h2{margin:0;font-size:1.4rem}.panel-action{border:none;border-radius:.85rem;padding:.65rem 1.25rem;font-weight:600;background:var(--link-color);color:#fff;cursor:pointer}.panel-error{margin:0 0 1rem;color:var(--danger-color);font-weight:600}.panel-feedback{margin:0 0 1rem;color:var(--success-color);font-weight:600}.tile-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;max-height:480px;overflow:auto}.tile-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border-soft);border-radius:1rem;background:var(--bg-soft)}.tile-title{margin:0;font-weight:600;color:var(--text-primary)}.tile-meta{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem}.tile-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tile-actions button{border:none;border-radius:.75rem;padding:.45rem .9rem;font-weight:600;background:var(--border-soft);color:var(--text-primary);cursor:pointer}.tile-actions button:hover{background:var(--border-strong)}.form-panel{min-width:0}.tile-form{display:grid;gap:1.25rem}.accent-fieldset{border:1px solid var(--border-soft);border-radius:1.25rem;padding:1.25rem;display:grid;gap:1rem}.accent-fieldset legend{font-weight:600;padding:0 .35rem}.accent-options{display:grid;gap:.75rem}@media (min-width: 720px){.accent-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.accent-option{position:relative;border:1px solid var(--border-soft);border-radius:1rem;padding:.85rem 1rem;display:flex;gap:.9rem;align-items:center;background:var(--bg-soft);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.accent-option.is-selected{border-color:var(--link-color);box-shadow:0 0 0 2px var(--focus-ring-color);transform:translateY(-1px)}.accent-option input{position:absolute;opacity:0;pointer-events:none}.accent-preview{width:3.5rem;height:3.5rem;border-radius:.85rem;border:1px solid var(--tile-border, transparent);background:var(--tile-bg);box-shadow:var(--tile-shadow, var(--shadow-soft))}.accent-copy{display:grid;gap:.15rem}.accent-copy strong{font-size:.95rem;color:var(--text-primary)}.accent-copy small{font-size:.8rem;color:var(--text-secondary)}.tile-form label,.tile-form fieldset{display:flex;flex-direction:column;gap:.35rem}.tile-form input,.tile-form textarea,.tile-form select{border-radius:.85rem;border:1px solid var(--input-border-strong);padding:.75rem .9rem;font-size:1rem;background:var(--input-bg);color:inherit}.tile-form textarea{resize:vertical}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.checkbox{flex-direction:row;align-items:center;gap:.5rem}.toggles{gap:.75rem}.form-actions{display:flex;gap:1rem;flex-wrap:wrap}.form-actions button{border:none;border-radius:999px;padding:.85rem 1.5rem;font-weight:600;cursor:pointer}.form-actions button[type=submit]{background:var(--button-primary-gradient);color:#fff}.form-actions button.secondary{background:var(--border-soft);color:var(--text-primary)}@media (max-width: 640px){.admin-header,.tile-row{flex-direction:column;align-items:flex-start}.tile-actions{width:100%}}.steps-shell{min-height:100vh;background:var(--bg-canvas);display:flex;flex-direction:column;color:var(--text-primary)}.steps-header{padding:2.25rem 1.5rem 1.25rem;text-align:center}.steps-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.steps-header p{color:var(--text-secondary);margin-bottom:1rem}.steps-nav{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.steps-link{color:var(--link-color);font-weight:600}.steps-link.steps-link-button{background:transparent;border:0;padding:0;font:inherit;cursor:pointer}.steps-link:hover{text-decoration:underline}.steps-wrapper{flex:1;width:min(1040px,94vw);margin:0 auto 3.5rem;display:grid;gap:1.75rem}.steps-section{background:var(--card-bg);border-radius:1.75rem;padding:2rem;box-shadow:var(--shadow-medium)}.steps-dashboard-actions{margin-top:1.25rem;display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.steps-details-anchor{scroll-margin-top:1rem}.steps-dashboard{position:relative;overflow:hidden;width:99vw;height:100vh;margin-bottom:20px;box-sizing:content-box}.steps-tile.steps-tile-dashboard.is-active{border-color:color-mix(in srgb,var(--link-color) 35%,var(--border-soft));background:linear-gradient(90deg,color-mix(in srgb,var(--link-color) 14%,transparent),var(--bg-soft))}.steps-personal{display:grid;gap:1rem}.steps-personal-top{display:flex;gap:.6rem;flex-wrap:wrap}.steps-personal-pill{padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 70%,transparent);color:var(--text-secondary);font-weight:700;font-size:.95rem}.steps-personal-main{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}@media (min-width: 520px){.steps-personal-main{grid-template-columns:1.1fr .9fr}}.steps-personal-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.85rem;font-weight:800}.steps-personal-steps{font-weight:900;font-size:clamp(2.2rem,3.6vw,3rem);margin-top:.25rem}.steps-personal-sub{color:var(--text-secondary)}.steps-personal-note{margin-top:.6rem;color:var(--text-secondary);font-size:.95rem}.steps-personal-ring{position:relative;width:min(160px,48vw);aspect-ratio:1;margin-left:auto;margin-right:auto}.steps-ring{width:100%;height:100%;transform:rotate(-90deg)}.steps-ring-track{fill:none;stroke:color-mix(in srgb,var(--border-soft) 80%,transparent);stroke-width:10}.steps-ring-progress{fill:none;stroke:var(--link-color);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .26s ease}.steps-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.steps-ring-pct{font-weight:900;font-size:1.5rem}.steps-ring-sub{color:var(--text-secondary);font-weight:700}.steps-personal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.steps-action{border-radius:999px;border:1px solid var(--border-soft);padding:.55rem .9rem;background:color-mix(in srgb,var(--card-bg) 70%,transparent);color:var(--text-primary);font-weight:800;cursor:pointer}.steps-action:disabled{opacity:.6;cursor:not-allowed}.steps-personal-status{border-radius:1rem;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 70%,transparent);padding:.75rem .9rem;color:var(--text-secondary);display:grid;gap:.35rem}.steps-dashboard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--link-color) 22%,transparent),transparent 55%),radial-gradient(circle at 82% 0%,color-mix(in srgb,var(--border-soft) 35%,transparent),transparent 52%);pointer-events:none}.steps-dashboard>*{position:relative}.steps-dashboard-grid{display:grid;gap:1rem}@media (min-width: 820px){.steps-dashboard-grid{grid-template-columns:1.15fr .85fr;align-items:start}}.steps-dashboard-card{background:var(--bg-soft);border-radius:1.25rem;border:1px solid var(--border-soft);padding:1.25rem 1.35rem;display:grid;gap:1rem}.steps-dashboard-card-header{display:grid;gap:.25rem}.steps-dashboard-card-header h3{margin:0;font-size:1.1rem;font-weight:800}.steps-dashboard-card-header p{margin:0;color:var(--text-secondary)}.steps-race{display:grid;gap:.75rem;max-height:420px;overflow:auto;padding-right:.25rem}.steps-race-row{position:relative;border-radius:1.25rem;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 60%,transparent);overflow:hidden}.steps-race-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent, var(--link-color)) 22%,transparent),transparent);pointer-events:none}.steps-race-row.is-active{border-color:color-mix(in srgb,var(--link-color) 35%,var(--border-soft))}.steps-race-main{position:relative;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.steps-race-left{display:inline-flex;align-items:center;gap:.85rem;min-width:0}.steps-race-rank{width:34px;height:34px;border-radius:999px;display:grid;place-content:center;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 78%,transparent);color:var(--text-secondary);font-weight:900;flex:0 0 auto}.steps-race-name{display:inline-flex;align-items:center;gap:.55rem;font-weight:800;color:var(--text-primary);min-width:0}.steps-race-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.steps-race-right{display:inline-flex;align-items:center;gap:.75rem;flex:0 0 auto}.steps-race-steps{font-weight:900;font-variant-numeric:tabular-nums}.steps-poke{border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 70%,transparent);color:var(--text-primary);font-weight:800;padding:.35rem .7rem;cursor:pointer}.steps-poke:disabled{opacity:.6;cursor:not-allowed}.steps-race-spark{position:relative;padding:0 1rem .9rem;opacity:.9}@media (max-width: 520px){.steps-race-spark{display:none}}.steps-team-pulse{display:grid;gap:.75rem;padding-top:.25rem}@media (min-width: 820px){.steps-team-pulse{grid-template-columns:1fr 1fr;align-items:center}}.steps-team-pulse-left{display:grid;gap:.5rem}.steps-team-pill{border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 70%,transparent);padding:.45rem .75rem;color:var(--text-secondary);font-weight:700}.steps-team-pill strong{color:var(--text-primary);font-weight:900}.steps-team-pulse-right{display:grid;gap:.4rem}.steps-team-spark-title{color:var(--text-secondary);font-weight:800}.steps-dashboard-tiles{display:flex;gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}.steps-dashboard-tiles::-webkit-scrollbar{height:10px}.steps-dashboard-tiles::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border-soft) 85%,transparent);border-radius:999px}.steps-tile.steps-tile-dashboard{min-width:210px;flex:0 0 auto;scroll-snap-align:start}@media (min-width: 820px){.steps-dashboard-tiles{display:grid;overflow:visible;padding-bottom:0;scroll-snap-type:none;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.steps-tile.steps-tile-dashboard{min-width:0}}.steps-tile-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.steps-tile-rank{display:inline-flex;align-items:center;justify-content:center;padding:.12rem .6rem;border-radius:999px;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 75%,transparent);color:var(--text-secondary);font-weight:800;font-size:.9rem;white-space:nowrap}.steps-dashboard-highlights-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.steps-dashboard-highlights-stack{display:grid;gap:1rem}.steps-dashboard-divider{height:1px;background:color-mix(in srgb,var(--border-soft) 65%,transparent)}.steps-highlight{border-radius:1rem;border:1px solid var(--border-soft);background:color-mix(in srgb,var(--card-bg) 70%,transparent);padding:.9rem .95rem;display:grid;gap:.35rem}.steps-highlight-title{font-weight:800;color:var(--text-primary)}.steps-highlight-value{font-weight:900;font-size:1.15rem}.steps-highlight-meta{color:var(--text-secondary);font-size:.95rem}.steps-section-header{display:grid;gap:.25rem;margin-bottom:1.25rem}.steps-section-header h2{font-size:1.5rem;font-weight:700;margin:0}.steps-section-header p{margin:0;color:var(--text-secondary)}.steps-state{padding:1rem 1.25rem;border-radius:1rem;background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-secondary)}.steps-state.steps-error{color:var(--danger-color);background:var(--error-surface)}.steps-tiles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.steps-tile{background:var(--bg-soft);border-radius:1.25rem;padding:1.25rem 1.35rem;border:1px solid var(--border-soft);border-top-width:4px;display:grid;gap:.25rem}.steps-tile-label{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;color:var(--text-muted)}.steps-tile-value{margin:0;font-weight:800;font-size:clamp(1.8rem,2.8vw,2.25rem)}.steps-tile-meta{margin:0;color:var(--text-secondary)}.steps-stats-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.steps-stat-card{background:var(--bg-soft);border-radius:1.25rem;padding:1.25rem 1.35rem;border:1px solid var(--border-soft);display:grid;gap:.5rem}.steps-stat-value{margin:0;font-weight:800;font-size:1.4rem}.steps-stat-meta{margin:0;color:var(--text-secondary)}.steps-route{position:relative;height:14px;border-radius:999px;background:color-mix(in srgb,var(--border-soft) 65%,transparent);overflow:hidden;border:1px solid var(--border-soft)}.steps-route-line{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--link-color) 18%,transparent),transparent)}.steps-route-fill{position:absolute;left:0;top:0;bottom:0;background:var(--button-primary-gradient)}.steps-route-marker{position:absolute;top:50%;width:12px;height:12px;border-radius:999px;transform:translate(-50%,-50%);background:var(--card-bg);border:2px solid var(--link-color);box-shadow:var(--shadow-soft)}.steps-route-start{left:2px;transform:translateY(-50%)}.steps-route-end{left:calc(100% - 2px);transform:translate(-100%,-50%)}.steps-charts{display:grid;gap:1.75rem}.steps-leaderboard{display:grid;gap:1rem}.steps-leader-row{background:var(--bg-soft);border-radius:1.25rem;border:1px solid var(--border-soft);padding:1.1rem 1.25rem;display:grid;grid-template-columns:1fr;gap:.75rem}.steps-leader-main{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.steps-leader-title{display:inline-flex;align-items:baseline;gap:.6rem}.steps-leader-dot{width:10px;height:10px;border-radius:999px;background:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-soft) 55%,transparent);flex:0 0 auto;transform:translateY(1px)}.steps-leader-rank{font-weight:800;color:var(--text-primary)}.steps-leader-name{font-weight:700;color:var(--text-primary)}.steps-leader-metrics{display:inline-flex;align-items:baseline;gap:.35rem}.steps-leader-steps{font-weight:800;color:var(--text-primary)}.steps-leader-unit{color:var(--text-secondary);font-weight:600}.steps-leader-bar{height:12px;border-radius:999px;background:color-mix(in srgb,var(--border-soft) 55%,transparent);overflow:hidden;border:1px solid var(--border-soft)}.steps-leader-bar-fill{height:100%;background:var(--button-primary-gradient)}.steps-leader-spark{display:flex;justify-content:flex-end}.steps-sparkline{width:120px;height:34px;border-radius:10px;background:var(--card-bg);border:1px solid var(--border-soft)}.steps-sparkline-line{fill:none;stroke:var(--link-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.steps-sparkline-empty{width:120px;height:34px;border-radius:10px;background:var(--card-bg);border:1px dashed var(--border-soft)}.steps-period-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.steps-period-card{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:1.25rem;padding:1.25rem 1.35rem;display:grid;gap:.9rem}.steps-period-card h3{margin:0;font-size:1.1rem;font-weight:800;color:var(--text-primary)}.steps-period-list{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}.steps-period-row{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:.8rem;align-items:start}.steps-period-name{font-weight:800;color:var(--text-primary);display:inline-flex;align-items:baseline;gap:.5rem}.steps-period-values{display:grid;gap:.15rem}.steps-period-total{font-weight:800;color:var(--text-primary)}.steps-period-meta{color:var(--text-secondary);font-size:.95rem}.steps-chart-card{background:var(--card-bg);border-radius:1.75rem;padding:2rem;box-shadow:var(--shadow-medium);display:grid;gap:1.25rem}.steps-chart-header{display:grid;gap:.35rem}.steps-chart-header h2{margin:0;font-size:1.5rem}.steps-chart-subtitle{margin:0;color:var(--text-secondary);font-size:.95rem}.steps-chart-scroll{overflow-x:auto;padding-bottom:.25rem}.steps-chart{width:100%;min-width:720px;height:auto;display:block}.steps-chart-plot{fill:var(--bg-soft);stroke:var(--border-soft);stroke-width:2}.steps-chart-grid{stroke:color-mix(in srgb,var(--border-soft) 70%,transparent);stroke-width:1}.steps-chart-threshold{stroke:color-mix(in srgb,var(--text-secondary) 70%,transparent);stroke-width:2;stroke-dasharray:6 6}.steps-chart-threshold-label{fill:var(--text-secondary);font-size:13px;font-weight:700}.steps-monthly-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.steps-monthly-card{background:var(--bg-soft);border-radius:1.25rem;padding:1.25rem 1.35rem;border:1px solid var(--border-soft);display:grid;gap:.75rem}.steps-monthly-card.is-wide{grid-column:1 / -1}.steps-monthly-card h3{margin:0;font-size:1.1rem}.steps-monthly-subtitle{margin:0;color:var(--text-secondary)}.steps-podium{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.steps-podium-slot{border-radius:1.25rem;border:2px solid var(--border-soft);padding:.9rem 1rem;background:color-mix(in srgb,var(--card-bg) 60%,transparent);display:grid;gap:.25rem;min-height:120px}.steps-podium-slot.is-second{min-height:132px}.steps-podium-slot.is-third{min-height:120px}.steps-podium-slot.is-first{min-height:162px}.steps-podium-rank{font-weight:900;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem}.steps-podium-medal{font-size:1.05rem;line-height:1}.steps-podium-name{font-weight:900;font-size:1.05rem}.steps-podium-score{color:var(--text-secondary);font-weight:700}.steps-goal-block{display:grid;gap:.5rem;padding:.75rem .85rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--border-soft) 65%,transparent);background:color-mix(in srgb,var(--card-bg) 55%,transparent)}.steps-goal-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.steps-goal-title{font-weight:800;color:var(--text-primary)}.steps-goal-meta{color:var(--text-secondary);font-weight:700;font-size:.95rem}.steps-goal-bar{height:12px;border-radius:999px;background:color-mix(in srgb,var(--border-soft) 65%,transparent);overflow:hidden;border:1px solid var(--border-soft)}.steps-goal-bar-fill{height:100%;width:0;background:var(--button-primary-gradient)}.steps-goal-list{display:grid;gap:.35rem}.steps-goal-row{display:flex;justify-content:space-between;gap:.75rem}.steps-goal-person{font-weight:800;display:inline-flex;align-items:baseline;gap:.5rem}.steps-member-dot{width:10px;height:10px;border-radius:999px;background:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-soft) 55%,transparent);flex:0 0 auto;transform:translateY(1px)}.steps-goal-footnote{margin:0;color:var(--text-secondary)}.steps-badges{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.steps-badge-section{margin-top:1rem}.steps-badges.steps-badges-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.steps-badge-showcase{border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);background:color-mix(in srgb,var(--card-bg) 55%,transparent);padding:.8rem .9rem;display:grid;gap:.55rem;margin-bottom:.8rem}.steps-badge-showcase-row{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:.75rem;align-items:center}.steps-badge-showcase-name{display:inline-flex;align-items:baseline;gap:.55rem;font-weight:900;color:var(--text-primary)}.steps-badge-showcase-count{font-size:.85rem;font-weight:900;color:var(--text-muted);border:1px solid color-mix(in srgb,var(--border-soft) 75%,transparent);background:color-mix(in srgb,var(--card-bg) 70%,transparent);padding:.05rem .45rem;border-radius:999px}.steps-badge-showcase-icons{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.steps-badge-showcase-empty{color:var(--text-muted);font-weight:800}.steps-mini-badge{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);background:color-mix(in srgb,var(--card-bg) 70%,transparent);font-size:16px;line-height:1}.steps-mini-badge.is-daily{box-shadow:0 0 0 2px color-mix(in srgb,var(--link-color) 18%,transparent)}.steps-mini-badge.is-weekly{box-shadow:0 0 0 2px color-mix(in srgb,var(--button-primary-gradient) 18%,transparent)}.steps-mini-badge.is-monthly{box-shadow:0 0 0 2px color-mix(in srgb,var(--border-soft) 60%,transparent)}.steps-badge{border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);background:color-mix(in srgb,var(--card-bg) 55%,transparent);padding:.9rem 1rem;display:grid;gap:.45rem;border-left-width:6px;border-left-color:var(--border-soft)}.steps-badge.is-compact{padding:.65rem .75rem;min-height:64px;align-content:center;overflow:hidden}.steps-badge-compact-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.steps-badge.is-compact .steps-badge-icon{flex:0 0 auto;width:30px;height:30px;border-radius:11px;font-size:16px}.steps-badge.is-compact .steps-badge-scope{flex:0 0 auto;white-space:nowrap}.steps-badge-compact-name{flex:1;min-width:0;font-weight:900;color:var(--text-primary);font-size:.92rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.steps-badge-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.steps-badge-title{font-weight:900;color:var(--text-primary);display:inline-flex;align-items:center;gap:.55rem}.steps-badge-scope{font-size:.75rem;font-weight:950;letter-spacing:.06em;padding:.1rem .45rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-soft) 75%,transparent);color:var(--text-secondary);background:color-mix(in srgb,var(--card-bg) 70%,transparent)}.steps-badge-scope.is-daily{color:color-mix(in srgb,var(--link-color) 80%,var(--text-primary));border-color:color-mix(in srgb,var(--link-color) 35%,var(--border-soft));background:color-mix(in srgb,var(--link-color) 10%,transparent)}.steps-badge-scope.is-weekly{color:color-mix(in srgb,var(--button-primary-gradient) 75%,var(--text-primary));border-color:color-mix(in srgb,var(--button-primary-gradient) 30%,var(--border-soft));background:color-mix(in srgb,var(--button-primary-gradient) 10%,transparent)}.steps-badge-scope.is-monthly{color:var(--text-secondary)}.steps-yesterday-hourly{margin-top:1rem}.steps-hourly-card{border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);background:color-mix(in srgb,var(--card-bg) 55%,transparent);padding:.75rem .85rem}.steps-hourly-scroll{overflow-x:auto;padding-bottom:.25rem}.steps-hourly-svg{width:100%;min-width:560px;height:auto;display:block}.steps-hourly-bg{fill:color-mix(in srgb,var(--card-bg) 70%,transparent);stroke:color-mix(in srgb,var(--border-soft) 70%,transparent)}.steps-hourly-band{fill:color-mix(in srgb,var(--border-soft) 10%,transparent)}.steps-hourly-hour{fill:var(--text-muted);font-size:11px;font-weight:800}.steps-hourly-name{fill:var(--text-secondary);font-size:12px;font-weight:900}.steps-hourly-note{margin:.5rem 0 0;color:var(--text-muted);font-size:.9rem;font-weight:700}.steps-badge-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--link-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);font-size:18px;line-height:1}.steps-badge-holders{display:inline-flex;align-items:baseline;gap:.6rem;color:var(--text-secondary);font-weight:700}.steps-badge-holder{display:inline-flex;align-items:baseline;gap:.4rem}.steps-badge-holder.is-empty{color:var(--text-muted)}.steps-badge-holder-name{color:var(--text-primary);font-weight:800}.steps-badge-detail{color:var(--text-secondary);font-weight:700}.steps-badge-hint{color:var(--text-muted);font-size:.9rem}.steps-inline-members{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.55rem}.steps-inline-member{display:inline-flex;align-items:baseline;gap:.45rem}.steps-inline-member-name{color:var(--text-primary);font-weight:800}.steps-inline-sep{color:var(--text-muted);font-weight:800}.steps-route-card{border-radius:1.1rem;border:1px solid color-mix(in srgb,var(--border-soft) 70%,transparent);background:color-mix(in srgb,var(--card-bg) 55%,transparent);padding:.75rem .85rem}.steps-route-svg{width:100%;height:auto;display:block}.steps-route-path{stroke:color-mix(in srgb,var(--border-soft) 80%,transparent);stroke-width:10;stroke-linecap:round}.steps-route-path.steps-route-path-progress{stroke:var(--link-color)}.steps-route-dot{fill:var(--card-bg);stroke:var(--border-soft);stroke-width:2}.steps-route-dot.is-reached{stroke:var(--link-color)}.steps-route-label{fill:var(--text-secondary);font-size:12px;font-weight:800}.steps-route-meta{margin:0;color:var(--text-secondary)}.steps-heatmap{display:grid;gap:.65rem}.steps-heatmap-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.steps-heatmap-weekday{color:var(--text-muted);font-weight:800;font-size:.85rem;text-align:center}.steps-heatmap-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.steps-heatmap-cell{position:relative;border-radius:.65rem;border:1px solid var(--border-soft);background:var(--bg-soft);min-height:42px;display:grid;place-items:center;overflow:hidden}.steps-heatmap-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--link-color);opacity:var(--heat, 0)}.steps-heatmap-cell.is-empty{border-style:dashed;background:transparent}.steps-heatmap-cell.is-future{opacity:.6}.steps-heatmap-day{position:relative;z-index:1;font-weight:900;color:var(--text-primary)}.steps-heatmap-legend{margin:0;color:var(--text-secondary);font-size:.95rem}.steps-chart-tick,.steps-chart-xlabel{fill:var(--text-secondary);font-size:12px}.steps-series{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.steps-series-point{fill:var(--card-bg);stroke-width:3}.series-0{stroke:var(--link-color)}.series-1{stroke:var(--text-primary)}.series-2{stroke:var(--text-secondary)}.series-3{stroke:var(--danger-color)}.steps-legend{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.steps-legend-item{display:inline-flex;align-items:center;gap:.6rem;color:var(--text-secondary)}.steps-legend-swatch{width:1.1rem;height:0;border-top-width:4px;border-top-style:solid;border-radius:999px}.steps-legend-label{font-weight:600;color:var(--text-primary)}.steps-footer{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.steps-admin-shell{min-height:100vh;background:var(--bg-canvas);display:flex;flex-direction:column;color:var(--text-primary)}.steps-admin-header{padding:2.25rem 1.5rem 1.25rem;text-align:center}.steps-admin-header h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem}.steps-admin-header p{color:var(--text-secondary);margin-bottom:1rem}.steps-admin-nav{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.steps-admin-link{color:var(--link-color);font-weight:600}.steps-admin-link:hover{text-decoration:underline}.steps-admin-main{flex:1;width:min(980px,94vw);margin:0 auto 3.5rem;display:grid;gap:1.75rem;grid-template-columns:1fr;align-items:start}@media (min-width: 900px){.steps-admin-main{grid-template-columns:minmax(0,1fr) minmax(0,340px)}}.steps-admin-card{background:var(--card-bg);border-radius:1.75rem;padding:2rem;box-shadow:var(--shadow-medium);display:grid;gap:1.25rem;min-width:0;overflow:hidden}.steps-admin-card-header{display:grid;gap:.35rem}.steps-admin-card-header h2{margin:0;font-size:1.5rem;font-weight:800}.steps-admin-card-header p{margin:0;color:var(--text-secondary)}.steps-admin-state{padding:1rem 1.25rem;border-radius:1rem;background:var(--bg-soft);border:1px solid var(--border-soft);color:var(--text-secondary)}.steps-admin-error{color:var(--danger-color);background:var(--error-surface)}.steps-admin-success{color:var(--success-color);background:color-mix(in srgb,var(--success-color) 10%,var(--bg-soft))}.steps-admin-form{display:grid;gap:1rem}.steps-admin-field{display:grid;gap:.35rem;min-width:0}.steps-admin-color-swatch{width:100%;height:10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-soft) 65%,transparent)}.steps-admin-label{font-weight:700;color:var(--text-primary)}.steps-admin-input{border:1px solid var(--border-soft);border-radius:.9rem;padding:.75rem .95rem;background:var(--bg-soft);color:var(--text-primary);font-size:1rem;width:100%;min-width:0;box-sizing:border-box}.steps-admin-input:focus{outline:none;border-color:var(--link-color);box-shadow:0 0 0 3px var(--focus-ring-color)}.steps-admin-textarea{min-height:120px;resize:vertical}.steps-admin-help{margin:.15rem 0 0;color:var(--text-secondary);font-size:.95rem}.steps-admin-divider{height:1px;background:var(--border-soft);margin:.35rem 0}.steps-admin-participants{display:grid;gap:.75rem}.steps-admin-participants-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.steps-admin-participants-grid{display:grid;gap:1rem}.steps-admin-participant-row{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:1.25rem;padding:1rem;display:grid;gap:.75rem;min-width:0}@media (min-width: 900px){.steps-admin-participant-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}.steps-admin-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem .25rem;color:var(--text-secondary);font-weight:700}.steps-admin-toggle input{width:18px;height:18px}.steps-admin-small{border:none;border-radius:.85rem;padding:.7rem 1.1rem;font-weight:800;background:var(--border-soft);color:var(--text-primary);cursor:pointer;height:fit-content}.steps-admin-small:hover{background:var(--border-strong)}.steps-admin-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.steps-admin-button{border:none;border-radius:999px;padding:.75rem 1.6rem;font-weight:700;cursor:pointer;background:var(--link-color);color:#fff}.steps-admin-button:disabled{opacity:.7;cursor:not-allowed}.steps-admin-notes{margin:0;padding-left:1.25rem;color:var(--text-secondary);display:grid;gap:.5rem}.steps-admin-footer{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.future-shell{--future-serif: "Lora", Georgia, "Times New Roman", serif;--future-ink: #1c1917;--future-ink-soft: #57534e;--future-muted: #78716c;--future-bg: #faf7f2;--future-bg-soft: #f0e8dd;--future-card: #fffcf9;--future-border: rgba(87, 60, 50, .09);--future-border-strong: rgba(87, 60, 50, .17);--future-accent: #bb6952;--future-accent-soft: rgba(187, 105, 82, .13);--future-sage: #7eaa8e;--future-sun: #e6c06a;--future-sky: #7a9fb8;--future-shadow-sm: 0 2px 8px rgba(28, 25, 23, .06);--future-shadow: 0 4px 20px rgba(28, 25, 23, .08), 0 1px 4px rgba(28, 25, 23, .04);--future-shadow-lg: 0 8px 36px rgba(28, 25, 23, .11), 0 2px 8px rgba(28, 25, 23, .05);color-scheme:light;min-height:100vh;background:radial-gradient(ellipse at 12% 0%,rgba(230,192,106,.24) 0%,transparent 52%),radial-gradient(ellipse at 88% 5%,rgba(122,159,184,.18) 0%,transparent 48%),radial-gradient(ellipse at 50% 96%,rgba(187,105,82,.08) 0%,transparent 48%),linear-gradient(175deg,var(--future-bg) 0%,#f5ede0 62%,#f0e4d3 100%);color:var(--future-ink);display:flex;flex-direction:column}@keyframes future-reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes future-badge-pulse{0%,to{box-shadow:0 0 #bb69524d,0 0 0 1px #bb695247}60%{box-shadow:0 0 0 6px #bb695200,0 0 0 1px #bb695247}}.future-header{padding:3.8rem 1.5rem 2.2rem;text-align:center;position:relative;overflow:hidden}.future-header:before{content:"";position:absolute;inset:-40% -20% auto -20%;height:20rem;background:radial-gradient(ellipse at 50% 58%,rgba(230,192,106,.48) 0%,transparent 60%),radial-gradient(ellipse at 62% 42%,rgba(126,170,142,.16) 0%,transparent 55%);pointer-events:none}.future-header h1{position:relative;margin:0;font-family:var(--future-serif);font-size:clamp(2.8rem,5.5vw,4rem);font-weight:700;font-style:italic;letter-spacing:.015em;color:var(--future-ink);line-height:1.05}.future-header-ornament{margin:.75rem auto .6rem;display:flex;align-items:center;justify-content:center;gap:.9rem;color:#bb695280;font-size:.65rem;-webkit-user-select:none;user-select:none}.future-header-ornament:before,.future-header-ornament:after{content:"";display:block;width:3.5rem;height:1px}.future-header-ornament:before{background:linear-gradient(to right,transparent,rgba(187,105,82,.4))}.future-header-ornament:after{background:linear-gradient(to left,transparent,rgba(187,105,82,.4))}.future-header p{margin:.4rem auto 0;color:var(--future-ink-soft);max-width:44rem;font-size:1rem;line-height:1.7}.future-language-switcher{margin-top:1.5rem;display:inline-flex;gap:.3rem;padding:.3rem;border-radius:999px;background:#fffcf9cc;border:1px solid var(--future-border);box-shadow:var(--future-shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.future-language-button{border:none;border-radius:999px;padding:.4rem .9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;background:transparent;color:var(--future-muted);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.future-language-button.is-active{background:var(--future-accent);color:#fff;transform:scale(1.05)}.future-language-button:hover:not(.is-active){background:var(--future-accent-soft);color:var(--future-ink)}.future-main{width:min(70rem,94vw);margin:0 auto 4.5rem;display:grid;gap:2.1rem;position:relative}@media (min-width: 760px){.future-main{padding-left:1.3rem}.future-main:before{content:"";position:absolute;left:.42rem;top:.5rem;bottom:.5rem;width:2px;border-radius:999px;background:linear-gradient(to bottom,transparent 0%,rgba(187,105,82,.22) 14%,rgba(126,170,142,.18) 54%,rgba(122,159,184,.15) 80%,transparent 100%);pointer-events:none}}.future-section{display:grid;gap:1.1rem;animation:future-reveal .68s cubic-bezier(.22,1,.36,1) both}.future-intro{display:grid;gap:1.35rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.future-intro-card{border-radius:2rem;padding:2.3rem 2.5rem;background:linear-gradient(150deg,#e6c06a29,#bb695217 42%,#fffcf9fc),var(--future-card);border:1px solid rgba(187,105,82,.16);box-shadow:var(--future-shadow-lg)}.future-intro-title{margin:.7rem 0 .85rem;font-family:var(--future-serif);font-size:clamp(1.5rem,2.6vw,1.95rem);font-weight:600;line-height:1.35;color:var(--future-ink)}.future-intro-body{margin:0 0 1.8rem;color:var(--future-ink-soft);line-height:1.9;font-size:.96rem}.future-intro-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.future-intro-actions .future-subscribe-btn{margin-left:auto}.future-ghost{border:1px solid rgba(187,105,82,.28);background:#fffcf9d9;color:var(--future-ink-soft);padding:.75rem 1.45rem;border-radius:999px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.future-ghost:disabled{opacity:.55;cursor:not-allowed}.future-ghost:hover:not(:disabled){transform:translateY(-2px);border-color:#bb69527a;box-shadow:0 8px 20px #bb695224}.future-intro-stats{display:grid;gap:.85rem;background:#fffcf9d1;border:1px solid var(--future-border);border-radius:1.8rem;padding:1.65rem;box-shadow:var(--future-shadow)}.future-stat{display:grid;gap:.2rem;padding:.8rem 1rem;border-radius:1.1rem;background:#e6c06a29}.future-stat:nth-child(2){background:#7eaa8e29}.future-stat:nth-child(3){background:#7a9fb829}.future-stat-label{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--future-muted);font-weight:700}.future-stat-value{margin:0;font-size:1.05rem;font-weight:700;color:var(--future-ink)}.future-section:nth-of-type(2){animation-delay:65ms}.future-section:nth-of-type(3){animation-delay:.13s}.future-section:nth-of-type(4){animation-delay:.2s}.future-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--future-border)}.future-section-header h2{margin:0;font-family:var(--future-serif);font-size:1.4rem;font-weight:600;font-style:italic;position:relative;padding-left:1.15rem}.future-section-header h2:before{content:"";position:absolute;left:0;top:.58em;width:.45rem;height:.45rem;border-radius:999px;background:#bb69528c;box-shadow:0 0 0 5px #bb695221}.future-glance{display:grid;gap:1.35rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.future-glance>.future-card:first-child{border-color:#e6c06a47;background:radial-gradient(ellipse at 20% 18%,rgba(230,192,106,.22) 0%,transparent 62%),linear-gradient(148deg,rgba(187,105,82,.09) 0%,transparent 52%),var(--future-card)}.future-glance>.future-card:first-child .future-card-title{letter-spacing:.01em}.future-card{background:var(--future-card);border-radius:1.75rem;padding:1.8rem 1.9rem;box-shadow:var(--future-shadow);border:1px solid var(--future-border)}.future-glance>.future-card:nth-child(3){background:radial-gradient(ellipse at 72% 20%,rgba(126,170,142,.18) 0%,transparent 60%),var(--future-card);border-color:#7eaa8e42}.future-glance>.future-card:nth-child(2){border-color:#7a9fb83d;background:radial-gradient(ellipse at 18% 22%,rgba(122,159,184,.16) 0%,transparent 60%),var(--future-card)}.future-card-soft{background:#f0e8dd99;border-color:transparent;box-shadow:none}.future-card-error{background:#fff8f6;border-color:#bb695252}.future-error-title{margin:0;font-weight:700;color:var(--future-accent)}.future-kicker{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:700;color:var(--future-muted)}.future-card-title{margin:.55rem 0 .35rem;font-family:var(--future-serif);font-size:1.3rem;font-weight:600;line-height:1.3;color:var(--future-ink)}.future-card-body{margin:0;color:var(--future-ink-soft);line-height:1.7}.future-muted{margin:0;color:var(--future-muted)}.future-cta{border:none;border-radius:999px;padding:.75rem 1.45rem;font-weight:600;font-size:.9rem;cursor:pointer;width:fit-content;background:linear-gradient(135deg,var(--future-accent) 0%,#cc7f68 50%,var(--future-sun) 100%);color:#fff;box-shadow:0 8px 24px #bb695247;transition:transform .18s ease,box-shadow .18s ease;letter-spacing:.01em}.future-cta:disabled{opacity:.55;cursor:not-allowed}.future-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 32px #bb69525c}.future-update-card{padding:2.2rem 2.4rem;position:relative;border-color:#bb695238;border-top:2px solid rgba(187,105,82,.45);box-shadow:0 0 0 1px #bb695217,var(--future-shadow-lg);background:radial-gradient(ellipse at 10% 18%,rgba(187,105,82,.09) 0%,transparent 54%),var(--future-card)}.future-entry-list{display:grid;gap:1.5rem}.future-entry-card{padding:1.9rem 2.1rem}.future-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.3rem}.future-entry-title{margin:.45rem 0 .2rem;font-family:var(--future-serif);font-size:1.4rem;font-weight:600;line-height:1.3;color:var(--future-ink)}.future-load-more{height:1px}.future-update-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px solid rgba(187,105,82,.16)}.future-update-title{margin:.6rem 0 .2rem;font-family:var(--future-serif);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;letter-spacing:.01em;line-height:1.2;color:var(--future-ink)}@keyframes future-shimmer-sweep{0%{background-position:200% center}to{background-position:-200% center}}@keyframes future-sparkle-float{0%{opacity:0;transform:translateY(0) scale(.5) rotate(0)}20%{opacity:1}80%{opacity:.7}to{opacity:0;transform:translateY(-1.75rem) scale(1.1) rotate(22deg)}}.future-update-title--special{position:relative;overflow:visible;background:linear-gradient(90deg,#bb6952,#cc8060 18%,#e6c06a 38%,#f2d899,#e6c06a 62%,#cc8060 82%,#bb6952);background-size:300% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:future-shimmer-sweep 10s linear infinite;filter:drop-shadow(3px 5px 5px rgba(230,192,106,.9))}.future-sparkle{position:absolute;pointer-events:none;-webkit-text-fill-color:currentColor;background:none;-webkit-background-clip:initial;background-clip:initial;line-height:1;animation:future-sparkle-float 3s ease-in-out infinite}.future-sparkle--1{color:#e6c06a;font-size:.72rem;top:.05em;left:-1.15rem;animation-delay:.2s}.future-sparkle--2{color:#bb6952d9;font-size:.5rem;top:.35em;right:-.85rem;animation-delay:1.35s}.future-sparkle--3{color:#e6c06a;font-size:.45rem;top:-.4em;right:28%;animation-delay:.75s}.future-sparkle--4{color:#e6c06a;font-size:.55rem;top:-.55em;left:18%;animation-delay:1.8s}.future-sparkle--5{color:#bb6952cc;font-size:.4rem;top:.75em;left:-.5rem;animation-delay:2.5s}.future-sparkle--6{color:#e6c06a;font-size:.6rem;top:-.3em;right:-1.2rem;animation-delay:.45s}.future-chapter-tag{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;color:var(--future-accent);background:#bb69521a;border:1px solid rgba(187,105,82,.22);margin-bottom:.7rem}.future-chapter-tag:before{content:"";width:.42rem;height:.42rem;border-radius:999px;background:currentColor;opacity:.7}.future-date{position:relative;padding-left:1rem;font-size:.88rem;color:var(--future-muted)}.future-date:before{content:"";position:absolute;left:0;top:.58em;width:.42rem;height:.42rem;border-radius:999px;background:#bb695261}.future-thumbs{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:1.1rem;padding-bottom:.4rem}.future-thumb-button{border:none;padding:0;background:transparent;cursor:pointer;display:block;transform-origin:bottom center;position:relative;transition:transform .24s cubic-bezier(.34,1.56,.64,1),filter .18s ease}.future-thumb-button:nth-child(odd){transform:rotate(-2deg)}.future-thumb-button:nth-child(2n){transform:rotate(1.5deg)}.future-thumb-button:nth-child(3n){transform:rotate(-.8deg)}.future-thumb-button:hover{transform:rotate(0) translateY(-5px) scale(1.05)!important;z-index:2;filter:brightness(1.03)}.future-thumb-button:focus-visible{outline:2px solid var(--future-accent);outline-offset:4px;border-radius:2px}.future-thumb{display:block;width:5.75rem;height:4.5rem;object-fit:cover;padding:5px 5px 20px;background:#fff;box-shadow:0 2px 6px #1c19172e,0 6px 20px #1c19171a,0 0 0 1px #1c19170f;box-sizing:content-box}.future-video-thumb-button{position:relative}.future-video-thumb-placeholder{background:var(--future-bg-soft);width:5.75rem;height:4.5rem;object-fit:cover;padding:5px 5px 20px;background-color:#e8e0d8;background-image:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);box-shadow:0 2px 6px #1c19172e,0 6px 20px #1c19171a,0 0 0 1px #1c19170f;box-sizing:content-box}.future-video-play-icon{position:absolute;top:calc(50% - 10px);left:50%;transform:translate(-50%,-50%);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#ffffffd1;border-radius:50%;font-size:.85rem;color:var(--future-accent, #bb6952);pointer-events:none;box-shadow:0 1px 4px #00000038;transition:background .18s ease,transform .18s ease}.future-video-thumb-button:hover .future-video-play-icon{background:#fffffff5;transform:translate(-50%,-50%) scale(1.12)}.future-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.3rem .72rem;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:var(--future-accent);background:#bb69521a;border:1px solid rgba(187,105,82,.28);animation:future-badge-pulse 2.8s ease-in-out infinite}.future-head-tags{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem}.future-category-tag{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-family:var(--future-sans, system-ui, sans-serif);white-space:nowrap}.future-category-tag--public{color:#94a3b8;background:#94a3b81a;border:1px solid rgba(148,163,184,.3)}.future-category-tag--friends{color:#60a5fa;background:#60a5fa1a;border:1px solid rgba(96,165,250,.3)}.future-category-tag--family{color:#f0b84b;background:#f0b84b1a;border:1px solid rgba(240,184,75,.3)}.future-category-tag--private{color:#bb6952;background:#bb69521a;border:1px solid rgba(187,105,82,.3)}.future-photos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1rem 0 1.25rem}@keyframes modal-entrance{0%{opacity:0;transform:scale(.93) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes image-swap-in{0%{opacity:0}to{opacity:1}}.future-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e0ac7;display:grid;place-items:center;padding:1.25rem;z-index:50;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:welcome-overlay-in .28s ease both}.future-modal{width:min(960px,96vw);max-height:92vh;background:var(--future-card);border:1px solid var(--future-border-strong);border-radius:2rem;box-shadow:0 40px 100px #0d090680,0 0 0 1px #fffcf912;position:relative;overflow:hidden;animation:modal-entrance .48s cubic-bezier(.22,1,.36,1) both}.future-modal-body{display:flex;flex-direction:column;gap:0;padding:1.15rem 1.15rem 0}.future-modal-frame{position:relative;line-height:0}.future-modal-image{width:100%;height:auto;display:block;max-height:68vh;object-fit:contain;background:var(--future-bg-soft);border-radius:1.25rem;box-shadow:inset 0 0 0 1px #bb695214;animation:image-swap-in .3s ease both}.future-modal-video{width:100%;height:auto;display:block;max-height:68vh;background:#000;border-radius:1.25rem;box-shadow:0 4px 24px #1c191747;animation:image-swap-in .3s ease both}.future-modal-close{position:absolute;top:1rem;right:1rem;z-index:5;border:1px solid var(--future-border);border-radius:999px;width:2.4rem;height:2.4rem;display:grid;place-items:center;font-size:1rem;line-height:1;background:#fffcf9d9;color:var(--future-ink);cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .16s ease,border-color .16s ease}.future-modal-close:hover{background:#fffcf9;border-color:var(--future-accent)}.future-modal-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:1px solid rgba(255,252,249,.22);border-radius:999px;width:2.8rem;height:2.8rem;display:grid;place-items:center;font-size:1.6rem;line-height:1;font-weight:300;background:#140e0a47;color:#fffcf98c;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .22s ease,background .18s ease,color .18s ease}.future-modal-frame:hover .future-modal-arrow:not(:disabled){opacity:1}.future-modal-arrow:hover:not(:disabled){background:#140e0a8c;color:#fffcf9;border-color:#fffcf973}.future-modal-arrow:disabled{opacity:0!important;cursor:default;pointer-events:none}.future-modal-arrow-left{left:.65rem}.future-modal-arrow-right{right:.65rem}.future-modal-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:.8rem .5rem 1.1rem}.future-modal-footer-left{display:flex;flex-direction:column;gap:.2rem;min-width:0}.future-modal-meta{margin:0;color:var(--future-muted);font-variant-numeric:tabular-nums;font-weight:700;font-size:.7rem;letter-spacing:.06em;white-space:nowrap;flex-shrink:0}.future-modal-meta-sep{display:inline-block;margin:0 .2em;opacity:.45}.future-modal-caption{margin:0;font-family:var(--future-serif);font-style:italic;color:var(--future-ink-soft);font-size:.93rem;line-height:1.55}.future-modal-loading{margin:0;color:var(--future-muted);font-size:.82rem;letter-spacing:.03em}.future-photo-caption{margin:0;color:var(--future-ink-soft);font-size:.95rem}@media (prefers-reduced-motion: reduce){.future-modal,.future-modal-overlay,.future-modal-image{animation:none}.future-modal-arrow{opacity:.6}}.future-markdown{display:grid;gap:.8rem}.future-markdown>:first-child{margin-top:0}.future-markdown p{margin:0;font-family:var(--future-serif);font-size:1.04rem;color:var(--future-ink-soft);line-height:1.88}.future-markdown p:first-of-type{color:var(--future-ink);font-size:1.08rem;line-height:1.9}.future-markdown a{color:var(--future-accent);font-weight:500;text-decoration:underline;text-decoration-color:#bb695259;text-underline-offset:3px}.future-markdown a:hover{text-decoration-color:#bb6952bf}.future-markdown h1,.future-markdown h2,.future-markdown h3{font-family:var(--future-serif);color:var(--future-ink);margin:.65rem 0 .15rem}.future-markdown ul,.future-markdown ol{margin:0;padding-left:1.5rem;font-family:var(--future-serif);color:var(--future-ink-soft)}.future-markdown li{margin:.2rem 0;line-height:1.75}.future-markdown strong{font-weight:600;color:var(--future-ink)}.future-markdown em{font-style:italic}.future-markdown hr{border:none;border-top:1px solid var(--future-border);margin:.5rem 0}.future-author-pair{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem}.future-author-pair .future-author{margin-top:0}.future-author{display:inline-flex;align-items:center;gap:.45rem;margin-top:.55rem;padding:.3rem .75rem .3rem .35rem;border-radius:999px;border:1px solid var(--future-border);background:#fffcf9b3;width:fit-content}.future-author-avatar{width:1.5rem;height:1.5rem;border-radius:999px;display:grid;place-items:center;font-size:.72rem;font-weight:800;letter-spacing:0;color:#fff;flex-shrink:0}.future-author-name{font-size:.8rem;font-weight:600;color:var(--future-ink-soft);letter-spacing:.01em}.future-author--jordy .future-author-avatar{background:linear-gradient(135deg,#7a9fb8,#5d8aa8);box-shadow:0 0 0 2px #7a9fb842}.future-author--jordy{border-color:#7a9fb852;background:#7a9fb812}.future-author--oceane .future-author-avatar{background:linear-gradient(135deg,#7eaa8e,#5f9470);box-shadow:0 0 0 2px #7eaa8e42}.future-author--oceane{border-color:#7eaa8e52;background:#7eaa8e12}.future-archive{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;position:relative;padding-left:1.25rem}.future-archive:before{content:"";position:absolute;left:.6rem;top:.4rem;bottom:.4rem;width:2px;border-radius:999px;background:linear-gradient(to bottom,transparent 0%,rgba(187,105,82,.25) 18%,rgba(126,170,142,.2) 72%,transparent 100%);pointer-events:none}.future-archive-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem 1.1rem 2rem;border-radius:1.25rem;border:1px solid var(--future-border);background:var(--future-card);box-shadow:var(--future-shadow);background-image:linear-gradient(138deg,rgba(230,192,106,.18) 0%,transparent 52%);position:relative}.future-archive-item:before{content:"";position:absolute;left:.43rem;top:1.35rem;width:.45rem;height:.45rem;border-radius:999px;background:#bb69527a;box-shadow:0 0 0 5px #bb695224}.future-archive-title{margin:0;font-weight:600;color:var(--future-ink)}.future-archive-actions{display:inline-flex;align-items:center;gap:.25rem}.future-archive-cta{border:none;border-radius:999px;padding:.65rem 1.05rem;font-weight:600;background:var(--future-bg-soft);color:var(--future-ink);cursor:pointer;transition:background .16s ease}.future-archive-cta:hover{background:#e8ddd1}@media (max-width: 640px){.future-header{padding:2.8rem 1.2rem 1.8rem}.future-intro-card{padding:1.85rem 1.7rem}.future-intro-stats{padding:1.35rem}.future-update-card{padding:1.8rem 1.7rem}.future-thumbs{gap:.85rem}}@media (prefers-reduced-motion: reduce){.future-section,.future-badge{animation:none}.future-language-button,.future-cta,.future-thumb-button{transition:none}}.future-dashboard{display:grid;grid-template-columns:repeat(4,1fr);background:var(--future-card);border:1px solid var(--future-border);border-radius:1.75rem;box-shadow:var(--future-shadow);overflow:hidden}.future-dashboard-item{padding:1.35rem 1.6rem;display:flex;flex-direction:column;gap:.22rem;position:relative}.future-dashboard-item+.future-dashboard-item:before{content:"";position:absolute;left:0;top:.85rem;bottom:.85rem;width:1px;background:var(--future-border)}.future-dashboard-label{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;font-weight:700;color:var(--future-muted)}.future-dashboard-value{margin:0;font-weight:700;font-size:1rem;color:var(--future-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.future-dashboard-value--title{font-family:var(--future-serif);font-weight:600;font-style:italic;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.future-dashboard-sub{margin:0;font-size:.8rem;color:var(--future-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.future-dashboard-cta{border:none;background:transparent;cursor:pointer;color:var(--future-accent);font-size:.83rem;font-weight:600;padding:0;margin-top:.35rem;text-align:left;letter-spacing:.01em;transition:opacity .16s ease}.future-dashboard-cta:disabled{opacity:.4;cursor:not-allowed}.future-dashboard-cta:hover:not(:disabled){opacity:.7}@media (max-width: 700px){.future-dashboard{grid-template-columns:repeat(2,1fr)}.future-dashboard-item:nth-child(1),.future-dashboard-item:nth-child(2){border-bottom:1px solid var(--future-border)}.future-dashboard-item:nth-child(odd):before{display:none}}@keyframes welcome-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes welcome-modal-in{0%{opacity:0;transform:scale(.88) translateY(28px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes welcome-float{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-8px) rotate(22deg)}70%{transform:translateY(-4px) rotate(-14deg)}}@keyframes welcome-float-wing{0%,to{transform:translateY(0) scale(1) rotate(0)}40%{transform:translateY(-5px) scale(1.08) rotate(-18deg)}75%{transform:translateY(-3px) scale(.95) rotate(12deg)}}@keyframes welcome-stagger-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-glow{0%,to{box-shadow:0 50px 120px #0d090680,0 0 0 1px #fffcf912,0 0 #e6c06a00}50%{box-shadow:0 50px 120px #0d090680,0 0 0 1px #fffcf912,0 0 60px 12px #e6c06a24}}@keyframes welcome-shimmer{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(260%) skew(-18deg)}}@keyframes welcome-particle-drift{0%{transform:translate(0) rotate(0) scale(1);opacity:var(--fwp-opacity-peak)}33%{transform:translate(var(--fwp-dx1),var(--fwp-dy1)) rotate(120deg) scale(1.1);opacity:calc(var(--fwp-opacity-peak) * .6)}66%{transform:translate(var(--fwp-dx2),var(--fwp-dy2)) rotate(240deg) scale(.9);opacity:calc(var(--fwp-opacity-peak) * .8)}to{transform:translate(0) rotate(360deg) scale(1);opacity:var(--fwp-opacity-peak)}}.future-welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0906d9;display:grid;place-items:center;padding:1.5rem;z-index:60;animation:welcome-overlay-in .35s ease both;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}@media (max-width: 480px),(max-height: 640px){.future-welcome-overlay{align-items:flex-start;place-items:unset;overflow-y:auto;justify-content:center;padding:1.25rem .75rem}.future-welcome-modal{margin:auto;max-height:unset}}.future-welcome-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.future-welcome-particles span{position:absolute;color:var(--future-sun);animation:welcome-particle-drift var(--fwp-dur, 9s) var(--fwp-delay, 0s) ease-in-out infinite;font-size:var(--fwp-size, 1rem);opacity:0;--fwp-opacity-peak: .65;text-shadow:0 0 12px currentColor}.fwp-1{top:10%;left:7%;--fwp-size: 1.3rem;--fwp-dur: 10s;--fwp-delay: 0s;--fwp-dx1: 22px;--fwp-dy1: -30px;--fwp-dx2: -12px;--fwp-dy2: -55px;--fwp-opacity-peak: .72}.fwp-2{top:72%;left:6%;--fwp-size: .85rem;--fwp-dur: 8s;--fwp-delay: 1.3s;--fwp-dx1: 15px;--fwp-dy1: 20px;--fwp-dx2: 30px;--fwp-dy2: -10px;--fwp-opacity-peak: .6;color:var(--future-accent)}.fwp-3{top:18%;right:9%;--fwp-size: 1.1rem;--fwp-dur: 12s;--fwp-delay: 2.2s;--fwp-dx1: -18px;--fwp-dy1: -38px;--fwp-dx2: 10px;--fwp-dy2: -60px;--fwp-opacity-peak: .68}.fwp-4{bottom:14%;right:7%;--fwp-size: .9rem;--fwp-dur: 9s;--fwp-delay: .7s;--fwp-dx1: -24px;--fwp-dy1: 18px;--fwp-dx2: -8px;--fwp-dy2: 36px;--fwp-opacity-peak: .55;color:var(--future-sage)}.fwp-5{top:48%;right:17%;--fwp-size: .65rem;--fwp-dur: 7s;--fwp-delay: 3.5s;--fwp-dx1: 30px;--fwp-dy1: -15px;--fwp-dx2: 12px;--fwp-dy2: 20px;--fwp-opacity-peak: .5}.fwp-6{bottom:26%;left:16%;--fwp-size: 1.5rem;--fwp-dur: 14s;--fwp-delay: 1.8s;--fwp-dx1: -10px;--fwp-dy1: 28px;--fwp-dx2: 20px;--fwp-dy2: 50px;--fwp-opacity-peak: .45}.fwp-7{top:5%;left:45%;--fwp-size: .75rem;--fwp-dur: 11s;--fwp-delay: .4s;--fwp-dx1: -16px;--fwp-dy1: -22px;--fwp-dx2: 24px;--fwp-dy2: -40px;--fwp-opacity-peak: .6}.fwp-8{bottom:8%;left:38%;--fwp-size: 1.1rem;--fwp-dur: 9.5s;--fwp-delay: 2.8s;--fwp-dx1: 18px;--fwp-dy1: 24px;--fwp-dx2: -10px;--fwp-dy2: 42px;--fwp-opacity-peak: .65;color:var(--future-accent)}.fwp-9{top:35%;left:3%;--fwp-size: .55rem;--fwp-dur: 8.5s;--fwp-delay: 4.1s;--fwp-dx1: 20px;--fwp-dy1: -10px;--fwp-dx2: 35px;--fwp-dy2: 15px;--fwp-opacity-peak: .5}.fwp-10{top:60%;right:4%;--fwp-size: 1rem;--fwp-dur: 13s;--fwp-delay: 1s;--fwp-dx1: -28px;--fwp-dy1: -18px;--fwp-dx2: -14px;--fwp-dy2: 30px;--fwp-opacity-peak: .62;color:var(--future-sage)}.fwp-11{top:82%;right:28%;--fwp-size: .8rem;--fwp-dur: 10.5s;--fwp-delay: 3.2s;--fwp-dx1: 12px;--fwp-dy1: 22px;--fwp-dx2: -20px;--fwp-dy2: 38px;--fwp-opacity-peak: .55}.fwp-12{top:30%;right:32%;--fwp-size: 1.2rem;--fwp-dur: 7.5s;--fwp-delay: 5s;--fwp-dx1: 8px;--fwp-dy1: -28px;--fwp-dx2: -22px;--fwp-dy2: -50px;--fwp-opacity-peak: .7}.future-welcome-modal{width:min(480px,96vw);background:radial-gradient(ellipse at 50% -10%,rgba(230,192,106,.28) 0%,transparent 58%),var(--future-card);border:1px solid var(--future-border-strong);border-radius:2.5rem;padding:3rem 2.75rem 2.75rem;text-align:center;animation:welcome-modal-in .65s cubic-bezier(.22,1,.36,1) 80ms both,welcome-glow 5s ease-in-out 1.2s infinite}.future-welcome-ornament{display:flex;justify-content:center;align-items:center;gap:.55rem;margin-bottom:1.75rem}.future-welcome-star{display:inline-block;font-size:2.2rem;line-height:1;color:var(--future-sun);animation:welcome-float 5.5s ease-in-out infinite;filter:drop-shadow(0 4px 18px rgba(230,192,106,.65))}.future-welcome-star--wing{font-size:1.2rem;opacity:.75;filter:drop-shadow(0 2px 8px rgba(230,192,106,.4));animation:welcome-float-wing 6.5s ease-in-out infinite;animation-delay:.8s}.future-welcome-eyebrow{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;color:var(--future-muted);animation:welcome-stagger-in .5s .22s both ease}.future-welcome-heading{margin:0 0 1.25rem;font-family:var(--future-serif);font-size:clamp(1.45rem,3.5vw,1.85rem);font-weight:700;font-style:italic;color:var(--future-ink);line-height:1.28;animation:welcome-stagger-in .5s .36s both ease}.future-welcome-divider{width:3.5rem;height:2px;margin:0 auto 1.25rem;border-radius:999px;background:linear-gradient(to right,transparent,var(--future-accent),transparent);animation:welcome-stagger-in .5s .46s both ease}.future-welcome-body{margin:0 0 2.25rem;font-family:var(--future-serif);font-size:.99rem;color:var(--future-ink-soft);line-height:1.9;animation:welcome-stagger-in .5s .56s both ease}.future-welcome-footer{display:flex;flex-direction:column;align-items:center;gap:1.1rem;animation:welcome-stagger-in .5s .68s both ease}.future-welcome-lang-label{margin:0;font-size:.78rem;color:var(--future-muted);font-weight:600;letter-spacing:.06em}.future-welcome-lang{margin-top:0!important}.future-welcome-cta{position:relative;overflow:hidden;border:none;border-radius:999px;padding:.85rem 2.4rem;font-weight:600;font-size:.95rem;letter-spacing:.02em;cursor:pointer;background:linear-gradient(135deg,var(--future-accent) 0%,#cc7f68 50%,var(--future-sun) 100%);color:#fff;box-shadow:0 8px 28px #bb695261;transition:transform .18s ease,box-shadow .18s ease;width:100%;max-width:230px}.future-welcome-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.38) 50%,transparent 80%);transform:translate(-120%) skew(-18deg);animation:welcome-shimmer 3.2s ease 1.4s infinite}.future-welcome-cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px #bb695275}@media (prefers-reduced-motion: reduce){.future-welcome-overlay,.future-welcome-modal,.future-welcome-eyebrow,.future-welcome-heading,.future-welcome-divider,.future-welcome-body,.future-welcome-footer,.future-welcome-star,.future-welcome-star--wing{animation:none}.future-welcome-particles span{display:none}.future-welcome-cta:after{display:none}}.future-subscribe-btn.is-subscribed{border-color:#7eaa8e73;color:#5f9470}.future-subscribe-btn.is-subscribed:hover:not(:disabled){border-color:#7eaa8eb3;box-shadow:0 8px 20px #7eaa8e2e}.future-subscribe-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0906c7;display:grid;place-items:center;padding:1.5rem;z-index:55;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:welcome-overlay-in .3s ease both}.future-subscribe-modal{position:relative;width:min(460px,96vw);background:radial-gradient(ellipse at 50% -10%,rgba(230,192,106,.22) 0%,transparent 56%),var(--future-card);border:1px solid var(--future-border-strong);border-radius:2.5rem;padding:2.75rem 2.5rem 2.5rem;text-align:center;animation:welcome-modal-in .58s cubic-bezier(.22,1,.36,1) 60ms both}.future-subscribe-close{position:absolute;top:1.1rem;right:1.1rem;border:1px solid var(--future-border);border-radius:999px;width:2.2rem;height:2.2rem;display:grid;place-items:center;font-size:.85rem;background:#fffcf9d9;color:var(--future-ink);cursor:pointer;transition:background .16s ease,border-color .16s ease}.future-subscribe-close:hover{background:#fffcf9;border-color:var(--future-accent)}.future-subscribe-heading{margin:0 0 1.1rem;font-family:var(--future-serif);font-size:clamp(1.35rem,3vw,1.65rem);font-weight:700;font-style:italic;color:var(--future-ink);line-height:1.28}.future-subscribe-body{margin:0 0 1.75rem;font-family:var(--future-serif);font-size:.95rem;color:var(--future-ink-soft);line-height:1.85}.future-subscribe-group-notice{text-align:center;font-style:italic;margin-bottom:.5rem}.future-subscribe-form{display:flex;flex-direction:column;gap:1.1rem;text-align:left}.future-subscribe-field{display:flex;flex-direction:column;gap:.4rem}.future-subscribe-label{font-size:.78rem;font-weight:700;color:var(--future-muted);letter-spacing:.06em;text-transform:uppercase}.future-subscribe-input{width:100%;padding:.7rem 1rem;border-radius:.85rem;border:1px solid var(--future-border-strong);background:#fffcf9e6;color:var(--future-ink);font-size:.95rem;font-family:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease;box-sizing:border-box}.future-subscribe-input:focus{border-color:#bb695273;box-shadow:0 0 0 3px #bb69521f}.future-subscribe-locale{display:flex;flex-direction:column;gap:.3rem;align-items:center}.future-subscribe-toggle{display:flex;align-items:center;gap:.65rem;cursor:pointer;font-size:.9rem;color:var(--future-ink-soft);font-weight:500}.future-subscribe-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--future-accent);flex-shrink:0;cursor:pointer}.future-subscribe-save{width:100%;max-width:unset;margin-top:.35rem}@media (prefers-reduced-motion: reduce){.future-subscribe-overlay,.future-subscribe-modal{animation:none}}@media (max-width: 480px){.future-subscribe-modal{padding:2.25rem 1.5rem 2rem}}body:has(.future-shell) .theme-toggle{display:none}.future-ambient-particles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:hidden}.future-ambient-particles span{position:absolute;color:var(--future-sun);animation:welcome-particle-drift var(--fap-dur, 24s) var(--fap-delay, 0s) ease-in-out infinite;font-size:var(--fap-size, .9rem);opacity:0;--fwp-opacity-peak: 1}.fap-1{top:8%;left:5%;--fap-size: 1.1rem;--fap-dur: 26s;--fap-delay: 0s;--fwp-dx1: 18px;--fwp-dy1: -28px;--fwp-dx2: -10px;--fwp-dy2: -50px;--fwp-opacity-peak: .11}.fap-2{top:70%;left:4%;--fap-size: .75rem;--fap-dur: 22s;--fap-delay: 4s;--fwp-dx1: 12px;--fwp-dy1: 18px;--fwp-dx2: 28px;--fwp-dy2: -8px;--fwp-opacity-peak: .09;color:var(--future-accent)}.fap-3{top:15%;right:6%;--fap-size: 1rem;--fap-dur: 30s;--fap-delay: 8s;--fwp-dx1: -16px;--fwp-dy1: -32px;--fwp-dx2: 8px;--fwp-dy2: -54px;--fwp-opacity-peak: .12}.fap-4{bottom:12%;right:5%;--fap-size: .85rem;--fap-dur: 28s;--fap-delay: 2s;--fwp-dx1: -22px;--fwp-dy1: 14px;--fwp-dx2: -6px;--fwp-dy2: 30px;--fwp-opacity-peak: .08;color:var(--future-sage)}.fap-5{top:45%;right:12%;--fap-size: .6rem;--fap-dur: 20s;--fap-delay: 12s;--fwp-dx1: 26px;--fwp-dy1: -12px;--fwp-dx2: 10px;--fwp-dy2: 18px;--fwp-opacity-peak: .07}.fap-6{bottom:28%;left:14%;--fap-size: 1.3rem;--fap-dur: 34s;--fap-delay: 6s;--fwp-dx1: -8px;--fwp-dy1: 24px;--fwp-dx2: 16px;--fwp-dy2: 44px;--fwp-opacity-peak: .09}.fap-7{top:4%;left:52%;--fap-size: .7rem;--fap-dur: 24s;--fap-delay: 16s;--fwp-dx1: -14px;--fwp-dy1: -20px;--fwp-dx2: 20px;--fwp-dy2: -36px;--fwp-opacity-peak: .1}.fap-8{bottom:6%;left:42%;--fap-size: .95rem;--fap-dur: 29s;--fap-delay: 10s;--fwp-dx1: 16px;--fwp-dy1: 20px;--fwp-dx2: -8px;--fwp-dy2: 38px;--fwp-opacity-peak: .1;color:var(--future-sky)}@media (prefers-reduced-motion: reduce){.future-ambient-particles span{display:none}}.future-admin-shell{--adm-serif: "Lora", Georgia, "Times New Roman", serif;--bg-canvas: #faf7f2;--card-bg: #fffcf9;--bg-soft: #f0e8dd;--text-primary: #1c1917;--text-secondary: #57534e;--text-muted: #78716c;--border-soft: rgba(87, 60, 50, .09);--border-strong: rgba(87, 60, 50, .17);--danger-color: #c0392b;--success-color: #5e9e72;--info-color: #7a9fb8;--adm-accent: #bb6952;--adm-accent-dark: #a55a45;--adm-accent-soft: rgba(187, 105, 82, .13);--adm-sun: #e6c06a;--adm-sage: #7eaa8e;--adm-shadow-sm: 0 2px 8px rgba(28, 25, 23, .06);--adm-shadow: 0 4px 20px rgba(28, 25, 23, .08), 0 1px 4px rgba(28, 25, 23, .04);--adm-shadow-lg: 0 8px 36px rgba(28, 25, 23, .11), 0 2px 8px rgba(28, 25, 23, .05);color-scheme:light;min-height:100vh;background:radial-gradient(ellipse at 12% 0%,rgba(230,192,106,.24) 0%,transparent 52%),radial-gradient(ellipse at 88% 5%,rgba(122,159,184,.18) 0%,transparent 48%),radial-gradient(ellipse at 50% 96%,rgba(187,105,82,.08) 0%,transparent 48%),linear-gradient(175deg,#faf7f2,#f5ede0 62%,#f0e4d3);color:var(--text-primary);display:flex;flex-direction:column}.future-admin-header{padding:2rem 2.5rem 1.75rem;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:color-mix(in srgb,var(--card-bg) 90%,transparent)}.future-admin-kicker{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:var(--adm-accent)}.future-admin-header h1{margin:.2rem 0 .3rem;font-family:var(--adm-serif);font-size:1.8rem;font-weight:700;font-style:italic;letter-spacing:.01em;color:var(--text-primary)}.future-admin-header>div>p:last-child{margin:0;font-size:.86rem;color:var(--text-muted)}.future-admin-signout{border:1px solid var(--border-soft);border-radius:999px;padding:.6rem 1.3rem;font-weight:600;font-size:.88rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease;white-space:nowrap}.future-admin-signout:hover{border-color:var(--adm-accent);color:var(--adm-accent);background:var(--adm-accent-soft)}.future-admin-main{flex:1;display:grid;gap:1.5rem;padding:2rem 2.5rem 4rem;align-items:start;max-width:1440px;width:100%;margin:0 auto}.future-admin-section{border:1px solid var(--border-soft);border-radius:1.75rem;background:var(--card-bg);box-shadow:var(--adm-shadow);overflow:hidden}.future-admin-section[open]{padding-bottom:2rem}.future-admin-section-header{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.future-admin-section-header:hover{background:var(--adm-accent-soft)}.future-admin-section-header::-webkit-details-marker{display:none}.future-admin-section-header:after{content:">";font-size:1.2rem;line-height:1;color:var(--text-muted);margin-left:auto;flex-shrink:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:inline-block}.future-admin-section[open] .future-admin-section-header:after{transform:rotate(90deg)}.future-admin-section-header h2{margin:.2rem 0 .15rem;font-family:var(--adm-serif);font-size:1.3rem;font-weight:600;font-style:italic;letter-spacing:.01em}.future-admin-section-header>div>p:last-child{margin:0;font-size:.86rem;color:var(--text-muted)}.future-admin-section-meta{display:inline-flex;align-items:center;background:var(--adm-accent-soft);border:1px solid color-mix(in srgb,var(--adm-accent) 28%,transparent);border-radius:999px;padding:.38rem .88rem;font-weight:700;font-size:.82rem;color:var(--adm-accent);white-space:nowrap}.future-admin-section-body{padding:0 1.75rem}.future-admin-content-grid,.future-admin-users-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;align-items:start}.future-admin-panel{background:color-mix(in srgb,var(--bg-soft) 55%,var(--card-bg));border-radius:1.25rem;padding:1.5rem;border:1px solid var(--border-soft);min-width:0}.future-admin-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft)}.future-admin-panel-heading h2{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted)}.future-admin-panel-action{border:none;border-radius:999px;padding:.48rem 1.1rem;font-weight:700;font-size:.82rem;background:var(--adm-accent);color:#fff;cursor:pointer;transition:background .16s ease,transform .1s ease}.future-admin-panel-action:hover{background:var(--adm-accent-dark);transform:translateY(-1px)}.future-admin-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.future-admin-search{display:grid;gap:.3rem;flex:1 1 200px}.future-admin-search span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.future-admin-search input{border-radius:.75rem;border:1px solid var(--border-soft);padding:.6rem .85rem;font-size:.93rem;background:var(--card-bg);color:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.future-admin-search input:focus{border-color:var(--adm-accent);box-shadow:0 0 0 3px var(--adm-accent-soft)}.future-admin-pill{border-radius:999px;padding:.42rem .8rem;background:var(--bg-soft);border:1px solid var(--border-soft);font-weight:700;font-size:.8rem;color:var(--text-muted);white-space:nowrap}.future-admin-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;max-height:440px;overflow-y:auto;overflow-x:hidden;padding-right:.2rem}.future-admin-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"main badge" "main action";gap:.2rem .65rem;padding:.85rem 1rem;border:1px solid var(--border-soft);border-radius:1rem;background:var(--card-bg);transition:border-color .16s ease,box-shadow .16s ease}.future-admin-row:hover{border-color:color-mix(in srgb,var(--adm-accent) 40%,transparent);box-shadow:0 2px 10px #00000012}.future-admin-row-main{grid-area:main;min-width:0;align-self:center}.future-admin-row-title{margin:0 0 .18rem;font-weight:600;font-size:.92rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.future-admin-row>.future-admin-badge{grid-area:badge;align-self:end;justify-self:end}.future-admin-row>button{grid-area:action;align-self:start;justify-self:end;border:1px solid color-mix(in srgb,var(--adm-accent) 55%,transparent);border-radius:.6rem;padding:.38rem .85rem;font-weight:600;font-size:.82rem;background:transparent;color:var(--adm-accent);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}.future-admin-row>button:hover{background:var(--adm-accent);border-color:var(--adm-accent);color:#fff}.future-admin-form{display:grid;gap:1.1rem}.future-admin-form label{display:grid;gap:.3rem}.future-admin-form label>span:first-child{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.future-admin-checkbox,.future-admin-form label.future-admin-checkbox{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.future-admin-hint{font-size:.8rem;color:var(--text-muted);margin-top:.1rem}.future-admin-form input,.future-admin-form select,.future-admin-form textarea{border-radius:.75rem;border:1px solid var(--border-soft);padding:.7rem .9rem;font-size:.95rem;background:var(--card-bg);color:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.future-admin-form input:focus,.future-admin-form select:focus,.future-admin-form textarea:focus{border-color:var(--adm-accent);box-shadow:0 0 0 3px var(--adm-accent-soft)}.future-admin-form textarea{resize:vertical;min-height:180px;line-height:1.65}.future-admin-mode{margin:0;font-size:.83rem;font-weight:600;color:var(--adm-accent);padding:.45rem .95rem;background:var(--adm-accent-soft);border:1px solid color-mix(in srgb,var(--adm-accent) 30%,transparent);border-radius:999px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.future-admin-locale-toggle{display:flex;flex-wrap:wrap;gap:.25rem;padding:.3rem;background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:.85rem;width:fit-content}.future-admin-locale-button{border:none;border-radius:.6rem;padding:.42rem 1rem;background:transparent;color:var(--text-muted);font-weight:600;font-size:.88rem;cursor:pointer;transition:background .15s ease,color .15s ease}.future-admin-locale-button:hover:not(.is-active){background:var(--card-bg);color:var(--text-primary)}.future-admin-locale-button.is-active{background:var(--adm-accent);color:#fff}.future-admin-translate-row{display:flex;align-items:center;gap:.75rem}.future-admin-translate-targets{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.future-admin-translate-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.3rem .7rem .3rem .45rem;border-radius:999px;border:1px solid var(--border-soft);transition:border-color .15s ease,background .15s ease,color .15s ease}.future-admin-translate-check:has(input:checked){border-color:color-mix(in srgb,var(--adm-accent) 50%,transparent);background:var(--adm-accent-soft);color:var(--adm-accent)}.future-admin-translate-check input[type=checkbox]{accent-color:var(--adm-accent);width:.9rem;height:.9rem;cursor:pointer}.future-admin-translate-btn{border:1px solid var(--adm-accent);border-radius:999px;padding:.42rem 1.1rem;background:transparent;color:var(--adm-accent);font-weight:600;font-size:.88rem;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.future-admin-translate-btn:hover:not(:disabled){background:var(--adm-accent-soft)}.future-admin-translate-btn:disabled{opacity:.55;cursor:not-allowed}.future-admin-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.future-admin-fieldset{border:1px solid var(--border-soft);border-radius:1.1rem;padding:1.25rem;display:grid;gap:1rem}.future-admin-fieldset legend{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 .4rem}.future-admin-upload{display:grid;gap:.3rem}.future-admin-upload>span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.future-admin-upload input[type=file]{border:2px dashed var(--border-soft);padding:1rem;border-radius:.85rem;background:var(--bg-soft);cursor:pointer;transition:border-color .16s ease,background .16s ease}.future-admin-upload input[type=file]:hover{border-color:var(--adm-accent);background:var(--adm-accent-soft)}.future-admin-photos{display:grid;gap:.6rem}.future-admin-photo-row{display:grid;grid-template-columns:3rem 1fr 7rem minmax(8rem,1.5fr) 1.9rem;gap:.6rem;align-items:center;padding:.6rem .85rem;background:var(--card-bg);border:1px solid var(--border-soft);border-radius:.9rem;transition:border-color .16s ease}.future-admin-photo-row:hover{border-color:color-mix(in srgb,var(--adm-accent) 30%,transparent)}.future-admin-photo-thumb{width:3rem;height:3rem;object-fit:cover;border-radius:.5rem;background:var(--bg-soft);border:1px solid var(--border-soft);display:block}.future-admin-photo-thumb-placeholder{width:3rem;height:3rem;border-radius:.5rem;background:var(--bg-soft);border:1px dashed var(--border-soft)}.future-admin-video-thumb-placeholder{width:3rem;height:3rem;border-radius:.5rem;background:color-mix(in srgb,var(--adm-accent) 10%,var(--bg-soft));border:1px dashed var(--border-soft);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--adm-accent)}.future-admin-video-thumb-placeholder:after{content:"▶"}.future-admin-photo-name{color:var(--text-primary);font-weight:600;font-size:.84rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.future-admin-photo-name:hover{color:var(--adm-accent);text-decoration:underline}.future-admin-photo-row select,.future-admin-photo-row input[type=text]{border-radius:.55rem;border:1px solid var(--border-soft);padding:.42rem .65rem;font-size:.84rem;background:var(--bg-soft);color:inherit;outline:none;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.future-admin-photo-row select:focus,.future-admin-photo-row input[type=text]:focus{border-color:var(--adm-accent);box-shadow:0 0 0 2px var(--adm-accent-soft)}.future-admin-photo-remove{border:none;border-radius:999px;width:1.9rem;height:1.9rem;display:grid;place-items:center;font-size:.8rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.future-admin-photo-remove:hover{background:color-mix(in srgb,var(--danger-color) 14%,transparent);color:var(--danger-color)}.future-admin-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.25rem}.future-admin-actions button[type=submit]{border:none;border-radius:999px;padding:.7rem 1.75rem;font-weight:700;font-size:.93rem;background:var(--adm-accent);color:#fff;cursor:pointer;transition:background .16s ease,transform .1s ease}.future-admin-actions button[type=submit]:hover:not(:disabled){background:var(--adm-accent-dark);transform:translateY(-1px)}.future-admin-actions button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.future-admin-actions button.secondary{border:1px solid var(--border-soft);border-radius:999px;padding:.7rem 1.4rem;font-weight:600;font-size:.93rem;background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.future-admin-actions button.secondary:hover{border-color:var(--text-muted);background:var(--bg-soft)}.future-admin-error{margin:0;padding:.7rem 1rem;border-radius:.75rem;background:color-mix(in srgb,var(--danger-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger-color) 28%,transparent);color:var(--danger-color);font-weight:600;font-size:.9rem}.future-admin-feedback{margin:0;padding:.7rem 1rem;border-radius:.75rem;background:color-mix(in srgb,var(--success-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--success-color) 28%,transparent);color:var(--success-color);font-weight:600;font-size:.9rem}.future-admin-muted{margin:0;color:var(--text-muted);font-size:.88rem}.future-admin-user-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;max-height:400px;overflow-y:auto;padding-right:.2rem}.future-admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--border-soft);background:var(--card-bg);transition:border-color .16s ease}.future-admin-user-row:hover{border-color:color-mix(in srgb,var(--adm-accent) 35%,transparent)}.future-admin-user-row--clickable{cursor:pointer}.future-admin-user-row--clickable.is-selected{border-color:var(--adm-accent);background:var(--adm-accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--adm-accent) 22%,transparent)}.future-admin-user-name{margin:0;font-weight:650;font-size:.93rem;color:var(--text-primary)}.future-admin-user-id{margin:.18rem 0 0;font-size:.78rem;color:var(--text-muted);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.future-admin-user-activity{margin-left:auto;font-size:.75rem;color:var(--text-muted);white-space:nowrap;font-style:italic}.future-admin-badge{border-radius:999px;padding:.28rem .68rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}.future-admin-badge.level-public{background:color-mix(in srgb,var(--info-color) 15%,transparent);color:color-mix(in srgb,var(--info-color) 80%,var(--text-primary))}.future-admin-badge.level-friends{background:color-mix(in srgb,var(--success-color) 18%,transparent);color:color-mix(in srgb,var(--success-color) 80%,var(--text-primary))}.future-admin-badge.level-family{background:color-mix(in srgb,var(--adm-sun) 28%,transparent);color:#9a7320}.future-admin-badge.level-private{background:color-mix(in srgb,var(--danger-color) 15%,transparent);color:color-mix(in srgb,var(--danger-color) 80%,var(--text-primary))}.future-admin-badge--warning{background:color-mix(in srgb,orange 20%,transparent);color:#a05a00}.future-admin-badge--notify{background:color-mix(in srgb,#4dd0d0 20%,transparent);color:#006060}.future-admin-badge--group{background:color-mix(in srgb,teal 20%,transparent);color:#006060}.dark .future-admin-badge--group{background:color-mix(in srgb,teal 25%,transparent);color:#4dd0d0}.future-admin-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.future-admin-hint{font-size:.8em;opacity:.7}@media (max-width: 860px){.future-admin-header{padding:1.5rem 1.25rem;flex-wrap:wrap}.future-admin-main{padding:1.25rem 1.25rem 3rem}.future-admin-section-body{padding:0 1.25rem}.future-admin-content-grid,.future-admin-users-grid{grid-template-columns:1fr}}@media (max-width: 600px){.future-admin-photo-row{grid-template-columns:3rem 1fr 1.9rem;grid-template-rows:auto auto}.future-admin-photo-name{grid-column:2;grid-row:1}.future-admin-photo-remove{grid-column:3;grid-row:1}.future-admin-photo-row select{grid-column:1 / 2;grid-row:2}.future-admin-photo-row input[type=text]{grid-column:2 / 4;grid-row:2}}.future-admin-notify-area{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem;padding:1.25rem 1.4rem;border-radius:1.1rem;background:#bb69520d;border:1px solid rgba(187,105,82,.18)}.future-admin-notify-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.future-admin-notify-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.future-admin-notify-sent{font-size:.82rem;color:var(--text-secondary);padding:.2rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--adm-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--adm-accent) 28%,transparent)}.future-admin-notify-unsent{font-size:.82rem;color:var(--text-muted);font-style:italic}.future-admin-notify-btn{align-self:flex-start;border:none;border-radius:999px;padding:.65rem 1.35rem;font-weight:600;font-size:.88rem;background:linear-gradient(135deg,var(--adm-accent) 0%,#cc7f68 100%);color:#fff;cursor:pointer;box-shadow:0 4px 14px #bb695247;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.future-admin-notify-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #bb69525c}.future-admin-notify-btn:disabled{opacity:.55;cursor:not-allowed}.visit-shell{min-height:100vh;background:radial-gradient(circle at 10% 20%,rgba(125,209,255,.12),transparent 30%),radial-gradient(circle at 80% 10%,rgba(255,167,196,.15),transparent 30%),#0f172a;color:#e2e8f0;padding:32px 20px 64px;display:flex;flex-direction:column;gap:32px}.visit-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;max-width:1200px;margin:0 auto}.visit-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#94a3b8;margin:0 0 6px}.visit-header h1{margin:0;font-size:36px}.visit-intro{margin:8px 0 4px;color:#cbd5e1}.visit-note{margin:0;color:#a5b4fc;font-weight:600}.visit-nav{display:flex;gap:12px}.visit-link{color:#bae6fd;text-decoration:none;font-weight:600}.visit-link:hover{text-decoration:underline}.visit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1200px;width:100%;margin:0 auto}@media (min-width: 920px){.visit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.visit-card{background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;box-shadow:0 18px 60px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .16s ease,border-color .16s ease,background .16s ease}.visit-card:hover{transform:translateY(-2px);border-color:#ffffff24;background:#0f172ac7}.card-label{margin:0 0 6px;color:#94a3b8;font-size:13px;letter-spacing:.02em}.card-title{margin:0 0 4px;font-size:24px}.card-detail{margin:0;color:#cbd5e1}.card-meta{margin:4px 0 0;color:#94a3b8;font-size:13px}.countdown{background:linear-gradient(135deg,#3b82f62e,#0f172ae6);border-color:#7dd3fc4d}.guests{background:linear-gradient(135deg,#2dd4bf33,#0f172ae6);border-color:#10b9814d}.weather{background:linear-gradient(135deg,#f8b44729,#0f172ae6);border-color:#fbbf2447}.content{grid-column:1 / -1;background:#0f172ae6}.timeline{grid-column:1 / -1;background:#0f172adb}.activities{grid-column:1 / -1;background:#0f172ae0}.essentials{grid-column:1 / -1;background:linear-gradient(135deg,#a78bfa2e,#0f172ae6);border-color:#a78bfa47}.essentials-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.essentials-item{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.essentials-label{margin:0;color:#94a3b8;font-size:13px}.essentials-value{margin:6px 0 0;font-weight:700;color:#e2e8f0}.essentials-meta{margin:4px 0 0;color:#cbd5e1}.essentials-blocks{margin-top:14px;display:grid;gap:12px}.essentials-block{padding-top:6px}.essentials-block-title{margin:0 0 8px;font-size:18px}.guest-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:12px 0 0}.guest-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 10px;font-weight:600;color:#e2e8f0}.weather-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.weather-temp{font-size:34px;margin:0;font-weight:700}.weather-meta{text-align:right;color:#cbd5e1}.trip-forecast{margin-top:12px;display:grid;gap:8px}.trip-forecast-row{display:grid;grid-template-columns:110px 110px 1fr;gap:10px;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.trip-forecast-date{font-weight:700}.trip-forecast-temp{font-weight:800}.trip-forecast-meta{color:#cbd5e1}.card-error{color:#fca5a5;margin:0}.password-form{margin-top:12px;display:grid;gap:12px;max-width:520px}.password-label{display:grid;gap:6px}.password-input{background:#0b1220;color:#e5e7eb;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px;font-size:14px}.password-actions{display:flex;align-items:center;gap:14px}.password-submit{background:#10b981;color:#0b1220;border:none;padding:10px 14px;border-radius:10px;font-weight:800;cursor:pointer}.timeline-list{margin-top:12px;display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:#ffffff08}.timeline-when{font-weight:800}.timeline-title{font-weight:800;margin-bottom:4px}.timeline-meta{color:#cbd5e1}.activities-grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.activity-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#ffffff08;display:flex;flex-direction:column;min-height:100%}.activity-image{width:100%;height:140px;object-fit:cover;border-bottom:1px solid rgba(255,255,255,.08)}.activity-body{padding:12px;display:grid;gap:6px}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-title{margin:0;font-size:18px;font-weight:800}.activity-badge{background:#3b82f638;color:#bfdbfe;border:1px solid rgba(96,165,250,.45);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.activity-description{margin:0;color:#cbd5e1}.activity-location{color:#bae6fd;font-weight:600;text-decoration:none}.activity-location:hover{text-decoration:underline}.activity-limits{margin:0;color:#fcd34d;font-size:13px}.activity-custom{margin:0;color:#e2e8f0;font-weight:600}.content-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.links{display:flex;gap:8px;flex-wrap:wrap}.content-body{color:#e2e8f0;line-height:1.6}.content-body h2,.content-body h3,.content-body h4{color:#f8fafc}.content-body a{color:#bae6fd}.content-body,.essentials-block{font-size:15px}.content-body :where(p,ul,ol,blockquote,pre,table),.essentials-block :where(p,ul,ol,blockquote,pre,table){margin:10px 0}.content-body :where(h1,h2,h3,h4),.essentials-block :where(h1,h2,h3,h4){margin:16px 0 10px;color:#f8fafc;line-height:1.25}.content-body :where(h1),.essentials-block :where(h1){font-size:24px}.content-body :where(h2),.essentials-block :where(h2){font-size:20px}.content-body :where(h3),.essentials-block :where(h3){font-size:18px}.content-body :where(h4),.essentials-block :where(h4){font-size:16px}.content-body :where(ul,ol),.essentials-block :where(ul,ol){padding-left:1.2rem}.content-body :where(li),.essentials-block :where(li){margin:8px 0}.content-body :where(ul li)::marker,.essentials-block :where(ul li)::marker{color:#5eead4e6}.content-body :where(ol li)::marker,.essentials-block :where(ol li)::marker{color:#93c5fdf2;font-weight:800}.content-body :where(li>ul,li>ol),.essentials-block :where(li>ul,li>ol){margin-top:8px}.content-body :where(blockquote),.essentials-block :where(blockquote){margin:12px 0;padding:10px 12px;border-left:3px solid rgba(167,139,250,.65);background:#ffffff08;border-radius:10px;color:#cbd5e1}.content-body :where(code),.essentials-block :where(code){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em;background:#ffffff0f;border:1px solid rgba(255,255,255,.06);padding:.15em .35em;border-radius:8px}.content-body :where(pre),.essentials-block :where(pre){padding:12px;border-radius:12px;background:#02061799;border:1px solid rgba(255,255,255,.06);overflow:auto}.content-body :where(pre code),.essentials-block :where(pre code){background:transparent;border:none;padding:0}.content-body :where(hr),.essentials-block :where(hr){border:none;border-top:1px solid rgba(255,255,255,.08);margin:16px 0}.content-body :where(table),.essentials-block :where(table){width:100%;border-collapse:collapse;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;display:block;max-width:100%;overflow-x:auto}.content-body :where(th,td),.essentials-block :where(th,td){padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.content-body :where(th),.essentials-block :where(th){text-align:left;background:#ffffff0a;color:#f8fafc}.content-body :where(tr:last-child td),.essentials-block :where(tr:last-child td){border-bottom:none}.content-body :where(img),.essentials-block :where(img){max-width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.08)}@media (max-width: 720px){.visit-header{flex-direction:column}.weather-row{flex-direction:column;align-items:flex-start}.trip-forecast-row,.timeline-row{grid-template-columns:1fr}}@media (min-width: 900px){.activities-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.visit-admin-shell{min-height:100vh;background:#0b1220;color:#e5e7eb;padding:32px 20px 64px}.visit-admin-header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 24px}.admin-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#94a3b8;margin:0 0 6px}.visit-admin-header h1{margin:0;font-size:32px}.admin-signout{background:#ef4444;color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:700}.visit-admin-main{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:16px}.admin-panel{background:#111827;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;box-shadow:0 18px 60px #0006}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-heading h2{margin:0}.panel-action{background:#2563eb;color:#fff;border:none;padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer}.panel-error{color:#fca5a5}.panel-feedback{color:#34d399;font-weight:700}.panel-divider{margin:18px 0;border:none;border-top:1px solid rgba(255,255,255,.08)}.admin-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.admin-tab{background:#94a3b81f;border:1px solid rgba(148,163,184,.25);color:#e2e8f0;padding:8px 12px;border-radius:999px;font-weight:700;cursor:pointer}.admin-tab.active{background:#2563eb;border-color:#3b82f6cc;color:#fff}.tab-panel{display:flex;flex-direction:column;gap:14px}.template-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.template-row{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.06);padding:12px;border-radius:12px}.template-title{margin:0;font-weight:700}.template-meta{margin:2px 0 0;color:#94a3b8}.visit-form{display:flex;flex-direction:column;gap:14px}.visit-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.visit-form input,.visit-form select,.visit-form textarea{background:#0b1220;color:#e5e7eb;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px;font-size:14px}.blocks{display:flex;flex-direction:column;gap:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px}.blocks-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.blocks-title{font-weight:800}.blocks-hint{margin:4px 0 0;color:#94a3b8;font-weight:500}.block{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px}.activities-library,.activity-picker{display:flex;flex-direction:column;gap:12px}.activity-editor{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px;background:#0f172a59}.activity-editor label{display:flex;flex-direction:column;gap:6px;font-weight:700}.activity-editor input,.activity-editor textarea,.activity-editor select{background:#0b1220;color:#e5e7eb;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px;font-size:14px}.activity-editor-header{display:grid;grid-template-columns:1fr;gap:12px}.activity-fields,.activity-body{display:grid;gap:12px}.activity-editor .form-grid{align-items:start}.activity-preview{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff05;max-width:280px}.activity-preview img{width:100%;height:160px;object-fit:cover;display:block}.activity-actions{display:flex;gap:10px;align-items:center}.activity-picker-list{display:flex;flex-direction:column;gap:12px}.activity-picker-row{border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;display:grid;gap:10px}.activity-picker-title{display:flex;align-items:center;gap:10px;font-weight:800}@media (min-width: 900px){.activity-editor-header{grid-template-columns:1.6fr .8fr;align-items:start}}.block-row{display:flex;gap:12px;align-items:flex-end;justify-content:space-between}.block-row label{flex:1}.block-remove{border:1px solid rgba(255,255,255,.12);background:#ef44441f;color:#fecaca;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer}.block-remove:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.form-actions{display:flex;justify-content:flex-start}.form-actions button{background:#10b981;color:#0b1220;border:none;padding:10px 16px;border-radius:10px;font-weight:800;cursor:pointer}@media (max-width: 960px){.visit-admin-main{grid-template-columns:1fr}.visit-admin-header{flex-direction:column;align-items:flex-start;gap:12px}}.ingredients-admin{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem;font-family:inherit;color:var(--color-text, #111)}.ingredients-admin h1{font-size:1.75rem;margin-bottom:1.5rem}.ia-layout{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:start}@media (max-width: 680px){.ia-layout{grid-template-columns:1fr}}.ia-list-panel{border:1px solid var(--color-border, #ddd);border-radius:8px;overflow:hidden}.ia-list-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface, #f5f5f5);border-bottom:1px solid var(--color-border, #ddd)}.ia-list-header h2{font-size:1rem;margin:0}.ia-search{width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--color-border, #ddd);background:var(--color-bg, #fff);color:inherit;font-size:.875rem;outline:none}.ia-search:focus{background:var(--color-surface, #f9f9f9)}.ia-list-items{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.ia-list-item{padding:.6rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border, #eee);font-size:.875rem;transition:background .15s}.ia-list-item:last-child{border-bottom:none}.ia-list-item:hover{background:var(--color-hover, #f0f0f0)}.ia-list-item.active{background:var(--color-accent, #e8f0fe);font-weight:600}.ia-list-item-names{display:flex;flex-direction:column;gap:1px}.ia-list-item-en{font-weight:500}.ia-list-item-sv{color:var(--color-text-secondary, #666);font-size:.8rem}.ia-form-panel{border:1px solid var(--color-border, #ddd);border-radius:8px;padding:1.25rem 1.5rem;background:var(--color-bg, #fff)}.ia-form-panel h2{font-size:1.15rem;margin:0 0 1.25rem}.ia-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 500px){.ia-form-row{grid-template-columns:1fr}}.ia-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.ia-field label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary, #555)}.ia-field input,.ia-field select,.ia-field textarea{padding:.45rem .65rem;border:1px solid var(--color-border, #ccc);border-radius:5px;background:var(--color-bg, #fff);color:inherit;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s}.ia-field input:focus,.ia-field select:focus,.ia-field textarea:focus{border-color:var(--color-accent-border, #4a90d9)}.ia-field textarea{resize:vertical;min-height:80px}.ia-image-preview{width:100%;max-height:180px;object-fit:cover;border-radius:6px;margin-top:.4rem;border:1px solid var(--color-border, #ddd)}.ia-info-section{margin-top:1.5rem;border-top:1px solid var(--color-border, #ddd);padding-top:1.25rem}.ia-info-section h3{font-size:1rem;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.ia-info-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.ia-info-generated-at{font-size:.78rem;color:var(--color-text-secondary, #888);font-style:italic}.ia-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .9rem;border:none;border-radius:5px;font-size:.875rem;font-family:inherit;cursor:pointer;transition:opacity .15s,background .15s}.ia-btn:disabled{opacity:.5;cursor:not-allowed}.ia-btn-primary{background:#3a7bd5;color:#fff}.ia-btn-primary:hover:not(:disabled){background:#2f68bb}.ia-btn-secondary{background:var(--color-surface, #eee);color:inherit}.ia-btn-secondary:hover:not(:disabled){background:var(--color-hover, #e0e0e0)}.ia-btn-danger{background:#d94040;color:#fff}.ia-btn-danger:hover:not(:disabled){background:#b83232}.ia-btn-gemini{background:#7c4dff;color:#fff}.ia-btn-gemini:hover:not(:disabled){background:#6736e8}.ia-btn-new{background:#3a7bd5;color:#fff;padding:.3rem .65rem;font-size:.8rem;border-radius:4px;border:none;cursor:pointer}.ia-form-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border, #ddd)}.ia-feedback{padding:.6rem .9rem;border-radius:5px;font-size:.875rem;margin-bottom:1rem}.ia-feedback.success{background:#d4edda;color:#155724}.ia-feedback.error{background:#f8d7da;color:#721c24}.ia-flashcard-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:#3a7bd5;text-decoration:none}.ia-flashcard-link:hover{text-decoration:underline}@keyframes ia-spin{to{transform:rotate(360deg)}}.ia-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ia-spin .7s linear infinite;flex-shrink:0}.ia-checkbox-group{display:flex;flex-wrap:wrap;gap:.4rem .75rem;padding-top:.2rem}.ia-checkbox-item{display:flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:400;text-transform:none;letter-spacing:normal;cursor:pointer;color:var(--color-text, #111)}.ia-checkbox-item input[type=checkbox]{cursor:pointer;width:14px;height:14px;flex-shrink:0}.ia-nutrition-portion{font-size:.8rem;color:#666;margin:0 0 .5rem}.ia-nutrition-table{width:100%;border-collapse:collapse;font-size:.8rem;color:#333}.ia-nutrition-table th{text-align:right;font-size:.7rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem .3rem;border-bottom:1px solid #ddd}.ia-nutrition-table th:first-child{text-align:left}.ia-nutrition-table td{padding:.2rem .5rem;text-align:right;border-bottom:1px solid #f0f0f0}.ia-nutrition-table td:first-child{text-align:left;font-weight:600;color:#444}.ia-nutrition-empty{font-size:.8rem;color:#aaa;font-style:italic;margin:.25rem 0 .5rem}body:has(.flashcard-wrapper) .theme-toggle{display:none}.flashcard-wrapper{min-height:100vh;background:#c8c8c8;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 4rem;gap:1rem;font-family:Georgia,Times New Roman,serif}.flashcard-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.flashcard-toolbar a{font-size:.875rem;color:#333;text-decoration:none;font-family:Arial,sans-serif}.flashcard-toolbar button{padding:.45rem 1.1rem;border:none;border-radius:5px;font-size:.875rem;cursor:pointer;background:#3a7bd5;color:#fff;font-family:Arial,sans-serif}.flashcard-toolbar-hint{font-family:Arial,sans-serif;font-size:.75rem;color:#888;font-style:italic}.fc-page-sep{font-family:Arial,sans-serif;font-size:.7rem;color:#bbb;letter-spacing:.12em;text-transform:uppercase;margin:.25rem 0}.fc-card{width:210mm;height:148mm;background:#fff;border-radius:3px;box-shadow:0 4px 24px #0000002e;display:flex;flex-direction:column;overflow:hidden;position:relative}.fc-main{flex:1;display:grid;grid-template-columns:72mm 1fr;min-height:0}.fc-photo-col{overflow:hidden;position:relative;border-right:3px solid var(--fc-accent, #3d8b37);background:#e8f5e9}.fc-photo{width:100%;height:100%;object-fit:contain;display:block}.fc-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.5rem}.fc-info-col{display:flex;flex-direction:column;padding:4.5mm 5mm 3mm;gap:3mm;overflow:hidden}.fc-identity{flex-shrink:0}.fc-name-en{font-size:22pt;font-weight:700;line-height:1.05;margin:0 0 1mm}.fc-name-sv{font-size:9pt;font-style:italic;color:#777;margin:0 0 2mm}.fc-category-badge{display:inline-block;padding:.8mm 2.5mm;border-radius:10mm;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff}.fc-dish-role{margin:1.5mm 0 0;font-style:italic;font-size:6.5pt;color:#666;line-height:1.35}.fc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:2mm;flex-shrink:0}.fc-tile{border:1px solid color-mix(in srgb,var(--fc-accent, #3d8b37) 28%,white);background:color-mix(in srgb,var(--fc-accent, #3d8b37) 7%,white);border-radius:2mm;padding:1.5mm 2mm;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6mm}.fc-tile-icon{font-size:10pt;line-height:1}.fc-tile-label{font-family:Arial,Helvetica,sans-serif;font-size:4.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#aaa}.fc-tile-value{font-size:7.5pt;font-weight:700;color:var(--fc-accent, #3d8b37);line-height:1.2}.fc-row-label{font-family:Arial,Helvetica,sans-serif;font-size:5pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#bbb;flex-shrink:0}.fc-cook-methods{display:flex;flex-wrap:wrap;align-items:center;gap:1.5mm;flex-shrink:0}.fc-cook-label{font-family:Arial,Helvetica,sans-serif;font-size:5pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#bbb}.fc-cook-tag{color:#fff;border-radius:8mm;padding:.5mm 2.5mm;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:700;letter-spacing:.02em}.fc-flavor{display:flex;flex-wrap:wrap;align-items:center;gap:1.5mm;flex-shrink:0}.fc-flavor-tag{border-radius:8mm;padding:.5mm 2.5mm;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:600;letter-spacing:.02em;background:transparent}.fc-pairs{display:flex;flex-wrap:wrap;align-items:center;gap:1.5mm;flex-shrink:0}.fc-pairs-tag{background:#f0f0f0;color:#555;border-radius:8mm;padding:.5mm 2.5mm;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;letter-spacing:.02em}.fc-nutrition{display:flex;align-items:center;gap:1.5mm;flex-shrink:0;padding:1.5mm 2.5mm;border-radius:2mm}.fc-nutrition-icon{font-size:8pt;flex-shrink:0;font-style:normal}.fc-nutrition-text{font-family:Arial,Helvetica,sans-serif;font-size:6pt;font-weight:600;line-height:1.3}.fc-funfact{flex-shrink:0;display:flex;align-items:flex-start;gap:2mm;padding:2mm 4mm;border-top:1px solid}.fc-funfact-icon{flex-shrink:0;font-size:8pt;line-height:1.3;font-style:normal}.fc-funfact-text{font-size:6.5pt;color:#555;line-height:1.5}.fc-back-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:2.5mm 5mm;color:#fff}.fc-back-name{font-size:10pt;font-weight:700;letter-spacing:.01em}.fc-back-badge{font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.8}.fc-back-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:0}.fc-back-section{padding:3mm 4mm;overflow:hidden;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.fc-back-section:nth-child(2n){border-right:none}.fc-back-section:nth-child(3),.fc-back-section:nth-child(4){border-bottom:none}.fc-back-section-label{font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fc-accent, #3d8b37);border-bottom:1px solid color-mix(in srgb,var(--fc-accent, #3d8b37) 25%,white);padding-bottom:1mm;margin-bottom:1.5mm}.fc-back-section-content{font-size:6pt;line-height:1.5;color:#333;overflow:hidden}.fc-back-section-content p{margin:0 0 1mm}.fc-back-section-content ul,.fc-back-section-content ol{margin:0;padding-left:3.5mm}.fc-back-section-content li{margin-bottom:.5mm}.fc-back-section-content strong{font-weight:700}.fc-back-section-content em{font-style:italic}.fc-back-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.fc-back-nutrition{flex-shrink:0;border-top:1px solid;padding:1.5mm 4mm 2mm}.fc-back-nutrition-header{display:flex;align-items:baseline;justify-content:space-between;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1mm}.fc-back-nutrition-portion{font-size:5pt;font-weight:400;text-transform:none;letter-spacing:0;color:#777;font-style:italic}.fc-nut-table{width:100%;border-collapse:collapse;font-family:Arial,Helvetica,sans-serif;font-size:5.5pt;color:#333}.fc-nut-th{text-align:right;font-weight:700;color:#888;text-transform:uppercase;font-size:4.5pt;letter-spacing:.05em;padding:0 1.5mm .8mm;border-bottom:.4mm solid #e0e0e0}.fc-nut-th:first-child{text-align:left}.fc-nut-td{padding:.35mm 1.5mm;text-align:right;border-bottom:.3mm solid #f0f0f0;line-height:1.5}.fc-nut-label{text-align:left;font-weight:600;color:#444}.fc-nut-row--sub .fc-nut-label{font-weight:400;color:#777;padding-left:3.5mm}@media print{@page{size:A5 landscape;margin:0}html,body{background:#fff}.flashcard-wrapper{background:none;padding:0;gap:0;min-height:unset}.flashcard-toolbar,.fc-page-sep{display:none}.fc-card{box-shadow:none;border-radius:0;page-break-after:always;break-after:page}.fc-card:last-child{page-break-after:auto;break-after:auto}}.flashcard-toolbar{display:flex;gap:.75rem;align-items:center}.flashcard-toolbar button{padding:.45rem 1rem;border:none;border-radius:5px;font-size:.875rem;cursor:pointer;background:#3a7bd5;color:#fff}.flashcard-toolbar button:hover{background:#2f68bb}.flashcard-toolbar a{font-size:.875rem;color:#3a7bd5;text-decoration:none}.flashcard-toolbar a:hover{text-decoration:underline}.flashcard{width:210mm;min-height:148mm;background:#fff;border-radius:6px;box-shadow:0 4px 20px #00000026;display:grid;grid-template-columns:68mm 1fr;overflow:hidden;page-break-inside:avoid}.fc-left{display:flex;flex-direction:column;background:#f8f4ee;border-right:2px solid #c8b99a}.fc-image{width:100%;aspect-ratio:4/3;object-fit:cover;flex-shrink:0}.fc-image-placeholder{width:100%;aspect-ratio:4/3;background:#ede6db;display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0}.fc-names{padding:.75rem 1rem;flex:1;display:flex;flex-direction:column;justify-content:center;gap:.2rem}.fc-name-en{font-size:1.35rem;font-weight:700;color:#2c1f0e;line-height:1.15}.fc-name-sv{font-size:.95rem;color:#7a6248;font-style:italic}.fc-category-badge{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;background:#c8b99a;color:#2c1f0e;border-radius:20px;font-size:.7rem;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;width:fit-content}.fc-right{padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.65rem;font-size:.72rem;line-height:1.45;color:#2c1f0e;overflow:hidden}.fc-section{display:flex;flex-direction:column;gap:.15rem}.fc-section-label{font-family:Arial,sans-serif;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#7a6248;border-bottom:1px solid #c8b99a;padding-bottom:.1rem;margin-bottom:.15rem}.fc-section-content{font-size:.72rem;color:#2c1f0e}.fc-section-content p{margin:0 0 .2em}.fc-section-content ul,.fc-section-content ol{margin:0;padding-left:1.1em}.fc-section-content li{margin-bottom:.1em}.fc-section-content strong{font-weight:700}.fc-section-content em{font-style:italic}.fc-funfact{margin-top:auto;background:#f8f4ee;border-top:1px solid #c8b99a;padding:.4rem .6rem;font-style:italic;font-size:.68rem;color:#5a4530;border-radius:0 0 4px}@media print{@page{size:A5 landscape;margin:0}body{margin:0;background:#fff}.flashcard-wrapper{background:none;padding:0;min-height:unset}.flashcard-toolbar{display:none}.flashcard{width:100%;min-height:100vh;box-shadow:none;border-radius:0}}.ts-shell{min-height:100vh;background:var(--bg-canvas);color:var(--text-primary);display:flex;flex-direction:column;overflow-x:hidden}.ts-header{background:var(--card-bg);border-bottom:1px solid var(--border-soft);padding:1.25rem 1rem 1rem}.ts-header-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ts-kicker{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.2rem}.ts-header h1{font-size:clamp(1.25rem,5vw,1.75rem);font-weight:700;margin:0;color:var(--text-primary)}.ts-header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ts-status-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;background:var(--bg-muted);color:var(--text-secondary);white-space:nowrap}.ts-status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.ts-status-playing .ts-status-dot{background:var(--success-color);box-shadow:0 0 6px color-mix(in srgb,var(--success-color) 60%,transparent);animation:ts-pulse 1.5s ease-in-out infinite}.ts-status-paused .ts-status-dot{background:var(--warning-color)}.ts-status-stopped .ts-status-dot{background:var(--text-muted)}@keyframes ts-pulse{0%,to{opacity:1}50%{opacity:.35}}.ts-main{flex:1;width:100%;max-width:960px;margin:2rem auto 4rem;padding:0 1.25rem;box-sizing:border-box;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start}.ts-loading{grid-column:1 / -1;color:var(--text-muted);font-size:.9rem;text-align:center;padding:2rem}.ts-connection-error{grid-column:1 / -1;background:var(--error-surface);border:1px solid color-mix(in srgb,var(--danger-color) 30%,transparent);border-radius:.75rem;padding:.85rem 1.1rem;color:var(--danger-color);font-size:.875rem}.ts-card{background:var(--card-bg);border-radius:1.25rem;padding:clamp(1.1rem,4vw,1.75rem);box-shadow:var(--shadow-soft);min-width:0}.ts-card h2{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 1.1rem}.ts-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.ts-card-header h2{margin:0}.ts-count{color:var(--text-muted);font-weight:400}.ts-now-playing,.ts-add-songs{grid-column:span 1}.ts-queue,.ts-auto-dj,.ts-history{grid-column:1 / -1}@media (max-width: 600px){.ts-main{margin:1rem auto 3rem;padding:0 .875rem;gap:.875rem}.ts-add-meta-row{flex-direction:column;align-items:stretch}.ts-mode-toggle{width:100%}.ts-mode-btn{flex:1;text-align:center}.ts-btn-primary{width:100%;justify-content:center}.ts-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.ts-controls .ts-btn{justify-content:center}.ts-remove-title-row{flex-wrap:wrap}.ts-remove-title-row .ts-input{flex:1 1 120px}.ts-history-item{flex-wrap:wrap}}.ts-track{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.ts-track-icon{font-size:1.2rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--bg-muted);color:var(--text-secondary);flex-shrink:0}.ts-track-info{flex:1;min-width:0}.ts-track-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-track-meta{font-size:.78rem;color:var(--text-muted);margin:0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.ts-track-link{display:block;color:var(--text-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-track-link:hover{text-decoration:underline;color:var(--link-color)}.ts-track-progress{font-variant-numeric:tabular-nums}.ts-nowplaying-empty{margin-bottom:1.25rem}.ts-controls{display:flex;gap:.625rem;flex-wrap:wrap}.ts-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--border-soft);background:var(--bg-soft);color:var(--text-primary);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .14s,border-color .14s,opacity .14s;white-space:nowrap}.ts-btn:hover:not(:disabled){background:var(--bg-muted);border-color:var(--border-strong)}.ts-btn:disabled{opacity:.45;cursor:not-allowed}.ts-btn-sm{padding:.35rem .75rem;font-size:.8rem}.ts-btn-primary{background:var(--button-primary-gradient);color:var(--text-inverse);border-color:transparent;margin-top:.25rem}.ts-btn-primary:hover:not(:disabled){opacity:.88;background:var(--button-primary-gradient);border-color:transparent}.ts-btn-success{background:color-mix(in srgb,var(--success-color) 18%,transparent);border-color:color-mix(in srgb,var(--success-color) 35%,transparent);color:var(--success-color)}.ts-btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--success-color) 28%,transparent)}.ts-btn-danger{background:color-mix(in srgb,var(--danger-color) 12%,transparent);border-color:color-mix(in srgb,var(--danger-color) 28%,transparent);color:var(--danger-color)}.ts-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 22%,transparent)}.ts-btn-danger-outline{background:transparent;border-color:color-mix(in srgb,var(--danger-color) 35%,transparent);color:var(--danger-color)}.ts-btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 10%,transparent)}.ts-btn-ghost{background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:background .14s,color .14s;white-space:nowrap}.ts-btn-ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--text-primary)}.ts-btn-danger-ghost{color:var(--danger-color)}.ts-btn-danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 10%,transparent);color:var(--danger-color)}.ts-section-hint{font-size:.8rem;color:var(--text-muted);margin:-.5rem 0 .85rem}.ts-textarea{display:block;width:100%;padding:.7rem .85rem;border:1px solid var(--input-border);border-radius:.5rem;background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:.875rem;resize:vertical;box-sizing:border-box;margin-bottom:.75rem;transition:border-color .14s,box-shadow .14s}.ts-textarea:focus{outline:none;border-color:var(--input-border-strong);box-shadow:0 0 0 3px var(--focus-ring-color)}.ts-textarea:disabled{opacity:.6}.ts-input{flex:1;min-width:0;padding:.48rem .75rem;border:1px solid var(--input-border);border-radius:.5rem;background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:.875rem;transition:border-color .14s,box-shadow .14s;box-sizing:border-box}.ts-input:focus{outline:none;border-color:var(--input-border-strong);box-shadow:0 0 0 3px var(--focus-ring-color)}.ts-input:disabled{opacity:.6}.ts-input-sm{flex:1}.ts-add-meta-row{display:flex;gap:.625rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.ts-mode-toggle{display:flex;border:1px solid var(--border-soft);border-radius:.5rem;overflow:hidden;flex-shrink:0}.ts-mode-btn{padding:.44rem .85rem;background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.ts-mode-btn+.ts-mode-btn{border-left:1px solid var(--border-soft)}.ts-mode-btn:hover:not(:disabled){background:var(--bg-soft)}.ts-mode-btn.is-active{background:var(--bg-muted);color:var(--text-primary)}.ts-mode-btn:disabled{opacity:.5;cursor:not-allowed}.ts-muted{color:var(--text-muted);font-size:.875rem;margin:0}.ts-error{color:var(--danger-color);font-size:.83rem;padding:.55rem .8rem;background:var(--error-surface);border-radius:.4rem;margin-top:.6rem}.ts-error-pre{white-space:pre-line}.ts-feedback{color:var(--success-color);font-size:.83rem;padding:.55rem .8rem;background:var(--success-surface);border-radius:.4rem;margin-top:.6rem}.ts-queue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.ts-queue-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:.5rem;background:var(--bg-soft);transition:background .12s}.ts-queue-item:hover{background:var(--bg-muted)}.ts-queue-index{font-size:.72rem;font-weight:700;color:var(--text-muted);width:1.4rem;text-align:center;flex-shrink:0}.ts-queue-info{flex:1;min-width:0}.ts-queue-title{font-size:.875rem;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.ts-queue-meta{font-size:.72rem;color:var(--text-muted);display:flex;gap:.5rem;align-items:center;margin-top:.1rem;flex-wrap:wrap}.ts-queue-link{display:block;font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);text-decoration:none}.ts-queue-link:hover{text-decoration:underline;color:var(--link-color)}.ts-remove-btn{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;padding:.25rem .4rem;border-radius:.3rem;transition:background .12s,color .12s;flex-shrink:0;font-family:inherit}.ts-remove-btn:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 12%,transparent);color:var(--danger-color)}.ts-remove-btn:disabled{opacity:.35;cursor:not-allowed}.ts-drag-handle{color:var(--text-muted);cursor:grab;padding:0 .2rem;font-size:1rem;flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.ts-drag-handle:active{cursor:grabbing}.ts-queue-item--dragging{opacity:.35}.ts-queue-item--dragover{background:color-mix(in srgb,var(--link-color) 10%,transparent);outline:1px dashed var(--link-color);outline-offset:-1px}.ts-remove-title-row{display:flex;gap:.5rem;margin-top:1rem;align-items:center}.ts-history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.ts-history-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .6rem;border-radius:.45rem;transition:background .12s}.ts-history-item:hover{background:var(--bg-soft)}.ts-history-icon{color:var(--text-muted);font-size:.9rem;flex-shrink:0}.ts-history-title{flex:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.ts-history-meta{font-size:.72rem;color:var(--text-muted);flex-shrink:0}.ts-seek-row{margin-top:.75rem;margin-bottom:20px}.ts-seek-slider{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--border-soft);outline:none;cursor:pointer;accent-color:var(--link-color)}.ts-seek-slider:disabled{opacity:.4;cursor:not-allowed}.ts-reconnect-banner{flex-basis:100%;font-size:.78rem;color:var(--success-color);background:var(--success-surface);border-radius:.375rem;padding:.3rem .75rem;margin:0}.ts-reconnect-banner--err{color:var(--danger-color);background:var(--error-surface)}.ts-volume-row{display:flex;align-items:center;gap:.6rem;margin-top:1rem}.ts-volume-icon{font-size:.95rem;flex-shrink:0;line-height:1}.ts-volume-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--border-soft);outline:none;cursor:pointer;accent-color:var(--link-color)}.ts-volume-slider:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:3px}.ts-volume-label{font-size:.72rem;color:var(--text-muted);white-space:nowrap;min-width:2.8rem;text-align:right}.ts-card-header-actions{display:flex;gap:.4rem;align-items:center}.ts-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.ts-moods{grid-column:1 / -1}.ts-mood-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(130px,100%),1fr));gap:.5rem;margin-top:.5rem}.ts-mood-btn{display:flex;align-items:center;gap:.45rem;justify-content:center;background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:.5rem;padding:.65rem .8rem;font-size:.875rem;font-family:inherit;color:var(--text-primary);cursor:pointer;transition:background .12s,border-color .12s,transform .1s;text-transform:capitalize}.ts-mood-btn:hover:not(:disabled){background:color-mix(in srgb,var(--link-color) 10%,transparent);border-color:var(--link-color)}.ts-mood-btn:active:not(:disabled){transform:scale(.97)}.ts-mood-btn.is-loading{opacity:.55}.ts-mood-btn:disabled{opacity:.45;cursor:not-allowed}.ts-btn-success{background:color-mix(in srgb,var(--success-color) 12%,transparent);color:var(--success-color);border-color:color-mix(in srgb,var(--success-color) 40%,transparent)}.ts-btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--success-color) 22%,transparent)}.ts-favorites,.ts-playlists{grid-column:1 / -1}.ts-playlist-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.1rem}.ts-playlist-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem}.ts-playlist-item:hover{background:var(--bg-soft)}.ts-playlist-name{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;font-family:inherit;cursor:pointer;text-align:left;padding:0;font-weight:500}.ts-playlist-name:hover{color:var(--link-color)}.ts-playlist-actions{display:flex;gap:.4rem;align-items:center}.ts-playlist-tracks{list-style:none;padding:.4rem 0 .2rem 1.5rem;margin:0;flex-basis:100%;display:flex;flex-direction:column;gap:.25rem}.ts-playlist-track{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--text-secondary)}.ts-tabs{display:flex;gap:.15rem;border-bottom:1px solid var(--border-soft);margin-bottom:1rem}.ts-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:.45rem .9rem;font-size:.85rem;font-family:inherit;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;transition:color .12s,border-color .12s}.ts-tab.is-active{color:var(--link-color);border-bottom-color:var(--link-color);font-weight:600}.ts-tab:hover:not(.is-active){color:var(--text-primary)}.ts-stats{grid-column:1 / -1}.ts-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:.75rem;margin-top:.75rem}.ts-stat-item{display:flex;flex-direction:column;align-items:center;background:var(--bg-soft);border-radius:.5rem;padding:.9rem .75rem;text-align:center;gap:.25rem}.ts-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.ts-stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.ts-chart-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.ts-chart-item{display:flex;align-items:center;gap:.75rem;padding:.45rem .6rem;border-radius:.4rem;background:var(--bg-soft);font-size:.875rem}.ts-chart-rank{font-size:.75rem;color:var(--text-muted);font-weight:600;min-width:2rem;text-align:right;flex-shrink:0}.ts-chart-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);font-weight:500}.ts-chart-count{font-size:.78rem;color:var(--text-muted);flex-shrink:0}.ts-chart-meta{font-size:.78rem;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.kitchen-dashboard h1{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}.kd-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:2rem}.kd-action-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--card-bg);border:1px solid var(--border-soft);border-radius:1rem;text-decoration:none;color:var(--text-primary);font-weight:600;font-size:.85rem;transition:transform .15s,box-shadow .15s,border-color .15s;cursor:pointer;-webkit-tap-highlight-color:transparent}.kd-action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--link-color)}.kd-action-card:active{transform:translateY(0)}.kd-action-icon{font-size:1.75rem;line-height:1}.kd-action-label{text-align:center}.kd-section{margin-bottom:2rem}.kd-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.kd-section-header h2{font-size:1.15rem;font-weight:600;margin:0}.kd-see-all{font-size:.8rem;color:var(--link-color);text-decoration:none;font-weight:500}.kd-see-all:hover{text-decoration:underline}.kd-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.kd-stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;border-radius:.875rem;background:var(--card-bg);border:1px solid var(--border-soft)}.kd-stat-number{font-size:1.75rem;font-weight:700;line-height:1}.kd-stat-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.kd-stat-fridge .kd-stat-number{color:#2563eb}.kd-stat-freezer .kd-stat-number{color:#06b6d4}.kd-stat-pantry .kd-stat-number{color:#d97706}.kd-stat-counter .kd-stat-number{color:#64748b}.kd-stat-warning{border-color:var(--warning-color);background:var(--warning-surface)}.kd-stat-warning .kd-stat-number{color:var(--warning-color)}.kd-empty{padding:1.5rem;background:var(--bg-soft);border-radius:.875rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.kd-empty p{margin:0 0 .5rem}.kd-empty-action{color:var(--link-color);text-decoration:none;font-weight:500;font-size:.85rem}.kd-empty-action:hover{text-decoration:underline}.kd-meal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.kd-meal-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border-soft);border-radius:.75rem;font-size:.875rem}.kd-meal-date{color:var(--text-muted);font-size:.8rem;font-weight:500;white-space:nowrap;min-width:5.5rem}.kd-meal-title{flex:1;font-weight:500;color:var(--text-primary)}.kd-meal-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.kd-meal-rating{font-size:.8rem;color:var(--warning-color);white-space:nowrap}.kd-urgent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.kd-urgent-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;background:var(--warning-surface, #fffbeb);border:1px solid var(--warning-color, #f59e0b);border-radius:.75rem;font-size:.85rem}[data-theme=dark] .kd-urgent-item{background:#451a03;border-color:#92400e}.kd-urgent-name{font-weight:600}.kd-urgent-reason{font-size:.75rem;color:var(--warning-color, #d97706);font-weight:500}.kd-skeleton-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.kd-skeleton{height:80px;border-radius:.875rem;background:linear-gradient(90deg,var(--bg-muted) 25%,var(--bg-soft) 50%,var(--bg-muted) 75%);background-size:200% 100%;animation:kd-shimmer 1.5s ease-in-out infinite}@keyframes kd-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 480px){.kitchen-dashboard h1{font-size:1.35rem;margin-bottom:1rem}.kd-actions,.kd-stats-grid{grid-template-columns:repeat(2,1fr)}.kd-meal-item{flex-wrap:wrap}.kd-meal-date{min-width:auto}}.pantry-page{max-width:960px;margin:0 auto}.pantry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pantry-header h1{font-size:1.5rem;font-weight:700;margin:0}.pantry-btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.pantry-btn-primary{background:var(--accent, #4f46e5);color:#fff}.pantry-btn-primary:hover{opacity:.9}.pantry-btn-primary:disabled{opacity:.5;cursor:not-allowed}.pantry-btn-secondary{background:var(--surface-2, #e5e7eb);color:var(--text, #111)}[data-theme=dark] .pantry-btn-secondary{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.pantry-btn-ai{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.pantry-btn-ai:hover{opacity:.9}.pantry-btn-ai:disabled{opacity:.5;cursor:not-allowed}.pantry-feedback{padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem;font-weight:500}.pantry-feedback.success{background:#d1fae5;color:#065f46}.pantry-feedback.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .pantry-feedback.success{background:#064e3b;color:#a7f3d0}[data-theme=dark] .pantry-feedback.error{background:#7f1d1d;color:#fca5a5}.pantry-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.75rem;-webkit-overflow-scrolling:touch}.pantry-tab{flex-shrink:0;border:none;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280);padding:.45rem .9rem;border-radius:99px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.pantry-tab.active{background:var(--accent, #4f46e5);color:#fff}[data-theme=dark] .pantry-tab{background:var(--surface-2, #1f2937)}[data-theme=dark] .pantry-tab.active{background:var(--accent, #6366f1)}.pantry-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.pantry-search{flex:1;min-width:180px;padding:.5rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .pantry-search{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.pantry-toggle-used{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted, #6b7280);white-space:nowrap;cursor:pointer}.pantry-loading,.pantry-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.pantry-empty-link{display:inline-block;margin-top:.5rem;color:var(--accent, #4f46e5);font-weight:500}.pantry-groups{display:flex;flex-direction:column;gap:1.25rem}.pantry-group-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6b7280);margin:0 0 .5rem;display:flex;align-items:center;gap:.4rem}.pantry-group-count{background:var(--surface-2, #e5e7eb);color:var(--text-muted, #6b7280);font-size:.7rem;padding:.1rem .45rem;border-radius:99px}[data-theme=dark] .pantry-group-count{background:var(--surface-2, #374151)}.pantry-view-toggle{border:1px solid var(--border, #d1d5db);background:var(--surface, #fff);color:var(--text, #111);width:34px;height:34px;border-radius:8px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pantry-view-toggle:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .pantry-view-toggle{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.pantry-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.pantry-matrix{width:100%;border-collapse:collapse;font-size:.8rem}.pantry-matrix-corner{width:90px;min-width:90px}.pantry-matrix th{text-align:center;padding:.4rem .3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);border-bottom:2px solid var(--border, #e5e7eb);white-space:nowrap}[data-theme=dark] .pantry-matrix th{border-bottom-color:var(--border, #374151)}.pantry-matrix-cat{font-weight:600;font-size:.75rem;color:var(--text-muted, #6b7280);padding:.5rem .4rem;vertical-align:top;white-space:nowrap;border-right:1px solid var(--border, #e5e7eb)}[data-theme=dark] .pantry-matrix-cat{border-right-color:var(--border, #374151)}.pantry-matrix-cell{vertical-align:top;padding:.35rem;border-bottom:1px solid var(--border, #f3f4f6);min-width:120px}[data-theme=dark] .pantry-matrix-cell{border-bottom-color:var(--border, #1f2937)}.pantry-matrix-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .4rem;margin:.1rem;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--surface, #fff);font-size:.72rem;cursor:pointer;transition:box-shadow .12s,border-color .12s;max-width:100%}.pantry-matrix-chip:hover{box-shadow:0 1px 4px #00000014}.pantry-matrix-chip.used{opacity:.35}.pantry-matrix-chip.chip-expired{border-color:#ef4444}.pantry-matrix-chip.chip-expiring{border-color:#f59e0b}.pantry-matrix-chip.chip-selected{border-color:var(--accent, #4f46e5);background:#eff6ff}[data-theme=dark] .pantry-matrix-chip{background:var(--surface, #1f2937);border-color:var(--border, #374151)}[data-theme=dark] .pantry-matrix-chip.chip-selected{background:#1e3a5f}.matrix-chip-emoji{font-size:.75rem;flex-shrink:0}.matrix-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loc-header-fridge{color:#3b82f6!important}.loc-header-freezer{color:#6366f1!important}.loc-header-pantry{color:#d97706!important}.loc-header-counter{color:#22c55e!important}.pantry-item-list{display:flex;flex-direction:column;gap:.35rem}.pantry-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;transition:box-shadow .15s,border-color .15s,opacity .2s;min-height:38px}.pantry-row:hover{box-shadow:0 1px 6px #0000000d}.pantry-row.used{opacity:.35}.pantry-row.expired{border-left:3px solid #ef4444}.pantry-row.expiring{border-left:3px solid #f59e0b}.pantry-row.selected{border-color:var(--accent, #4f46e5);background:#eff6ff}[data-theme=dark] .pantry-row{background:var(--surface, #1f2937);border-color:var(--border, #374151)}[data-theme=dark] .pantry-row.selected{background:#1e3a5f}.pantry-row-check{width:1rem;height:1rem;accent-color:var(--accent, #4f46e5);cursor:pointer;flex-shrink:0}.pantry-row-status{border:none;background:none;font-size:1rem;cursor:pointer;padding:0;flex-shrink:0;line-height:1}.pantry-row-status:disabled{cursor:default}.pantry-row-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.pantry-row-qty{font-size:.75rem;color:var(--text-muted, #6b7280);white-space:nowrap;flex-shrink:0}.pantry-loc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pantry-loc-dot.loc-fridge{background:#3b82f6}.pantry-loc-dot.loc-freezer{background:#6366f1}.pantry-loc-dot.loc-pantry{background:#d97706}.pantry-loc-dot.loc-counter{background:#22c55e}.pantry-row-actions{display:flex;gap:.2rem;flex-shrink:0}.pantry-row-act{border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;text-decoration:none;color:var(--text, #111);padding:0;transition:background .12s}.pantry-row-act:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .pantry-row-act{background:var(--surface-2, #374151);border-color:var(--border, #4b5563);color:var(--text, #f3f4f6)}.pantry-status-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border, #d1d5db);border-radius:99px;background:var(--surface-2, #f3f4f6);padding:.3rem .65rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;color:var(--text, #111)}.pantry-status-pill:hover:not(:disabled){box-shadow:0 0 0 2px var(--accent, #4f46e5)}.pantry-status-pill:disabled{cursor:default;opacity:.4}[data-theme=dark] .pantry-status-pill{background:var(--surface-2, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.pantry-status-emoji{font-size:.85rem;line-height:1}.pantry-status-text{white-space:nowrap}.pantry-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.pantry-item-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pantry-item-qty{font-size:.75rem;color:var(--text-muted, #6b7280)}.pantry-item-meta{display:flex;gap:.35rem;align-items:center;flex-shrink:0}.pantry-badge{font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:6px;text-transform:uppercase}.badge-expired{background:#fee2e2;color:#991b1b}.badge-expiring{background:#fef3c7;color:#92400e}[data-theme=dark] .badge-expired{background:#7f1d1d;color:#fca5a5}[data-theme=dark] .badge-expiring{background:#78350f;color:#fde68a}.pantry-location-badge{font-size:.65rem;font-weight:600;padding:.15rem .45rem;border-radius:6px;text-transform:capitalize}.loc-fridge{background:#dbeafe;color:#1e40af}.loc-freezer{background:#e0e7ff;color:#3730a3}.loc-pantry{background:#fef3c7;color:#92400e}.loc-counter{background:#dcfce7;color:#166534}[data-theme=dark] .loc-fridge{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .loc-freezer{background:#312e81;color:#a5b4fc}[data-theme=dark] .loc-pantry{background:#78350f;color:#fde68a}[data-theme=dark] .loc-counter{background:#14532d;color:#86efac}.pantry-item-actions{display:flex;gap:.4rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border, #f3f4f6);flex-wrap:wrap}[data-theme=dark] .pantry-item-actions{border-top-color:var(--border, #374151)}.pantry-action-chip{border:1px solid var(--border, #d1d5db);background:var(--surface, #fff);border-radius:8px;padding:.4rem .7rem;font-size:.8rem;cursor:pointer;text-decoration:none;color:var(--text, #111);display:inline-flex;align-items:center;gap:.25rem;transition:background .15s,box-shadow .15s;font-weight:500;min-height:36px}.pantry-action-chip:hover{background:var(--surface-2, #f3f4f6);box-shadow:0 1px 4px #0000000f}[data-theme=dark] .pantry-action-chip{background:var(--surface-2, #374151);border-color:var(--border, #4b5563);color:var(--text, #f3f4f6)}[data-theme=dark] .pantry-action-chip:hover{background:var(--surface-3, #4b5563)}.pantry-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.pantry-drawer{width:min(420px,90vw);height:100%;background:var(--surface, #fff);overflow-y:auto;padding:1.25rem;animation:slideIn .2s ease-out}[data-theme=dark] .pantry-drawer{background:var(--surface, #111827)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.pantry-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pantry-drawer-header h2{font-size:1.15rem;font-weight:700;margin:0}.pantry-drawer-close{border:none;background:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted, #6b7280)}.pantry-drawer-form{display:flex;flex-direction:column;gap:.85rem}.pantry-field{display:flex;flex-direction:column;gap:.25rem}.pantry-field label{font-size:.75rem;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.03em}.pantry-field input,.pantry-field select,.pantry-field textarea{padding:.5rem .65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .pantry-field input,[data-theme=dark] .pantry-field select,[data-theme=dark] .pantry-field textarea{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.pantry-field-row{display:flex;gap:.75rem}.pantry-field-row .pantry-field{flex:1}.pantry-drawer-actions{display:flex;gap:.75rem;margin-top:.5rem}.pantry-modal{width:min(380px,85vw);background:var(--surface, #fff);border-radius:12px;margin:auto;padding:1.25rem;animation:popIn .2s ease-out}.pantry-split-modal{width:min(480px,92vw);max-height:85vh;display:flex;flex-direction:column}.pantry-split-modal .pantry-modal-body{overflow-y:auto;flex:1}[data-theme=dark] .pantry-modal{background:var(--surface, #1f2937)}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.pantry-modal-body{margin-top:.5rem}.pantry-split-info{font-size:.9rem;margin-bottom:.75rem}.pantry-split-suggestions{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.pantry-split-suggest-title{font-size:.82rem;margin-bottom:.15rem}.pantry-split-suggest-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface-2, #f9fafb);padding:.45rem .6rem;cursor:pointer;transition:border-color .12s,box-shadow .12s}.pantry-split-suggest-btn:hover{border-color:var(--accent, #6366f1);box-shadow:0 1px 4px #6366f11f}[data-theme=dark] .pantry-split-suggest-btn{background:var(--surface-2, #1f2937);border-color:var(--border, #374151)}.pantry-split-suggest-label{font-size:.78rem;font-weight:600;line-height:1.3}.pantry-split-suggest-detail{font-size:.7rem;color:var(--text-muted, #6b7280)}.pantry-split-portions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.pantry-split-portion-row{display:flex;flex-direction:column;gap:.3rem;padding:.5rem;background:var(--surface-2, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px}[data-theme=dark] .pantry-split-portion-row{background:var(--surface-2, #1f2937);border-color:var(--border, #374151)}.pantry-split-portion-fields{display:flex;gap:.3rem;align-items:center}.pantry-split-qty-input{width:60px;padding:.3rem .4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.82rem;background:var(--surface, #fff);color:var(--text, #111)}.pantry-split-unit-input{width:50px;padding:.3rem .4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.82rem;background:var(--surface, #fff);color:var(--text, #111)}.pantry-split-loc-select{flex:1;padding:.3rem .4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.78rem;background:var(--surface, #fff);color:var(--text, #111);min-width:0}[data-theme=dark] .pantry-split-qty-input,[data-theme=dark] .pantry-split-unit-input,[data-theme=dark] .pantry-split-loc-select{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.pantry-split-remove-btn{width:24px;height:24px;border:1px solid var(--border, #d1d5db);border-radius:6px;background:none;color:var(--text-muted, #9ca3af);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.pantry-split-remove-btn:hover{color:#ef4444;border-color:#fca5a5}.pantry-split-purpose-input{width:100%;padding:.25rem .4rem;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:.75rem;background:var(--surface, #fff);color:var(--text-muted, #6b7280)}[data-theme=dark] .pantry-split-purpose-input{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text-muted, #9ca3af)}.pantry-split-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.pantry-split-add-btn{font-size:.78rem;padding:.3rem .65rem}.pantry-split-sum{font-size:.8rem;font-weight:600}.pantry-split-sum.valid{color:#16a34a}.pantry-split-sum.invalid{color:#dc2626}.pantry-status-modal,.pantry-move-modal{width:min(400px,88vw)}.pantry-status-modal-hint,.pantry-move-modal-hint{font-size:.85rem;color:var(--text-muted, #6b7280);margin:0 0 .75rem}.pantry-status-options,.pantry-move-options{display:flex;flex-direction:column;gap:.5rem}.pantry-status-option{display:flex;align-items:center;gap:.65rem;border:1px solid var(--border, #d1d5db);border-radius:10px;background:var(--surface, #fff);padding:.75rem 1rem;cursor:pointer;text-align:left;font-size:.9rem;transition:background .15s,box-shadow .15s;min-height:52px}.pantry-status-option:hover{background:var(--surface-2, #f3f4f6);box-shadow:0 1px 4px #0000000f}.pantry-status-option.current{border-color:var(--accent, #4f46e5);background:#eff6ff}[data-theme=dark] .pantry-status-option{background:var(--surface, #1f2937);border-color:var(--border, #374151)}[data-theme=dark] .pantry-status-option:hover{background:var(--surface-2, #374151)}[data-theme=dark] .pantry-status-option.current{border-color:var(--accent, #6366f1);background:#1e3a5f}.pantry-status-option-used{border-color:#fca5a5;margin-top:.25rem}.pantry-status-option-used:hover{background:#fef2f2}[data-theme=dark] .pantry-status-option-used{border-color:#7f1d1d}[data-theme=dark] .pantry-status-option-used:hover{background:#450a0a}.pantry-so-emoji{font-size:1.3rem;flex-shrink:0}.pantry-so-label{font-weight:600;flex-shrink:0}.pantry-so-desc{color:var(--text-muted, #6b7280);font-size:.8rem;flex:1}.pantry-so-current{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--accent, #4f46e5);letter-spacing:.04em}.pantry-qty-modal{width:min(400px,88vw)}.pantry-qty-slider-area{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.pantry-qty-display{display:flex;align-items:baseline;justify-content:center;gap:.75rem}.pantry-qty-value{font-size:1.8rem;font-weight:700;color:var(--text, #111);letter-spacing:-.02em}.pantry-qty-pct{font-size:.9rem;font-weight:600;color:var(--text-muted, #9ca3af)}.pantry-qty-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2, #e5e7eb);border-radius:4px;outline:none;cursor:pointer}.pantry-qty-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent, #4f46e5);border:2px solid #fff;box-shadow:0 1px 4px #00000026;cursor:pointer}.pantry-qty-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent, #4f46e5);border:2px solid #fff;box-shadow:0 1px 4px #00000026;cursor:pointer}[data-theme=dark] .pantry-qty-slider{background:var(--surface-2, #374151)}.pantry-qty-range-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted, #9ca3af)}.pantry-qty-quick-btns{display:flex;gap:.35rem;justify-content:center;flex-wrap:wrap;margin:.25rem 0}.pantry-qty-quick-btn{border:1px solid var(--border, #d1d5db);border-radius:6px;background:var(--surface, #fff);color:var(--text, #111);padding:.3rem .55rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s}.pantry-qty-quick-btn:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .pantry-qty-quick-btn{background:var(--surface-2, #374151);border-color:var(--border, #4b5563);color:var(--text, #f3f4f6)}.pantry-qty-save-btn{margin-top:.25rem;width:100%}.pantry-qty-no-data{text-align:center;font-size:.85rem;color:var(--text-muted, #6b7280);padding:1rem 0}.pantry-act-quick-use{border-color:#86efac!important}.pantry-act-quick-use:hover{background:#d1fae5!important}[data-theme=dark] .pantry-act-quick-use:hover{background:#064e3b!important}.pantry-move-option{display:flex;align-items:center;justify-content:center;border:1px solid var(--border, #d1d5db);border-radius:10px;background:var(--surface, #fff);padding:.85rem 1rem;cursor:pointer;font-size:1rem;font-weight:600;transition:background .15s,box-shadow .15s;min-height:52px}.pantry-move-option:hover{box-shadow:0 2px 8px #00000014}.pantry-move-option.loc-fridge{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.pantry-move-option.loc-freezer{background:#e0e7ff;color:#3730a3;border-color:#a5b4fc}.pantry-move-option.loc-pantry{background:#fef3c7;color:#92400e;border-color:#fcd34d}.pantry-move-option.loc-counter{background:#dcfce7;color:#166534;border-color:#86efac}[data-theme=dark] .pantry-move-option.loc-fridge{background:#1e3a5f;color:#93c5fd;border-color:#1e3a5f}[data-theme=dark] .pantry-move-option.loc-freezer{background:#312e81;color:#a5b4fc;border-color:#312e81}[data-theme=dark] .pantry-move-option.loc-pantry{background:#78350f;color:#fde68a;border-color:#78350f}[data-theme=dark] .pantry-move-option.loc-counter{background:#14532d;color:#86efac;border-color:#14532d}@media (max-width: 480px){.pantry-row-actions{display:none}.pantry-row{cursor:pointer}.pantry-header h1{font-size:1.25rem}}@media (min-width: 768px){.pantry-row-act{width:30px;height:30px}}.pantry-header-actions{display:flex;align-items:center;gap:.5rem}.pantry-select-count{font-size:.85rem;font-weight:600;color:var(--accent, #4f46e5)}.pantry-bulk-bar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;margin-bottom:1rem;background:var(--surface-2, #f3f4f6);border-radius:10px;border:1px solid var(--border, #d1d5db)}[data-theme=dark] .pantry-bulk-bar{background:var(--surface-2, #1f2937);border-color:var(--border, #374151)}.pantry-bulk-btn{border:1px solid var(--border, #d1d5db);border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;background:var(--surface, #fff);color:var(--text, #111);transition:background .15s}.pantry-bulk-btn:hover{background:var(--surface-2, #e5e7eb)}[data-theme=dark] .pantry-bulk-btn{background:var(--surface, #111827);color:var(--text, #f3f4f6);border-color:var(--border, #374151)}[data-theme=dark] .pantry-bulk-btn:hover{background:var(--surface-2, #374151)}.pantry-bulk-spoiled{border-color:#fca5a5;color:#dc2626}[data-theme=dark] .pantry-bulk-spoiled{border-color:#7f1d1d;color:#fca5a5}.pantry-bulk-suggest{border-color:#a78bfa;color:#7c3aed}[data-theme=dark] .pantry-bulk-suggest{border-color:#5b21b6;color:#c4b5fd}.pantry-select-check{width:1.1rem;height:1.1rem;accent-color:var(--accent, #4f46e5);flex-shrink:0;cursor:pointer}.pantry-disposal-options{gap:.5rem}.pantry-status-option-spoiled{border-color:#fca5a5}.pantry-status-option-spoiled:hover{background:#fef2f2}[data-theme=dark] .pantry-status-option-spoiled{border-color:#7f1d1d}[data-theme=dark] .pantry-status-option-spoiled:hover{background:#450a0a}.pantry-status-option-expired{border-color:#fed7aa}.pantry-status-option-expired:hover{background:#fffbeb}[data-theme=dark] .pantry-status-option-expired{border-color:#78350f}[data-theme=dark] .pantry-status-option-expired:hover{background:#451a03}.pantry-status-option-gifted{border-color:#c4b5fd}.pantry-status-option-gifted:hover{background:#f5f3ff}[data-theme=dark] .pantry-status-option-gifted{border-color:#4c1d95}[data-theme=dark] .pantry-status-option-gifted:hover{background:#2e1065}.pantry-ai-result{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.pantry-ai-corrections{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:.6rem .75rem;font-size:.8rem}.pantry-ai-corrections strong{display:block;margin-bottom:.25rem;font-size:.82rem}.pantry-ai-corrections p{margin:0;color:#92400e;line-height:1.4}.pantry-ai-corrections.pantry-ai-ok{background:#d1fae5;border-color:#86efac}.pantry-ai-corrections.pantry-ai-ok p{color:#065f46}[data-theme=dark] .pantry-ai-corrections{background:#78350f;border-color:#92400e}[data-theme=dark] .pantry-ai-corrections p{color:#fde68a}[data-theme=dark] .pantry-ai-corrections.pantry-ai-ok{background:#064e3b;border-color:#065f46}[data-theme=dark] .pantry-ai-corrections.pantry-ai-ok p{color:#a7f3d0}.pantry-ai-splits{display:flex;flex-direction:column;gap:.5rem}.pantry-ai-splits>strong{font-size:.82rem}.pantry-ai-split-option{background:var(--surface-2, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:.5rem .65rem}[data-theme=dark] .pantry-ai-split-option{background:var(--surface-2, #1f2937);border-color:var(--border, #374151)}.pantry-ai-split-label{font-size:.8rem;font-weight:600;margin:0 0 .35rem}.pantry-ai-split-portions{display:flex;flex-wrap:wrap;gap:.25rem}.pantry-ai-portion-chip{display:inline-block;background:var(--surface, #fff);border:1px solid var(--border, #d1d5db);border-radius:6px;padding:.2rem .5rem;font-size:.72rem}[data-theme=dark] .pantry-ai-portion-chip{background:var(--surface, #111827);border-color:var(--border, #374151)}.pantry-ai-split-btn{margin-top:.25rem;font-size:.8rem;padding:.4rem .75rem}.pantry-review-modal{max-width:520px;width:95vw;max-height:80vh}.pantry-review-body{overflow-y:auto;max-height:calc(80vh - 60px);padding:.75rem}.pantry-review-loading{text-align:center;padding:2rem 1rem;font-size:.9rem;color:var(--text-muted, #6b7280)}.pantry-review-list{display:flex;flex-direction:column;gap:.6rem}.pantry-review-card{border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:.65rem .75rem;background:var(--surface, #fff);transition:box-shadow .12s}.pantry-review-card:hover{box-shadow:0 1px 6px #0000000f}[data-theme=dark] .pantry-review-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.review-move{border-left:3px solid #3b82f6}.review-use-soon{border-left:3px solid #f59e0b}.review-freeze{border-left:3px solid #6366f1}.review-restock{border-left:3px solid #22c55e}.review-tip{border-left:3px solid #8b5cf6}.pantry-review-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem;font-size:.85rem}.pantry-review-emoji{font-size:1rem;flex-shrink:0}.pantry-review-detail{margin:0;font-size:.8rem;color:var(--text-muted, #6b7280);line-height:1.45}.pantry-review-items{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.pantry-review-item-chip{display:inline-block;background:var(--surface-2, #f3f4f6);border:1px solid var(--border, #e5e7eb);border-radius:5px;padding:.15rem .4rem;font-size:.68rem;font-weight:500}[data-theme=dark] .pantry-review-item-chip{background:var(--surface-2, #374151);border-color:var(--border, #4b5563)}.delivery-page{max-width:720px;margin:0 auto}.delivery-page h1{font-size:1.5rem;font-weight:700;margin:0 0 1rem}.delivery-feedback{padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem;font-weight:500}.delivery-feedback.success{background:#d1fae5;color:#065f46}.delivery-feedback.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .delivery-feedback.success{background:#064e3b;color:#a7f3d0}[data-theme=dark] .delivery-feedback.error{background:#7f1d1d;color:#fca5a5}.delivery-btn{border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none;display:inline-block;text-align:center}.delivery-btn-primary{background:var(--accent, #4f46e5);color:#fff}.delivery-btn-primary:hover{opacity:.9}.delivery-btn-primary:disabled{opacity:.5;cursor:not-allowed}.delivery-btn-secondary{background:var(--surface-2, #e5e7eb);color:var(--text, #111)}[data-theme=dark] .delivery-btn-secondary{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.delivery-type-row{display:flex;gap:.5rem;margin-bottom:1rem}.delivery-type-btn{flex:1;border:2px solid var(--border, #d1d5db);background:var(--surface, #fff);color:var(--text, #111);border-radius:10px;padding:.7rem .5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.delivery-type-btn.active{border-color:var(--accent, #4f46e5);background:var(--accent-light, #eef2ff)}[data-theme=dark] .delivery-type-btn{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}[data-theme=dark] .delivery-type-btn.active{border-color:var(--accent, #6366f1);background:#312e81}.delivery-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.delivery-field label{font-size:.8rem;font-weight:600;color:var(--text-muted, #6b7280)}.delivery-hint{font-weight:400;font-size:.75rem;margin-left:.3rem;opacity:.7}.delivery-field input[type=date]{padding:.5rem .65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111);max-width:200px}[data-theme=dark] .delivery-field input[type=date]{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.delivery-textarea{padding:.65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.85rem;font-family:inherit;line-height:1.5;resize:vertical;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .delivery-textarea{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.delivery-preview-info{font-size:.9rem;margin-bottom:1rem;color:var(--text-muted, #6b7280)}.delivery-items-list{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.delivery-item-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:.65rem .85rem;transition:opacity .2s}.delivery-item-card.excluded{opacity:.4}[data-theme=dark] .delivery-item-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.delivery-item-header{display:flex;align-items:center;gap:.6rem}.delivery-item-check input{cursor:pointer}.delivery-item-names{flex:1;min-width:0;display:flex;flex-direction:column}.delivery-item-name-input{border:none;border-bottom:1px solid transparent;background:transparent;font-size:.9rem;font-weight:600;color:var(--text, #111);padding:.15rem 0}.delivery-item-name-input:focus{outline:none;border-bottom-color:var(--accent, #4f46e5)}[data-theme=dark] .delivery-item-name-input{color:var(--text, #f3f4f6)}.delivery-item-original{font-size:.7rem;color:var(--text-muted, #9ca3af)}.delivery-item-remove{border:none;background:none;font-size:1.2rem;cursor:pointer;color:var(--text-muted, #9ca3af);padding:0 .3rem}.delivery-item-remove:hover{color:#ef4444}.delivery-item-details{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem;align-items:center}.delivery-detail-badge{font-size:.7rem;padding:.15rem .45rem;border-radius:6px;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280)}.badge-new{background:#fef3c7;color:#92400e;font-weight:600}[data-theme=dark] .delivery-detail-badge{background:var(--surface-2, #374151)}[data-theme=dark] .badge-new{background:#78350f;color:#fde68a}.delivery-location-select,.delivery-category-select,.delivery-ingredient-select{font-size:.75rem;padding:.2rem .4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .delivery-location-select,[data-theme=dark] .delivery-category-select,[data-theme=dark] .delivery-ingredient-select{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.delivery-preview-actions{display:flex;gap:.75rem;flex-wrap:wrap}.delivery-done-step{text-align:center;padding:2rem 1rem}.delivery-done-icon{font-size:3rem;margin-bottom:.5rem}.delivery-done-step h2{font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.delivery-done-step p{color:var(--text-muted, #6b7280);margin-bottom:1.25rem}.delivery-new-ingredients-hint{background:#eff6ff;color:#1e40af;border-radius:8px;padding:.6rem 1rem;font-size:.85rem;display:inline-block}[data-theme=dark] .delivery-new-ingredients-hint{background:#1e3a5f;color:#93c5fd}.delivery-done-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}@media (max-width: 480px){.delivery-type-row{flex-direction:column}.delivery-item-details{flex-direction:column;align-items:flex-start}}.suggest-page{max-width:720px;margin:0 auto}.suggest-page h1{font-size:1.5rem;font-weight:700;margin:0 0 .75rem}.suggest-loading,.suggest-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted, #6b7280)}.suggest-inventory-hint{font-size:.85rem;color:var(--text-muted, #6b7280);margin-bottom:1rem}.suggest-input-area{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.suggest-textarea{padding:.65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;font-family:inherit;resize:vertical;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .suggest-textarea{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.suggest-btn{border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.suggest-btn-primary{background:var(--accent, #4f46e5);color:#fff;align-self:flex-start}.suggest-btn-primary:hover{opacity:.9}.suggest-btn-primary:disabled{opacity:.5;cursor:not-allowed}.suggest-btn-recipe{background:var(--surface-2, #f3f4f6);color:var(--text, #111);margin-top:.75rem;width:100%}.suggest-btn-recipe:hover{background:var(--surface-3, #e5e7eb)}.suggest-btn-recipe:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .suggest-btn-recipe{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.suggest-card-actions{display:flex;gap:.5rem;margin-top:.75rem}.suggest-card-actions .suggest-btn{flex:1}.suggest-btn-shop{background:#d1fae5;color:#065f46}.suggest-btn-shop:hover{background:#a7f3d0}[data-theme=dark] .suggest-btn-shop{background:#064e3b;color:#a7f3d0}.suggest-error{padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;background:#fee2e2;color:#991b1b;font-size:.85rem}[data-theme=dark] .suggest-error{background:#7f1d1d;color:#fca5a5}.suggest-results{display:flex;flex-direction:column;gap:1rem}.suggest-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:1rem;transition:box-shadow .15s}.suggest-card:hover{box-shadow:0 2px 10px #0000000f}[data-theme=dark] .suggest-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.suggest-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.suggest-card-header h3{font-size:1.05rem;font-weight:700;margin:0}.suggest-time{font-size:.75rem;font-weight:600;color:var(--text-muted, #6b7280);background:var(--surface-2, #f3f4f6);padding:.2rem .5rem;border-radius:6px;white-space:nowrap}[data-theme=dark] .suggest-time{background:var(--surface-2, #374151)}.suggest-description{font-size:.85rem;color:var(--text, #111);margin:.3rem 0;line-height:1.4}[data-theme=dark] .suggest-description{color:var(--text, #e5e7eb)}.suggest-why,.suggest-approach{font-size:.8rem;color:var(--text-muted, #6b7280);margin:.2rem 0;line-height:1.4}.suggest-ingredients-row{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}.suggest-ing-group{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.suggest-ing-label{font-size:.7rem;font-weight:600;color:var(--text-muted, #6b7280);margin-right:.15rem}.suggest-ing-badge{font-size:.65rem;font-weight:600;padding:.15rem .45rem;border-radius:6px}.suggest-ing-badge.have{background:#d1fae5;color:#065f46}.suggest-ing-badge.missing{background:#fef3c7;color:#92400e}[data-theme=dark] .suggest-ing-badge.have{background:#064e3b;color:#a7f3d0}[data-theme=dark] .suggest-ing-badge.missing{background:#78350f;color:#fde68a}.recipes-page{max-width:860px;margin:0 auto}.recipes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.recipes-header h1{font-size:1.5rem;font-weight:700;margin:0}.recipes-btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.recipes-btn-primary{background:var(--accent, #4f46e5);color:#fff}.recipes-btn-primary:hover{opacity:.9}.recipes-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.recipes-search{flex:1;min-width:180px;padding:.5rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .recipes-search{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.recipes-fav-toggle{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted, #6b7280);cursor:pointer;white-space:nowrap}.recipes-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.recipes-tag{border:none;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280);padding:.3rem .65rem;border-radius:99px;font-size:.75rem;font-weight:500;cursor:pointer}.recipes-tag.active{background:var(--accent, #4f46e5);color:#fff}[data-theme=dark] .recipes-tag{background:var(--surface-2, #1f2937)}.recipes-loading,.recipes-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.recipes-empty-link{display:inline-block;margin-top:.5rem;color:var(--accent, #4f46e5);font-weight:500}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.recipe-card{display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:.85rem;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .1s}.recipe-card:hover{box-shadow:0 4px 14px #00000012;transform:translateY(-1px)}[data-theme=dark] .recipe-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.recipe-card-top{display:flex;align-items:center;justify-content:space-between}.recipe-card-title{font-size:.95rem;font-weight:700;margin:0}.recipe-card-fav{color:#f59e0b;font-size:1rem}.recipe-card-desc{font-size:.8rem;color:var(--text-muted, #6b7280);margin:.3rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.7rem;color:var(--text-muted, #9ca3af);margin-top:auto;padding-top:.5rem}.recipe-badge-ai{background:#e0e7ff;color:#3730a3;font-weight:700;padding:.1rem .35rem;border-radius:4px;font-size:.6rem}[data-theme=dark] .recipe-badge-ai{background:#312e81;color:#a5b4fc}.recipe-card-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.5rem}.recipe-card-tag{font-size:.6rem;padding:.1rem .4rem;border-radius:4px;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280)}[data-theme=dark] .recipe-card-tag{background:var(--surface-2, #374151)}.rd-page{max-width:720px;margin:0 auto}.rd-back{font-size:.8rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500}.rd-loading,.rd-not-found{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.rd-not-found a{color:var(--accent, #4f46e5)}.rd-header{display:flex;align-items:flex-start;justify-content:space-between;margin:.5rem 0 .4rem}.rd-header h1{font-size:1.5rem;font-weight:700;margin:0;line-height:1.25}.rd-header-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.rd-fav-btn{border:none;background:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted, #9ca3af);line-height:1}.rd-fav-btn.active{color:#f59e0b}.rd-edit-link{font-size:.8rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500;padding:.3rem .6rem;border:1px solid var(--accent, #4f46e5);border-radius:6px}.rd-description{font-size:.95rem;color:var(--text-muted, #6b7280);margin:0 0 .75rem;line-height:1.5;font-style:italic}.rd-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--text-muted, #6b7280);margin-bottom:.75rem}.rd-meta>span{background:var(--surface-2, #f3f4f6);padding:.2rem .5rem;border-radius:6px}[data-theme=dark] .rd-meta>span{background:var(--surface-2, #374151)}.rd-badge-ai{background:#e0e7ff!important;color:#3730a3;font-weight:700}[data-theme=dark] .rd-badge-ai{background:#312e81!important;color:#a5b4fc}.rd-scale-row{display:flex;gap:.35rem;align-items:center;margin-bottom:1rem}.rd-scale-label{font-size:.78rem;font-weight:600;color:var(--text-muted, #6b7280);margin-right:.25rem}.rd-scale-suffix{font-size:.7rem;color:var(--text-muted, #9ca3af);margin-left:.15rem}.rd-scale-btn{border:1px solid var(--border, #d1d5db);background:var(--surface, #fff);color:var(--text, #111);width:34px;height:34px;border-radius:50%;font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.rd-scale-btn.active{background:var(--accent, #4f46e5);color:#fff;border-color:var(--accent, #4f46e5)}[data-theme=dark] .rd-scale-btn{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.rd-section{margin-bottom:1.25rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:.85rem 1rem}[data-theme=dark] .rd-section{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.rd-section h2{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;color:var(--accent, #4f46e5)}[data-theme=dark] .rd-section h2{color:#a5b4fc}.rd-equipment-list{list-style:none;padding:0;margin:0;display:flex;gap:.4rem;flex-wrap:wrap}.rd-equipment-list li{font-size:.8rem;background:var(--surface-2, #f3f4f6);padding:.25rem .6rem;border-radius:6px}[data-theme=dark] .rd-equipment-list li{background:var(--surface-2, #374151)}.rd-ingredient-group+.rd-ingredient-group{margin-top:.6rem}.rd-ingredient-group-title{font-size:.75rem;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .25rem;padding-bottom:.15rem;border-bottom:1px dashed var(--border, #d1d5db)}[data-theme=dark] .rd-ingredient-group-title{border-bottom-color:var(--border, #4b5563)}.rd-ingredients-list{list-style:none;padding:0;margin:0}.rd-ingredients-list li{display:flex;align-items:baseline;gap:.5rem;padding:.4rem .5rem;font-size:.875rem;border-radius:4px}.rd-ingredients-list li:nth-child(odd){background:var(--surface-2, #f9fafb)}[data-theme=dark] .rd-ingredients-list li:nth-child(odd){background:#ffffff08}.rd-ingredients-list li.rd-optional{opacity:.7}.rd-ing-amount{flex-shrink:0;font-weight:600;min-width:80px;color:var(--accent, #4f46e5)}[data-theme=dark] .rd-ing-amount{color:#a5b4fc}.rd-optional-tag{font-size:.65rem;color:var(--text-muted, #9ca3af);font-style:italic}.rd-steps-list{list-style:none;padding:0;margin:0;counter-reset:step-counter}.rd-steps-list li{counter-increment:step-counter;padding:.5rem 0 .5rem 2.2rem;font-size:.875rem;line-height:1.55;position:relative}.rd-steps-list li+li{border-top:1px solid var(--border, #f3f4f6)}[data-theme=dark] .rd-steps-list li+li{border-top-color:var(--border, #374151)}.rd-steps-list li:before{content:counter(step-counter);position:absolute;left:0;top:.5rem;width:1.6rem;height:1.6rem;background:var(--accent, #4f46e5);color:#fff;font-size:.7rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}[data-theme=dark] .rd-steps-list li:before{background:#6366f1}.rd-step-instruction{margin:0}.rd-step-time{font-size:.7rem;color:var(--text-muted, #9ca3af)}.rd-step-tip{font-size:.8rem;color:var(--accent, #4f46e5);margin:.2rem 0 0;padding:.25rem .5rem;background:#eef2ff;border-radius:4px}[data-theme=dark] .rd-step-tip{background:#1e1b4b;color:#a5b4fc}.rd-tips{font-size:.875rem;line-height:1.5;white-space:pre-wrap}.rd-variations{display:flex;flex-direction:column;gap:.5rem}.rd-variation{font-size:.85rem;background:var(--surface-2, #f9fafb);padding:.5rem .75rem;border-radius:8px;border-left:3px solid var(--accent, #4f46e5)}.rd-variation p{margin:.2rem 0 0;color:var(--text-muted, #6b7280);font-size:.8rem}[data-theme=dark] .rd-variation{background:var(--surface-2, #1f2937)}.rd-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}.rd-tag{font-size:.7rem;padding:.15rem .45rem;border-radius:5px;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280)}[data-theme=dark] .rd-tag{background:var(--surface-2, #374151)}.rd-footer{padding-top:1rem;border-top:1px solid var(--border, #e5e7eb)}[data-theme=dark] .rd-footer{border-top-color:var(--border, #374151)}.rd-cooked-btn{border:none;background:#d1fae5;color:#065f46;padding:.6rem 1.2rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer}.rd-cooked-btn:hover{background:#a7f3d0}[data-theme=dark] .rd-cooked-btn{background:#064e3b;color:#a7f3d0}.rd-footer{display:flex;align-items:center;gap:1rem}.rd-print-link{font-size:.85rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500}.rd-cook-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;align-items:center;justify-content:center}.rd-cook-modal{width:min(460px,92vw);max-height:85vh;background:var(--surface, #fff);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;animation:rdPopIn .2s ease-out}[data-theme=dark] .rd-cook-modal{background:var(--surface, #1f2937)}@keyframes rdPopIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.rd-cook-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.rd-cook-header h2{font-size:1.1rem;font-weight:700;margin:0}.rd-cook-close{border:none;background:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted, #6b7280)}.rd-cook-hint{font-size:.82rem;color:var(--text-muted, #6b7280);margin:0 0 .75rem;line-height:1.4}.rd-cook-list{display:flex;flex-direction:column;gap:.3rem;overflow-y:auto;max-height:50vh;margin-bottom:.75rem}.rd-cook-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:.82rem;cursor:pointer;transition:background .12s}.rd-cook-row:hover{background:var(--surface-2, #f9fafb)}.rd-cook-row.no-match{opacity:.5}[data-theme=dark] .rd-cook-row{border-color:var(--border, #374151)}[data-theme=dark] .rd-cook-row:hover{background:var(--surface-2, #1f2937)}.rd-cook-row input[type=checkbox]{accent-color:var(--accent, #4f46e5);flex-shrink:0}.rd-cook-ing-name{flex:1;font-weight:500}.rd-cook-match{font-size:.72rem;color:#16a34a;font-weight:600;white-space:nowrap}[data-theme=dark] .rd-cook-match{color:#86efac}.rd-cook-no-match{font-size:.72rem;color:var(--text-muted, #9ca3af);font-style:italic;white-space:nowrap}.rd-cook-actions{display:flex;gap:.75rem;align-items:center}.rd-cook-cancel{border:none;background:none;color:var(--text-muted, #6b7280);font-size:.85rem;cursor:pointer}.rd-cook-feedback{margin-top:.75rem;padding:.6rem 1rem;border-radius:8px;background:#d1fae5;color:#065f46;font-size:.85rem;font-weight:500}[data-theme=dark] .rd-cook-feedback{background:#064e3b;color:#a7f3d0}@media print{body{background:#fff!important;color:#000!important}.rd-back,.rd-header-actions,.rd-scale-row,.rd-footer,.rd-cooked-btn,nav,header,footer{display:none!important}.rd-page{max-width:100%;padding:0;font-size:11pt}.rd-page h1{font-size:18pt;margin-bottom:.5rem}.rd-section{break-inside:avoid}.rd-tag{border:1px solid #ccc;background:transparent}}.rp-page{max-width:720px;margin:0 auto;padding:1rem}.rp-loading,.rp-not-found{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.rp-not-found a{color:var(--accent, #4f46e5)}.rp-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.rp-toolbar a{color:var(--accent, #4f46e5);text-decoration:none;font-size:.85rem;font-weight:500}.rp-toolbar button{border:1px solid var(--accent, #4f46e5);background:var(--surface, #fff);color:var(--accent, #4f46e5);padding:.4rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer}.rp-toolbar button:hover{background:var(--accent, #4f46e5);color:#fff}[data-theme=dark] .rp-toolbar button{background:var(--surface, #1f2937);border-color:#6366f1;color:#a5b4fc}.rp-card{width:210mm;min-height:148mm;max-height:148mm;overflow:hidden;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:8mm 10mm;margin-bottom:1.5rem;box-sizing:border-box;background:#fff;color:#111;font-size:9.5pt;line-height:1.4}[data-theme=dark] .rp-card{border-color:var(--border, #374151)}.rp-front-header{border-bottom:2px solid #4f46e5;padding-bottom:3mm;margin-bottom:3mm}.rp-title{font-size:16pt;font-weight:700;margin:0 0 1mm;color:#111}.rp-description{font-size:8.5pt;color:#6b7280;font-style:italic;margin:0 0 2mm}.rp-meta{display:flex;gap:3mm;font-size:8pt;color:#6b7280}.rp-front-body h2{font-size:10pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4f46e5;margin:0 0 1.5mm}.rp-group-title{font-size:8pt;font-weight:600;color:#6b7280;text-transform:uppercase;margin:2mm 0 .5mm}.rp-ingredients{list-style:none;padding:0;margin:0 0 1.5mm;columns:2;column-gap:5mm}.rp-ingredients li{font-size:8.5pt;padding:.3mm 0;break-inside:avoid}.rp-ingredients li strong{font-weight:600;color:#4f46e5}.rp-equipment{font-size:8pt;color:#6b7280;margin-top:1.5mm}.rp-card-back h2{font-size:10pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4f46e5;margin:0 0 2mm}.rp-steps{margin:0;padding-left:5mm}.rp-steps li{font-size:8.5pt;padding:.5mm 0;line-height:1.45}.rp-step-tip{font-size:7.5pt;color:#4f46e5}.rp-tips{font-size:8pt;margin-top:2mm;padding-top:1.5mm;border-top:1px dashed #d1d5db;color:#374151}.rp-tags{display:flex;gap:1.5mm;flex-wrap:wrap;margin-top:2mm}.rp-tag{font-size:7pt;padding:.5mm 2mm;border-radius:3px;background:#f3f4f6;color:#6b7280}@media print{@page{size:A5 landscape;margin:0}body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rp-toolbar,nav,header,footer,.kitchen-layout-sidebar,.kitchen-bottom-nav{display:none!important}.rp-page{max-width:none;padding:0;margin:0}.rp-card{width:210mm;height:148mm;max-height:148mm;border:none;border-radius:0;margin:0;padding:8mm 10mm;page-break-after:always;box-shadow:none}.rp-card:last-child{page-break-after:auto}}.re-page{max-width:700px;margin:0 auto}.re-page h1{font-size:1.5rem;font-weight:700;margin:0 0 1rem}.re-loading{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.re-ai-section{margin-bottom:1rem}.re-ai-section h2{font-size:1rem;font-weight:600;margin:0 0 .5rem}.re-ai-row{display:flex;gap:.5rem}.re-ai-input{flex:1;padding:.5rem .65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .re-ai-input{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.re-divider{text-align:center;font-size:.75rem;color:var(--text-muted, #9ca3af);margin:1rem 0;position:relative}.re-divider:before,.re-divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:var(--border, #e5e7eb)}.re-divider:before{left:0}.re-divider:after{right:0}.re-btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.re-btn-primary{background:var(--accent, #4f46e5);color:#fff}.re-btn-primary:hover{opacity:.9}.re-btn-primary:disabled{opacity:.5;cursor:not-allowed}.re-btn-secondary{background:var(--surface-2, #e5e7eb);color:var(--text, #111)}[data-theme=dark] .re-btn-secondary{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.re-btn-ai{background:#e0e7ff;color:#3730a3;font-weight:600}.re-btn-ai:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .re-btn-ai{background:#312e81;color:#a5b4fc}.re-form{display:flex;flex-direction:column;gap:.85rem}.re-field{display:flex;flex-direction:column;gap:.25rem}.re-field label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #6b7280)}.re-field input,.re-field select,.re-field textarea{padding:.5rem .65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;font-family:inherit;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .re-field input,[data-theme=dark] .re-field select,[data-theme=dark] .re-field textarea{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.re-field-row{display:flex;gap:.75rem}.re-field-row .re-field{flex:1}.re-section{margin-top:.25rem}.re-section h3{font-size:.9rem;font-weight:700;margin:0 0 .5rem}.re-ingredient-row{display:flex;gap:.4rem;align-items:center;margin-bottom:.4rem}.re-ing-amount,.re-ing-unit{width:65px;padding:.4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.8rem;background:var(--surface, #fff);color:var(--text, #111)}.re-ing-name{flex:1;padding:.4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.8rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .re-ing-amount,[data-theme=dark] .re-ing-unit,[data-theme=dark] .re-ing-name{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.re-step-row{display:flex;gap:.4rem;align-items:flex-start;margin-bottom:.5rem}.re-step-num{font-weight:700;font-size:.85rem;color:var(--text-muted, #6b7280);padding-top:.5rem;min-width:1.5rem}.re-step-text{flex:1;padding:.4rem;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:.8rem;font-family:inherit;resize:vertical;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .re-step-text{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.re-add-btn{border:1px dashed var(--border, #d1d5db);background:transparent;color:var(--accent, #4f46e5);padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;margin-top:.25rem}.re-remove-btn{border:none;background:none;color:var(--text-muted, #9ca3af);font-size:1.1rem;cursor:pointer;padding:.2rem}.re-remove-btn:disabled{opacity:.3;cursor:default}.re-remove-btn:hover:not(:disabled){color:#ef4444}.re-actions{display:flex;gap:.75rem;margin-top:.5rem}@media (max-width: 480px){.re-field-row,.re-ai-row{flex-direction:column}.re-ingredient-row{flex-wrap:wrap}}.mh-page{max-width:720px;margin:0 auto}.mh-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mh-header h1{font-size:1.5rem;font-weight:700;margin:0}.mh-btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.mh-btn-primary{background:var(--accent, #4f46e5);color:#fff}.mh-btn-primary:hover{opacity:.9}.mh-btn-primary:disabled{opacity:.5;cursor:not-allowed}.mh-btn-secondary{background:var(--surface-2, #e5e7eb);color:var(--text, #111)}[data-theme=dark] .mh-btn-secondary{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.mh-feedback{padding:.6rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.85rem;font-weight:500}.mh-feedback.success{background:#d1fae5;color:#065f46}.mh-feedback.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .mh-feedback.success{background:#064e3b;color:#a7f3d0}[data-theme=dark] .mh-feedback.error{background:#7f1d1d;color:#fca5a5}.mh-loading,.mh-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.mh-days{display:flex;flex-direction:column;gap:1.25rem}.mh-date{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);margin:0 0 .5rem}.mh-day-meals{display:flex;flex-direction:column;gap:.5rem}.mh-meal-card{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:.65rem .85rem}[data-theme=dark] .mh-meal-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.mh-meal-top{display:flex;align-items:center;gap:.5rem}.mh-meal-type{font-size:.75rem;flex-shrink:0}.mh-meal-title{font-weight:600;font-size:.9rem;flex:1}.mh-meal-rating{color:#f59e0b;font-size:.85rem;flex-shrink:0}.mh-rating-interactive{display:flex;gap:0}.mh-star-btn{border:none;background:none;font-size:.85rem;cursor:pointer;color:var(--border, #d1d5db);padding:0;line-height:1;transition:color .1s}.mh-star-btn.active{color:#f59e0b}.mh-star-btn:hover{color:#fbbf24}.mh-meal-delete{border:none;background:none;font-size:.8rem;cursor:pointer;opacity:.4;padding:0 .15rem;line-height:1;transition:opacity .15s}.mh-meal-delete:hover{opacity:1}.mh-meal-notes{font-size:.8rem;color:var(--text-muted, #6b7280);margin:.25rem 0 0}.mh-recipe-link{font-size:.75rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500}.mh-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;display:flex;justify-content:flex-end}.mh-drawer{width:min(400px,90vw);height:100%;background:var(--surface, #fff);overflow-y:auto;padding:1.25rem;animation:mhSlideIn .2s ease-out}[data-theme=dark] .mh-drawer{background:var(--surface, #111827)}@keyframes mhSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mh-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mh-drawer-header h2{font-size:1.15rem;font-weight:700;margin:0}.mh-drawer-close{border:none;background:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted, #6b7280)}.mh-drawer-form{display:flex;flex-direction:column;gap:.85rem}.mh-field{display:flex;flex-direction:column;gap:.25rem}.mh-field label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #6b7280)}.mh-field input,.mh-field select,.mh-field textarea{padding:.5rem .65rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;font-family:inherit;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .mh-field input,[data-theme=dark] .mh-field select,[data-theme=dark] .mh-field textarea{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.mh-field-row{display:flex;gap:.75rem}.mh-field-row .mh-field{flex:1}.mh-stars{display:flex;gap:.2rem}.mh-star{border:none;background:none;font-size:1.3rem;cursor:pointer;color:var(--border, #d1d5db)}.mh-star.active{color:#f59e0b}.mh-drawer-actions{display:flex;gap:.75rem;margin-top:.5rem}.ib-page{max-width:860px;margin:0 auto}.ib-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ib-header h1{font-size:1.5rem;font-weight:700;margin:0}.ib-admin-link{font-size:.8rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500}.ib-toolbar{margin-bottom:.75rem}.ib-search{width:100%;max-width:320px;padding:.5rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .ib-search{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.ib-cats{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.ib-cat{border:none;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280);padding:.3rem .65rem;border-radius:99px;font-size:.75rem;font-weight:500;cursor:pointer;text-transform:capitalize}.ib-cat.active{background:var(--accent, #4f46e5);color:#fff}[data-theme=dark] .ib-cat{background:var(--surface-2, #1f2937)}.ib-loading,.ib-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.ib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.ib-card{display:flex;flex-direction:column;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .1s}.ib-card:hover{box-shadow:0 3px 12px #0000000f;transform:translateY(-1px)}[data-theme=dark] .ib-card{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.ib-card-img{height:100px;background-size:cover;background-position:center;background-color:var(--surface-2, #f3f4f6)}.ib-card-body{padding:.6rem .75rem}.ib-card-name{font-weight:700;font-size:.9rem;display:block}.ib-card-sv{font-size:.75rem;color:var(--text-muted, #9ca3af);display:block}.ib-card-role{font-size:.7rem;color:var(--text-muted, #6b7280);display:block;margin-top:.2rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.ib-card-meta{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.35rem}.ib-cat-badge,.ib-season-badge{font-size:.6rem;padding:.1rem .35rem;border-radius:4px;background:var(--surface-2, #f3f4f6);color:var(--text-muted, #6b7280);text-transform:capitalize}[data-theme=dark] .ib-cat-badge,[data-theme=dark] .ib-season-badge{background:var(--surface-2, #374151)}.id-page{max-width:640px;margin:0 auto}.id-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.id-back-link{font-size:.8rem;color:var(--id-accent, #4f46e5);text-decoration:none;font-weight:500}.id-print-btn{font-size:.8rem;padding:.35rem .75rem;border-radius:6px;text-decoration:none;background:var(--id-accent, #3a7bd5);color:#fff;font-weight:600}.id-print-btn:hover{opacity:.9}.id-loading,.id-not-found{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.id-not-found a{color:var(--accent, #4f46e5)}.id-hero{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.id-hero-img{width:140px;height:140px;object-fit:cover;border-radius:12px;flex-shrink:0;border:3px solid var(--id-accent, #3d8b37)}.id-hero-placeholder{width:140px;height:140px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:3rem;border-radius:12px;background:var(--id-light, #edf7eb);border:3px solid var(--id-accent, #3d8b37)}.id-hero-info{flex:1;min-width:0}.id-name{font-size:1.5rem;font-weight:700;margin:0 0 .15rem;color:var(--id-accent, #3d8b37)}.id-name-sv{font-size:.85rem;font-style:italic;color:var(--text-muted, #777);margin:0 0 .35rem}.id-cat-badge{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--id-accent, #3d8b37)}.id-dish-role{font-size:.8rem;font-style:italic;color:var(--text-muted, #666);margin:.35rem 0 0;line-height:1.4}@media (max-width: 480px){.id-hero{flex-direction:column;align-items:center;text-align:center}.id-hero-img,.id-hero-placeholder{width:120px;height:120px}}.id-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}@media (max-width: 480px){.id-tiles{grid-template-columns:repeat(2,1fr)}}.id-tile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem .4rem;border-radius:10px;background:var(--id-light, #edf7eb);border:1px solid color-mix(in srgb,var(--id-accent, #3d8b37) 25%,transparent);gap:.15rem}[data-theme=dark] .id-tile{background:color-mix(in srgb,var(--id-accent, #3d8b37) 12%,#1f2937);border-color:color-mix(in srgb,var(--id-accent, #3d8b37) 30%,#1f2937)}.id-tile-icon{font-size:1.1rem}.id-tile-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #aaa)}.id-tile-value{font-size:.85rem;font-weight:700;color:var(--id-accent, #3d8b37)}.id-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem}.id-tag-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #bbb)}.id-tag{font-size:.7rem;padding:.15rem .5rem;border-radius:99px;font-weight:600;text-transform:capitalize}.id-tag--cook{background:var(--id-accent, #3d8b37);color:#fff}.id-tag--flavor{background:transparent;border:1px solid var(--id-accent, #3d8b37);color:var(--id-accent, #3d8b37)}.id-tag--pairs{background:var(--surface-2, #f0f0f0);color:var(--text-muted, #555)}[data-theme=dark] .id-tag--pairs{background:var(--surface-2, #374151);color:var(--text, #d1d5db)}.id-nutrition-hl{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;background:var(--id-light, #edf7eb);color:var(--id-accent, #3d8b37);font-size:.85rem;font-weight:600;margin-bottom:.5rem}[data-theme=dark] .id-nutrition-hl{background:color-mix(in srgb,var(--id-accent, #3d8b37) 12%,#1f2937)}.id-fun-fact{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-radius:8px;background:var(--id-light, #edf7eb);border-top:2px solid color-mix(in srgb,var(--id-accent, #3d8b37) 35%,transparent);font-size:.8rem;color:var(--text-muted, #555);margin-bottom:.75rem}[data-theme=dark] .id-fun-fact{background:color-mix(in srgb,var(--id-accent, #3d8b37) 8%,#1f2937);color:var(--text, #d1d5db)}.id-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:2px solid var(--border, #e5e7eb)}.id-tab{flex:1;text-align:center;padding:.5rem;border:none;background:none;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-muted, #9ca3af);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.id-tab.active{color:var(--id-accent, #3d8b37);border-bottom-color:var(--id-accent, #3d8b37)}.id-details{animation:idFadeIn .2s ease}@keyframes idFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.id-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border, #f3f4f6)}.id-section:last-child{border-bottom:none}.id-section h3{font-size:.9rem;font-weight:700;margin:0 0 .4rem;color:var(--id-accent, #3d8b37)}.id-section p{font-size:.85rem;line-height:1.6;margin:0 0 .3rem}.id-section ul{padding-left:1.25rem;margin:.3rem 0}.id-section li{margin-bottom:.2rem;font-size:.85rem;line-height:1.5}.id-portion{font-size:.75rem;font-style:italic;color:var(--text-muted, #777);display:block;margin-bottom:.4rem}.id-nut-table{width:100%;border-collapse:collapse;font-size:.8rem}.id-nut-table th{text-align:right;font-weight:700;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888);padding:.3rem .5rem;border-bottom:2px solid var(--border, #e0e0e0)}.id-nut-table th:first-child{text-align:left}.id-nut-table td{text-align:right;padding:.25rem .5rem;border-bottom:1px solid var(--border, #f3f4f6)}.id-nut-label{text-align:left;font-weight:600;color:var(--text, #444)}.id-nut-sub .id-nut-label{font-weight:400;color:var(--text-muted, #777);padding-left:1rem}[data-theme=dark] .id-nut-table th{border-bottom-color:var(--border, #374151)}[data-theme=dark] .id-nut-table td{border-bottom-color:var(--border, #1f2937)}.sl-page{max-width:560px;margin:0 auto}.sl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sl-header h1{font-size:1.5rem;font-weight:700;margin:0}.sl-btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer}.sl-btn-primary{background:var(--accent, #4f46e5);color:#fff}.sl-btn-primary:disabled{opacity:.5;cursor:not-allowed}.sl-btn-clear{background:var(--surface-2, #e5e7eb);color:var(--text-muted, #6b7280);font-size:.75rem;padding:.35rem .75rem}[data-theme=dark] .sl-btn-clear{background:var(--surface-2, #374151);color:var(--text, #d1d5db)}.sl-feedback{padding:.5rem 1rem;border-radius:8px;margin-bottom:.75rem;font-size:.85rem}.sl-feedback.success{background:#d1fae5;color:#065f46}.sl-feedback.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .sl-feedback.success{background:#064e3b;color:#a7f3d0}[data-theme=dark] .sl-feedback.error{background:#7f1d1d;color:#fca5a5}.sl-add-form{display:flex;gap:.5rem;margin-bottom:1.25rem}.sl-add-input{flex:1;padding:.55rem .75rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.875rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .sl-add-input{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.sl-loading,.sl-empty,.sl-all-done{text-align:center;padding:2rem 1rem;color:var(--text-muted, #6b7280);font-size:.9rem}.sl-section{margin-bottom:1rem}.sl-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #9ca3af);margin:0 0 .4rem}.sl-purchased-section{opacity:.6}.sl-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.sl-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;transition:opacity .15s}.sl-item.purchased{text-decoration:line-through;opacity:.5}[data-theme=dark] .sl-item{background:var(--surface, #1f2937);border-color:var(--border, #374151)}.sl-check{border:2px solid var(--border, #d1d5db);background:transparent;border-radius:50%;width:24px;height:24px;flex-shrink:0;cursor:pointer;font-size:.75rem;line-height:1;display:flex;align-items:center;justify-content:center;color:transparent;transition:all .15s}.sl-check.checked{border-color:var(--accent, #4f46e5);background:var(--accent, #4f46e5);color:#fff}.sl-item-name{flex:1;font-size:.9rem;font-weight:500}.sl-item-qty{font-size:.75rem;color:var(--text-muted, #9ca3af);flex-shrink:0}.sl-item-price{font-size:.75rem;color:var(--text-muted, #9ca3af);flex-shrink:0;font-weight:500}.mp-page{max-width:960px;margin:0 auto}.mp-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.mp-header h1{font-size:1.5rem;font-weight:700;margin:0}.mp-actions{display:flex;gap:.4rem;flex-wrap:wrap}.mp-btn{border:none;border-radius:8px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;background:var(--surface-2, #e5e7eb);color:var(--text, #111)}.mp-btn:disabled{opacity:.5;cursor:not-allowed}.mp-btn-primary{background:var(--accent, #4f46e5);color:#fff}.mp-btn-ai{background:#7c3aed;color:#fff}.mp-btn-ai:hover{background:#6d28d9}.mp-btn-shop{background:#059669;color:#fff}[data-theme=dark] .mp-btn{background:var(--surface-2, #374151);color:var(--text, #f3f4f6)}.mp-feedback{padding:.45rem .85rem;border-radius:8px;margin-bottom:.75rem;font-size:.8rem}.mp-feedback.success{background:#d1fae5;color:#065f46}.mp-feedback.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .mp-feedback.success{background:#064e3b;color:#a7f3d0}[data-theme=dark] .mp-feedback.error{background:#7f1d1d;color:#fca5a5}.mp-week-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.mp-nav-btn,.mp-nav-today{border:1px solid var(--border, #d1d5db);background:var(--surface, #fff);color:var(--text, #111);padding:.3rem .6rem;border-radius:6px;font-size:.75rem;cursor:pointer}.mp-nav-today{font-weight:700}[data-theme=dark] .mp-nav-btn,[data-theme=dark] .mp-nav-today{background:var(--surface, #1f2937);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.mp-week-label{font-size:.85rem;font-weight:600;flex:1;text-align:center;color:var(--text-muted, #6b7280)}.mp-loading{text-align:center;padding:3rem 1rem;color:var(--text-muted, #6b7280)}.mp-grid{display:grid;grid-template-columns:64px repeat(7,1fr);gap:1px;background:var(--border, #e5e7eb);border:1px solid var(--border, #e5e7eb);border-radius:10px;overflow:hidden}[data-theme=dark] .mp-grid{background:var(--border, #374151);border-color:var(--border, #374151)}.mp-grid-header{background:var(--surface-2, #f9fafb);padding:.5rem .25rem;text-align:center}[data-theme=dark] .mp-grid-header{background:var(--surface-2, #111827)}.mp-grid-corner{background:var(--surface, #fff)}[data-theme=dark] .mp-grid-corner{background:var(--surface, #1f2937)}.mp-day-header{display:flex;flex-direction:column;align-items:center}.mp-day-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.mp-day-date{font-size:.65rem;color:var(--text-muted, #9ca3af)}.mp-day-header.mp-today{background:color-mix(in srgb,var(--accent, #4f46e5) 12%,var(--surface-2, #f9fafb))}.mp-slot-label{background:var(--surface, #fff);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--text-muted, #9ca3af);writing-mode:horizontal-tb;padding:.4rem}[data-theme=dark] .mp-slot-label{background:var(--surface, #1f2937)}.mp-cell{background:var(--surface, #fff);min-height:72px;padding:.3rem;cursor:pointer;position:relative;transition:background .12s}.mp-cell:hover{background:var(--surface-2, #f3f4f6)}[data-theme=dark] .mp-cell{background:var(--surface, #1f2937)}[data-theme=dark] .mp-cell:hover{background:var(--surface-2, #111827)}.mp-cell.mp-today{background:color-mix(in srgb,var(--accent, #4f46e5) 6%,var(--surface, #fff))}[data-theme=dark] .mp-cell.mp-today{background:color-mix(in srgb,var(--accent, #4f46e5) 10%,var(--surface, #1f2937))}.mp-cell-add{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:50px;font-size:1.2rem;color:var(--text-muted, #d1d5db);opacity:0;transition:opacity .12s}.mp-cell:hover .mp-cell-add{opacity:1}.mp-meal-card{background:var(--surface-2, #f3f4f6);border-radius:6px;padding:.3rem .4rem;position:relative}[data-theme=dark] .mp-meal-card{background:var(--surface-2, #374151)}.mp-meal-title{display:block;font-size:.75rem;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mp-meal-notes{display:block;font-size:.6rem;color:var(--text-muted, #9ca3af);margin-top:.1rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.mp-meal-link{position:absolute;top:.2rem;right:.25rem;font-size:.6rem}.mp-meal-remove{position:absolute;bottom:.15rem;right:.2rem;border:none;background:none;cursor:pointer;font-size:.85rem;color:var(--text-muted, #9ca3af);line-height:1;padding:0;opacity:0;transition:opacity .12s}.mp-cell:hover .mp-meal-remove{opacity:1}.mp-meal-remove:hover{color:#ef4444}.mp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.mp-modal{background:var(--surface, #fff);border-radius:12px;padding:1.25rem;width:100%;max-width:380px;box-shadow:0 8px 32px #00000026}[data-theme=dark] .mp-modal{background:var(--surface, #1f2937)}.mp-modal h3{font-size:1rem;font-weight:700;margin:0 0 .75rem}.mp-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6b7280);margin:.5rem 0 .2rem}.mp-input{width:100%;padding:.45rem .6rem;border:1px solid var(--border, #d1d5db);border-radius:8px;font-size:.85rem;background:var(--surface, #fff);color:var(--text, #111)}[data-theme=dark] .mp-input{background:var(--surface, #111827);border-color:var(--border, #374151);color:var(--text, #f3f4f6)}.mp-textarea{resize:vertical;font-family:inherit}.mp-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.mp-footer-links{display:flex;gap:1rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}.mp-footer-links a{font-size:.8rem;color:var(--accent, #4f46e5);text-decoration:none;font-weight:500}@media (max-width: 640px){.mp-grid{grid-template-columns:48px repeat(7,1fr)}.mp-slot-label{font-size:.55rem;padding:.2rem}.mp-day-label{font-size:.6rem}.mp-day-date{font-size:.55rem}.mp-cell{min-height:56px;padding:.2rem}.mp-meal-title{font-size:.65rem}}:root{color-scheme:light;font-family:Sora,Space Grotesk,Segoe UI Variable,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-body: "Sora", "Space Grotesk", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--bg-canvas: #f5f6fb;--bg-muted: #eef2ff;--bg-surface: #ffffff;--bg-soft: #f8fafc;--card-bg: #ffffff;--card-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #f8fafc;--link-color: #2563eb;--link-hover: #1d4ed8;--border-soft: #e2e8f0;--border-strong: #cbd5f5;--input-bg: #f8fafc;--input-border: #d0d7e2;--input-border-strong: #cbd5f5;--focus-ring-color: rgba(99, 102, 241, .25);--shadow-soft: 0 18px 40px rgba(15, 23, 42, .08);--shadow-medium: 0 22px 45px rgba(30, 64, 175, .12);--shadow-strong: 0 30px 60px rgba(15, 23, 42, .15);--button-primary-gradient: linear-gradient(135deg, #1d4ed8 0%, #9333ea 100%);--button-secondary-gradient: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);--cta-shadow: 0 14px 30px rgba(59, 130, 246, .25);--cta-shadow-hover: 0 20px 40px rgba(79, 70, 229, .22);--danger-color: #dc2626;--warning-color: #f59e0b;--success-color: #059669;--info-color: #1d4ed8;--error-surface: #fef2f2;--warning-surface: #fef9c3;--success-surface: #ecfccb;--info-surface: #eef2ff;--backdrop-color: rgba(15, 23, 42, .65);--toggle-bg: rgba(255, 255, 255, .92);--toggle-fg: #0f172a;--steps-palette-ocean: var(--link-color);--steps-palette-sky: color-mix(in srgb, var(--link-color) 70%, var(--info-color) 30%);--steps-palette-teal: color-mix(in srgb, var(--info-color) 45%, var(--success-color) 55%);--steps-palette-mint: var(--success-color);--steps-palette-lime: color-mix(in srgb, var(--success-color) 70%, var(--warning-color) 30%);--steps-palette-amber: var(--warning-color);--steps-palette-orange: color-mix(in srgb, var(--warning-color) 70%, var(--danger-color) 30%);--steps-palette-rose: var(--danger-color);--steps-palette-magenta: color-mix(in srgb, var(--danger-color) 55%, var(--link-color) 45%);--steps-palette-violet: color-mix(in srgb, var(--link-color) 65%, var(--text-primary) 35%);--steps-palette-indigo: color-mix(in srgb, var(--info-color) 75%, var(--text-primary) 25%);--steps-palette-slate: var(--text-secondary)}[data-theme=dark]{color-scheme:dark;--font-body: "Sora", "Space Grotesk", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--bg-canvas: #050b18;--bg-muted: #08152b;--bg-surface: #0f1f37;--bg-soft: #0d1a2b;--card-bg: #0f1f37;--card-elevated: #122545;--text-primary: #f1f5f9;--text-secondary: #cbd5f5;--text-muted: #94a3b8;--text-inverse: #050b18;--link-color: #7dd3fc;--link-hover: #38bdf8;--border-soft: rgba(148, 163, 184, .35);--border-strong: rgba(148, 163, 184, .55);--input-bg: rgba(15, 23, 42, .75);--input-border: rgba(99, 102, 241, .4);--input-border-strong: rgba(191, 219, 254, .6);--focus-ring-color: rgba(125, 211, 252, .3);--shadow-soft: 0 18px 40px rgba(2, 6, 23, .7);--shadow-medium: 0 22px 45px rgba(8, 25, 52, .75);--shadow-strong: 0 30px 60px rgba(3, 7, 18, .85);--button-primary-gradient: linear-gradient(135deg, #7dd3fc 0%, #c084fc 100%);--button-secondary-gradient: linear-gradient(135deg, #34d399 0%, #10b981 100%);--cta-shadow: 0 14px 30px rgba(13, 148, 136, .35);--cta-shadow-hover: 0 20px 40px rgba(13, 148, 136, .45);--danger-color: #f87171;--warning-color: #fbbf24;--success-color: #6ee7b7;--info-color: #93c5fd;--error-surface: rgba(248, 113, 113, .2);--warning-surface: rgba(251, 191, 36, .2);--success-surface: rgba(16, 185, 129, .2);--info-surface: rgba(59, 130, 246, .22);--backdrop-color: rgba(2, 6, 23, .85);--toggle-bg: rgba(15, 23, 42, .9);--toggle-fg: #f8fafc;--steps-palette-ocean: var(--link-color);--steps-palette-sky: color-mix(in srgb, var(--link-color) 70%, var(--info-color) 30%);--steps-palette-teal: color-mix(in srgb, var(--info-color) 45%, var(--success-color) 55%);--steps-palette-mint: var(--success-color);--steps-palette-lime: color-mix(in srgb, var(--success-color) 70%, var(--warning-color) 30%);--steps-palette-amber: var(--warning-color);--steps-palette-orange: color-mix(in srgb, var(--warning-color) 70%, var(--danger-color) 30%);--steps-palette-rose: var(--danger-color);--steps-palette-magenta: color-mix(in srgb, var(--danger-color) 55%, var(--link-color) 45%);--steps-palette-violet: color-mix(in srgb, var(--link-color) 65%, var(--text-primary) 35%);--steps-palette-indigo: color-mix(in srgb, var(--info-color) 75%, var(--text-primary) 25%);--steps-palette-slate: var(--text-secondary)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-body, "Sora", "Space Grotesk", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif);transition:background .2s ease,color .2s ease}#root{min-height:100vh}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}button,input,select,textarea{font:inherit;color:inherit}
