:root{--background:40 25% 97%;--foreground:165 25% 12%;--card:0 0% 100%;--primary:161 65% 30%;--primary-2:161 70% 38%;--primary-foreground:0 0% 100%;--secondary:40 18% 93%;--secondary-foreground:165 20% 22%;--muted:40 14% 91%;--muted-foreground:165 8% 45%;--accent:161 50% 95%;--accent-foreground:161 65% 28%;--destructive:0 70% 52%;--warm:32 80% 55%;--warm-soft:38 88% 94%;--berry:340 70% 58%;--berry-soft:340 60% 96%;--border:40 18% 87%;--input:40 14% 88%;--ring:161 65% 36%;--sidebar:165 28% 13%;--sidebar-foreground:40 20% 92%;--sidebar-accent:165 22% 19%;--sidebar-border:165 16% 22%;--sidebar-primary:161 70% 50%;--radius:1rem;--radius-lg:1.5rem;--radius-xl:1.75rem;--radius-pill:9999px;--brand-bg:#0a0a0a;--brand-panel:#111;--brand-input:#161616;--brand-border:#1f1f1f;--brand-border-2:#2a2a2a;--brand-text:#e8e0d0;--brand-text-2:#998a70;--brand-text-3:#707060;--brand-gold:#c9a84c;--brand-gold-2:#a07830;--brand-gold-soft:#e8c06a;--brand-gold-gradient:linear-gradient(135deg,#c9a84c,#a07830);--paper:#f4ede0;--paper-2:#ebe1cf;--paper-ink:#2b2620;--paper-ink-2:#5a4f3f;--paper-rule:#c8b896;--paper-accent:#8a6a2b;--blob-1:161 65% 55%;--blob-2:32 80% 65%;--blob-3:340 70% 75%;--blob-opacity:0.07;--shadow-sm:0 1px 2px hsl(165 25% 12%/0.04),0 1px 3px hsl(165 25% 12%/0.05);--shadow-md:0 4px 8px -2px hsl(165 25% 12%/0.06),0 2px 4px -2px hsl(165 25% 12%/0.04);--shadow-lg:0 12px 24px -8px hsl(165 25% 12%/0.10),0 4px 8px -4px hsl(165 25% 12%/0.05)}[data-variant=bold]{--background:40 30% 96%;--primary:161 75% 32%;--primary-2:161 80% 42%;--accent:161 60% 93%;--blob-opacity:0.13;--radius:1.25rem;--radius-lg:1.75rem}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:var(--font-work-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:hsl(var(--foreground));background:hsl(var(--background));overflow:hidden;overscroll-behavior:none}button{font-family:inherit}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:4px}.brand-input:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:16px;z-index:9999;background:hsl(var(--card));color:hsl(var(--primary));border:2px solid hsl(var(--primary));padding:10px 20px;border-radius:var(--radius);font-weight:600;font-size:14px;text-decoration:none}.skip-link:focus{left:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden;position:relative}.app:after,.app:before,.scroll-area:before{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(80px);transition:opacity .3s}.app:before{top:-120px;left:22%;width:480px;height:480px;background:hsl(var(--blob-1)/var(--blob-opacity))}.app:after{bottom:-160px;right:8%;width:560px;height:560px;background:hsl(var(--blob-2)/var(--blob-opacity))}.scroll-area:before{top:35%;left:55%;width:700px;height:700px;background:hsl(var(--blob-3)/calc(var(--blob-opacity) * .7))}[data-blobs=off] .app:after,[data-blobs=off] .app:before,[data-blobs=off] .scroll-area:before{opacity:0}.sidebar{width:244px;flex-shrink:0;background:hsl(var(--sidebar));color:hsl(var(--sidebar-foreground));display:flex;flex-direction:column;padding:22px 14px 14px;position:relative;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px;border-bottom:1px solid hsl(var(--sidebar-border))}.sidebar-brand-mark{width:40px;height:40px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.mobile-topbar-mark{width:28px;height:28px;object-fit:contain;flex-shrink:0}.sidebar-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,hsl(var(--sidebar-primary)),hsl(161 60% 30%));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px hsl(var(--sidebar-primary)/.3);position:relative;overflow:hidden}.sidebar-logo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.25),transparent 60%)}.sidebar-logo img{width:32px;height:32px;object-fit:contain;filter:brightness(0) invert(1);position:relative;z-index:1}.sidebar-name{font-family:var(--font-lora),serif;font-size:18px;font-weight:600;color:hsl(40 30% 96%);line-height:1.05;white-space:nowrap}.sidebar-sub{font-size:10.5px;color:hsl(40 12% 72%);margin-top:3px}.sidebar-section{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:hsl(40 10% 50%);padding:18px 12px 8px;font-weight:600}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:hsl(40 12% 70%);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .18s;background:transparent;border:0;text-align:left;position:relative}.sidebar-link:hover{background:hsl(var(--sidebar-accent));color:#fff}.sidebar-link.active{background:linear-gradient(90deg,hsl(var(--sidebar-primary)/.18),hsl(var(--sidebar-primary)/.05));color:hsl(40 30% 97%)}.sidebar-link.active:before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:3px;background:hsl(var(--sidebar-primary));border-radius:0 3px 3px 0}.sidebar-link svg{width:17px;height:17px;stroke-width:1.75;opacity:.9;flex-shrink:0}.sidebar-link.active svg{color:hsl(var(--sidebar-primary));opacity:1}.sidebar-link .badge{margin-left:auto;font-size:10px;background:hsl(var(--sidebar-primary)/.18);color:hsl(var(--sidebar-primary));padding:2px 8px;border-radius:99px;font-family:var(--font-inconsolata),monospace;font-weight:600}.sidebar-user{display:flex;align-items:center;gap:10px;width:100%;padding:12px 8px;background:transparent;border:0;border-top:1px solid hsl(var(--sidebar-border));border-radius:0 0 12px 12px;margin-top:8px;cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background .15s}.sidebar-user:hover{background:hsl(var(--sidebar-accent))}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,hsl(var(--sidebar-primary)),hsl(161 50% 25%));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;flex-shrink:0}.sidebar-user-name{font-size:12.5px;color:#fff;line-height:1.3;font-weight:600}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{font-size:10.5px;color:hsl(40 10% 70%)}.sidebar-user-chev{margin-left:auto;opacity:.5}.mobile-bottomnav,.mobile-topbar{display:none}.main-col{flex:1 1;flex-direction:column;min-width:0;overflow:hidden;z-index:1}.main-col,.topbar{display:flex;position:relative}.topbar{height:60px;background:hsl(var(--background)/.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--border)/.6);align-items:center;padding:0 30px;gap:18px;flex-shrink:0;z-index:5}.topbar-search{flex:1 1;max-width:460px;position:relative}.topbar-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:hsl(var(--muted-foreground))}.topbar-search input{width:100%;padding:9px 14px 9px 38px;border:1.5px solid transparent;border-radius:12px;background:hsl(var(--card));font-size:13px;outline:0;font-family:inherit;color:hsl(var(--foreground));transition:all .18s;box-shadow:var(--shadow-sm)}.topbar-search input:focus{border-color:hsl(var(--ring)/.5);box-shadow:0 0 0 4px hsl(var(--ring)/.12),var(--shadow-sm)}.topbar-spacer{flex:1 1}.topbar-actions{gap:8px}.iconbtn,.topbar-actions{display:flex;align-items:center}.iconbtn{width:38px;height:38px;border-radius:12px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));justify-content:center;cursor:pointer;transition:all .18s;position:relative}.iconbtn:hover{background:hsl(var(--accent));color:hsl(var(--primary));border-color:hsl(var(--primary)/.3);transform:translateY(-1px)}.iconbtn svg{width:16px;height:16px;stroke-width:1.75}.iconbtn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;background:hsl(var(--berry));border-radius:50%;border:2px solid hsl(var(--card))}.topbar-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:12px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;border:0;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;box-shadow:0 4px 12px hsl(var(--primary)/.25)}.topbar-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px hsl(var(--primary)/.32)}.topbar-cta svg{width:14px;height:14px;stroke-width:2.25}.scroll-area{flex:1 1;overflow-y:auto;overflow-x:hidden;position:relative}.page{max-width:1180px;margin:0 auto;padding:32px 36px 96px;position:relative;z-index:2}.page-eyebrow{display:inline-flex;align-items:center;gap:8px;color:hsl(var(--primary));background:hsl(var(--accent));padding:6px 12px 6px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600}.page-eyebrow svg{width:14px;height:14px;stroke-width:2}.page-title{font-family:var(--font-lora),serif;font-size:34px;font-weight:600;letter-spacing:-.015em;line-height:1.1;margin:12px 0 8px;text-wrap:balance}.page-sub{font-size:14.5px;color:hsl(var(--muted-foreground));margin:0;max-width:640px;line-height:1.55}.card{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.card-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px;display:flex;align-items:center;gap:10px}.card-eyebrow,.card-eyebrow .step-pill{font-weight:700;color:hsl(var(--primary))}.card-eyebrow .step-pill{font-family:var(--font-inconsolata),monospace;font-size:10.5px;background:hsl(var(--accent));padding:3px 9px;border-radius:99px;letter-spacing:0}.card-eyebrow.required:after{content:"requis";font-size:9.5px;color:hsl(var(--warm));background:hsl(var(--warm-soft));padding:2px 8px;border-radius:99px;text-transform:lowercase;font-weight:600}.search-hero{position:relative;border-radius:var(--radius-xl);background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);padding:36px 38px 28px;margin-bottom:28px;overflow:hidden;box-shadow:var(--shadow-md);text-align:center}.search-hero:before{top:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,hsl(var(--primary)/.12),transparent 70%)}.search-hero:after,.search-hero:before{content:"";position:absolute;border-radius:50%}.search-hero:after{bottom:-60px;left:-40px;width:240px;height:240px;background:radial-gradient(circle,hsl(var(--warm)/.08),transparent 70%)}.search-hero>*{position:relative}.search-hero-icon{width:60px;height:60px;border-radius:20px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 24px hsl(var(--primary)/.32);margin-bottom:18px}.search-hero-icon svg{width:28px;height:28px;stroke-width:1.75}.search-hero-title{font-family:var(--font-lora),serif;font-size:40px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 10px;text-wrap:balance}.search-hero-title em{font-style:italic;color:hsl(var(--primary))}.search-hero-sub{font-size:14.5px;color:hsl(var(--muted-foreground));max-width:560px;line-height:1.6;margin:0 auto 24px}.search-hero-bar{display:flex;align-items:center;gap:12px;background:hsl(var(--background));border:2px solid hsl(var(--border));border-radius:var(--radius-pill);padding:10px 12px 10px 22px;box-shadow:var(--shadow-md);transition:all .2s;max-width:640px;margin:0 auto}.search-hero-bar:focus-within{border-color:hsl(var(--primary));box-shadow:var(--shadow-lg),0 0 0 6px hsl(var(--primary)/.1)}.search-hero-bar>svg{width:22px;height:22px;color:hsl(var(--muted-foreground));stroke-width:1.75;flex-shrink:0}.search-hero-bar:focus-within>svg{color:hsl(var(--primary))}.search-hero-bar input{flex:1 1;border:0;outline:0;background:transparent;font-family:inherit;font-size:16px;color:hsl(var(--foreground));padding:6px 0;min-width:0}.search-hero-bar input::placeholder{color:hsl(var(--muted-foreground))}.search-hero-bar-actions{display:flex;gap:4px;border-left:1px solid hsl(var(--border));padding-left:8px}.search-hero-bar-btn{width:40px;height:40px;border-radius:14px;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.search-hero-bar-btn:hover{background:hsl(var(--accent));color:hsl(var(--primary))}.search-hero-bar-btn svg{width:18px;height:18px;stroke-width:1.75}.search-hero-bar-cta{width:auto;padding:0 18px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;font-weight:600;font-size:13px;gap:8px;box-shadow:0 4px 12px hsl(var(--primary)/.3)}.search-hero-bar-cta:hover{color:#fff}.quick-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.quick-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);background:hsl(var(--card));border:1px solid hsl(var(--border));font-size:13px;font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:all .18s;font-family:inherit}.quick-chip:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-md)}.quick-chip.active,.quick-chip:hover{background:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.quick-chip.active{box-shadow:0 4px 12px hsl(var(--primary)/.3);transform:translateY(-1px)}.quick-chip-emoji{font-size:15px;line-height:1}.section-h{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;color:hsl(var(--muted-foreground));font-weight:500;margin:30px 0 14px;text-align:center}.section-h svg{width:14px;height:14px;color:hsl(var(--primary))}.editorial-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--paper);color:var(--paper-ink);margin-bottom:24px;border:1px solid var(--paper-2);box-shadow:var(--shadow-sm)}.editorial-hero:before{content:"";position:absolute;inset:0;background-image:url(/assets/bakery-sketch-bg.webp);background-size:520px;opacity:.12;mix-blend-mode:multiply;pointer-events:none}.editorial-hero-inner{position:relative;display:grid;grid-template-columns:1fr auto;grid-gap:28px;gap:28px;padding:36px 40px 30px;align-items:center}.editorial-eyebrow{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--paper-accent);font-weight:700;display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}.editorial-eyebrow:after,.editorial-eyebrow:before{content:"";height:1px;width:22px;background:var(--paper-rule)}.editorial-quote{font-family:var(--font-lora),serif;font-size:40px;line-height:1.05;font-weight:500;letter-spacing:-.015em;margin:0 0 14px;color:var(--paper-ink);font-style:italic}.editorial-quote:before{content:"« ";color:var(--paper-accent);font-style:normal}.editorial-quote:after{content:" »";color:var(--paper-accent);font-style:normal}.editorial-signature{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--paper-ink-2);margin-bottom:22px}.editorial-signature strong{color:var(--paper-ink);font-weight:700}.editorial-stats{display:flex;gap:32px;border-top:1px solid var(--paper-rule);padding-top:18px;flex-wrap:wrap}.editorial-stat-num{font-family:var(--font-lora),serif;font-size:28px;font-weight:600;color:var(--paper-accent);line-height:1}.editorial-stat-label{font-size:10.5px;letter-spacing:.05em;color:var(--paper-ink-2);text-transform:uppercase;max-width:180px;line-height:1.4;margin-top:4px}.editorial-deer{width:160px;height:160px;object-fit:contain;opacity:.85;filter:sepia(.3) saturate(1.1)}.cote-duo{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:24px}.cote-card{position:relative;background:var(--paper);border:1px solid var(--paper-2);border-radius:var(--radius-lg);padding:26px 26px 22px;overflow:hidden;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit;color:var(--paper-ink)}.cote-card:before{content:"";position:absolute;inset:0;background-image:url(/assets/bakery-sketch-bg.webp);background-size:380px;opacity:.12;mix-blend-mode:multiply;pointer-events:none}.cote-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.cote-card>*{position:relative}.cote-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-accent);font-weight:700;margin-bottom:6px}.cote-title{font-family:var(--font-lora),serif;font-size:32px;font-weight:600;line-height:1.05;margin:0 0 10px;color:var(--paper-ink)}.cote-title em{font-style:italic;color:var(--paper-accent);font-weight:500}.cote-desc{font-size:13px;line-height:1.55;margin:0 0 16px;max-width:420px}.cote-desc,.cote-meta{color:var(--paper-ink-2)}.cote-meta{display:flex;gap:18px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding-top:12px;border-top:1px solid var(--paper-rule)}.cote-meta strong{color:var(--paper-accent);font-family:var(--font-inconsolata),monospace;font-size:13px;margin-right:5px;letter-spacing:0}.ornament{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px 0 26px;color:var(--paper-rule)}.ornament:after,.ornament:before{content:"";height:1px;flex:1 1;background:linear-gradient(to var(--dir,right),transparent,var(--paper-rule))}.ornament:after{--dir:left}.ornament-dot{width:5px;height:5px;border-radius:50%;background:var(--paper-accent);display:inline-block}.ornament-dot:nth-child(2){width:8px;height:8px}.boutiques{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:18px}.boutique{background:var(--paper);border:1px solid var(--paper-2);border-radius:var(--radius-lg);padding:22px;position:relative;overflow:hidden}.boutique-eyebrow{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-accent);font-weight:700;margin-bottom:4px}.boutique-name{font-family:var(--font-lora),serif;font-size:24px;font-weight:600;margin:0 0 12px;color:var(--paper-ink)}.boutique-line{font-size:12.5px;color:var(--paper-ink-2);line-height:1.55;display:flex;gap:8px;margin-bottom:4px}.boutique-line svg{width:13px;height:13px;flex-shrink:0;margin-top:2px;color:var(--paper-accent)}.boutique-link{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-accent);font-weight:700;margin-top:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-bottom:1px solid var(--paper-rule);padding-bottom:2px}.sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.sector{padding:16px;border-radius:14px;font-size:13.5px;font-weight:500;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;transition:all .18s;text-align:left;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.sector:before{content:"";position:absolute;top:-40px;right:-40px;width:80px;height:80px;border-radius:50%;background:hsl(var(--primary)/.08);transition:all .25s}.sector:hover{border-color:hsl(var(--primary)/.35);transform:translateY(-2px);box-shadow:var(--shadow-md)}.sector:hover:before{transform:scale(1.6)}.sector.active{border-color:hsl(var(--primary));background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;box-shadow:0 8px 20px hsl(var(--primary)/.32)}.sector.active:before{background:rgba(255,255,255,.18);transform:scale(1.6)}.sector svg{width:22px;height:22px;stroke-width:1.75;opacity:.9;position:relative}.sector-label{font-weight:600;line-height:1;margin-top:4px;position:relative}.sector-count{font-size:10.5px;opacity:.7;font-family:var(--font-inconsolata),monospace;position:relative}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:8px 16px;border-radius:9999px;font-size:12.5px;font-weight:500;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;transition:all .18s;font-family:inherit}.chip:hover{border-color:hsl(var(--primary)/.4);background:hsl(var(--accent));transform:translateY(-1px)}.chip.active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:#fff;box-shadow:0 4px 10px hsl(var(--primary)/.25)}.chip-readonly{cursor:pointer}.chip-soft{background:hsl(var(--accent));color:hsl(var(--primary));border-color:transparent;font-weight:600}.chip-neutral{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:transparent}.mode-select{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.mode-tile{border:1.5px solid hsl(var(--border));background:hsl(var(--card));border-radius:16px;padding:18px;text-align:left;cursor:pointer;transition:all .18s;display:flex;gap:14px;font-family:inherit}.mode-tile:hover{border-color:hsl(var(--primary)/.4);transform:translateY(-1px);box-shadow:var(--shadow-md)}.mode-tile.active{border-color:hsl(var(--primary));background:linear-gradient(135deg,hsl(var(--accent)),hsl(var(--card)) 70%);box-shadow:var(--shadow-md),0 0 0 4px hsl(var(--primary)/.08)}.mode-tile-icon{width:40px;height:40px;border-radius:12px;background:hsl(var(--accent));color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}.mode-tile.active .mode-tile-icon{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;box-shadow:0 4px 10px hsl(var(--primary)/.3)}.mode-tile-icon svg{width:18px;height:18px;stroke-width:1.75}.mode-tile-name{font-size:14px;font-weight:600;line-height:1.3;margin-bottom:3px}.mode-tile-sub{font-size:12.5px;color:hsl(var(--muted-foreground));line-height:1.45}.field-label{font-size:12px;color:hsl(var(--secondary-foreground));margin-bottom:7px;display:block;font-weight:600}.field-hint{font-size:11.5px;color:hsl(var(--muted-foreground));margin-top:6px;line-height:1.45}.input,.select,.textarea{width:100%;padding:11px 14px;border:1.5px solid hsl(var(--input));border-radius:12px;background:hsl(var(--background));font-size:13.5px;outline:0;font-family:inherit;color:hsl(var(--foreground));transition:all .15s}.input:focus,.select:focus,.textarea:focus{border-color:hsl(var(--ring));background:hsl(var(--card));box-shadow:0 0 0 4px hsl(var(--ring)/.12)}.textarea{resize:vertical;min-height:90px;line-height:1.5}.input-suffix{position:relative}.input-suffix .input{padding-right:44px}.input-suffix .suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11px;color:hsl(var(--muted-foreground));font-family:var(--font-inconsolata),monospace;font-weight:600;pointer-events:none}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border:1.5px solid hsl(var(--input));border-radius:12px;background:hsl(var(--background));min-height:46px;transition:all .15s}.tag-input:focus-within{border-color:hsl(var(--ring));background:hsl(var(--card));box-shadow:0 0 0 4px hsl(var(--ring)/.12)}.tag{display:inline-flex;gap:6px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;padding:5px 11px;border-radius:8px;font-size:12px;font-weight:600;box-shadow:0 2px 6px hsl(var(--primary)/.2)}.tag,.tag-x{align-items:center}.tag-x{cursor:pointer;opacity:.8;display:flex}.tag-x:hover{opacity:1}.tag-input-field{border:0;outline:0;padding:5px 7px;min-width:130px;flex:1 1;font-size:12.5px;background:transparent;font-family:inherit}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:12px;font-size:13.5px;font-weight:600;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:all .18s;line-height:1}.btn-primary{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;box-shadow:0 4px 12px hsl(var(--primary)/.28)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px hsl(var(--primary)/.36)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{background:hsl(var(--card));border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-outline:hover{background:hsl(var(--accent));border-color:hsl(var(--primary)/.4);color:hsl(var(--primary));transform:translateY(-1px)}.btn-ghost{background:transparent;color:hsl(var(--muted-foreground))}.btn-ghost:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}.btn-block{width:100%;justify-content:center}.btn svg{width:14px;height:14px;stroke-width:2}.btn-lg{padding:13px 26px;font-size:14px}.btn-sm{padding:7px 14px;font-size:12.5px}.action-bar{gap:10px;margin-top:26px;padding:18px 22px;border:1px dashed hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--card)/.6);flex-wrap:wrap}.action-bar,.action-bar-cost{display:flex;align-items:center}.action-bar-cost{margin-left:auto;font-size:11.5px;color:hsl(var(--muted-foreground));gap:8px}.action-bar-cost strong{color:hsl(var(--primary));font-family:var(--font-inconsolata),monospace;font-weight:700}.recipe-meta{display:flex;gap:22px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid hsl(var(--border));flex-wrap:wrap;align-items:center}.recipe-meta-item{display:flex;flex-direction:column;gap:3px}.recipe-meta-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));font-weight:600}.recipe-meta-val{font-size:14px;font-family:var(--font-inconsolata),monospace;color:hsl(var(--foreground));font-weight:600}.recipe-meta-actions{margin-left:auto;display:flex;gap:8px}.recipe-card{padding:0;overflow:hidden}.recipe-head{padding:18px 24px;justify-content:space-between;background:linear-gradient(135deg,hsl(var(--accent)),hsl(var(--card)) 60%);border-bottom:1px solid hsl(var(--border))}.recipe-head,.recipe-title{display:flex;align-items:center}.recipe-title{font-size:16px;font-weight:600;margin:0;gap:12px;font-family:var(--font-lora),serif}.recipe-title-tag{font-size:11px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;padding:4px 10px;border-radius:8px;font-weight:700;box-shadow:0 2px 6px hsl(var(--primary)/.25)}.recipe-title-tag,.recipe-yield{font-family:var(--font-inconsolata),monospace}.recipe-yield{font-size:11.5px;color:hsl(var(--muted-foreground));font-weight:600}.recipe-table{width:100%;border-collapse:collapse}.recipe-table th{font-size:10.5px;text-align:left;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-weight:700;padding:12px 24px;background:hsl(40 18% 96%)}.recipe-table td{padding:12px 24px;font-size:13.5px;border-top:1px solid hsl(var(--border))}.recipe-table td.qty{font-size:13px;font-weight:600;text-align:right;width:100px;color:hsl(var(--foreground))}.recipe-table td.qty,.recipe-table td.unit{font-family:var(--font-inconsolata),monospace}.recipe-table td.unit{font-size:11.5px;color:hsl(var(--muted-foreground));width:40px}.recipe-table tr:hover td{background:hsl(var(--accent)/.4)}.steps{list-style:none;padding:0;margin:0}.step{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid hsl(var(--border));align-items:flex-start}.step:last-child{border-bottom:0}.step-num{flex-shrink:0;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,hsl(var(--accent)),hsl(var(--accent)/.6));color:hsl(var(--primary));font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-inconsolata),monospace;border:1px solid hsl(var(--primary)/.18)}.step-body{font-size:13.5px;line-height:1.6;padding-top:4px;flex:1 1}.step-tag{display:inline-block;font-size:10.5px;font-family:var(--font-inconsolata),monospace;color:hsl(var(--primary));margin-left:6px;padding:2px 8px;background:hsl(var(--accent));border-radius:6px;font-weight:600}.chef-tip,.tip-card{background:linear-gradient(135deg,hsl(var(--accent)/.65),hsl(var(--card)));border:1px solid hsl(var(--primary)/.18);border-radius:var(--radius-lg);padding:18px 20px;display:flex;gap:14px;position:relative;overflow:hidden}.chef-tip:before,.tip-card:before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:hsl(var(--primary)/.07);border-radius:50%}.tip-card.warm{background:linear-gradient(135deg,hsl(var(--warm-soft)),hsl(var(--card)));border-color:hsl(var(--warm)/.25)}.tip-card.warm:before{background:hsl(var(--warm)/.1)}.chef-tip-icon,.tip-icon{flex-shrink:0;width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px hsl(var(--primary)/.3);position:relative;z-index:1}.tip-card.warm .tip-icon{background:linear-gradient(135deg,hsl(var(--warm)),hsl(38 90% 60%));box-shadow:0 6px 16px hsl(var(--warm)/.32)}.chef-tip-icon svg,.tip-icon svg{width:18px;height:18px;stroke-width:1.75}.chef-tip>div:last-child,.tip-content{flex:1 1;position:relative;z-index:1}.chef-tip-title,.tip-title{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:hsl(var(--primary));margin-bottom:5px}.tip-card.warm .tip-title{color:hsl(var(--warm))}.chef-tip-body,.tip-body{font-size:13px;line-height:1.55;color:hsl(var(--foreground))}.stack-y>*+*{margin-top:14px}.stack-y-lg>*+*{margin-top:22px}.flex-between{justify-content:space-between;align-items:center;gap:12px}.flex-between,.tabs{display:flex;flex-wrap:wrap}.tabs{gap:4px;border-bottom:1px solid hsl(var(--border));margin-bottom:22px}.tab{padding:11px 18px;font-size:13.5px;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:500;border-radius:12px 12px 0 0}.tab:hover{color:hsl(var(--foreground));background:hsl(var(--accent)/.5)}.tab svg{width:14px;height:14px}.tab-count{font-size:10.5px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));padding:2px 8px;border-radius:99px;font-family:var(--font-inconsolata),monospace;font-weight:600}.tab.active{color:hsl(var(--primary));border-color:hsl(var(--primary));font-weight:600}.tab.active .tab-count{background:hsl(var(--accent));color:hsl(var(--primary))}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:16px;gap:16px}.recipe-tile{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:14px;text-align:left;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;font-family:inherit}.recipe-tile:before{content:"";position:absolute;top:-30px;right:-30px;width:110px;height:110px;border-radius:50%;background:hsl(var(--primary)/.06);transition:all .25s}.recipe-tile:hover{border-color:hsl(var(--primary)/.3);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.recipe-tile:hover:before{transform:scale(1.5);background:hsl(var(--primary)/.1)}.recipe-tile>*{position:relative}.recipe-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.recipe-tile-secteur{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary));background:hsl(var(--accent));padding:3px 9px;border-radius:99px;display:inline-block}.recipe-tile-title{font-family:var(--font-lora),serif;font-size:18px;font-weight:600;line-height:1.25;margin:8px 0 0;letter-spacing:-.01em}.recipe-tile-sub{font-size:11.5px;color:hsl(var(--muted-foreground));font-family:var(--font-inconsolata),monospace;font-weight:600}.recipe-tile-tags{display:flex;flex-wrap:wrap;gap:5px}.recipe-tile-tag{font-size:10.5px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));padding:3px 9px;border-radius:99px;font-weight:500}.recipe-tile-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed hsl(var(--border));font-size:11px;color:hsl(var(--muted-foreground));margin-top:auto}.recipe-tile-foot-actions{display:flex;gap:4px}.recipe-tile-foot-actions button{width:28px;height:28px;border-radius:8px;border:0;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.recipe-tile-foot-actions button:hover{background:hsl(var(--accent));color:hsl(var(--primary))}.recipe-tile-foot-actions button svg{width:13px;height:13px}.empty{text-align:center;padding:56px 20px;color:hsl(var(--muted-foreground))}.empty svg{width:44px;height:44px;opacity:.4;margin-bottom:14px;stroke-width:1.5;color:hsl(var(--primary))}.empty-title{font-size:15px;color:hsl(var(--foreground));font-weight:600;margin-bottom:4px;font-family:var(--font-lora),serif}.empty-sub{font-size:12.5px}.depannage-suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.suggest{text-align:left;padding:14px;border:1.5px solid hsl(var(--border));border-radius:14px;background:hsl(var(--card));font-size:12.5px;color:hsl(var(--foreground));cursor:pointer;transition:all .18s;line-height:1.45;font-family:inherit}.suggest:hover{border-color:hsl(var(--primary)/.4);transform:translateY(-1px);box-shadow:var(--shadow-md)}.suggest-icon,.suggest:hover{background:hsl(var(--accent))}.suggest-icon{color:hsl(var(--primary));margin-bottom:8px;width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center}.suggest-icon svg{width:14px;height:14px;stroke-width:2}.diagnosis{display:flex;flex-direction:column;gap:14px}.diag-block{border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:20px;background:hsl(var(--card));box-shadow:var(--shadow-sm)}.diag-head{gap:12px;margin-bottom:12px}.diag-head,.diag-head-icon{display:flex;align-items:center}.diag-head-icon{width:38px;height:38px;border-radius:12px;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.diag-head-icon svg{width:17px;height:17px;stroke-width:1.75}.diag-head-icon.cause{background:linear-gradient(135deg,hsl(var(--warm)),hsl(38 90% 60%));color:#fff}.diag-head-icon.fix{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff}.diag-head-icon.prevent{background:linear-gradient(135deg,hsl(160 55% 45%),hsl(150 50% 50%));color:#fff}.diag-head-icon.params{background:linear-gradient(135deg,hsl(var(--berry)),hsl(330 75% 65%));color:#fff}.diag-head-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:hsl(var(--muted-foreground))}.diag-head-h{font-size:15px;font-weight:600;margin:2px 0 0;font-family:var(--font-lora),serif}.diag-list{list-style:none;padding:0;margin:0}.diag-list li{font-size:13px;line-height:1.55;padding:7px 0 7px 20px;position:relative;color:hsl(var(--foreground))}.diag-list li:before{content:"";position:absolute;left:4px;top:16px;width:6px;height:6px;background:hsl(var(--primary));border-radius:50%;opacity:.5}.diag-params{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:10px;gap:10px}.diag-param{border:1px dashed hsl(var(--border));border-radius:12px;padding:10px 12px;background:hsl(var(--accent)/.4)}.diag-param-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:600}.diag-param-val{font-size:14.5px;font-family:var(--font-inconsolata),monospace;font-weight:700;margin-top:3px;color:hsl(var(--primary))}.brand-page{background:var(--brand-bg);color:var(--brand-text);min-height:100%;padding:32px 36px 96px;font-family:var(--font-work-sans),system-ui,sans-serif;position:relative}.brand-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 20%,rgba(201,168,76,.06),transparent 50%),radial-gradient(circle at 80% 80%,rgba(201,168,76,.04),transparent 50%);pointer-events:none}.brand-page>*{position:relative}.brand-eyebrow{color:var(--brand-gold);font-size:11px;letter-spacing:4px;text-transform:uppercase;opacity:.7;display:inline-flex;align-items:center;gap:8px}.brand-eyebrow svg{width:14px;height:14px}.brand-h1{font-family:var(--font-lora),serif;color:var(--brand-gold);font-weight:400;font-size:32px;letter-spacing:1px;margin:8px 0 6px}.brand-h1 strong{font-weight:600;font-style:italic}.brand-sub{color:var(--brand-text-2);font-size:13.5px;margin:0;max-width:580px;line-height:1.55}.brand-card{background:var(--brand-panel);border:1px solid var(--brand-border);border-radius:4px;padding:22px}.brand-section-h{font-weight:500;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--brand-border);gap:10px}.brand-section-h,.brand-section-h .num{color:var(--brand-gold);display:flex;align-items:center}.brand-section-h .num{width:22px;height:22px;border:1px solid var(--brand-gold);border-radius:50%;justify-content:center;font-size:10px}.brand-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.brand-field-label{color:var(--brand-text-2);font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-bottom:7px;display:block;font-weight:500}.brand-input{width:100%;background:var(--brand-input);border:1px solid var(--brand-border-2);color:var(--brand-text);padding:11px 13px;font-size:14px;font-family:var(--font-inconsolata),monospace;border-radius:3px;outline:0;transition:border-color .15s}.brand-input:focus{border-color:var(--brand-gold);box-shadow:0 0 0 1px var(--brand-gold)}.brand-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:var(--brand-gold-gradient);color:#000;border:0;border-radius:3px;font-weight:600;font-size:12px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:filter .12s}.brand-btn:hover{filter:brightness(1.08)}.brand-btn svg{width:13px;height:13px;stroke-width:2}.brand-btn-ghost{background:transparent;color:var(--brand-gold);border:1px solid var(--brand-gold);padding:11px 21px}.brand-stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.brand-stat{background:var(--brand-panel);border:1px solid var(--brand-border);border-radius:3px;padding:14px 16px}.brand-stat-label{color:var(--brand-text-2);font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}.brand-stat-val{color:var(--brand-gold);font-family:var(--font-inconsolata),monospace;font-size:22px;font-weight:500}.brand-stat-unit{color:var(--brand-text-3);font-size:11px;margin-left:4px}.diagram-wrap{background:#0d0d0d;border:1px solid var(--brand-border);border-radius:3px;padding:24px;display:flex;align-items:center;justify-content:center}.brand-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.brand-option{background:var(--brand-input);border:1px solid var(--brand-border-2);padding:14px;cursor:pointer;transition:all .15s;border-radius:3px;text-align:left;color:var(--brand-text);font-family:inherit}.brand-option.active,.brand-option:hover{border-color:var(--brand-gold)}.brand-option.active{background:rgba(201,168,76,.06)}.brand-option-num{color:var(--brand-gold);font-family:var(--font-inconsolata),monospace;font-size:18px;margin-bottom:4px}.brand-option-desc{color:var(--brand-text-2);font-size:10.5px;letter-spacing:1px;text-transform:uppercase}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:hsl(var(--background));position:relative;overflow:hidden}.auth-page:before{top:-200px;left:-100px;background:hsl(var(--primary)/.12)}.auth-page:after,.auth-page:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(80px)}.auth-page:after{bottom:-200px;right:-100px;background:hsl(var(--warm)/.12)}.auth-card{width:100%;max-width:440px;background:hsl(var(--card)/.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--border));border-radius:var(--radius-xl);padding:40px 36px 32px;position:relative;z-index:2;box-shadow:var(--shadow-lg)}.auth-logo{flex-direction:column;margin-bottom:26px}.auth-logo,.auth-logo-mark{display:flex;align-items:center}.auth-logo-mark{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));justify-content:center;margin-bottom:14px;box-shadow:0 12px 28px hsl(var(--primary)/.32)}.auth-logo-mark img{width:36px;height:36px;filter:brightness(0) invert(1)}.auth-logo h1{font-family:var(--font-lora),serif;font-size:26px;font-weight:600;margin:0;letter-spacing:-.01em;color:hsl(var(--foreground))}.auth-logo p{font-size:12.5px;color:hsl(var(--muted-foreground));margin:4px 0 0}.auth-tabs{display:flex;background:hsl(var(--secondary));border-radius:14px;padding:4px;margin-bottom:26px}.auth-tab{flex:1 1;padding:9px;font-size:13px;background:transparent;border:0;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:10px;font-family:inherit;transition:all .18s;font-weight:500}.auth-tab.active{background:hsl(var(--card));color:hsl(var(--primary));font-weight:600;box-shadow:var(--shadow-sm)}.auth-foot{text-align:center;margin-top:20px;font-size:12.5px;color:hsl(var(--muted-foreground))}.auth-foot a{color:hsl(var(--primary));text-decoration:none;font-weight:600}@media (max-width:880px){.sidebar{display:none}.mobile-topbar{display:flex;align-items:center;height:calc(60px + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) 16px 0;background:hsl(var(--sidebar));color:#fff;flex-shrink:0;gap:12px;border-bottom:1px solid hsl(var(--sidebar-border))}.mobile-topbar-logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,hsl(var(--sidebar-primary)),hsl(161 60% 30%));display:flex;align-items:center;justify-content:center}.mobile-topbar-logo img{width:24px;height:24px;filter:brightness(0) invert(1)}.mobile-topbar-name{font-family:var(--font-lora),serif;font-size:17px;color:hsl(40 30% 96%);font-weight:600}.mobile-topbar-spacer{flex:1 1}.mobile-topbar .iconbtn{background:transparent;border-color:hsl(var(--sidebar-border));color:hsl(0 0% 75%)}.mobile-topbar .iconbtn:hover{background:hsl(var(--sidebar-accent));color:#fff}.topbar{display:none}.brand-page,.page{padding:22px 18px calc(110px + env(safe-area-inset-bottom, 0px))}.mobile-bottomnav{display:flex;position:absolute;bottom:0;left:0;right:0;height:calc(68px + env(safe-area-inset-bottom, 0px));background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:0 8px env(safe-area-inset-bottom,0);z-index:20;box-shadow:0 -4px 20px hsl(165 25% 12%/.06)}.mobile-bottomnav-link{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;color:hsl(var(--muted-foreground));font-size:10.5px;cursor:pointer;font-family:inherit;position:relative;font-weight:500}.mobile-bottomnav-link svg{width:20px;height:20px;stroke-width:1.75}.mobile-bottomnav-link.active{color:hsl(var(--primary))}.mobile-bottomnav-link.active:before{content:"";position:absolute;top:6px;width:36px;height:4px;background:hsl(var(--primary));border-radius:0 0 4px 4px;box-shadow:0 2px 6px hsl(var(--primary)/.4)}.brand-row,.row-2,.row-3{grid-template-columns:1fr}.brand-stat-row{grid-template-columns:1fr 1fr}.brand-options,.mode-select,.recipe-grid{grid-template-columns:1fr}.page-title{font-size:26px}.brand-h1{font-size:24px}.search-hero{padding:28px 22px}.search-hero-title{font-size:30px}.search-hero-bar{padding:8px 8px 8px 16px}.search-hero-bar input{font-size:14.5px}}.app-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;margin:24px 24px 0;padding:16px 0 20px;border-top:1px solid hsl(var(--border)/.7);font-size:12.5px;color:hsl(var(--muted-foreground))}.app-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}.app-footer a{color:inherit;text-decoration:none}.app-footer a:focus-visible,.app-footer a:hover{color:hsl(var(--foreground));text-decoration:underline}@media (max-width:880px){.app-footer{margin:16px 16px 0;padding-bottom:90px}}.scroll-area::-webkit-scrollbar{width:8px}.scroll-area::-webkit-scrollbar-track{background:transparent}.scroll-area::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:4px}.scroll-area::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.4)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page>*{animation:fadeInUp .4s ease-out backwards}.page>:nth-child(2){animation-delay:.05s}.page>:nth-child(3){animation-delay:.1s}.page>:nth-child(4){animation-delay:.15s}.page>:nth-child(5){animation-delay:.2s}.tweaks-fab{position:fixed;bottom:20px;right:20px;z-index:30}.skeleton-block{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--secondary)) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius);flex-shrink:0}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none;background:hsl(var(--muted))}}@keyframes paywall-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:paywall-fade-in .35s ease-out both}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}@media (max-width:720px){.paywall-gate-grid{grid-template-columns:1fr!important}.paywall-gate-mockup{order:-1;min-height:160px!important}}.pro-pill{display:inline-flex;align-items:center;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;margin-left:auto;box-shadow:0 2px 6px hsl(var(--primary)/.3)}.sidebar-link.active .pro-pill{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:none}.hygiene-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;letter-spacing:.04em;padding:2px 9px;border-radius:99px;border:1.5px solid transparent}.hygiene-badge-reglementation{background:hsl(220 90% 96%);color:hsl(220 70% 45%);border-color:hsl(220 70% 85%)}.hygiene-badge-methode{background:hsl(145 60% 94%);color:hsl(145 55% 32%);border-color:hsl(145 55% 78%)}.hygiene-badge-controle{background:hsl(35 90% 94%);color:hsl(35 75% 35%);border-color:hsl(35 75% 80%)}.hygiene-badge-documents{background:hsl(280 60% 95%);color:hsl(280 55% 40%);border-color:hsl(280 55% 82%)}.hygiene-list-wrapper{display:flex;flex-direction:column;gap:0}.hygiene-search{display:flex;align-items:center;gap:10px;background:hsl(var(--surface));border:1.5px solid hsl(var(--border));border-radius:12px;padding:10px 14px;margin:18px 0 24px;transition:border-color .15s}.hygiene-search:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.12)}.hygiene-search svg{color:hsl(var(--text-2));flex-shrink:0}.hygiene-search input{border:none;background:transparent;outline:none;font-size:14px;color:hsl(var(--text-1));width:100%}.hygiene-search input::placeholder{color:hsl(var(--text-3,var(--text-2)))}.hygiene-category-section{margin-bottom:28px}.hygiene-category-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.hygiene-category-count{font-size:12px;color:hsl(var(--text-2))}.hygiene-guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.hygiene-guide-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:14px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.hygiene-guide-card:hover{border-color:hsl(var(--primary));box-shadow:0 4px 16px hsl(var(--primary)/.1);transform:translateY(-1px)}.hygiene-guide-card:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.hygiene-guide-title{font-size:14px;font-weight:600;line-height:1.4;color:hsl(var(--text-1))}.hygiene-guide-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hygiene-guide-date{font-size:11px;color:hsl(var(--text-2))}.hygiene-ape-onboarding{margin-bottom:28px}.hygiene-ape-option{display:block;padding:12px 14px;border:1.5px solid hsl(var(--border));border-radius:12px;background:hsl(var(--surface));transition:border-color .15s,background .15s}.hygiene-ape-option:hover{border-color:hsl(var(--primary));background:hsl(var(--primary)/.04)}.hygiene-ape-option.selected{border-color:hsl(var(--primary));background:hsl(var(--primary)/.07)}.hygiene-detail{max-width:740px;display:flex;flex-direction:column;gap:0}.hygiene-detail-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;flex-wrap:wrap}.hygiene-detail-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid hsl(var(--border))}.hygiene-markdown{font-size:14.5px;line-height:1.75;color:hsl(var(--text-1));margin-bottom:32px}.hygiene-markdown h1{display:none}.hygiene-markdown h2{font-size:1rem;font-weight:700;margin:28px 0 10px;color:hsl(var(--text-1))}.hygiene-markdown h3{font-size:.9rem;font-weight:600;margin:20px 0 8px;color:hsl(var(--text-1))}.hygiene-markdown p{margin:0 0 14px}.hygiene-markdown ol,.hygiene-markdown ul{margin:0 0 14px;padding-left:22px}.hygiene-markdown li{margin-bottom:5px}.hygiene-markdown strong{font-weight:700}.hygiene-markdown em{font-style:italic}.hygiene-markdown blockquote{margin:0 0 18px;padding:12px 16px;background:hsl(var(--accent-soft,220 90% 96%));border-left:3px solid hsl(var(--primary));border-radius:0 8px 8px 0;font-size:13.5px;color:hsl(var(--text-2))}.hygiene-markdown blockquote p{margin:0}.hygiene-markdown table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:18px;border-radius:10px;overflow:hidden}.hygiene-markdown th{background:hsl(var(--surface));font-weight:600;text-align:left;padding:8px 12px;border-bottom:2px solid hsl(var(--border))}.hygiene-markdown td{padding:8px 12px;border-bottom:1px solid hsl(var(--border));vertical-align:top}.hygiene-markdown tr:last-child td{border-bottom:none}.hygiene-markdown tr:nth-child(2n) td{background:hsl(var(--surface))}.hygiene-markdown a{color:hsl(var(--primary));text-decoration:underline}.hygiene-markdown code{font-family:monospace;font-size:.875em;background:hsl(var(--surface));padding:1px 5px;border-radius:4px}.hygiene-sources{padding:16px 18px;background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:12px;margin-bottom:20px}.hygiene-sources-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--text-2));margin:0 0 10px}.hygiene-sources ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.hygiene-sources li{font-size:13px}.hygiene-sources a{color:hsl(var(--primary));text-decoration:underline}.hygiene-disclaimer{font-size:12.5px;color:hsl(var(--text-2));line-height:1.6;padding:12px 16px;background:hsl(40 60% 97%);border:1px solid hsl(40 40% 88%);border-radius:10px;margin-top:20px}.hygiene-disclaimer a{color:inherit;text-decoration:underline}.print-only{display:none}.hygiene-print-footer{font-size:11px;color:hsl(var(--text-2));margin-top:24px;display:flex;justify-content:space-between}.convention-idcc-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--accent-soft,#e8f0fe);color:var(--accent,#3b82f6);border:1px solid var(--accent,#3b82f6)}.convention-search{display:flex;align-items:center;gap:8px;background:var(--bg-2,#f5f5f5);border:1px solid var(--border,#e0e0e0);border-radius:10px;padding:8px 12px;max-width:600px}.convention-search input{flex:1 1;border:none;background:transparent;font-size:14px;color:var(--text-1,#111);outline:none;min-width:0}.convention-search input::placeholder{color:var(--text-3,#999)}.convention-search svg{color:var(--text-3,#999);flex-shrink:0}.convention-body{display:grid;grid-template-columns:220px 1fr;grid-gap:24px;gap:24px;align-items:start;margin-top:20px}.convention-toc{position:-webkit-sticky;position:sticky;top:16px;max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px);overflow-y:auto;padding-right:4px}.convention-toc-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3,#999);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border,#e0e0e0)}.convention-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.convention-toc-link{display:block;width:100%;text-align:left;font-size:12px;line-height:1.4;padding:5px 8px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-2,#555);transition:background .15s,color .15s}.convention-toc-link:hover{background:var(--bg-2,#f5f5f5);color:var(--text-1,#111)}.convention-toc-link.active{background:var(--accent-soft,#e8f0fe);color:var(--accent,#3b82f6);font-weight:600}.convention-chapters{display:flex;flex-direction:column;gap:32px}.convention-chapters-full{max-width:760px}.convention-chapter{scroll-margin-top:20px}.convention-chapter-title{font-size:17px;font-weight:700;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--border,#e0e0e0);color:var(--text-1,#111)}.convention-markdown{color:var(--text-1,#111);line-height:1.7}.convention-markdown h3{font-size:14px;font-weight:700;margin:20px 0 8px;color:var(--text-1,#111)}.convention-markdown p{margin:0 0 12px;font-size:14px}.convention-markdown ol,.convention-markdown ul{margin:0 0 12px 20px;font-size:14px}.convention-markdown li{margin-bottom:4px}.convention-markdown strong{font-weight:700}.convention-markdown em{font-style:italic}.convention-markdown blockquote{margin:12px 0;padding:10px 14px;background:var(--accent-soft,#e8f0fe);border-left:3px solid var(--accent,#3b82f6);border-radius:0 6px 6px 0;font-size:13px;color:var(--text-2,#555)}.convention-markdown blockquote p{margin:0}.convention-markdown table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.convention-markdown th{background:var(--bg-2,#f5f5f5);padding:8px 12px;text-align:left;font-weight:700;border:1px solid var(--border,#e0e0e0)}.convention-markdown td{padding:7px 12px;border:1px solid var(--border,#e0e0e0)}.convention-markdown tr:nth-child(2n) td{background:var(--bg-2,#f5f5f5)}.convention-markdown a{color:var(--accent,#3b82f6);text-decoration:underline}.convention-markdown code{background:var(--bg-2,#f5f5f5);border-radius:4px;padding:1px 5px;font-size:12px;font-family:monospace}.convention-disclaimer{margin-top:24px;padding:12px 16px;background:var(--bg-2,#f5f5f5);border:1px solid var(--border,#e0e0e0);border-radius:8px;font-size:12px;color:var(--text-2,#666);line-height:1.5}.convention-disclaimer a{color:var(--accent,#3b82f6)}.convention-print-footer{display:none;flex-direction:column;gap:2px;margin-top:24px;padding-top:12px;border-top:1px solid #ccc;font-size:10px;color:#666}.convention-not-found{text-align:center;padding:48px 24px;max-width:480px;margin:0 auto}.convention-not-found-icon{font-size:48px;margin-bottom:16px;color:var(--text-3,#999)}.convention-not-found h2{font-size:18px;margin-bottom:8px}.convention-ape-onboarding{max-width:540px;margin:0 auto;padding:32px 24px;text-align:center}.convention-ape-onboarding-icon{font-size:48px;color:var(--accent,#3b82f6);margin-bottom:16px}.convention-ape-onboarding-title{font-size:20px;font-weight:700;margin-bottom:10px}.convention-ape-onboarding-desc{font-size:14px;color:var(--text-2,#555);margin-bottom:20px}.convention-ape-options{display:flex;flex-direction:column;gap:8px;text-align:left}.convention-ape-option{padding:10px 14px;border:1px solid var(--border,#e0e0e0);border-radius:8px;background:var(--bg-1,#fff);cursor:pointer;font-size:14px;transition:border-color .15s,background .15s;text-align:left}.convention-ape-option.selected,.convention-ape-option:hover{border-color:var(--accent,#3b82f6);background:var(--accent-soft,#e8f0fe)}.convention-ape-option.selected{font-weight:600}.convention-header{margin-bottom:0}@media (max-width:768px){.convention-body{grid-template-columns:1fr}.convention-toc{position:static;max-height:none;background:var(--bg-2,#f5f5f5);border-radius:10px;padding:12px}}.calculateur-container{max-width:960px}.calculateur-nav{margin-bottom:16px}.calculateur-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;align-items:start;margin-top:20px}@media (max-width:768px){.calculateur-grid{grid-template-columns:1fr}}.calculateur-label{display:block;font-size:13px;font-weight:600;color:var(--text-2,#555);margin:14px 0 5px}.calculateur-label:first-of-type{margin-top:0}.calculateur-select{width:100%;padding:8px 10px;border:1px solid var(--border,#e0e0e0);border-radius:8px;background:var(--bg-1,#fff);font-size:14px;color:var(--text-1,#111);cursor:pointer;outline:none}.calculateur-select:focus{border-color:var(--accent,#3b82f6)}.calculateur-input-row{display:flex;align-items:center;gap:8px}.calculateur-input{flex:1 1;padding:8px 10px;border:1px solid var(--border,#e0e0e0);border-radius:8px;background:var(--bg-1,#fff);font-size:14px;color:var(--text-1,#111);outline:none;-moz-appearance:textfield}.calculateur-input:focus{border-color:var(--accent,#3b82f6)}.calculateur-input::-webkit-inner-spin-button,.calculateur-input::-webkit-outer-spin-button{opacity:1}.calculateur-unit{font-size:13px;color:var(--text-2,#555);flex-shrink:0}.calculateur-hint{font-size:11px;color:var(--text-3,#999);margin:4px 0 0}.calculateur-result-card{display:flex;flex-direction:column}.calculateur-total{display:flex;align-items:baseline;gap:6px;margin:10px 0 2px}.calculateur-total-amount{font-size:32px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent,#3b82f6);line-height:1}.calculateur-total-unit{font-size:14px;color:var(--text-2,#555)}.calculateur-net-hint{font-size:13px;color:var(--text-2,#555);margin:0 0 14px}.calculateur-separator{border:none;border-top:1px solid var(--border,#e0e0e0);margin:10px 0}.calculateur-detail{display:flex;flex-direction:column;gap:6px}.calculateur-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-2,#555)}.calculateur-detail-row span:last-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-1,#111)}.calculateur-detail-total{padding-top:8px;margin-top:4px;border-top:1px solid var(--border,#e0e0e0);font-weight:600}.calculateur-grille{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.calculateur-grille th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3,#999);padding:4px 8px 8px;border-bottom:1px solid var(--border,#e0e0e0)}.calculateur-grille td{padding:6px 8px;color:var(--text-2,#555);border-bottom:1px solid var(--border,#e0e0e0);font-size:12px}.calculateur-grille-active td{background:var(--accent-soft,#e8f0fe);color:var(--accent,#3b82f6);font-weight:600}.calculateur-grille tr:last-child td{border-bottom:none}.calculateur-grille tr:hover td{background:var(--bg-2,#f5f5f5)}.calculateur-grille-active:hover td{background:var(--accent-soft,#e8f0fe)!important}@media print{.mobile-bottomnav,.mobile-topbar,.no-print,.sidebar,.topbar{display:none!important}.print-only{display:flex!important}.app,.main-col{display:block!important}.scroll-area{overflow:visible!important;height:auto!important}.page{padding:0!important;max-width:none!important}body{font-size:12pt;color:#000!important;background:#fff!important}.hygiene-detail{max-width:none}.hygiene-markdown{font-size:11pt;line-height:1.6}.hygiene-markdown h2{font-size:13pt;page-break-after:avoid}.hygiene-markdown h3{font-size:12pt;page-break-after:avoid}.hygiene-markdown table{font-size:10pt}.hygiene-markdown blockquote{border-left:3px solid #666;background:#f8f8f8!important}.hygiene-detail-header{border-color:#ccc}.hygiene-badge{border:1px solid #999!important;background:#f0f0f0!important;color:#333!important}.hygiene-sources{background:#f8f8f8!important;border-color:#ccc!important;page-break-inside:avoid}.hygiene-disclaimer{background:#fafafa!important;border-color:#ddd!important;font-size:9pt}.hygiene-disclaimer,.hygiene-guide-card,.hygiene-sources{page-break-inside:avoid}.hygiene-sources a:after{content:" (" attr(href) ")";font-size:9pt;color:#555}.convention-container{max-width:none}.convention-body{display:block!important}.convention-toc{display:none!important}.convention-chapters{padding:0!important}.convention-chapter{page-break-inside:avoid}.convention-markdown{font-size:11pt;line-height:1.6}.convention-markdown h3{font-size:12pt;page-break-after:avoid}.convention-markdown table{font-size:10pt}.convention-idcc-badge{border:1px solid #999!important;background:#f0f0f0!important;color:#333!important}.convention-disclaimer{background:#fafafa!important;border-color:#ddd!important;font-size:9pt;page-break-inside:avoid}.convention-sources a:after{content:" (" attr(href) ")";font-size:9pt;color:#555}.calculateur-grid{display:block!important}.calculateur-result-card{page-break-inside:avoid}.calculateur-grille{font-size:10pt}}.page-scroll{-webkit-overflow-scrolling:touch}.marketing-shell,.page-scroll{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden}.marketing-shell{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-work-sans),system-ui,sans-serif}.marketing-nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsl(var(--background)/.92);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid hsl(var(--border)/.7)}.marketing-nav-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px}.marketing-nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-lora),serif;font-weight:600;font-size:17px;color:hsl(var(--foreground));text-decoration:none}.marketing-nav-brand-dot{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));box-shadow:0 4px 10px hsl(var(--primary)/.25)}.marketing-nav-brand-mark{width:36px;height:36px;object-fit:contain;flex-shrink:0}.marketing-nav-brand-text{display:inline-block;letter-spacing:-.005em}.marketing-footer-brand{display:flex;align-items:flex-start;gap:12px}.marketing-footer-mark{width:32px;height:32px;object-fit:contain;flex-shrink:0;margin-top:2px}.marketing-nav-links{display:flex;align-items:center;gap:6px}.marketing-nav-links a{font-size:14px;color:hsl(var(--muted-foreground));padding:8px 12px;border-radius:8px;text-decoration:none;transition:color .15s,background .15s}.marketing-nav-links a:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.marketing-cta-primary,.marketing-cta-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;border:none;cursor:pointer;font-family:inherit}.marketing-cta-primary{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));color:#fff;box-shadow:0 6px 16px hsl(var(--primary)/.3)}.marketing-cta-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px hsl(var(--primary)/.36)}.marketing-cta-secondary{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.marketing-cta-secondary:hover{background:hsl(var(--secondary))}.marketing-section{max-width:1180px;margin:0 auto;padding:88px 24px}.marketing-section--tight{padding:56px 24px}.marketing-hero{display:grid;grid-gap:28px;gap:28px;text-align:center;align-items:center;justify-items:center;max-width:880px;margin:0 auto}.marketing-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary));font-weight:600;background:hsl(var(--accent));padding:6px 14px;border-radius:999px}.marketing-h1{font-family:var(--font-lora),serif;font-weight:600;font-size:clamp(36px,5.5vw,64px);line-height:1.05;letter-spacing:-.02em;margin:0;color:hsl(var(--foreground))}.marketing-h1 em{font-style:normal;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));-webkit-background-clip:text;background-clip:text;color:transparent}.marketing-lede{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:hsl(var(--muted-foreground));max-width:640px;margin:0 auto}.marketing-cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.marketing-trust{font-size:13px;color:hsl(var(--muted-foreground));margin-top:8px}.marketing-feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px}.marketing-feature-card{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s;text-decoration:none;color:inherit}.marketing-feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.marketing-feature-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,hsl(var(--accent)),hsl(var(--accent)/.5));display:flex;align-items:center;justify-content:center;font-size:22px}.marketing-feature-card h3{font-family:var(--font-lora),serif;font-size:20px;margin:0;color:hsl(var(--foreground))}.marketing-feature-card p{font-size:14.5px;line-height:1.55;color:hsl(var(--muted-foreground));margin:0}.marketing-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:56px;gap:56px;align-items:center}.marketing-split h2{font-family:var(--font-lora),serif;font-size:clamp(26px,3.4vw,40px);line-height:1.15;letter-spacing:-.015em;margin:0 0 16px;color:hsl(var(--foreground))}.marketing-split p{font-size:16px;line-height:1.65;color:hsl(var(--muted-foreground));margin:0 0 14px}.marketing-split ul{padding:0;list-style:none;margin:18px 0 0;display:flex;flex-direction:column;gap:10px}.marketing-split ul li{display:flex;gap:10px;font-size:15px;color:hsl(var(--foreground))}.marketing-split ul li:before{content:"✓";color:hsl(var(--primary));font-weight:700}.marketing-mockup{border-radius:var(--radius-lg);background:linear-gradient(135deg,hsl(var(--accent)) 0,hsl(var(--card)) 100%);border:1px solid hsl(var(--border)/.7);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.marketing-mockup:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,hsl(var(--primary)/.12),transparent 60%),radial-gradient(circle at 80% 70%,hsl(var(--warm)/.1),transparent 55%);pointer-events:none}.marketing-mockup--shot{display:block;background:hsl(var(--card))}.marketing-mockup--shot:after{display:none}.marketing-mockup--shot img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.marketing-mockup span{font-family:var(--font-lora),serif;font-size:18px;color:hsl(var(--muted-foreground));position:relative;z-index:1}.marketing-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:24px;gap:24px;text-align:center}.marketing-stat-row strong{display:block;font-family:var(--font-lora),serif;font-size:clamp(32px,4vw,48px);color:hsl(var(--primary));font-weight:600;line-height:1}.marketing-stat-row span{display:block;margin-top:8px;font-size:14px;color:hsl(var(--muted-foreground))}.marketing-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:22px;gap:22px}.marketing-testimonial{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-sm)}.marketing-testimonial p{font-family:var(--font-lora),serif;font-style:italic;font-size:16px;line-height:1.55;color:hsl(var(--foreground));margin:0 0 16px}.marketing-testimonial footer{display:flex;align-items:center;gap:12px}.marketing-testimonial footer .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--warm)));flex-shrink:0}.marketing-testimonial footer .who{display:flex;flex-direction:column;font-size:13.5px}.marketing-testimonial footer .who strong{color:hsl(var(--foreground));font-weight:600}.marketing-testimonial footer .who span{color:hsl(var(--muted-foreground));font-size:12.5px}.marketing-pricing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:22px;gap:22px;max-width:880px;margin:0 auto}.marketing-pricing-summary article{background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}.marketing-pricing-summary article.featured{border-color:hsl(var(--primary));box-shadow:0 12px 28px hsl(var(--primary)/.18)}.marketing-pricing-summary h3{font-family:var(--font-lora),serif;font-size:22px;margin:0}.marketing-pricing-summary .price{font-size:36px;font-weight:700}.marketing-pricing-summary .price small{font-size:14px;color:hsl(var(--muted-foreground));font-weight:400;margin-left:4px}.marketing-footer{border-top:1px solid hsl(var(--border)/.7);background:hsl(var(--secondary));padding:44px 24px}.marketing-footer-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;font-size:14px;color:hsl(var(--muted-foreground))}.marketing-footer a{color:hsl(var(--muted-foreground));text-decoration:none;margin-right:18px}.marketing-footer a:hover{color:hsl(var(--foreground))}.marketing-prose{max-width:760px;margin:0 auto}.marketing-prose h2{font-size:clamp(22px,3vw,30px);line-height:1.25;letter-spacing:-.01em;margin:44px 0 14px}.marketing-prose h2,.marketing-prose h3{font-family:var(--font-lora),serif;color:hsl(var(--foreground))}.marketing-prose h3{font-size:20px;margin:30px 0 10px}.marketing-prose p{margin:0 0 14px}.marketing-prose ol,.marketing-prose p,.marketing-prose ul{font-size:16.5px;line-height:1.7;color:hsl(var(--foreground))}.marketing-prose ol,.marketing-prose ul{padding-left:20px;margin:0 0 16px}.marketing-prose li{margin-bottom:6px}.marketing-prose blockquote{border-left:3px solid hsl(var(--primary));margin:22px 0;padding:4px 18px;font-family:var(--font-lora),serif;font-style:italic;color:hsl(var(--muted-foreground));background:hsl(var(--accent)/.4);border-radius:0 8px 8px 0}@media (max-width:720px){.marketing-section{padding:56px 22px}.marketing-nav-links{display:none}}.topbar-search-btn{display:flex;align-items:center;gap:8px;background:hsl(var(--muted)/.7);border:1px solid hsl(var(--border));border-radius:8px;padding:6px 12px;cursor:pointer;color:hsl(var(--muted-foreground));font-size:13px;min-width:240px;max-width:400px;transition:background .15s,border-color .15s}.topbar-search-btn:hover{background:hsl(var(--muted));border-color:hsl(var(--ring)/.4)}.topbar-search-btn svg{position:static;top:auto;left:auto;transform:none;flex-shrink:0;width:15px;height:15px}.topbar-search-placeholder{flex:1 1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search-kbd{font-size:11px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:4px;padding:1px 5px;color:hsl(var(--muted-foreground))}.cmd-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;animation:fadeIn .1s ease}.cmd-modal{position:fixed;top:15vh;left:50%;transform:translateX(-50%);width:min(640px,92vw);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.22);z-index:1000;overflow:hidden;animation:slideDown .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{transform:translateX(-50%) translateY(-8px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.cmd-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid hsl(var(--border))}.cmd-search-icon{width:18px;height:18px;color:hsl(var(--muted-foreground));flex-shrink:0}.cmd-input{flex:1 1;border:none;outline:none;font-size:15px;background:transparent;color:hsl(var(--foreground))}.cmd-input::placeholder{color:hsl(var(--muted-foreground))}.cmd-esc-hint{font-size:11px;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px;padding:1px 6px;color:hsl(var(--muted-foreground));flex-shrink:0}.cmd-spinner{width:14px;height:14px;border:2px solid hsl(var(--primary)/.3);border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.cmd-list{list-style:none;margin:0;padding:8px 0;max-height:400px;overflow-y:auto;overscroll-behavior:contain}.cmd-category{padding:6px 16px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:hsl(var(--muted-foreground))}.cmd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px;cursor:pointer;font-size:14px;color:hsl(var(--foreground));transition:background .08s}.cmd-item.active,.cmd-item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.cmd-item-label{flex:1 1}.cmd-item-sub{font-size:12px;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:4px;padding:1px 6px}.cmd-item.active .cmd-item-sub{background:hsl(var(--accent)/.6)}.cmd-empty{padding:24px 16px;text-align:center;font-size:14px}.cmd-empty,.cmd-footer{color:hsl(var(--muted-foreground))}.cmd-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid hsl(var(--border));font-size:11px}.cmd-footer kbd{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:3px;padding:0 4px;font-size:10px;margin-right:2px}.shortcuts-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,90vw);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.22);z-index:1000;overflow:hidden;animation:fadeIn .12s ease}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid hsl(var(--border))}.shortcuts-title{font-size:15px;font-weight:600;margin:0}.shortcuts-close{background:none;border:none;cursor:pointer;font-size:16px;color:hsl(var(--muted-foreground));padding:4px 6px;border-radius:4px}.shortcuts-close:hover{background:hsl(var(--muted))}.shortcuts-list{list-style:none;margin:0;padding:10px 0}.shortcuts-item{display:flex;justify-content:space-between;align-items:center;padding:9px 20px;font-size:14px}.shortcuts-item:not(:last-child){border-bottom:1px solid hsl(var(--border)/.5)}.shortcuts-label{color:hsl(var(--foreground))}.shortcuts-keys{display:flex;gap:4px}.shortcuts-keys kbd{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px;padding:2px 7px;font-size:12px;color:hsl(var(--muted-foreground))}.gen-loader-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:hsl(var(--background)/.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .25s ease-out}.gen-loader-card{width:100%;max-width:420px;text-align:center;background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-xl);padding:32px 28px 24px;box-shadow:0 20px 50px -12px hsl(165 25% 12%/.25)}.gen-loader-visual{position:relative;width:88px;height:88px;margin:0 auto 20px}.gen-loader-ring{position:absolute;inset:0;border-radius:50%;border-left:4px solid hsl(var(--primary)/.15);border-bottom:4px solid hsl(var(--primary)/.15);border-right-color:hsl(var(--primary)/.15);border-top-color:hsl(var(--primary)/.15);border-top:4px solid hsl(var(--primary));border-right:4px solid hsl(var(--primary-2));animation:spin 1.1s linear infinite}.gen-loader-icon{position:absolute;inset:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));animation:gen-loader-pulse 1.6s ease-in-out infinite}.gen-loader-title{font-size:18px;font-weight:700;color:hsl(var(--foreground));margin-bottom:8px}.gen-loader-step{min-height:40px;font-size:14px;line-height:1.45;color:hsl(var(--muted-foreground));animation:fadeInUp .4s ease-out}.gen-loader-bar{position:relative;height:6px;margin:16px 0 12px;overflow:hidden;border-radius:9999px;background:hsl(var(--primary)/.12)}.gen-loader-bar span{position:absolute;top:0;bottom:0;width:40%;border-radius:inherit;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary-2)));animation:gen-loader-slide 1.4s ease-in-out infinite}.gen-loader-meta{font-size:12px;color:hsl(var(--muted-foreground))}.gen-loader-card--preview{max-width:720px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;padding:20px 22px 16px}.gen-loader-card--preview .gen-loader-visual{width:48px;height:48px;margin-bottom:10px}.gen-loader-card--preview .gen-loader-ring{border-width:3px}.gen-loader-card--preview .gen-loader-icon{inset:8px}.gen-loader-card--preview .gen-loader-icon svg{width:20px;height:20px}.gen-loader-card--preview .gen-loader-title{font-size:16px;margin-bottom:4px}.gen-loader-card--preview .gen-loader-step{min-height:0}.gen-loader-card--preview .gen-loader-bar{margin:10px 0 8px}.gen-preview-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:12px}.gen-preview{flex:1 1 auto;min-height:120px;overflow-y:auto;text-align:left;border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-lg,12px);background:hsl(var(--background)/.6);padding:14px 16px;font-size:13px;line-height:1.5;color:hsl(var(--foreground))}.gen-preview-nom{font-size:18px;font-weight:700;margin-bottom:4px;animation:fadeIn .3s ease-out}.gen-preview-skeleton{height:18px;width:45%;border-radius:6px;margin-bottom:8px;background:hsl(var(--primary)/.12);animation:gen-loader-pulse 1.6s ease-in-out infinite}.gen-preview-desc{margin:0 0 8px;color:hsl(var(--muted-foreground))}.gen-preview-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.gen-preview-meta span{font-size:12px;padding:2px 8px;border-radius:9999px;background:hsl(var(--primary)/.1);color:hsl(var(--primary))}.gen-preview-block{margin-top:12px;animation:fadeIn .3s ease-out}.gen-preview-h{font-weight:700;font-size:14px;margin-bottom:4px}.gen-preview-org{white-space:pre-line;color:hsl(var(--muted-foreground))}.gen-preview-ings{list-style:none;margin:0 0 6px;padding:0}.gen-preview-ings li{display:flex;gap:10px;padding:2px 0;border-bottom:1px dashed hsl(var(--border)/.6)}.gen-preview-qty{min-width:64px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.gen-preview-steps{margin:4px 0 0;padding-left:20px}.gen-preview-steps li{padding:1px 0}.gen-loader-card--preview>*{flex-shrink:0}.gen-loader-card--preview>.gen-preview-wrap{flex-shrink:1}.gen-loader-step--live{font-size:15px;font-weight:700;color:hsl(var(--primary))}.gen-preview-note{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;text-align:left;font-size:15px;line-height:1.4;color:hsl(var(--primary));background:hsl(var(--primary)/.1);border:1.5px solid hsl(var(--primary)/.45);border-radius:var(--radius-lg,12px);animation:fadeIn .3s ease-out}.gen-preview-note strong{font-weight:800}.gen-preview-note-icon{display:inline-flex;flex-shrink:0}.gen-preview-note--final{color:#fff;border-color:transparent;font-size:16px;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));box-shadow:0 8px 22px -10px hsl(var(--primary)/.7);animation:fadeIn .3s ease-out,gen-note-glow 1.8s ease-in-out infinite}@keyframes gen-note-glow{0%,to{box-shadow:0 8px 22px -10px hsl(var(--primary)/.7)}50%{box-shadow:0 8px 28px -6px hsl(var(--primary)/.95)}}@keyframes gen-loader-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes gen-loader-slide{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.gen-loader-bar span{left:0;width:100%;opacity:.5}}.onb-optional{display:inline-block;vertical-align:middle;margin-left:10px;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.3px;padding:3px 10px;border-radius:9999px;background:hsl(var(--accent));color:hsl(var(--primary))}.onb-open-note{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.55;color:hsl(var(--foreground));background:hsl(var(--primary)/.08);border:1px solid hsl(var(--primary)/.3)}.onb-open-note strong{color:hsl(var(--primary))}.variant-pending{margin-bottom:16px;padding:14px 16px;border-radius:var(--radius-lg,12px);background:hsl(var(--primary)/.08);border:1.5px solid hsl(var(--primary)/.45)}.variant-pending-title{font-weight:700;font-size:15px;color:hsl(var(--primary));margin-bottom:4px}.variant-pending-text{margin:0 0 8px;font-size:13.5px;line-height:1.5;color:hsl(var(--foreground))}.variant-pending-actions,.variant-pending-names{display:flex;flex-wrap:wrap;gap:8px}.save-state,.variant-pending-names{margin-bottom:8px}.save-state{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;font-weight:600;border-radius:20px;padding:4px 12px}.save-state--ok{color:var(--success-text,#065f46);background:var(--success-soft,#d1fae5);border:1px solid var(--success,#10b981)}.save-state--todo{color:var(--warning-text,#b45309);background:var(--warning-soft,#fef3c7);border:1px solid var(--warning,#f59e0b)}.save-state--todo>span:first-child{font-size:8px}.save-state-hint{font-weight:400}.saved-icon{display:inline-flex;flex-shrink:0;color:var(--success,#10b981)}.saved-icon--pending{color:var(--warning,#f59e0b);font-size:10px}.lowc-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:hsl(var(--background)/.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.lowc-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;background:hsl(var(--card));border:1px solid hsl(var(--border)/.7);border-radius:var(--radius-xl);padding:26px 24px 20px;text-align:center;box-shadow:0 20px 50px -12px hsl(165 25% 12%/.3);animation:fadeInUp .3s ease-out}.lowc-close{position:absolute;top:10px;right:10px;display:inline-flex;padding:6px;border:0;border-radius:8px;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer}.lowc-close:hover{background:hsl(var(--secondary))}.lowc-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)))}.lowc-title{margin:0 0 8px;font-size:20px;font-weight:700;color:hsl(var(--foreground))}.lowc-text{margin:0 0 14px;font-size:14px;line-height:1.55;color:hsl(var(--muted-foreground))}.lowc-options{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}.lowc-option{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px solid hsl(var(--border))}.lowc-option--reco{border:1.5px solid hsl(var(--primary));background:hsl(var(--primary)/.06)}.lowc-option-name{font-weight:600;font-size:14px;color:hsl(var(--foreground))}.lowc-option-detail{font-size:12.5px;color:hsl(var(--muted-foreground))}.lowc-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.lowc-actions .btn{text-decoration:none}.lowc-note{margin:12px 0 0;font-size:12px;color:hsl(var(--muted-foreground))}.recipe-subtitle{display:block;width:-moz-fit-content;width:fit-content;font-size:13.5px;font-weight:600;letter-spacing:.01em;color:hsl(var(--primary));background:hsl(var(--primary)/.08);border:1px solid hsl(var(--primary)/.22);border-radius:999px;padding:3px 12px;margin:2px 0 8px}.recipe-subtitle--inline{display:inline-block;font-size:11.5px;padding:1px 8px;margin:0 0 0 4px;white-space:nowrap;flex-shrink:0}.home-tabs-wrap{display:flex;justify-content:center;margin-bottom:18px}.home-tabs{display:inline-flex;gap:4px;padding:5px;border-radius:var(--radius-pill);background:hsl(var(--muted));border:1px solid hsl(var(--border))}.home-tab{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:var(--radius-pill);padding:10px 20px;font:inherit;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .18s}.home-tab svg{width:17px;height:17px}.home-tab:hover{color:hsl(var(--foreground))}.home-tab.active{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:var(--shadow-md)}.home-tab-pro{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary-2)));border-radius:999px;padding:2px 7px}.gen-steps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px auto 0;max-width:640px}.gen-step{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:var(--radius-pill);border:1.5px dashed hsl(28 85% 55%);background:hsl(32 95% 96%);color:hsl(25 60% 30%);font:inherit;font-size:14px;cursor:pointer;transition:all .18s}.gen-step b{font-weight:700}.gen-step:hover{box-shadow:0 0 0 4px hsl(28 85% 55%/.15)}.gen-step-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:hsl(28 85% 55%);color:#fff;font-size:12px;font-weight:700}.gen-step-num svg{width:18px;height:18px}.gen-step-chev{width:15px;height:15px;opacity:.7;transition:transform .18s}.gen-step.open .gen-step-chev{transform:rotate(180deg)}.gen-step.done{border:1.5px solid hsl(var(--primary)/.45);background:hsl(var(--primary)/.07);color:hsl(var(--primary))}.gen-step.done .gen-step-num{background:hsl(var(--primary))}.gen-step.done:hover,.gen-step.open{box-shadow:0 0 0 4px hsl(var(--primary)/.12)}.gen-step.pulse{animation:gen-step-pulse .42s ease-in-out 3}@keyframes gen-step-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 hsl(28 85% 55%/0)}50%{transform:scale(1.06);box-shadow:0 0 0 7px hsl(28 85% 55%/.3)}}.gen-choice-panel{margin:12px auto 0;max-width:640px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;padding:12px;border-radius:18px;background:hsl(var(--background));border:1px solid hsl(var(--border));box-shadow:var(--shadow-md);animation:fadeIn .2s ease-out}.gen-choice-panel--type{grid-template-columns:repeat(2,minmax(0,1fr))}.gen-choice-tile{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .15s}.gen-choice-tile:hover{border-color:hsl(var(--primary)/.5);transform:translateY(-1px)}.gen-choice-tile.active{border-color:hsl(var(--primary));background:hsl(var(--primary)/.08);color:hsl(var(--primary));font-weight:600}.gen-choice-emoji{font-size:20px;line-height:1}.gen-choice-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:hsl(var(--primary)/.1);color:hsl(var(--primary))}.gen-choice-tile b{display:block;font-weight:700}.gen-choice-tile small{display:block;font-size:12px;font-weight:400;color:hsl(var(--muted-foreground));margin-top:2px}.gen-steps-hint{margin:12px 0 0;font-size:13px;font-weight:500;color:hsl(25 60% 38%);display:flex;align-items:center;justify-content:center;gap:6px}.gen-steps-hint b{padding:0 2px}.gen-steps-hint.ok{color:hsl(var(--primary))}.gen-steps-hint svg{width:16px;height:16px}.search-hero-bar-cta.locked{background:hsl(var(--muted-foreground)/.18);box-shadow:none}.search-hero-bar-cta.locked,.search-hero-bar-cta.locked:hover{color:hsl(var(--muted-foreground))}@media (max-width:640px){.home-tab{padding:9px 12px;font-size:13px}.gen-choice-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.gen-choice-panel--type{grid-template-columns:minmax(0,1fr)}}.gen-precisions{margin:18px auto 0;max-width:640px;text-align:left;padding:16px 18px 18px;border-radius:18px;background:hsl(var(--background));border:1px solid hsl(var(--border));animation:fadeIn .25s ease-out}.gen-precisions-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.gen-step-num--optional{background:hsl(var(--muted-foreground)/.55);margin-top:1px}.gen-precisions-title{font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gen-optional-badge{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:999px;padding:2px 8px}.gen-precisions-sub{margin:3px 0 0;font-size:13px;line-height:1.5;color:hsl(var(--muted-foreground))}.gen-precisions-chips{justify-content:flex-start;margin:0 0 10px;gap:6px}.gen-precisions-chips .quick-chip{font-size:12.5px;padding:6px 12px}.gen-precisions-cta{width:100%;padding:13px;font-size:15px;gap:8px;margin-top:12px;justify-content:center}.gen-error{margin:14px auto 0;max-width:640px;padding:10px 14px;border-radius:12px;font-size:14px;color:var(--error,#c00);background:var(--error-bg,#fff0f0);border:1px solid var(--error,#e00)}.prep-backdrop{position:fixed;inset:0;z-index:9500;background:rgba(15,20,18,.55);display:flex;justify-content:center}.prep-shell{--prep-timer:#C2410C;--prep-timer-soft:#FFF1E8;--prep-timer-text:#9A3412;--prep-cue-bg:#E4EEF8;--prep-cue-text:#1E3A5F;--prep-comp-bg:#F3E7C9;--prep-comp-text:#6B4E0E;position:relative;width:100%;max-width:560px;height:100%;display:flex;flex-direction:column;background:hsl(var(--background));color:hsl(var(--foreground));overflow:hidden;font-size:16px;-webkit-tap-highlight-color:transparent}.prep-shell button,.prep-shell input,.prep-shell select{font-family:inherit}.prep-head{padding:calc(16px + env(safe-area-inset-top, 0px)) 20px 14px;border-bottom:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:6px;flex-shrink:0}.prep-head--step{border-bottom:0;gap:12px;padding-left:16px;padding-right:16px}.prep-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.prep-eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.prep-eyebrow--alarm{color:var(--prep-timer-text)}.prep-title{margin:0;font-family:var(--font-lora),Georgia,serif;font-size:27px;line-height:1.15;font-weight:600}.prep-sub{margin:0;font-size:15px;color:hsl(var(--muted-foreground));line-height:1.45}.prep-icon-btn{width:48px;height:48px;border-radius:14px;border:1.5px solid hsl(var(--border));display:flex;align-items:center;justify-content:center}.prep-chip-btn,.prep-icon-btn{flex-shrink:0;background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer}.prep-chip-btn{min-height:40px;padding:0 12px;border-radius:12px;border:1.5px solid hsl(var(--border));font-size:14px;font-weight:700}.prep-progress{height:6px;border-radius:3px;background:hsl(var(--border));overflow:hidden;margin-top:6px}.prep-progress>div{height:100%;background:hsl(var(--primary));border-radius:3px;transition:width .2s}.prep-step-meta{flex:1 1;min-width:0;display:flex;flex-direction:column}.prep-step-meta strong{font-size:15px}.prep-step-meta span{font-size:13px;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prep-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-size:12px;font-weight:600;white-space:nowrap}.prep-segments{display:flex;gap:4px}.prep-segments span{flex:1 1;height:6px;border-radius:3px;background:hsl(var(--border))}.prep-segments span.is-done{background:hsl(var(--primary))}.prep-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px 20px;display:flex;flex-direction:column;gap:16px}.prep-body>*,.prep-foot{flex-shrink:0}.prep-foot{padding:12px 16px calc(16px + env(safe-area-inset-bottom, 0px));border-top:1px solid hsl(var(--border));background:hsl(var(--background))}.prep-foot--nav{display:grid;grid-template-columns:1fr 2fr;grid-gap:10px;gap:10px}.prep-cta{width:100%;min-height:64px;border:0;border-radius:18px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.prep-cta:disabled{background:hsl(var(--border));color:hsl(var(--muted-foreground));cursor:not-allowed}.prep-nav-prev{width:100%;min-height:64px;border-radius:18px;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font-size:17px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.prep-link{background:none;border:0;color:hsl(var(--muted-foreground));font-size:15px;text-decoration:underline;cursor:pointer;min-height:44px}.prep-seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;padding:5px;border-radius:16px;background:hsl(var(--border)/.7)}.prep-seg button{min-height:50px;border:0;border-radius:12px;background:transparent;color:hsl(var(--muted-foreground));font-size:16px;font-weight:700;cursor:pointer}.prep-seg button[aria-pressed=true]{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 4px rgba(0,0,0,.12)}.prep-field{display:flex;flex-direction:column;gap:10px}.prep-field label{font-size:15px;font-weight:600}.prep-big-input{display:flex;align-items:center;gap:8px;min-height:72px;padding:0 18px;border-radius:18px;border:2px solid hsl(var(--primary));background:hsl(var(--card))}.prep-big-input input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:hsl(var(--foreground));font-size:34px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prep-big-input span{font-size:22px;font-weight:600;color:hsl(var(--muted-foreground))}.prep-select{min-height:56px;padding:0 14px;border-radius:14px;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font-size:17px}.prep-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.prep-presets button{min-height:48px;border-radius:14px;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font-size:16px;font-weight:700;cursor:pointer}.prep-presets button[aria-pressed=true]{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.prep-hint{margin:0;font-size:13.5px;line-height:1.45;color:hsl(var(--muted-foreground))}.prep-result{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:hsl(var(--card));border:1.5px solid hsl(var(--border))}.prep-result-main{display:flex;align-items:baseline;justify-content:space-between;font-size:14px;font-weight:600;color:hsl(var(--muted-foreground))}.prep-result-main strong{font-size:26px;color:hsl(var(--foreground));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prep-result-row{display:flex;justify-content:space-between;gap:12px;font-size:16px;padding-top:10px;border-top:1px solid hsl(var(--border))}.prep-result-row strong{text-align:right}.prep-alert{padding:14px 16px;border-radius:14px;background:var(--prep-timer-soft);color:var(--prep-timer-text);font-size:15px;font-weight:600}.prep-group{display:flex;flex-direction:column;gap:6px}.prep-group-title{margin:10px 0 2px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--prep-comp-text)}.prep-check{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:10px 14px;border-radius:14px;border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));text-align:left;cursor:pointer}.prep-check.is-on{background:hsl(var(--accent));border-color:hsl(var(--primary)/.45)}.prep-check--flat{border:0;border-radius:0;border-top:1px solid hsl(var(--border))}.prep-check--flat:first-child{border-top:0}.prep-box{width:30px;height:30px;flex-shrink:0;border-radius:9px;border:2px solid hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;color:hsl(var(--primary-foreground))}.prep-check.is-on .prep-box{background:hsl(var(--primary));border-color:hsl(var(--primary))}.prep-row{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 16px;border-top:1px solid hsl(var(--border))}.prep-row:first-child{border-top:0}.prep-check-name{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.prep-check-label{font-size:17px;line-height:1.3}.prep-check.is-on .prep-check-label{text-decoration:line-through;opacity:.7}.prep-split{font-size:13px;line-height:1.35;font-weight:600;color:var(--prep-comp-text)}.prep-check-qty{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.prep-check-qty strong{font-size:19px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.prep-check-qty small{font-size:13px;font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap}.prep-check.is-on .prep-check-qty{opacity:.7}.prep-comp{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--prep-comp-bg);color:var(--prep-comp-text);font-size:14px;font-weight:700}.prep-step-text{margin:0;font-family:var(--font-lora),Georgia,serif;font-size:25px;line-height:1.38;font-weight:500}.prep-cue{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--prep-cue-bg);color:var(--prep-cue-text);font-size:18px;font-weight:700}.prep-ings{display:flex;flex-direction:column;border-radius:16px;border:1.5px solid hsl(var(--border));background:hsl(var(--card));overflow:hidden}.prep-timer-start{width:100%;min-height:68px;border-radius:18px;border:2px solid var(--prep-timer);background:var(--prep-timer-soft);color:var(--prep-timer-text);justify-content:center;padding:8px 14px;font-size:18px;cursor:pointer;text-align:center}.prep-timer-done,.prep-timer-start{display:flex;align-items:center;gap:10px;font-weight:700}.prep-timer-done{padding:16px;border-radius:18px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-size:17px}.prep-timer{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:var(--prep-timer);color:#fff;margin-top:6px}.prep-timer-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.prep-timer-main span{font-size:14px;font-weight:600;opacity:.92}.prep-timer-main strong{font-size:40px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prep-timer-pause{width:60px;height:60px;margin-right:8px;border-radius:18px;border:2px solid rgba(255,255,255,.65);color:#fff}.prep-timer-pause,.prep-x{background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}.prep-x{position:absolute;top:-14px;right:-14px;width:44px;height:44px;padding:0;border:0}.prep-x>span{width:30px;height:30px;border-radius:50%;background:hsl(var(--card));color:hsl(var(--foreground));border:1.5px solid hsl(var(--border));box-shadow:0 2px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center}.prep-x--small{top:-16px;right:-16px}.prep-x--small>span{width:26px;height:26px}.prep-tray{flex-shrink:0;display:flex;gap:14px;overflow-x:auto;padding:16px 22px 10px 16px}.prep-tray-item{position:relative;flex-shrink:0}.prep-tray-btn{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 22px 8px 14px;border-radius:14px;border:0;background:var(--prep-timer);color:#fff;cursor:pointer;text-align:left}.prep-tray-btn.is-paused{background:hsl(var(--border));color:hsl(var(--foreground))}.prep-tray-btn span{display:flex;flex-direction:column}.prep-tray-btn small{font-size:12px;font-weight:600;opacity:.9}.prep-tray-btn strong{font-size:17px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prep-end{gap:12px;padding:calc(32px + env(safe-area-inset-top, 0px)) 24px calc(20px + env(safe-area-inset-bottom, 0px))}.prep-end,.prep-end-main{flex:1 1;display:flex;flex-direction:column}.prep-end-main{gap:14px;text-align:center}.prep-end-icon,.prep-end-main{align-items:center;justify-content:center}.prep-end-icon{width:88px;height:88px;border-radius:28px;background:hsl(var(--accent));color:hsl(var(--accent-foreground));display:flex}.prep-toast{position:absolute;left:16px;right:16px;bottom:calc(100px + env(safe-area-inset-bottom, 0px));display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 6px 6px 16px;border-radius:16px;background:#1E1B16;color:#F7F2E8;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:2}.prep-toast span{flex:1 1;font-size:15px;line-height:1.35}.prep-toast button{flex-shrink:0;min-height:44px;padding:0 16px;border:0;border-radius:12px;background:#F7F2E8;color:#1E1B16;font-size:16px;font-weight:700;cursor:pointer}@keyframes prepPulse{0%{box-shadow:0 0 0 0 rgba(194,65,12,.55)}70%{box-shadow:0 0 0 22px rgba(194,65,12,0)}to{box-shadow:0 0 0 0 rgba(194,65,12,0)}}.prep-alarm-backdrop{position:absolute;inset:0;z-index:3;background:rgba(20,16,12,.72);display:flex;align-items:flex-end}.prep-alarm{width:100%;padding:28px 20px calc(24px + env(safe-area-inset-bottom, 0px));border-radius:28px 28px 0 0;background:hsl(var(--card));flex-direction:column;gap:12px;text-align:center}.prep-alarm,.prep-alarm-ring{display:flex;align-items:center}.prep-alarm-ring{width:84px;height:84px;border-radius:50%;background:var(--prep-timer);color:#fff;justify-content:center;animation:prepPulse 1.4s ease-out infinite}.prep-alarm-title{font-family:var(--font-lora),Georgia,serif;font-size:26px;font-weight:600}.prep-alarm-stop{width:100%;min-height:68px;margin-top:6px;border:0;border-radius:18px;background:var(--prep-timer);color:#fff;font-size:20px;font-weight:700;cursor:pointer}@media (prefers-reduced-motion:reduce){.prep-alarm-ring{animation:none}.prep-progress>div{transition:none}}@media (min-width:600px){.prep-shell{height:calc(100% - 40px);margin-top:20px;border-radius:24px}}