/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#181813;--ink-soft:#34332d;--paper:#eeebe3;--surface:#f8f6f0;--surface-strong:#fdfcf8;--surface-muted:#e6e1d7;--muted:#77736a;--line:#2f2c2521;--line-soft:#2f2c2513;--accent:#72283f;--accent-strong:#5e1f34;--accent-soft:#e7d8dc;--danger:#90343a;--sans:var(--font-geist-sans), "Noto Sans SC", "Microsoft YaHei", sans-serif;--mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;--editorial:"Noto Serif SC", "Songti SC", "Iowan Old Style", Georgia, serif;--shadow-soft:0 24px 70px #302a2013;--shadow-float:0 32px 90px #231f1924;--motion:cubic-bezier(.32, .72, 0, 1);--z-header:20;--z-dialog:100;--z-status:120}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{transition:transform .52s var(--motion), color .52s var(--motion), background-color .52s var(--motion), box-shadow .52s var(--motion), opacity .52s var(--motion)}button:active,.primary-button:active,.secondary-button:active{transform:scale(.985)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-soft);color:var(--ink)}.site-shell{width:min(1320px,100% - 48px);margin-inline:auto}.eyebrow{color:var(--accent);font:650 9px/1.2 var(--mono);letter-spacing:.17em;text-transform:uppercase;margin:0}.wordmark{color:inherit;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.wordmark-seal{width:38px;height:38px;font:650 8px var(--mono);letter-spacing:.05em;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px}.wordmark b{letter-spacing:.02em;font-size:14px;font-weight:660;display:block}.wordmark small{color:var(--muted);font:600 7px var(--mono);letter-spacing:.19em;margin-top:2px;display:block}.wordmark-light{color:var(--surface)}.wordmark-light small{color:#a8a69e}.text-link,.back-link{color:inherit;box-shadow:inset 0 -1px var(--line);padding-bottom:4px;font-size:11px;font-weight:600;text-decoration:none}[data-reveal]{opacity:0;transition:opacity .78s var(--motion), transform .78s var(--motion);transform:translateY(16px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.site-page{min-height:100dvh;padding-top:1px;overflow-x:clip}.site-header{z-index:var(--z-header);pointer-events:none;padding:13px 0 0;position:sticky;top:0}.header-inner{min-height:60px;box-shadow:0 14px 48px #2d271e14, inset 0 0 0 1px #ffffffbd, 0 0 0 1px var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#f8f6f0e0;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:0 18px;display:grid}.header-context{color:var(--muted);align-items:center;gap:11px;font-size:10px;display:flex}.header-context b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:640}.header-inner>.text-link{justify-self:end}.recipe-action i{background:var(--ink);width:34px;height:34px;color:var(--surface);font:normal 13px var(--sans);transition:transform .52s var(--motion);border-radius:50%;flex:none;place-items:center;display:grid}.recipe-card:hover .recipe-action i{transform:translate(2px,-2px)scale(1.04)}.artwork{place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.artwork img{object-fit:contain;width:100%;height:100%;display:block}.catalog-section{padding:40px 0 92px}.catalog-heading{grid-template-columns:1fr minmax(280px,400px);align-items:end;gap:36px;margin-bottom:30px;display:grid}.catalog-heading h2{font:500 clamp(40px, 4.4vw, 58px)/1.05 var(--editorial);letter-spacing:-.025em;margin:10px 0 0}.catalog-heading>p{color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.8}.catalog-tools-shell{box-shadow:inset 0 0 0 1px #ffffffbd, 0 0 0 1px var(--line-soft);background:#ffffff61;border-radius:25px;padding:5px}.catalog-tools{background:var(--surface);border-radius:20px;grid-template-columns:minmax(0,1fr) 350px;align-items:center;gap:18px;padding:10px;display:grid;box-shadow:inset 0 1px 1px #ffffffdb}.base-tabs{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.base-tabs::-webkit-scrollbar{display:none}.base-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;align-items:center;gap:7px;padding:9px 12px;font-size:11px;display:inline-flex}.base-tabs button:hover{color:var(--ink);background:var(--surface-muted)}.base-tabs button span{min-width:16px;font:600 8px var(--mono);font-variant-numeric:tabular-nums}.base-tabs button[aria-pressed=true]{color:var(--surface);background:var(--ink);box-shadow:0 8px 20px #18181324}.catalog-search{background:var(--surface-strong);min-height:48px;box-shadow:inset 0 0 0 1px var(--line);border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:0 14px;display:grid}.catalog-search:focus-within{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px #72283f14}.catalog-search>span{color:var(--accent);font:650 8px var(--mono);letter-spacing:.1em}.catalog-search input{background:0 0;border:0;outline:0;min-width:0;font-size:12px}.catalog-search output{background:var(--surface-muted);min-width:28px;height:28px;color:var(--muted);font:600 9px var(--mono);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.recent-strip{align-items:center;gap:9px;min-height:52px;padding:0 8px;display:flex}.recent-strip>span{color:var(--muted);font:600 8px var(--mono);letter-spacing:.1em;margin-right:5px}.recent-strip button{box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;background:#ffffff59;border:0;border-radius:999px;padding:6px 10px;font-size:10px}.recent-strip button:hover{background:var(--surface)}.recent-strip p{color:var(--muted);margin:0;font-size:10px}.sync-note{font-family:var(--mono)!important;margin-left:auto!important}.sync-note:empty{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.recipe-card-shell{min-width:0;box-shadow:var(--shadow-soft), inset 0 0 0 1px #ffffffb8, 0 0 0 1px var(--line-soft);background:#fff6;border-radius:27px;padding:5px}.recipe-card-shell:nth-child(2){transition-delay:45ms}.recipe-card-shell:nth-child(3){transition-delay:90ms}.recipe-card-shell:nth-child(4){transition-delay:.135s}.recipe-card{background:var(--surface);text-align:left;cursor:pointer;border:0;border-radius:22px;grid-template-columns:minmax(210px,.88fr) minmax(230px,1.12fr);width:100%;min-height:330px;padding:0;display:grid;overflow:hidden;box-shadow:inset 0 1px 1px #ffffffdb}.recipe-card:hover,.recipe-card:focus-visible{transform:translateY(-3px);box-shadow:0 20px 48px #322b2217,inset 0 1px 1px #ffffffe6}.recipe-figure{background:#f1eee7;min-height:320px;margin:0;padding:45px 26px 28px;position:relative}.recipe-figure .artwork{width:100%;height:100%;transition:transform .76s var(--motion)}.recipe-card:hover .recipe-figure .artwork{transform:scale(1.025)}.recipe-index,.base-label{font:600 8px var(--mono);letter-spacing:.1em;position:absolute;top:18px}.recipe-index{color:var(--muted);font-variant-numeric:tabular-nums;left:18px}.base-label{color:var(--accent);right:18px}.recipe-summary{flex-direction:column;min-width:0;padding:28px 26px 24px;display:flex}.recipe-name small{color:var(--accent);font:650 8px var(--mono);letter-spacing:.13em;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.recipe-name strong{font:500 clamp(27px, 2.25vw, 35px)/1.1 var(--editorial);letter-spacing:-.02em;text-wrap:balance;margin-top:10px;display:block}.recipe-glass{color:var(--muted);margin-top:14px;font-size:10px;line-height:1.6;display:block}.strength-meter{margin-top:auto;padding-top:24px}.strength-meter>span:first-child{color:var(--muted);font:550 9px var(--mono);margin-bottom:9px;display:block}.strength-bars{gap:4px;display:flex}.strength-bars i{background:var(--surface-muted);border-radius:999px;width:18px;height:3px}.strength-bars i.is-on{background:var(--accent)}.recipe-action{box-shadow:inset 0 1px var(--line-soft);justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:15px;display:flex}.recipe-action b{font-size:10px;font-weight:650}.recipe-action i{width:30px;height:30px;font-size:11px}.empty-state{background:var(--surface);min-height:290px;box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:25px;place-content:center;justify-items:start;padding:40px;display:grid}.empty-state>span{color:var(--accent);font:650 8px var(--mono);letter-spacing:.13em}.empty-state h3{font:500 30px var(--editorial);margin:11px 0 7px}.empty-state p{color:var(--muted);margin:0 0 20px;font-size:12px}.empty-state button{background:var(--ink);min-height:42px;color:var(--surface);cursor:pointer;border:0;border-radius:999px;padding:10px 16px}.site-footer{padding:0 0 20px}.footer-inner{min-height:70px;box-shadow:inset 0 0 0 1px var(--line-soft);background:#ffffff40;border-radius:20px;justify-content:space-between;align-items:center;gap:22px;padding:0 18px;display:flex}.footer-inner p{color:var(--muted);margin:0;font-size:9px}.dialog-overlay,.recipe-overlay{z-index:var(--z-dialog);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#181813c2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.recipe-dialog-shell{width:min(1120px,100%);height:min(760px,100dvh - 48px);box-shadow:var(--shadow-float), inset 0 0 0 1px #ffffff3d;background:#ffffff3b;border-radius:30px;padding:6px;position:relative}.recipe-dialog{background:var(--surface);border-radius:24px;grid-template-columns:minmax(350px,.42fr) minmax(0,.58fr);width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #fffc}.dialog-close{z-index:2;background:var(--surface-strong);width:40px;height:40px;box-shadow:0 10px 28px #241f191a, inset 0 0 0 1px var(--line);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.dialog-close:hover{transform:rotate(4deg)scale(1.04)}.dialog-close:disabled{opacity:.5;cursor:not-allowed}.close-glyph{width:14px;height:14px;display:block;position:relative}.close-glyph:before,.close-glyph:after{content:"";background:currentColor;width:12px;height:1px;position:absolute;top:6px;left:1px}.close-glyph:before{transform:rotate(45deg)}.close-glyph:after{transform:rotate(-45deg)}.recipe-aside{min-width:0;color:var(--surface);background:#20201b;flex-direction:column;padding:24px;display:flex;overflow:hidden}.recipe-kicker{color:#a5a39b;font:600 8px var(--mono);letter-spacing:.12em;justify-content:space-between;display:flex}.recipe-kicker b{color:#d8bcc5;font-weight:600}.recipe-aside .artwork{background:#f2efe8;border-radius:18px;flex:1;width:calc(100% + 36px);min-height:270px;margin:13px -18px 0;box-shadow:inset 0 0 0 1px #ffffff9e}.recipe-aside .artwork img{padding:6%}.recipe-title-block{padding:22px 2px 2px}.recipe-title-block small{color:#cdb2bb;font:650 8px var(--mono);letter-spacing:.13em}.recipe-title-block h2{font:500 clamp(39px, 4vw, 58px)/1.03 var(--editorial);letter-spacing:-.03em;text-wrap:balance;margin:8px 0 18px}.recipe-title-block>div{flex-wrap:wrap;gap:7px;display:flex}.recipe-title-block>div span{color:#d8d6ce;font:550 8px var(--mono);background:#ffffff0d;border-radius:999px;padding:7px 10px;box-shadow:inset 0 0 0 1px #fff2}.recipe-detail{min-width:0;padding:42px 46px 52px;overflow:auto}.detail-header{box-shadow:inset 0 -1px var(--line-soft);padding-bottom:28px}.detail-header dl{grid-template-columns:1fr 1fr;gap:26px;margin:20px 0 0;display:grid}.detail-header dt{color:var(--muted);font:600 8px var(--mono)}.detail-header dd{margin:7px 0 0;font-size:13px;font-weight:640}.detail-section{padding-top:30px}.detail-section-title{align-items:center;gap:12px;margin-bottom:18px;display:flex}.detail-section-title>span{width:32px;height:32px;box-shadow:inset 0 0 0 1px var(--ink);font:550 8px var(--mono);border-radius:50%;place-items:center;display:grid}.detail-section-title small{color:var(--muted);font:600 7px var(--mono);letter-spacing:.12em}.detail-section-title h3{margin:2px 0 0;font-size:20px;font-weight:650}.ingredient-list,.method-list{box-shadow:inset 0 1px var(--ink);margin:0;padding:0;list-style:none}.ingredient-list li{min-height:50px;box-shadow:inset 0 -1px var(--line-soft);grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.ingredient-list li>span{color:var(--accent);font:650 8px var(--mono)}.ingredient-list li b{font-size:12px;font-weight:620}.ingredient-list li em{color:var(--muted);font:500 10px var(--mono);font-style:normal}.method-list li{box-shadow:inset 0 -1px var(--line-soft);grid-template-columns:32px 1fr;gap:12px;padding:15px 0;display:grid}.method-list li>span{color:var(--accent);font:600 8px var(--mono);font-variant-numeric:tabular-nums}.method-list p{color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:12px;line-height:1.8}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:42px;padding:8px 9px 8px 15px;font-size:10px;font-weight:660;display:inline-flex}.primary-button{background:var(--ink);color:var(--surface);box-shadow:0 9px 22px #18181321}.primary-button:after{content:"↗";width:27px;height:27px;transition:transform .52s var(--motion), background-color .52s var(--motion);background:#ffffff14;border-radius:50%;place-items:center;font-size:10px;display:grid}.primary-button:hover{background:var(--accent-strong);transform:translateY(-1px)}.primary-button:hover:after{background:#ffffff20;transform:translate(2px,-1px)scale(1.04)}.secondary-button{background:var(--surface-strong);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 6px 18px #2c261e09;padding-inline:14px}.secondary-button:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #18181347,0 8px 22px #2c261e0d}.danger-button{background:var(--danger);color:#fff;padding-inline:16px;box-shadow:0 9px 22px #90343a26}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.primary-button:disabled:after{opacity:.5}.text-button{color:var(--muted);box-shadow:inset 0 -1px var(--line);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:9px;font-weight:620}.inline-error,.sidebar-error{color:#7c2930;box-shadow:inset 3px 0 var(--danger);background:#f1dfe0;border-radius:12px;margin:0;padding:11px 13px;font-size:10px;line-height:1.55}.admin-loading{background:var(--paper);place-items:center;min-height:100dvh;display:grid}.admin-loading div{text-align:center;gap:7px;display:grid}.admin-loading span{color:var(--accent);font:650 8px var(--mono);letter-spacing:.13em}.admin-loading b{font-size:15px;font-weight:580}.login-page{background:var(--paper);grid-template-columns:minmax(400px,.45fr) minmax(0,.55fr);gap:10px;min-height:100dvh;padding:12px;display:grid}.login-story{min-height:calc(100dvh - 24px);color:var(--surface);background:#20201b;border-radius:28px;flex-direction:column;justify-content:space-between;padding:42px clamp(36px,5vw,72px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff10}.login-story:before,.login-story:after{content:"";pointer-events:none;border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1px #ffffff12}.login-story:before{width:440px;height:440px;top:16%;right:-190px}.login-story:after{width:250px;height:250px;top:31%;right:-68px}.login-story>div{z-index:1;position:relative}.login-story h1{max-width:10ch;font:500 clamp(44px, 4.5vw, 66px)/1.06 var(--editorial);letter-spacing:-.03em;text-wrap:balance;margin:18px 0 22px}.login-story>div>p:last-child{color:#aaa89f;text-wrap:pretty;max-width:36ch;margin:0;font-size:12px;line-height:1.8}.login-story>small{color:#85837c;font:600 7px var(--mono);letter-spacing:.14em}.login-panel{background:var(--surface);border-radius:28px;place-items:center;min-width:0;padding:46px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffffbd}.login-panel>.back-link{position:absolute;top:30px;right:32px}.login-form-shell{background:var(--paper);width:min(450px,100%);box-shadow:var(--shadow-soft), inset 0 0 0 1px #ffffffad, 0 0 0 1px var(--line-soft);border-radius:28px;padding:6px}.login-form{background:var(--surface-strong);border-radius:22px;gap:18px;padding:32px;display:grid;box-shadow:inset 0 1px 1px #ffffffe6}.login-form header{margin-bottom:8px}.login-form h2{letter-spacing:-.02em;text-wrap:balance;margin:10px 0 8px;font-size:29px;font-weight:660}.login-form header>p:last-child{color:var(--muted);margin:0;font-size:12px}.login-form label,.dialog-field,.recipe-form label{color:var(--ink-soft);gap:7px;font-size:10px;font-weight:640;display:grid}.login-form input,.dialog-field input,.dialog-field textarea,.recipe-form input,.recipe-form select,.recipe-form textarea{background:var(--surface-strong);width:100%;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), inset 0 1px 2px #2a251d06;transition:box-shadow .48s var(--motion), background-color .48s var(--motion);border:0;border-radius:13px;outline:0;padding:11px 12px;font-size:12px}.login-form input{background:var(--surface);min-height:46px}.login-form input:focus,.dialog-field input:focus,.dialog-field textarea:focus,.recipe-form input:focus,.recipe-form select:focus,.recipe-form textarea:focus{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 4px #72283f14}.login-form .primary-button{justify-content:space-between;width:100%;margin-top:2px}.admin-page{background:var(--paper);min-height:100dvh;padding:12px}.admin-topbar{z-index:var(--z-header);width:min(1500px,100%);min-height:64px;color:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#20201bf5;border-radius:22px;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin-inline:auto;padding:0 18px;display:grid;position:sticky;top:12px;box-shadow:0 18px 50px #201c1624,inset 0 0 0 1px #ffffff12}.admin-topbar-meta{color:#9c9a92;align-items:center;gap:10px;font-size:9px;display:flex}.admin-topbar-meta b{color:var(--surface);font:600 9px var(--mono);font-variant-numeric:tabular-nums}.admin-actions{justify-self:end;gap:7px;display:flex}.admin-actions button{color:#d1cfc7;cursor:pointer;background:#ffffff0a;border:0;border-radius:999px;min-height:34px;padding:7px 10px;font-size:9px;box-shadow:inset 0 0 0 1px #ffffff16}.admin-actions button:hover{color:#fff;background:#ffffff13}.admin-workspace-shell{width:min(1500px,100%);box-shadow:inset 0 0 0 1px #ffffffa8, 0 0 0 1px var(--line-soft);background:#ffffff57;border-radius:30px;margin:12px auto 0;padding:6px}.admin-workspace{border-radius:24px;grid-template-columns:330px minmax(0,1fr);gap:10px;min-height:calc(100dvh - 100px);display:grid}.admin-sidebar-shell{min-width:0;box-shadow:inset 0 0 0 1px #ffffffb3, 0 0 0 1px var(--line-soft);background:#fff6;border-radius:24px;padding:5px}.admin-sidebar{background:var(--surface);border-radius:19px;min-width:0;max-height:calc(100dvh - 112px);padding:22px 17px 26px;position:sticky;top:94px;overflow:auto;box-shadow:inset 0 1px 1px #ffffffdb}.sidebar-heading{justify-content:space-between;align-items:end;margin-bottom:16px;padding:0 4px;display:flex}.sidebar-heading h1{letter-spacing:-.02em;margin:6px 0 0;font-size:28px;font-weight:660}.sidebar-heading>span{color:var(--muted);font:520 21px var(--mono);font-variant-numeric:tabular-nums}.sidebar-actions{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px;display:grid}.sidebar-actions .primary-button{justify-content:space-between}.admin-base-nav{flex-wrap:wrap;gap:5px;margin-bottom:16px;display:flex}.admin-base-nav button{background:var(--surface-strong);min-height:34px;box-shadow:inset 0 0 0 1px var(--line-soft);color:var(--muted);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:7px 9px;font-size:9px;display:inline-flex}.admin-base-nav button b{font:600 8px var(--mono);font-variant-numeric:tabular-nums}.admin-base-nav button[aria-pressed=true]{background:var(--ink);color:var(--surface);box-shadow:0 7px 18px #1818131f}.sidebar-error{margin-bottom:10px}.admin-recipe-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.admin-recipe-list li{min-height:76px;box-shadow:inset 0 0 0 1px var(--line-soft);background:#ffffff7a;border-radius:15px;grid-template-columns:1fr auto;display:grid;position:relative;overflow:hidden}.admin-recipe-list li:hover{background:var(--surface-strong)}.admin-recipe-list li.is-selected{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent), inset 0 0 0 1px #72283f14}.admin-recipe-row{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:11px;min-width:0;padding:8px;display:grid}.admin-thumb{background:var(--surface);width:54px;height:54px;box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:11px;place-items:center;display:grid;overflow:hidden}.admin-thumb img,.art-preview img{object-fit:contain;width:100%;height:100%;padding:7%;display:block}.admin-recipe-copy{min-width:0}.admin-recipe-copy small{color:var(--accent);font:650 7px var(--mono);letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-recipe-copy strong{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:13px;font-weight:650;display:block;overflow:hidden}.admin-recipe-copy>span{color:var(--muted);font-size:8px}.row-delete{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-self:center;margin-right:4px;padding:7px;font-size:8px}.row-delete:hover{color:var(--danger);background:#f1dfe0}.admin-empty{color:var(--muted);padding:28px 10px;font-size:10px}.admin-empty p{margin:0 0 11px}.admin-empty button{box-shadow:inset 0 -1px var(--ink);cursor:pointer;background:0 0;border:0;padding:0 0 3px}.admin-editor{min-width:0;padding:0}.editor-empty-shell{min-height:100%;box-shadow:inset 0 0 0 1px #ffffffa6, 0 0 0 1px var(--line-soft);background:#ffffff5c;border-radius:24px;padding:6px}.editor-empty{background:var(--surface);border-radius:18px;place-content:center;justify-items:start;min-height:100%;padding:48px;display:grid}.editor-empty>span{color:var(--accent);font:650 8px var(--mono);letter-spacing:.13em}.editor-empty h2{letter-spacing:-.02em;text-wrap:balance;margin:12px 0 8px;font-size:30px;font-weight:660}.editor-empty p{max-width:46ch;color:var(--muted);text-wrap:pretty;margin:0 0 20px;font-size:12px;line-height:1.7}.recipe-form-shell{width:min(1000px,100%);box-shadow:var(--shadow-soft), inset 0 0 0 1px #ffffffb3, 0 0 0 1px var(--line-soft);background:#fff6;border-radius:28px;margin-inline:auto;padding:6px}.recipe-form{background:var(--surface);border-radius:22px;overflow:clip;box-shadow:inset 0 1px 1px #ffffffdb}.form-header{z-index:4;min-height:92px;box-shadow:0 12px 30px #302a200f, inset 0 -1px var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8f6f0eb;justify-content:space-between;align-items:center;gap:24px;padding:18px 24px;display:flex;position:sticky;top:94px}.form-header h2{letter-spacing:-.02em;text-wrap:balance;margin:6px 0 3px;font-size:25px;font-weight:660}.form-header>div>p:last-child{color:var(--muted);margin:0;font-size:9px}.form-wide-error{margin:18px 24px 0}.form-section{min-width:0;box-shadow:inset 0 -1px var(--line-soft);border:0;margin:0;padding:26px 24px 30px}.form-section:last-child{box-shadow:none}.form-section legend{align-items:center;gap:11px;width:100%;margin-bottom:20px;padding:0;display:flex}.form-section legend>span{background:var(--surface-strong);width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line);font:600 8px var(--mono);border-radius:50%;place-items:center;display:grid}.form-section legend small{color:var(--muted);font:600 7px var(--mono);letter-spacing:.12em;display:block}.form-section legend b{margin-top:2px;font-size:15px;font-weight:660;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.recipe-form label>span,.steps-field>span{color:var(--muted);font-size:9px;font-weight:640}.recipe-form input,.recipe-form select{min-height:42px}.art-upload{grid-template-columns:205px minmax(0,1fr);gap:24px;display:grid}.art-preview{aspect-ratio:1;background:var(--surface-strong);width:205px;box-shadow:inset 0 0 0 1px var(--line-soft), 0 12px 30px #2e281f0b;border-radius:18px;place-items:center;display:grid;overflow:hidden}.art-controls{align-self:center;min-width:0}.art-controls>p{max-width:50ch;color:var(--muted);text-wrap:pretty;margin:0 0 15px;font-size:10px;line-height:1.7}.art-controls>label{max-width:310px}.upload-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.file-button{background:var(--ink);cursor:pointer;border:0;border-radius:999px;align-items:center;width:fit-content;min-height:40px;padding:9px 14px;box-shadow:0 9px 22px #1818131f;color:var(--surface)!important;font-size:9px!important;font-weight:650!important;display:inline-flex!important}.file-button input{display:none}.upload-progress{width:min(310px,100%);height:5px;accent-color:var(--accent);margin-top:11px;display:block}.upload-message{color:var(--muted);margin:9px 0 0;font-size:9px}.ingredient-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px;display:flex}.ingredient-toolbar p{color:var(--muted);margin:0;font-size:10px}.ingredient-labels,.ingredient-input-row{grid-template-columns:105px minmax(180px,1fr) 145px 36px;gap:7px;display:grid}.ingredient-labels{color:var(--muted);font:600 7px var(--mono);letter-spacing:.09em;padding:0 3px 7px}.ingredient-editor{gap:7px;display:grid}.ingredient-input-row{background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--line-soft);border-radius:15px;padding:5px}.ingredient-input-row select,.ingredient-input-row input{background:var(--surface);min-width:0}.ingredient-input-row button{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-soft);cursor:pointer;border:0;border-radius:11px;place-items:center;display:grid}.ingredient-input-row button:hover{color:var(--danger);box-shadow:inset 0 0 0 1px #90343a4d}.steps-field textarea{resize:vertical;min-height:160px;line-height:1.75}.admin-dialog{background:var(--surface);width:min(660px,100%);max-height:calc(100dvh - 52px);box-shadow:0 0 0 6px #ffffff38, 0 0 0 7px #ffffff1f, var(--shadow-float);border-radius:24px;padding:32px;position:relative;overflow:auto}.dialog-heading{margin-bottom:20px;padding-right:42px}.dialog-heading h2,.confirm-dialog h2{letter-spacing:-.02em;text-wrap:balance;margin:9px 0 8px;font-size:28px;font-weight:660}.dialog-heading>p:last-child,.confirm-dialog>p{color:var(--muted);text-wrap:pretty;margin:0;font-size:11px;line-height:1.7}.dialog-heading code{background:var(--paper);font-family:var(--mono);border-radius:5px;padding:2px 4px}.dialog-field textarea{resize:vertical;font:10px/1.65 var(--mono)}.dialog-actions{justify-content:flex-end;gap:7px;margin-top:19px;display:flex}.import-dialog>.file-button{margin-bottom:15px}.import-error{white-space:pre-wrap;font-family:var(--mono);margin-top:11px}.confirm-dialog{width:min(460px,100%)}.confirm-dialog>.eyebrow{color:var(--danger)}.password-dialog{width:min(480px,100%)}.admin-status{right:max(22px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));z-index:var(--z-status);background:var(--ink);max-width:min(360px,100% - 44px);color:var(--surface);animation:status-enter .42s var(--motion) both;border-radius:999px;padding:12px 15px;font-size:10px;position:fixed;box-shadow:0 16px 44px #231f192e}@keyframes status-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1120px){.site-shell{width:min(100% - 34px,1120px)}.recipe-card{grid-template-columns:1fr}.recipe-figure{min-height:280px}.recipe-summary{min-height:230px}.admin-workspace{grid-template-columns:310px minmax(0,1fr)}}@media (width<=900px){.header-context{display:none}.header-inner{grid-template-columns:1fr auto}.catalog-tools{grid-template-columns:1fr}.recipe-dialog{grid-template-columns:minmax(310px,.43fr) minmax(0,.57fr)}.recipe-detail{padding-inline:32px}.admin-topbar{grid-template-columns:1fr auto}.admin-topbar-meta{display:none}.admin-workspace{grid-template-columns:285px minmax(0,1fr)}.form-grid,.art-upload{grid-template-columns:1fr}}@media (width<=760px){.site-shell{width:calc(100% - 24px)}.site-header{padding-top:9px;position:relative}.header-inner{min-height:56px;padding-inline:13px}.catalog-section{padding:34px 0 72px}.catalog-heading{grid-template-columns:1fr;gap:13px;margin-bottom:24px}.catalog-heading h2{font-size:43px}.catalog-tools{gap:8px}.base-tabs{margin-inline:-5px;padding-inline:5px}.recent-strip{flex-wrap:wrap;align-items:flex-start;padding:12px 5px}.sync-note{width:100%;margin-left:0!important}.recipe-grid{grid-template-columns:1fr;gap:12px}.recipe-card{grid-template-columns:minmax(0,.92fr) minmax(170px,1.08fr);min-height:300px}.recipe-figure{min-height:300px}.recipe-summary{min-height:300px;padding:24px 20px 20px}.footer-inner{flex-direction:column;align-items:flex-start;min-height:auto;padding:20px}.recipe-overlay,.dialog-overlay{place-items:end center;padding:0}.recipe-dialog-shell{border-radius:27px 27px 0 0;width:100%;height:96dvh;padding:5px 5px 0}.recipe-dialog{border-radius:22px 22px 0 0;grid-template-columns:1fr;overflow:auto}.recipe-aside{min-height:610px}.recipe-aside .artwork{min-height:350px}.recipe-detail{padding:34px 22px 46px;overflow:visible}.recipe-dialog .dialog-close{position:fixed;top:calc(4dvh + 13px);right:13px}.login-page{grid-template-columns:1fr}.login-story{min-height:300px;padding:26px 22px 32px}.login-story h1{margin-bottom:15px;font-size:42px}.login-story>small{display:none}.login-panel{min-height:calc(100dvh - 334px);padding:54px 18px 28px}.login-panel>.back-link{top:25px;right:22px}.login-form{padding:26px 20px}.admin-page{padding:8px}.admin-topbar{border-radius:18px;min-height:60px;padding:0 13px;top:8px}.admin-topbar .wordmark small,.admin-actions button:first-child{display:none}.admin-workspace-shell{border-radius:24px;margin-top:8px;padding:5px}.admin-workspace{display:block}.admin-sidebar{max-height:none;padding:20px 13px 24px;position:relative;top:auto}.admin-recipe-list{grid-template-columns:1fr 1fr}.admin-editor{margin-top:10px}.recipe-form-shell{border-radius:23px;padding:5px}.recipe-form{border-radius:18px}.form-header{padding:16px 18px;top:76px}.form-header h2{font-size:21px}.form-section{padding:24px 18px 28px}.admin-dialog{width:calc(100% - 10px);max-height:94dvh;padding:27px 19px max(22px, env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.admin-dialog .dialog-close{position:absolute;top:14px;right:14px}.ingredient-labels{display:none}.ingredient-input-row{grid-template-columns:90px minmax(0,1fr) 34px;padding:8px}.ingredient-input-row input:nth-of-type(2){grid-column:2/3}.ingredient-input-row button{grid-area:1/3/3}.ingredient-input-row select{grid-row:1/3}}@media (width<=520px){.wordmark-seal{width:34px;height:34px}.header-inner>.text-link{font-size:9px}.recipe-card{grid-template-columns:1fr}.recipe-figure{min-height:330px}.recipe-summary{min-height:215px}.detail-header dl{grid-template-columns:1fr}.ingredient-list li{grid-template-columns:48px minmax(0,1fr) auto;gap:8px}.admin-recipe-list,.sidebar-actions{grid-template-columns:1fr}.form-header{flex-direction:column;align-items:flex-start}.form-header .primary-button{justify-content:space-between;width:100%}.art-preview{width:100%}.upload-actions,.ingredient-toolbar{flex-direction:column;align-items:flex-start}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
