@font-face{font-family:Playfair Display;src:url(/assets/PlayfairDisplay-Cl-XvBsO.ttf) format("truetype-variations");font-weight:400 900;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/assets/PlayfairDisplay-Italic-1BGmD3Ln.ttf) format("truetype-variations");font-weight:400 900;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/assets/CormorantGaramond-Regular-BtKDB5pG.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/assets/CormorantGaramond-Italic-DjzfL7CZ.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/assets/CormorantGaramond-MediumItalic-BDuhekM-.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:DM Mono;src:url(/assets/DMMono-Regular-CHcedrof.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/assets/DMMono-Italic-DLMvJ-WU.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Mono;src:url(/assets/DMMono-Medium-BtO9kMc2.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}:root{--cream-bg: #F2EAD8;--cream-card: #F7F2E6;--cream-soft: #F5E6C8;--cream-deep: #2A1E0E;--amber: #BF7F1E;--amber-light: #D4A940;--amber-pale: #E6D7B5;--amber-hairline: #DDCCAA;--amber-wash: rgba(191, 127, 30, .15);--ink: #1A0E08;--ink-muted: #7A6A50;--ink-line: #1A0E08;--sage: #4A6B4C;--rust: #8B2E10;--dk-bg: #120E08;--dk-card: #1E1610;--dk-surface: #2A1E14;--dk-text: #F2EAD8;--dk-text-muted: #C8B89A;--dk-hairline: rgba(221, 204, 170, .25);--dk-pale: rgba(230, 215, 181, .18);--overlay-cream: rgba(242, 234, 216, .92);--focus-ring: #BF7F1E;--font-display: "Playfair Display", "Times New Roman", serif;--font-italic: "Playfair Display", "Times New Roman", serif;--font-mono: "DM Mono", "Courier New", monospace;--font-ui: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;--font-ui-alt: "Libre Baskerville", Georgia, serif;--type-display-xxl-size: 96px;--type-display-xl-size: 64px;--type-display-l-size: 44px;--type-display-m-size: 32px;--type-h1-size: 28px;--type-h2-size: 22px;--type-h3-size: 18px;--type-body-size: 15px;--type-mono-size: 13px;--type-mono-sm-size: 11px;--type-label-size: 10px;--type-tracking-tight: -.01em;--type-tracking-normal: 0;--type-tracking-label: .2em;--type-tracking-mono: .05em;--type-leading-tight: 1.15;--type-leading-snug: 1.35;--type-leading-body: 1.6;--type-leading-loose: 1.75;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 4px;--radius-pill: 999px;--rule-1: 1px solid var(--amber-hairline);--rule-soft: 1px solid var(--amber-pale);--rule-strong: 1px solid var(--amber-light);--rule-ink: 1px solid var(--ink);--shadow-none: none;--shadow-card: 0 1px 2px rgba(26, 14, 8, .04), 0 4px 12px rgba(26, 14, 8, .04);--shadow-floating: 0 8px 28px rgba(26, 14, 8, .08);--shadow-amber: 0 2px 8px rgba(191, 127, 30, .18);--ease-page: cubic-bezier(.22, .61, .36, 1);--ease-page-turn: cubic-bezier(.34, 1.32, .64, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-quick: .12s;--dur-base: .2s;--dur-slide: .3s;--dur-card: .35s;--dur-onboarding: .45s}.insolite-surface{font-family:var(--font-ui);color:var(--ink);background-color:var(--cream-bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10 0 0 0 0 0.06 0 0 0 0 0.03 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-blend-mode:multiply;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.t-display{font-family:var(--font-display);font-weight:700;font-size:var(--type-display-l-size);line-height:var(--type-leading-tight);letter-spacing:var(--type-tracking-tight);color:var(--ink)}.t-numeral{font-family:var(--font-display);font-weight:400;font-size:120px;line-height:1;color:var(--amber-wash);letter-spacing:-.04em}.t-h1{font-family:var(--font-display);font-weight:700;font-size:var(--type-h1-size);line-height:var(--type-leading-tight);color:var(--ink)}.t-h2{font-family:var(--font-display);font-weight:600;font-size:var(--type-h2-size);line-height:var(--type-leading-snug);color:var(--ink)}.t-h3{font-family:var(--font-display);font-weight:500;font-size:var(--type-h3-size);line-height:var(--type-leading-snug);color:var(--ink)}.t-tagline{font-family:var(--font-italic);font-style:italic;font-weight:400;font-size:14px;line-height:var(--type-leading-snug);color:var(--ink-muted)}.t-narration{font-family:var(--font-italic);font-style:italic;font-weight:400;font-size:13px;line-height:var(--type-leading-loose);color:var(--ink-muted);border-left:1px solid var(--amber-light);padding-left:var(--space-3)}.t-body{font-family:var(--font-ui);font-weight:400;font-size:var(--type-body-size);line-height:var(--type-leading-body);color:var(--ink)}.t-mono{font-family:var(--font-mono);font-weight:400;font-size:var(--type-mono-size);line-height:var(--type-leading-snug);color:var(--ink);letter-spacing:var(--type-tracking-mono)}.t-mono-italic{font-family:var(--font-mono);font-style:italic;font-weight:400;font-size:var(--type-mono-size);color:var(--ink-muted)}.t-label{font-family:var(--font-mono);font-weight:500;font-size:var(--type-label-size);letter-spacing:var(--type-tracking-label);text-transform:uppercase;color:var(--sage)}.t-meta{font-family:var(--font-mono);font-weight:400;font-size:var(--type-mono-sm-size);color:var(--ink-muted);letter-spacing:var(--type-tracking-mono)}.btn-primary{font-family:var(--font-italic);font-style:italic;font-size:16px;background:var(--amber);color:var(--cream-bg);border:none;border-radius:var(--radius-sm);padding:14px 28px;cursor:pointer;transition:transform var(--dur-base) var(--ease-page),box-shadow var(--dur-base) var(--ease-page)}.btn-primary:hover{box-shadow:var(--shadow-amber)}.btn-primary:active{transform:scale(.97)}.btn-ghost{font-family:var(--font-italic);font-style:italic;font-size:15px;background:transparent;color:var(--amber);border:1px solid var(--amber);border-radius:var(--radius-sm);padding:12px 24px;cursor:pointer;transition:background var(--dur-base) var(--ease-page)}.btn-ghost:hover{background:#bf7f1e0f}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--cream-soft);color:var(--ink);font-family:var(--font-mono);font-size:12px;padding:6px 12px;border-radius:var(--radius-pill)}.chip--active{background:var(--amber);color:var(--cream-bg)}.input{background:#fbf7ec;border:1px solid var(--amber-hairline);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:14px;color:var(--ink);padding:12px 14px}.input:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.rule{border:0;border-top:var(--rule-1);margin:var(--space-6) 0}.rule--soft{border:0;border-top:var(--rule-soft);margin:var(--space-4) 0}.rule--gold{border:0;border-top:var(--rule-strong);margin:var(--space-6) 0}[data-theme=dark]{--cream-bg: var(--dk-bg);--cream-card: var(--dk-card);--cream-soft: var(--dk-surface);--ink: var(--dk-text);--ink-muted: var(--dk-text-muted);--amber-hairline: var(--dk-hairline);--amber-pale: var(--dk-pale);--overlay-cream: rgba(18, 14, 8, .92);color-scheme:dark}[data-theme=dark]{--sage: #7B9C7D;--rust: #D17A55}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{font-family:var(--font-ui);color:var(--ink);background-color:var(--cream-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--app-max-width: 1240px;--amber-mark: rgba(191, 127, 30, .55);--on-accent: #F2EAD8}.insolite-app{min-height:100vh;display:flex;flex-direction:column}.insolite-tabs{position:relative;display:flex;align-items:end;gap:var(--space-7);padding:var(--space-5) max(var(--space-7),calc((100vw - var(--app-max-width)) / 2)) 0;background-color:var(--cream-bg);border-bottom:1px solid var(--amber-pale)}.insolite-tabs:before{content:"";flex:1}.insolite-wordmark{order:-1;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:var(--type-tracking-tight);color:var(--ink);padding-bottom:var(--space-3);margin-right:var(--space-5);white-space:nowrap}.insolite-tab{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);background:transparent;border:none;padding:var(--space-3) var(--space-2);margin-bottom:-1px;cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out),border-color var(--dur-quick) var(--ease-in-out);border-bottom:2px solid transparent}@media(hover:hover){.insolite-tab:not(.insolite-tab--active):hover{color:var(--ink)}}.insolite-tab--active{color:var(--amber);border-bottom-color:var(--amber)}.insolite-lang-switch{flex:1;display:inline-flex;align-items:baseline;justify-content:flex-end;padding-bottom:var(--space-3)}.insolite-lang-switch__chip{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--type-tracking-mono);color:var(--ink-muted);background:transparent;border:none;padding:0 var(--space-2);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out)}.insolite-lang-switch__chip:hover{color:var(--ink)}.insolite-lang-switch__chip--active{color:var(--amber)}.insolite-lang-switch__chip+.insolite-lang-switch__chip{border-left:1px solid var(--amber-hairline)}.insolite-units-switch{display:inline-flex;align-items:baseline;padding-bottom:var(--space-3);margin-left:var(--space-4)}.insolite-units-switch__chip{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--type-tracking-mono);color:var(--ink-muted);background:transparent;border:none;padding:0 var(--space-2);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out)}.insolite-units-switch__chip:hover{color:var(--ink)}.insolite-units-switch__chip--active{color:var(--amber)}.insolite-units-switch__chip+.insolite-units-switch__chip{border-left:1px solid var(--amber-hairline)}.insolite-theme-switch{display:inline-flex;align-items:baseline;padding-bottom:var(--space-3);margin-left:var(--space-4)}.insolite-theme-switch__chip{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--type-tracking-mono);color:var(--ink-muted);background:transparent;border:none;padding:0 var(--space-2);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out)}.insolite-theme-switch__chip:hover{color:var(--ink)}.insolite-theme-switch__chip--active{color:var(--amber)}.insolite-theme-switch__chip+.insolite-theme-switch__chip{border-left:1px solid var(--amber-hairline)}.recipe-detail{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--space-7) var(--space-7) var(--space-12);position:relative}.recipe-detail__status,.recipe-detail__error{text-align:center;font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:var(--space-9) auto}.recipe-detail__error{color:var(--rust)}.recipe-detail__article{position:relative}.recipe-detail__badges{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.recipe-detail__header{margin-bottom:var(--space-7);position:relative}.recipe-detail__header>.recipe-detail__sigil{position:absolute;right:var(--space-3);top:var(--space-3);width:140px;height:140px;overflow:hidden;color:var(--amber-mark);pointer-events:none;user-select:none;z-index:0}.recipe-detail__header>*:not(.recipe-detail__sigil){position:relative;z-index:1}.recipe-detail__category{color:var(--sage);margin-bottom:var(--space-3)}.recipe-detail__name{font-size:var(--type-display-l-size);letter-spacing:var(--type-tracking-tight);margin:0 0 var(--space-3)}.recipe-detail__tagline{font-family:var(--font-italic);font-style:italic;font-size:18px;color:var(--ink-muted);margin:0}.recipe-detail__narration{font-family:var(--font-italic);font-style:italic;font-size:17px;color:var(--ink);line-height:var(--type-leading-body);border-left:1px solid var(--amber-light);padding-left:var(--space-4);margin:var(--space-7) 0}.recipe-detail__section-title{color:var(--ink-muted);margin-bottom:var(--space-3)}.recipe-detail__ingredients ul{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:13px;line-height:2}.recipe-detail__method p{font-family:var(--font-italic);font-style:italic;font-size:14px;color:var(--ink-muted);line-height:var(--type-leading-body);margin:0}.recipe-detail__ingredients,.recipe-detail__utensils,.recipe-detail__method{margin-bottom:var(--space-7)}.recipe-detail__utensils-list{list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.recipe-detail__utensil{display:flex;align-items:baseline;gap:var(--space-3)}.recipe-detail__utensil-name{flex:1 1 auto;min-width:0}.recipe-detail__utensil-name:first-letter{text-transform:uppercase}.recipe-detail__utensil--glass{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--amber-hairline)}.recipe-detail__utensil--glass .recipe-detail__utensil-name:first-letter{text-transform:none}.recipe-detail__ingredients-edit{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__ingredients-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__ingredient-row{display:flex;gap:var(--space-3);align-items:center}.recipe-detail__ingredient-name-input{flex:2}.recipe-detail__ingredient-qty-input{flex:1;min-width:80px}.recipe-detail__ingredient-remove{background:transparent;border:1px solid var(--amber-hairline);color:var(--ink-muted);font-size:16px;line-height:1;width:28px;height:28px;border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out),border-color var(--dur-quick) var(--ease-in-out)}.recipe-detail__ingredient-remove:hover:not(:disabled){color:var(--rust);border-color:var(--rust)}.recipe-detail__ingredient-add{align-self:flex-start;font-size:14px}.recipe-detail__original-banner{font-family:var(--font-mono);font-style:italic;font-size:12px;letter-spacing:.16em;color:var(--amber);background-color:var(--amber-wash);border:1px dashed var(--amber-light);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);text-align:center;text-transform:uppercase}.recipe-detail__method-edit{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__method-textarea{font-family:var(--font-italic);font-style:italic;font-size:14px;color:var(--ink-muted);line-height:var(--type-leading-body);background-color:transparent;border:none;border-bottom:1px solid var(--amber-pale);resize:vertical;padding:var(--space-2);outline:none;width:100%}.recipe-detail__method-textarea:focus{border-bottom-color:var(--amber)}.recipe-detail__edit-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.recipe-detail__method-audio{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.recipe-detail__audio-button[aria-pressed=true]{background-color:var(--amber);color:var(--on-accent)}.recipe-detail__audio-button:disabled{opacity:.6;cursor:progress}.recipe-detail__footer{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--amber-pale);display:flex;justify-content:flex-end}.recipe-detail__note{margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--amber-pale)}.recipe-detail__note-body{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.recipe-detail__note-content{font-family:var(--font-mono);font-style:italic;font-size:13px;color:var(--ink-muted);background-color:var(--cream-soft);border-left:1px solid var(--amber-light);padding:var(--space-3) var(--space-4);margin:0;width:100%;white-space:pre-wrap;line-height:var(--type-leading-body)}.recipe-detail__note-edit{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__note-textarea{font-family:var(--font-mono);font-style:italic;font-size:13px;color:var(--ink-muted);background-color:var(--cream-soft);border:1px solid var(--amber-hairline);padding:var(--space-3);resize:vertical;outline:none;width:100%}.recipe-detail__note-textarea:focus{border-color:var(--amber)}.recipe-detail__note-textarea::placeholder{font-style:italic;color:var(--ink-muted);opacity:.6}.recipe-card__name-button{background:transparent;border:none;padding:0;margin:0;text-align:left;cursor:pointer;color:inherit;font:inherit;flex:1}.recipe-card__name-button:hover .recipe-card__name{color:var(--amber);transition:color var(--dur-quick) var(--ease-in-out)}.recipe-detail__playlist{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--amber-hairline)}.recipe-detail__playlist-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.recipe-detail__playlist-prompt{font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:0}.recipe-detail__playlist-body{display:flex;flex-direction:column;gap:var(--space-3)}.recipe-detail__playlist-name{font-family:var(--font-display);font-weight:700;font-size:var(--type-h2-size);color:var(--ink);margin:0;letter-spacing:var(--type-tracking-tight)}.recipe-detail__playlist-mood{font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:0}.recipe-detail__playlist-tracks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-detail__playlist-track{font-family:var(--font-mono);font-size:14px;color:var(--ink);display:flex;gap:var(--space-2);align-items:baseline;flex-wrap:wrap}.recipe-detail__playlist-track-title{color:var(--ink)}.recipe-detail__playlist-track-sep{color:var(--amber-light)}.recipe-detail__playlist-track-artist{color:var(--ink-muted);font-style:italic;font-family:var(--font-italic)}.recipe-detail__playlist-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.ingredient-sheet-backdrop{position:fixed;inset:0;background-color:var(--overlay-cream);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:insolite-fade-in var(--dur-base) var(--ease-in-out)}.ingredient-sheet{position:relative;width:100%;max-width:520px;background-color:var(--cream-card);border-top:1px solid var(--amber-light);padding:var(--space-7) var(--space-6) var(--space-9);animation:insolite-slide-up var(--dur-slide) var(--ease-page);max-height:85vh;overflow-y:auto}.ingredient-sheet__header{margin-bottom:var(--space-6)}.ingredient-sheet__name{font-size:var(--type-display-m-size);margin:0 0 var(--space-2);letter-spacing:var(--type-tracking-tight)}.ingredient-sheet__subtitle{font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:0}.ingredient-sheet__actions{display:flex;flex-direction:column;gap:var(--space-3)}.ingredient-sheet__action{font-family:var(--font-italic);font-style:italic;font-size:var(--type-h3-size);padding:var(--space-3) var(--space-5);text-align:left}.ingredient-sheet__status,.ingredient-sheet__error{font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:var(--space-5) 0}.ingredient-sheet__error{color:var(--rust)}.ingredient-sheet__card{display:flex;flex-direction:column;gap:var(--space-4)}.ingredient-sheet__description{font-size:15px;line-height:var(--type-leading-body);margin:0}.ingredient-sheet__profile,.ingredient-sheet__substitutes{font-size:12px;color:var(--ink-muted);margin:0}.ingredient-sheet__origin,.ingredient-sheet__usage{font-size:14px;color:var(--ink);margin:0}.ingredient-sheet__field-label,.ingredient-sheet__profile-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--ink-muted);text-transform:uppercase;margin-right:var(--space-1)}.ingredient-sheet__post-actions{display:flex;gap:var(--space-3);margin-top:var(--space-3);justify-content:flex-end}.ingredient-sheet__close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;font-size:18px;background:transparent;border:1px solid var(--amber-hairline);border-radius:var(--radius-pill);color:var(--ink-muted);cursor:pointer}.ingredient-sheet__close:hover{color:var(--ink);border-color:var(--amber)}.share-dialog__backdrop{position:fixed;inset:0;background-color:#1a0e0899;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:insolite-fade-in var(--dur-base) var(--ease-in-out)}.share-dialog{position:relative;background-color:var(--cream-bg);border:1px solid var(--amber-hairline);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--space-5) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);animation:insolite-slide-up var(--dur-slide) var(--ease-page)}.share-dialog__header{display:flex;align-items:center;justify-content:space-between}.share-dialog__close{width:32px;height:32px;font-size:22px;background:transparent;border:1px solid var(--amber-hairline);border-radius:var(--radius-pill);color:var(--ink-muted);cursor:pointer;line-height:1}.share-dialog__close:hover{color:var(--ink);border-color:var(--amber)}.share-dialog__preview{display:flex;justify-content:center;background-color:var(--ink);padding:var(--space-3)}.share-dialog__preview svg{width:100%;height:auto;max-width:360px;display:block;box-shadow:0 12px 28px #0003}.share-dialog__actions{display:flex;flex-direction:column;gap:var(--space-2)}.share-dialog__error{font-family:var(--font-italic);font-style:italic;color:var(--rust);margin:0}.recipe-detail__discovery-trigger{background:transparent;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;text-align:inherit}.recipe-detail__discovery-trigger:hover{color:var(--amber);transition:color var(--dur-quick) var(--ease-in-out)}@keyframes insolite-fade-in{0%{opacity:0}to{opacity:1}}@keyframes insolite-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.loading-animation{display:inline-flex;justify-content:center;align-items:center;color:var(--amber);animation:insolite-fade-in var(--dur-base) var(--ease-page)}.loading-animation__svg{width:48px;height:48px}.loading-animation__gesture{transform-box:view-box}.loading-animation--shaker .loading-animation__gesture{transform-origin:12px 21px;animation:insolite-shaker-rock 1.6s var(--ease-page) infinite}.loading-animation--bar-spoon .loading-animation__gesture{transform-origin:11.5px 11px;animation:insolite-bar-spoon-turn 2.2s var(--ease-page) infinite}.loading-animation--jigger .loading-animation__gesture{transform-origin:12px 4px;animation:insolite-jigger-tilt 1.8s var(--ease-page) infinite}.loading-animation--muddler .loading-animation__gesture{transform-origin:12px 12px;animation:insolite-muddler-bob 1.4s var(--ease-page) infinite}.loading-animation--ice-cube .loading-animation__gesture{transform-origin:10.5px 11px;animation:insolite-ice-cube-turn 3s var(--ease-page) infinite}.loading-animation--bottle .loading-animation__gesture{transform-origin:12px 11px;animation:insolite-bottle-pour 2s var(--ease-page) infinite}.loading-animation--bitters .loading-animation__gesture{transform-origin:12px 12px;animation:insolite-bitters-still 1.5s var(--ease-page) infinite}.loading-animation--bitters .loading-animation__drop{transform-box:view-box;transform-origin:center}.loading-animation--bitters .loading-animation__drop--lead{animation:insolite-bitters-drop 1.5s var(--ease-page) infinite}.loading-animation--bitters .loading-animation__drop--trail{animation:insolite-bitters-drop 1.5s var(--ease-page) infinite .4s}.loading-animation--citrus-wheel .loading-animation__gesture{transform-origin:12px 12px;animation:insolite-citrus-wheel-turn 3.5s linear infinite}.loading-animation--garnish-cherry .loading-animation__gesture{transform-origin:12px 12px;animation:insolite-cherry-bob 1.4s var(--ease-page) infinite}.loading-animation--garnish-twist .loading-animation__gesture{transform-origin:13px 14px;animation:insolite-twist-uncurl 2.2s var(--ease-page) infinite}.loading-animation--strainer-fine .loading-animation__gesture{transform-origin:12px 12px;animation:insolite-strainer-shake 1.1s var(--ease-in-out) infinite}.loading-animation--flame .loading-animation__gesture{transform-origin:12px 21px;animation:insolite-flame-flicker 1s var(--ease-in-out) infinite}.loading-animation--citrus-press .loading-animation__gesture{transform-origin:12px 16.5px;animation:insolite-citrus-press-twist 1.8s var(--ease-page) infinite}@keyframes insolite-shaker-rock{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes insolite-bar-spoon-turn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes insolite-jigger-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}@keyframes insolite-muddler-bob{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes insolite-ice-cube-turn{0%{transform:rotate(-6deg)}to{transform:rotate(354deg)}}@keyframes insolite-bottle-pour{0%,to{transform:rotate(0)}35%{transform:rotate(-135deg)}55%{transform:rotate(-135deg)}}@keyframes insolite-bitters-still{0%,to{transform:rotate(0)}}@keyframes insolite-bitters-drop{0%,60%{transform:translateY(0);opacity:1}80%{transform:translateY(8px);opacity:.4}to{transform:translateY(8px);opacity:0}}@keyframes insolite-citrus-wheel-turn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes insolite-cherry-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes insolite-twist-uncurl{0%,to{transform:rotate(0)}50%{transform:rotate(-30deg)}}@keyframes insolite-strainer-shake{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}@keyframes insolite-flame-flicker{0%,to{transform:scaleY(1) rotate(0)}35%{transform:scaleY(1.08) rotate(-3deg)}70%{transform:scaleY(.92) rotate(3deg)}}@keyframes insolite-citrus-press-twist{0%,to{transform:rotate(0)}30%{transform:rotate(-18deg)}60%{transform:rotate(18deg)}}@media(prefers-reduced-motion:reduce){.loading-animation,.loading-animation__gesture,.loading-animation__drop{animation:none}}.recipes-grid__item{animation:insolite-fade-in var(--dur-base) var(--ease-page) both}@media(prefers-reduced-motion:reduce){.recipes-grid__item{animation:none}}.wishlist{flex:1;width:100%;max-width:var(--app-max-width);margin:0 auto;padding:var(--space-9) var(--space-7) var(--space-12)}.wishlist__header{text-align:center;margin-bottom:var(--space-7)}.wishlist__eyebrow{color:var(--ink-muted);margin-bottom:var(--space-3)}.wishlist__title{font-size:var(--type-display-l-size);margin:0 0 var(--space-3);letter-spacing:var(--type-tracking-tight)}.wishlist__tagline{font-family:var(--font-italic);font-style:italic;font-size:var(--type-h3-size);color:var(--ink-muted);margin:0}.wishlist__add{display:flex;gap:var(--space-3);margin-bottom:var(--space-7);max-width:520px;margin-left:auto;margin-right:auto}.wishlist__input{flex:1}.wishlist__add-button{white-space:nowrap}.wishlist__status,.wishlist__empty,.wishlist__error{text-align:center;font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:var(--space-9) auto;max-width:520px}.wishlist__error{color:var(--rust)}.wishlist__section+.wishlist__section{margin-top:var(--space-7)}.wishlist__section-title{color:var(--ink-muted);margin:0 0 var(--space-3)}.wishlist__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.wishlist__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:var(--radius-xs);transition:opacity var(--dur-quick) var(--ease-in-out)}.wishlist__item--purchased{opacity:.55}.wishlist__item--purchased .wishlist__item-name{text-decoration:line-through;color:var(--ink-muted)}.wishlist__check{width:28px;height:28px;font-size:16px;background:transparent;border:1px solid var(--amber-hairline);border-radius:var(--radius-pill);color:var(--amber);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-in-out)}.wishlist__check[aria-pressed=true]{background-color:var(--amber);color:var(--on-accent);border-color:var(--amber)}.wishlist__item-body{flex:1;display:flex;flex-direction:column;gap:2px}.wishlist__item-name{font-size:14px}.wishlist__item-context{font-family:var(--font-italic);font-style:italic;font-size:12px;color:var(--ink-muted)}.wishlist__remove{width:28px;height:28px;font-size:16px;background:transparent;border:1px solid var(--amber-hairline);border-radius:var(--radius-pill);color:var(--ink-muted);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out),border-color var(--dur-quick) var(--ease-in-out)}.wishlist__remove:hover{color:var(--rust);border-color:var(--rust)}.history{flex:1;max-width:var(--app-max-width);margin:0 auto;padding:var(--space-9) var(--space-7) var(--space-12);width:100%}.history__header{text-align:center;margin-bottom:var(--space-9)}.history__eyebrow{color:var(--ink-muted);margin-bottom:var(--space-3)}.history__title{font-size:var(--type-display-l-size);margin:0 0 var(--space-3);letter-spacing:var(--type-tracking-tight)}.history__tagline{font-family:var(--font-italic);font-style:italic;font-size:var(--type-h3-size);color:var(--ink-muted);margin:0}.history__status,.history__empty{text-align:center;font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);max-width:520px;margin:var(--space-9) auto}.history__error{text-align:center;font-family:var(--font-italic);font-style:italic;color:var(--rust);margin:var(--space-9) auto}.history__search{max-width:520px;margin:0 auto var(--space-7)}.history__search-input{width:100%}.history__search-count{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--type-tracking-mono);color:var(--ink-muted);margin:var(--space-2) 0 0;text-align:right}.composer{flex:1;width:100%;max-width:var(--app-max-width);margin:0 auto;padding:calc(clamp(24px,6svh,48px) * var(--composer-gap-scale, 1)) var(--space-7) calc(clamp(40px,12svh,96px) * var(--composer-gap-scale, 1))}.composer__header{text-align:center;margin-bottom:calc(clamp(24px,6svh,48px) * var(--composer-gap-scale, 1))}.composer__eyebrow{color:var(--ink-muted);margin-bottom:var(--space-3)}.composer__title{font-size:var(--type-display-l-size);margin:0 0 var(--space-3);line-height:var(--type-leading-tight);letter-spacing:var(--type-tracking-tight)}.composer__tagline{font-family:var(--font-italic);font-style:italic;font-size:var(--type-h3-size);color:var(--ink-muted);margin:0}.composer__input{max-width:640px;margin:0 auto calc(clamp(24px,6svh,48px) * var(--composer-gap-scale, 1));display:flex;flex-direction:column;gap:calc(clamp(12px,2.5svh,20px) * var(--composer-gap-scale, 1))}.composer__context{display:flex;flex-direction:column;gap:calc(clamp(10px,2svh,16px) * var(--composer-gap-scale, 1))}.composer__avoid{width:100%}.composer__generate{align-self:center;min-width:240px}.composer__error{align-self:center;font-family:var(--font-italic);font-style:italic;color:var(--rust);margin:0}.composer__ignored{align-self:center;max-width:640px;text-align:center;font-family:var(--font-italic);font-style:italic;color:var(--ink-muted);margin:var(--space-5) 0 0}.composer__ignored em{font-style:italic;color:var(--ink)}.composer__recipes{margin-top:var(--space-9)}.btn-primary{font-family:var(--font-italic);font-style:italic;font-size:17px;background-color:var(--amber);color:var(--on-accent);border:none;padding:var(--space-3) var(--space-7);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-in-out),opacity var(--dur-quick) var(--ease-in-out)}.btn-primary:hover:not(:disabled){background-color:#a96d18}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{font-family:var(--font-italic);font-style:italic;font-size:14px;background:transparent;color:var(--ink);border:1px solid var(--amber-hairline);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer}.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}.generate-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.generate-action__button{min-width:240px}.generate-action__settings{margin:0;display:inline-flex;align-items:baseline;gap:0;font-family:var(--font-italic);font-style:italic;font-size:14px;color:var(--ink-muted)}.generate-action__field{position:relative;display:inline-block}.generate-action__chip{font-family:inherit;font-style:inherit;font-size:inherit;color:var(--ink-muted);background-color:transparent;border:none;border-bottom:1px dotted var(--amber-hairline);padding:0 2px;cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out),border-color var(--dur-quick) var(--ease-in-out)}.generate-action__chip:hover,.generate-action__chip[aria-expanded=true]{color:var(--ink);border-bottom-color:var(--amber)}.generate-action__chip--count{font-family:var(--font-mono);font-style:normal}.generate-action__sep{padding:0 var(--space-2);color:var(--ink-muted)}.generate-action__menu{position:absolute;top:calc(100% + var(--space-2));left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;min-width:140px;border:1px solid var(--amber-hairline);border-radius:var(--radius-sm);background-color:var(--cream-card);box-shadow:0 4px 12px #1a0e0814;overflow:hidden}.generate-action__menu--count{min-width:80px}.generate-action__menu-item{font-family:var(--font-italic);font-style:italic;font-size:14px;color:var(--ink-muted);background-color:transparent;border:none;border-bottom:1px solid var(--amber-hairline);padding:var(--space-2) var(--space-4);cursor:pointer;text-align:left;transition:background-color var(--dur-quick) var(--ease-in-out),color var(--dur-quick) var(--ease-in-out)}.generate-action__menu-item:last-child{border-bottom:none}.generate-action__menu--count .generate-action__menu-item{font-family:var(--font-mono);font-style:normal;text-align:center}.generate-action__menu-item:hover:not(.generate-action__menu-item--active){color:var(--ink);background-color:var(--cream-soft)}.generate-action__menu-item--active{background-color:var(--amber);color:var(--on-accent)}.aromatic-direction{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);border-bottom:var(--rule-1);padding:var(--space-3) 44px var(--space-3) var(--space-1);transition:border-color var(--dur-quick) var(--ease-in-out)}.aromatic-direction:focus-within{border-bottom-color:var(--amber)}.aromatic-direction__selected{list-style:none;margin:0;padding:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.aromatic-direction .aromatic-direction__field{flex:1 1 12ch;min-width:12ch;width:auto;border-bottom:none;padding:0}.aromatic-direction__browse-button{position:absolute;right:0;top:var(--space-2)}.suggestion-panel{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:5;background-color:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:0 8px 24px #1a0e0814;max-height:200px;overflow-y:auto}.suggestion-panel--ingredients{max-height:320px}.suggestion-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.suggestion-panel__option{display:block;width:100%;text-align:left;font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);color:var(--ink);background-color:transparent;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-in-out),color var(--dur-quick) var(--ease-in-out)}.suggestion-panel__option:hover,.suggestion-panel__option:focus-visible,.suggestion-panel__option--active{background-color:var(--cream-soft);color:var(--amber);outline:none}.provider-selector{border:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.provider-selector__legend{color:var(--ink-muted)}.provider-selector__select{font-family:var(--font-mono);font-size:var(--type-mono-size);color:var(--ink);background-color:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.ingredient-bar{display:flex;flex-direction:column;gap:var(--space-3)}.ingredient-bar__selected{list-style:none;margin:0;padding:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.ingredient-token,.aromatic-token{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono)}.ingredient-token{color:var(--rust)}.aromatic-token{color:var(--ink)}.ingredient-token--unused{color:var(--ink-muted)}.ingredient-token--unused .ingredient-token__name{text-decoration:line-through}.ingredient-token__remove,.aromatic-token__remove{background:transparent;border:none;color:var(--ink-muted);font-size:15px;line-height:1;cursor:pointer;padding:0;transition:color var(--dur-quick) var(--ease-in-out)}.ingredient-token__remove:hover,.aromatic-token__remove:hover{color:var(--rust)}.ingredient-bar__input{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);border-bottom:var(--rule-1);padding:var(--space-3) 76px var(--space-3) var(--space-1);transition:border-color var(--dur-quick) var(--ease-in-out)}.ingredient-bar__input:focus-within{border-bottom-color:var(--amber)}.ingredient-bar__input .ingredient-bar__field{flex:1 1 12ch;min-width:12ch;width:auto;border-bottom:none;padding:0}.ingredient-bar__actions{position:absolute;right:0;top:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.ingredient-bar__browse-button,.ingredient-bar__photo-button,.aromatic-direction__browse-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;padding:0;color:var(--ink-muted);cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out)}.ingredient-bar__browse-button:hover,.ingredient-bar__browse-button:focus-visible,.ingredient-bar__photo-button:hover,.ingredient-bar__photo-button:focus-visible,.aromatic-direction__browse-button:hover,.aromatic-direction__browse-button:focus-visible{color:var(--amber);outline:none}.ingredient-bar__browse-button[aria-expanded=true],.aromatic-direction__browse-button[aria-expanded=true]{color:var(--amber)}.ingredient-bar__photo-button[aria-busy=true]{color:var(--amber);animation:pulse 1.2s ease-in-out infinite}.ingredient-bar__photo-button[disabled]{cursor:default}.ingredient-bar__photo-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ingredient-bar__photo-error{flex:1 0 100%;margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--type-label-size);color:var(--rust);letter-spacing:.04em}.ingredient-bar__photo-busy{flex:1 0 100%;margin:var(--space-1) 0 0;font-family:var(--font-mono);font-size:var(--type-label-size);color:var(--ink-muted);letter-spacing:.04em}@supports ((-webkit-background-clip: text) or (background-clip: text)){.ingredient-bar__photo-busy{background-image:linear-gradient(100deg,var(--ink-muted) 0%,var(--ink-muted) 40%,var(--amber) 50%,var(--ink-muted) 60%,var(--ink-muted) 100%);background-size:220% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;animation:photo-scan 1.8s var(--ease-in-out, ease-in-out) infinite}}@keyframes photo-scan{0%{background-position:130% 0}to{background-position:-30% 0}}@media(prefers-reduced-motion:reduce){.ingredient-bar__photo-busy{animation:none}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}.input{flex:1;font-family:var(--font-ui);font-size:16px;background-color:transparent;color:var(--ink);border:none;border-bottom:var(--rule-1);padding:var(--space-3) var(--space-1);outline:none;transition:border-color var(--dur-quick) var(--ease-in-out)}.input::placeholder{color:var(--ink-muted);font-style:italic}.input:focus{border-bottom-color:var(--amber)}.recipes-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.recipes-grid__item{display:contents}.recipe-card{position:relative;background-color:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:var(--radius-xs);padding:var(--space-7) var(--space-7) var(--space-6);overflow:hidden;display:flex;flex-direction:column;gap:var(--space-3);min-height:100%}.recipe-card--placeholder{border-style:dashed;align-items:center;justify-content:center;animation:insolite-placeholder-pulse 1.6s var(--ease-page) infinite;pointer-events:none}@keyframes insolite-placeholder-pulse{0%,to{opacity:.45}50%{opacity:.75}}.recipe-card--placeholder .loading-animation__svg{width:80px;height:80px}@media(prefers-reduced-motion:reduce){.recipe-card--placeholder{animation:none;opacity:.55}}.recipe-card--clickable{cursor:pointer}.loading-gallery{padding:var(--space-8) var(--space-6);max-width:1280px;margin:0 auto}.loading-gallery__header{text-align:center;margin-bottom:var(--space-9)}.loading-gallery__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5)}.loading-gallery__item{display:flex;flex-direction:column;gap:var(--space-3)}.loading-gallery__item .recipe-card--placeholder{aspect-ratio:1 / 1}.loading-gallery__label{font-family:var(--font-mono);font-size:12px;text-align:center;color:var(--ink-muted);margin:0;letter-spacing:.04em}.recipe-card__sigil{position:absolute;right:var(--space-3);top:var(--space-3);width:140px;height:140px;overflow:hidden;color:var(--amber-mark);pointer-events:none;user-select:none}[data-reveal=playing]>g{opacity:0;animation:sigilFadeIn .8s ease-out forwards}[data-reveal=playing]>g:nth-child(1){animation-delay:.1s}[data-reveal=playing]>g:nth-child(2){animation-delay:.4s}[data-reveal=playing]>g:nth-child(3){animation-delay:.7s}[data-reveal=playing]>g>*:not([fill]){stroke-dasharray:1200;stroke-dashoffset:1200;animation:sigilDrawIn 1.4s cubic-bezier(.45,0,.25,1) forwards}[data-reveal=playing]>g:nth-child(1)>*:not([fill]){animation-delay:.1s}[data-reveal=playing]>g:nth-child(2)>*:not([fill]){animation-delay:.4s}[data-reveal=playing]>g:nth-child(3)>*:not([fill]){animation-delay:.7s}@keyframes sigilDrawIn{to{stroke-dashoffset:0}}@keyframes sigilFadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){[data-reveal=playing]>g,[data-reveal=playing]>g>*:not([fill]){animation:none;stroke-dashoffset:0;opacity:1}}.sigil-debug{max-width:760px;margin:0 auto;padding:var(--space-7) var(--space-5);font-family:var(--font-ui);color:var(--ink)}.sigil-debug__header{margin-bottom:var(--space-6)}.sigil-debug__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 var(--space-2)}.sigil-debug__title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:36px;margin:0 0 var(--space-3)}.sigil-debug__lede{color:var(--ink-muted);font-size:15px;line-height:1.55;margin:0}.sigil-debug__input-row{margin-bottom:var(--space-5)}.sigil-debug__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:var(--space-2)}.sigil-debug__result{display:grid;grid-template-columns:220px 1fr;gap:var(--space-5);align-items:start}.sigil-debug__sigil{width:220px;height:220px;color:var(--amber-mark);background:var(--cream-card);border:1px solid var(--amber-hairline);display:flex;align-items:center;justify-content:center}.sigil-debug__breakdown{font-family:var(--font-mono);font-size:13px;line-height:1.6}.sigil-debug__seed-line{color:var(--ink-muted);border-bottom:1px dotted var(--amber-hairline);padding-bottom:var(--space-2);margin:0 0 var(--space-3);word-break:break-all}.sigil-debug__table{width:100%;border-collapse:collapse}.sigil-debug__table th{text-align:left;font-weight:500;color:var(--ink-muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:var(--space-1) var(--space-2)}.sigil-debug__table td{padding:var(--space-2);border-top:1px solid var(--amber-hairline)}@media(prefers-reduced-motion:reduce){[data-reveal=playing] g>*,[data-reveal=playing] g>circle[fill]{animation:none;stroke-dashoffset:0;opacity:1}}.recipe-card>header{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-2)}.recipe-card__category{font-family:var(--font-mono);font-size:var(--type-label-size);letter-spacing:.22em;color:var(--sage);text-transform:uppercase;margin:0;text-align:center}.recipe-card__strength{font-family:inherit;letter-spacing:inherit}.recipe-card__strength--none,.recipe-card__strength--light{color:var(--sage)}.recipe-card__strength--standard{color:var(--amber-light)}.recipe-card__strength--strong{color:var(--amber)}.recipe-card__glass-icon{display:inline-block;width:1.4em;height:1.4em;vertical-align:-.18em;margin-inline:.15em;color:var(--ink-muted)}.recipe-card__name{font-family:var(--font-display);font-weight:700;font-size:var(--type-h1-size);line-height:var(--type-leading-tight);color:var(--ink);margin:0}.recipe-card__name-row{display:flex;align-items:baseline;gap:var(--space-2)}.recipe-card__regen{font-family:var(--font-mono);font-size:13px;line-height:1;color:var(--ink-muted);background:transparent;border:none;padding:2px 4px;cursor:pointer;transition:color var(--dur-quick) var(--ease-in-out)}.recipe-card__regen:hover:not(:disabled){color:var(--amber)}.recipe-card__regen:disabled{opacity:.6;cursor:progress}.recipe-card__tagline{font-family:var(--font-italic);font-style:italic;font-size:13px;color:var(--ink-muted);margin:0}.recipe-card__ingredients{list-style:none;margin:0;padding:0;position:relative;z-index:1;font-family:var(--font-mono);font-size:12.5px;line-height:1.9;color:var(--ink)}.recipe-card__ingredient{display:flex;align-items:baseline}.recipe-card__ingredient-name{min-width:0}.recipe-card__ingredient-quantity{text-align:right;white-space:nowrap;flex-shrink:0}.recipe-card__ingredient-leader{flex:1;min-width:var(--space-4);border-bottom:1px dotted var(--ink-muted);margin:0 var(--space-2) 4px;opacity:.5}.recipe-card__ingredient--user .recipe-card__ingredient-name,.recipe-card__ingredient--user .recipe-card__ingredient-quantity{color:var(--rust);font-weight:500}.recipe-card__ingredient--discovery .recipe-card__ingredient-name,.recipe-card__ingredient--discovery .recipe-card__ingredient-quantity{color:var(--sage);font-weight:500}.recipe-card__actions{position:relative;z-index:1;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--amber-pale);display:flex;justify-content:flex-end}.recipe-card__action{font-size:13px;padding:4px var(--space-3)}.recipe-card--replacing{opacity:.55;transition:opacity var(--dur-base) var(--ease-in-out)}.recipe-card--replacing .recipe-card__action{opacity:1;font-style:italic}.recipe-card__action--liked{font-family:var(--font-italic);font-style:italic;font-size:13px;padding:4px var(--space-3);background-color:var(--amber);color:var(--on-accent);border:1px solid var(--amber);border-radius:var(--radius-sm);cursor:default}.recipe-card__action--signature{font-family:var(--font-italic);font-style:italic;font-size:13px;padding:4px var(--space-3);background-color:transparent;color:var(--amber);border:1px solid var(--amber);border-radius:var(--radius-sm);cursor:pointer}.recipe-card__badges{position:absolute;top:var(--space-3);left:var(--space-3);z-index:2;display:flex;flex-wrap:wrap;gap:var(--space-2)}.recipe-card__badges:empty{display:none}.recipe-card__badge{font-family:var(--font-mono);font-size:8px;letter-spacing:.28em;color:var(--amber);padding:2px 6px;border:1px solid var(--amber);background-color:var(--cream-card);white-space:nowrap;user-select:none}.recipe-card__name-input{font-family:var(--font-display);font-weight:700;font-size:var(--type-h1-size);line-height:var(--type-leading-tight);color:var(--ink);background-color:transparent;border:none;border-bottom:1px solid var(--amber);padding:2px 0;margin:0;width:100%;outline:none}.tooltip{position:relative;display:inline}.tooltip__trigger{background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;line-height:inherit;vertical-align:baseline;cursor:pointer;text-decoration:underline dotted var(--amber-hairline);text-decoration-thickness:1px;text-underline-offset:3px}.tooltip__trigger:focus-visible{outline:2px solid var(--amber-light);outline-offset:2px;border-radius:2px}.tooltip__trigger[aria-expanded=true]{text-decoration-color:var(--amber)}.tooltip__bubble{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;flex-direction:column;background:var(--cream-card);color:var(--ink);border:1px solid var(--amber-hairline);padding:10px 12px;border-radius:3px;font-family:var(--font-italic);font-style:italic;font-size:13px;line-height:1.45;letter-spacing:0;text-decoration:none;text-transform:none;white-space:normal;min-width:240px;max-width:320px;z-index:20;box-shadow:0 4px 12px #1a0e0814}.tooltip__illustration{display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:var(--amber)}.tooltip__text{display:block}.wishlist-add{flex:0 0 auto;width:22px;height:22px;margin-left:var(--space-2);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;line-height:1;background:transparent;border:1px solid var(--amber-hairline);border-radius:var(--radius-pill);cursor:pointer;padding:0;transition:color var(--dur-quick) var(--ease-in-out),border-color var(--dur-quick) var(--ease-in-out),background-color var(--dur-quick) var(--ease-in-out),opacity var(--dur-quick) var(--ease-in-out)}.wishlist-add--prominent{color:var(--sage);border-color:var(--amber-hairline)}.wishlist-add--quiet{color:var(--ink-muted);border-color:var(--amber-hairline);opacity:.4}.wishlist-add--quiet:hover:not(:disabled){opacity:1}.wishlist-add:hover:not(:disabled){color:var(--amber);border-color:var(--amber);background-color:var(--cream-soft)}.wishlist-add--pending{opacity:.55;cursor:progress}.wishlist-add--success{color:var(--ink-muted);border-color:var(--ink-muted);cursor:default;opacity:1}.wishlist-add--error{color:var(--rust);border-color:var(--rust)}.auth-page{max-width:480px;margin:0 auto;padding:var(--space-9) var(--space-7);text-align:left}.auth-page-title{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--ink);margin:0 0 var(--space-3);letter-spacing:-.01em}.auth-page-lede{font-family:var(--font-display);font-style:italic;color:var(--ink-muted);font-size:17px;line-height:1.5;margin:0 0 var(--space-7)}.auth-page-success{font-family:var(--font-display);font-style:italic;color:var(--ink);font-size:17px;line-height:1.55;margin:0 0 var(--space-7)}.auth-page-error{font-family:var(--font-mono);font-size:var(--type-mono-size);color:var(--rust);background:#8b2e100f;border-left:2px solid var(--rust);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-5)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-form-label{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted)}.auth-form-label input{font-family:var(--font-mono);font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:3px;padding:var(--space-3) var(--space-4);outline:none;transition:border-color var(--dur-quick) var(--ease-in-out)}.auth-form-label input:focus{border-color:var(--amber)}.auth-form-submit{font-family:var(--font-display);font-style:italic;font-size:17px;background:var(--amber);color:var(--on-accent);border:none;border-radius:4px;padding:var(--space-3) var(--space-6);cursor:pointer;transition:opacity var(--dur-quick) var(--ease-in-out);align-self:flex-start}.auth-form-submit:hover:not(:disabled){opacity:.9}.auth-form-submit:disabled{opacity:.5;cursor:default}.auth-page-anon{margin:var(--space-9) 0 0;font-family:var(--font-mono);font-size:var(--type-mono-size);color:var(--ink-muted);display:flex;flex-direction:column;gap:var(--space-2)}.auth-page-anon a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber-hairline);text-underline-offset:3px}.auth-page-anon a:hover{text-decoration-color:var(--amber)}.auth-page-anon-hint{color:var(--ink-muted);font-size:12px}.auth-oauth-button{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-style:italic;font-size:16px;color:var(--ink);background:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:3px;padding:var(--space-3) var(--space-5);text-decoration:none;transition:border-color var(--dur-quick) var(--ease-in-out),background-color var(--dur-quick) var(--ease-in-out);margin-bottom:var(--space-5)}.auth-oauth-button:hover{border-color:var(--amber);background:var(--cream-soft)}.auth-oauth-glyph{flex-shrink:0}.auth-oauth-button--apple{background:var(--ink);color:var(--cream-bg);border-color:var(--ink)}.auth-oauth-button--apple:hover{background:#2a1a10;border-color:#2a1a10}.auth-oauth-button--facebook{background:#1c5fc8;color:var(--on-accent);border-color:#1c5fc8}.auth-oauth-button--facebook:hover{background:#154ca0;border-color:#154ca0}.auth-oauth-button--github{background:#24292f;color:var(--on-accent);border-color:#24292f}.auth-oauth-button--github:hover{background:#1a1f24;border-color:#1a1f24}.auth-oauth-divider{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted)}.auth-oauth-divider:before,.auth-oauth-divider:after{content:"";flex:1;height:1px;background:var(--amber-hairline)}.auth-indicator-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-indicator-signin{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);text-decoration:none}.auth-indicator-signin:hover{color:var(--ink)}.auth-indicator-email{color:inherit;text-decoration:none;cursor:pointer}.auth-indicator-email:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--amber-hairline);text-underline-offset:3px}.insolite-tabs .auth-indicator-signin,.insolite-tabs .auth-indicator-email{padding-bottom:var(--space-3)}.settings-page{max-width:640px}.settings-section{margin:0 0 var(--space-9);padding:var(--space-7);background:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:3px}.settings-section--danger{border-color:var(--rust);background:#8b2e100a}.settings-section-title{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);margin:0 0 var(--space-5)}.settings-section-hint{font-family:var(--font-display);font-style:italic;color:var(--ink-muted);margin:0 0 var(--space-5);font-size:14px;line-height:1.5}.settings-row{display:flex;gap:var(--space-5);align-items:baseline}.settings-row-label{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);min-width:80px}.settings-row-value{flex:1}.settings-row-meta{font-family:var(--font-display);font-style:italic;font-size:13px;color:var(--ink-muted);margin-top:var(--space-2)}.settings-row-error{font-family:var(--font-mono);font-size:12px;color:var(--rust);margin-top:var(--space-2);flex-basis:100%}.settings-mono{font-family:var(--font-mono);font-size:14px;color:var(--ink);background:transparent}.settings-providers{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-5)}.settings-provider-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--amber-hairline)}.settings-provider-row:last-child{border-bottom:none}.settings-provider-meta{flex:1;min-width:0}.settings-provider-name{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--ink)}.settings-unlink-button{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);background:transparent;border:1px solid var(--amber-hairline);border-radius:2px;padding:var(--space-2) var(--space-4);cursor:pointer}.settings-unlink-button:hover:not(:disabled){color:var(--rust);border-color:var(--rust)}.settings-unlink-button:disabled{opacity:.5;cursor:not-allowed}.settings-signout-button{font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;color:var(--ink-muted);background:transparent;border:1px solid var(--amber-hairline);border-radius:2px;padding:var(--space-2) var(--space-4);cursor:pointer}.settings-signout-button:hover:not(:disabled){color:var(--ink);border-color:var(--amber)}.settings-signout-button:disabled{opacity:.5;cursor:not-allowed}.settings-danger-button{font-family:var(--font-display);font-style:italic;font-size:15px;background:var(--rust);color:var(--cream-bg);border:none;border-radius:3px;padding:var(--space-3) var(--space-6);cursor:pointer}.settings-danger-button:hover:not(:disabled){opacity:.9}.settings-danger-button:disabled{opacity:.4;cursor:not-allowed}.settings-danger-confirm{display:flex;flex-direction:column;gap:var(--space-5)}.settings-danger-actions{display:flex;gap:var(--space-4);align-items:center}.settings-danger-cancel{background:transparent;border:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);text-transform:uppercase;cursor:pointer;padding:var(--space-3) var(--space-4)}.settings-danger-cancel:hover{color:var(--ink)}.theme-field-wrap{position:relative;display:flex;align-items:stretch;width:100%}.theme-field-wrap .theme-field{flex:1;padding-right:44px}.theme-field-location{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:2px;cursor:pointer;font-size:16px;color:var(--ink-muted);opacity:.7;transition:opacity var(--dur-quick) var(--ease-in-out),background-color var(--dur-quick) var(--ease-in-out)}.theme-field-location:hover:not(:disabled){opacity:1;background:#bf7f1e14}.theme-field-location:disabled{cursor:wait}.recipe-detail__partner{margin:var(--space-5) 0 0;font-family:var(--font-mono);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);color:var(--ink-muted)}.recipe-detail__partner-link{color:var(--ink-muted);text-decoration:none;border-bottom:1px dotted var(--amber-hairline);padding-bottom:1px}.recipe-detail__partner-link:hover{color:var(--amber);border-bottom-color:var(--amber)}.recipe-detail__partner-arrow{color:var(--amber);margin-right:var(--space-2)}.spirit-summary{margin-left:var(--space-2);font-size:var(--type-mono-size);letter-spacing:var(--type-tracking-mono);color:var(--ink-muted)}.recipe-detail__spirit-note{list-style:none;display:block;margin:2px 0 var(--space-2);padding:0}.spirit-summary__note{margin:0;font-family:var(--font-ui);font-style:italic;color:var(--ink-muted)}.insolite-version-badge{position:fixed;right:var(--space-3);bottom:var(--space-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-muted);opacity:.55;user-select:text;z-index:1}.insolite-nav-mobile{position:relative;display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-3) 0;background-color:var(--cream-bg);border-bottom:1px solid var(--amber-pale)}.insolite-nav-mobile__trigger{display:inline-flex;align-items:baseline;gap:var(--space-1);flex:0 0 auto;padding:0 0 var(--space-3);background:transparent;border:none;cursor:pointer;color:var(--ink)}.insolite-nav-mobile__trigger .insolite-wordmark{order:0;margin:0;padding:0;font-size:20px}.insolite-nav-mobile__tabs{display:flex;align-items:flex-end;gap:var(--space-1);flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.insolite-nav-mobile__tabs::-webkit-scrollbar{display:none}.insolite-nav-mobile__tabs .insolite-tab{flex:0 0 auto;font-size:var(--tab-fit-size, 13px);letter-spacing:.03em;padding-left:var(--space-1);padding-right:var(--space-1);white-space:nowrap}.insolite-nav-mobile__panel{position:absolute;top:100%;left:var(--space-4);z-index:50;min-width:180px;margin-top:var(--space-2);padding:var(--space-4);background-color:var(--cream-card);border:1px solid var(--amber-hairline);border-radius:3px;box-shadow:0 8px 28px #1a0e081f;animation:insolite-nav-pop var(--dur-quick) var(--ease-page) both}@keyframes insolite-nav-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.insolite-nav-mobile__switchers{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.insolite-nav-mobile__switchers .insolite-lang-switch,.insolite-nav-mobile__switchers .insolite-units-switch,.insolite-nav-mobile__switchers .insolite-theme-switch{flex:0 0 auto;justify-content:flex-start;padding-bottom:0}@media(prefers-reduced-motion:reduce){.insolite-nav-mobile__panel{animation:none}}
