/*! 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)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cocktail-card{grid-template-rows:auto minmax(178px,auto);height:auto}.cocktail-card>.sketch{aspect-ratio:1;width:100%}.sketch img{aspect-ratio:3/2;width:300%;height:auto}.sheet-hero{grid-template-columns:1fr 1fr;height:auto}.sheet-hero>.sketch{aspect-ratio:1;width:100%}@media (width<=560px){.nav-shell,.content-shell{width:calc(100% - 24px)}.cards{grid-template-columns:1fr}.cocktail-card{grid-template-rows:auto minmax(170px,auto)}}:root{--ink:#151615;--paper:#f2f0eb;--ivory:#fbfaf7;--wine:#681f31;--red:#a7453f;--gold:#bb9a68;--sage:#5f776d;--muted:#72736f;--line:#dcd8d0;--soft:#e9e6df;--display:var(--font-geist-sans),"Noto Sans SC","Microsoft YaHei",sans-serif;--editorial:"Iowan Old Style","Baskerville",Georgia,"Songti SC",serif}body{color:var(--ink);font-family:var(--display);letter-spacing:-.01em;background:#efede8 linear-gradient(90deg,#0000 0 calc(100% - 1px),#00000008 calc(100% - 1px)) 0 0/8.333vw 100%}.nav-shell,.content-shell{width:min(1520px,100% - 64px)}.topbar{box-shadow:none;-webkit-backdrop-filter:blur(24px)saturate(1.25);backdrop-filter:blur(24px)saturate(1.25);background:#efede8e0;border-bottom:1px solid #1c1d1b18}.nav-top{min-height:76px}.brand{font:650 16px var(--display);letter-spacing:.01em}.brand>span{background:var(--ink);color:#fff;border:0;width:38px;height:38px;font-size:15px}.brand small{font:600 8px var(--font-geist-mono),monospace;letter-spacing:.22em;color:#81827d}.recent>b,.base-index>b{font:600 9px var(--font-geist-mono),monospace;letter-spacing:.16em}.recent button{background:#ffffff80;border-color:#2526241c;gap:18px;padding:9px 13px;font-size:11px;box-shadow:inset 0 1px #fff}.recent button:hover{color:var(--ink);background:#fff;border-color:#25262444}.admin-link{font:600 9px var(--font-geist-mono),monospace;letter-spacing:.12em;color:var(--ink);border-color:#25262455}.nav-tools{border-color:#25262414;min-height:64px}.base-index button{padding:9px 14px;font-weight:550}.base-index button.active{background:var(--ink);box-shadow:none}.search{background:#ffffffa6;border-color:#2526241f;height:44px;box-shadow:0 7px 24px #00000008,inset 0 1px #fff}.search>span{color:var(--ink)}.search kbd{color:#6d6e69;background:#e8e5df}.list-head{align-items:end;margin-bottom:42px}.list-head span{font:650 10px var(--font-geist-mono),monospace;letter-spacing:.22em;color:var(--wine)}.list-head h1{font:540 clamp(48px,5.2vw,78px)/1.03 var(--display);letter-spacing:-.065em;margin:13px 0 0}.list-head h1:after{background:var(--wine);opacity:.35;width:48px}.list-head p{letter-spacing:.02em;font-size:11px}.list-head p b{font:500 28px var(--editorial);color:var(--ink);margin-right:6px;font-style:italic}.cards{gap:22px}.cocktail-card{background:#f9f8f5;border:1px solid #24252113;border-radius:18px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;display:block;overflow:hidden;box-shadow:inset 0 1px #fff,0 9px 32px #1e201c0b}.card-visual{aspect-ratio:1;background:#f6f5f1;position:relative;overflow:hidden}.card-visual>.sketch{border:0;width:100%;height:100%}.card-visual>.sketch:after{background:linear-gradient(#0000 66%,#1516150b);border:0;inset:0}.sketch img{filter:saturate(.78)contrast(.98);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.cocktail-card:hover .sketch img{transform:scale(1.025)}.card-number,.base-chip{z-index:2;font:650 8px var(--font-geist-mono),monospace;letter-spacing:.13em;position:absolute;top:15px}.card-number{color:#6f706c;left:16px}.base-chip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f9f8f5d9;border:1px solid #fff;border-radius:99px;padding:7px 10px;right:15px;box-shadow:0 6px 20px #1b1d1920}.card-title small,.sheet-title small{font:650 9px var(--font-geist-mono),monospace;letter-spacing:.18em;color:#747570}.card-copy h2{font:560 clamp(25px,2.2vw,32px)/1.15 var(--display);letter-spacing:-.045em;margin:8px 0 0}.card-copy .strength{align-self:end}.strength>span{font:550 8px var(--font-geist-mono),monospace;letter-spacing:.08em;margin-bottom:8px}.strength>div{gap:3px}.strength i{background:#d9d6cf;border-radius:5px;width:15px;height:3px}.card-copy>button{color:#767772;font:600 10px var(--display);letter-spacing:.02em;border-color:#24252114;padding:16px 0 0}.card-copy>button b{color:var(--ink);font-size:14px;font-weight:400;transition:transform .2s}.cocktail-card:hover .card-copy>button b{transform:translate(3px,-3px)}.modal{-webkit-backdrop-filter:blur(16px)saturate(.8);backdrop-filter:blur(16px)saturate(.8);background:#0d0e0dc7;padding:26px}.recipe-sheet{background:var(--ivory);border-radius:22px;grid-template-columns:minmax(370px,42%) minmax(0,58%);width:min(1120px,100%);height:min(780px,94vh);max-height:94vh;display:grid;overflow:hidden;box-shadow:0 36px 120px #0009}.close{width:42px;height:42px;color:var(--ink);font:300 26px/1 var(--display);background:#fff;border:1px solid #2526241c;top:18px;right:18px;box-shadow:0 8px 28px #00000012}.recipe-identity{color:#fff;background:#222522;flex-direction:column;min-height:0;padding:24px;display:flex;position:relative;overflow:hidden}.recipe-identity:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b344a66,#0000 68%);height:56%;position:absolute;inset:auto -25% -38% 15%}.identity-top{z-index:2;font:600 8px var(--font-geist-mono),monospace;letter-spacing:.16em;color:#ffffff8c;justify-content:space-between;display:flex;position:relative}.identity-top b{color:#d0b58a;font-weight:500}.recipe-identity>.sketch{aspect-ratio:1;background:#f5f4f0;width:calc(100% + 48px);margin:10px -24px 0}.recipe-identity>.sketch:after{background:linear-gradient(#0000 68%,#222522 100%);border:0;inset:0}.recipe-identity .sheet-title{z-index:2;border:0;margin-top:auto;padding:20px 8px 8px;position:relative}.recipe-identity .sheet-title small{color:#d7c09b}.recipe-identity .sheet-title h2{font:540 clamp(39px,4vw,60px)/1.02 var(--display);letter-spacing:-.065em;margin:9px 0 22px}.identity-meta{gap:8px;display:flex}.identity-meta span{font:550 9px var(--font-geist-mono),monospace;letter-spacing:.07em;color:#ffffffc7;border:1px solid #ffffff24;border-radius:99px;padding:8px 11px}.recipe-content{background:#fbfaf7;padding:44px 50px 54px;overflow:auto}.recipe-intro{border-bottom:1px solid #24252117;padding:5px 0 34px}.recipe-intro>span{font:650 9px var(--font-geist-mono),monospace;letter-spacing:.2em;color:var(--wine)}.recipe-intro p{font:400 17px/1.65 var(--display);letter-spacing:-.025em;color:#656661;margin:17px 0 0}.serve-grid{background:0 0;border:0;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0 0;display:grid}.serve-grid>div{background:#f0eee8;border-radius:12px;padding:18px 19px}.serve-grid span{font:600 8px var(--font-geist-mono),monospace;letter-spacing:.13em;margin-bottom:8px}.serve-grid b{font-size:13px;font-weight:590}.sheet-section{border:0;padding:38px 0 0}.section-label{gap:14px;margin-bottom:24px}.section-label>span{background:var(--ink);color:#fff;width:34px;height:34px;font:550 10px var(--editorial);border:0;font-style:italic}.section-label small{font:600 8px var(--font-geist-mono),monospace;letter-spacing:.18em;color:#9a9b96;margin-bottom:3px;display:block}.section-label h3{font:590 24px var(--display);letter-spacing:-.035em}.ingredient-row{border-color:#24252115;grid-template-columns:58px minmax(0,1fr) auto;min-height:54px}.ingredient-row .kind{font:650 8px var(--font-geist-mono),monospace;letter-spacing:.05em;border-radius:99px;margin-right:14px}.ingredient-row b{font-size:13px;font-weight:560}.ingredient-row em{font:500 11px var(--font-geist-mono),monospace;color:#6d6e69}.kind-基酒 .kind{background:var(--wine)}.kind-配料 .kind{background:var(--sage)}.kind-装饰 .kind{color:#7b5d35;border-color:#b28c57}.method-section{padding-bottom:4px}.steps li{border-color:#24252115;grid-template-columns:40px 1fr;gap:15px;padding:18px 0}.steps li>b{width:29px;height:29px;font:500 9px var(--font-geist-mono),monospace;color:var(--wine);border:1px solid #24252126;border-radius:50%;place-items:center;display:grid}.steps p{color:#3c3d39;font-size:13px;line-height:1.85}footer{border-color:#24252117;padding:30px 0;font-size:9px}.empty{background:#f9f8f5;border:0;border-radius:18px}@media (width<=900px){.nav-shell,.content-shell{width:calc(100% - 40px)}.recipe-sheet{grid-template-columns:40% 60%}.recipe-content{padding:38px 32px 48px}.recipe-identity{padding:20px}.recipe-identity>.sketch{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}.sheet-title h2{font-size:42px}}@media (width<=680px){body{background-size:25vw 100%}.nav-shell,.content-shell{width:calc(100% - 24px)}.recipe-area{padding:52px 0 80px}.list-head{margin-bottom:28px;display:block}.list-head h1{font-size:47px}.list-head p{margin-top:16px}.cards{grid-template-columns:1fr}.cocktail-card{border-radius:15px}.modal{place-items:end center;padding:0}.recipe-sheet{border-radius:20px 20px 0 0;width:100%;height:96vh;max-height:96vh;display:block;overflow:auto}.close{position:fixed;top:calc(4vh + 14px);right:14px}.recipe-identity{min-height:auto;padding:20px}.recipe-identity>.sketch{aspect-ratio:1.2;width:calc(100% + 40px);margin:12px -20px 0}.recipe-identity .sheet-title{padding:18px 4px 12px}.recipe-identity .sheet-title h2{margin-bottom:18px;font-size:43px}.recipe-content{padding:32px 22px 46px;overflow:visible}.serve-grid{grid-template-columns:1fr 1fr}.sheet-section{padding-top:34px}.ingredient-row{grid-template-columns:54px minmax(0,1fr) auto}}@media (prefers-reduced-motion:reduce){.cocktail-card,.sketch img,.card-copy>button b{transition:none}}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),320px));justify-content:start;align-items:start}.card-visual .sketch:not(.uploaded-art) img{transform-origin:0 0;top:6%;left:6%;transform:scale(.88)}.card-visual .sketch.art-1:not(.uploaded-art) img{left:-82%}.card-visual .sketch.art-2:not(.uploaded-art) img{left:-170%}.card-visual .sketch.art-3:not(.uploaded-art) img{top:-82%}.card-visual .sketch.art-4:not(.uploaded-art) img{top:-82%;left:-82%}.card-visual .sketch.art-5:not(.uploaded-art) img{top:-82%;left:-170%}.cocktail-card:hover .card-visual .sketch:not(.uploaded-art) img{transform:scale(.88)}.uploaded-art img.custom-art,.admin-thumb img.custom-art,.art-preview img.custom-art{object-fit:contain;max-width:100%;padding:7%;display:block;filter:none!important;width:100%!important;height:100%!important;position:static!important;transform:none!important}.art-upload{background:#f0eee8;border-radius:14px;grid-template-columns:180px 1fr;gap:24px;margin:26px 0;padding:20px;display:grid}.art-preview{aspect-ratio:1;background:#fff;border-radius:10px;width:180px;position:relative;overflow:hidden}.art-preview img{width:300%;max-width:none;height:200%;position:absolute;top:0;left:0}.art-upload h3,.ingredient-head h3{font:590 22px var(--display);letter-spacing:-.035em;margin:5px 0}.art-upload p{color:var(--muted);margin:8px 0 14px;font-size:11px;line-height:1.65}.art-select{max-width:250px}.upload-button{background:var(--ink);cursor:pointer;border-radius:8px;margin-top:12px;padding:10px 13px;color:#fff!important;width:auto!important;font:600 10px var(--display)!important;letter-spacing:.02em!important;display:inline-flex!important}.upload-button input{display:none}.remove-upload{color:var(--wine);background:0 0;border:0;margin-left:9px;font-size:10px}.ingredient-editor{margin-top:28px}.ingredient-head{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.ingredient-head button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 11px;font-size:10px}.ingredient-columns,.ingredient-input-row{grid-template-columns:110px minmax(180px,1fr) 150px 34px;gap:8px;display:grid}.ingredient-columns{padding:0 2px 7px}.ingredient-columns span{font:600 8px var(--font-geist-mono),monospace;letter-spacing:.1em;color:var(--muted)}.ingredient-input-row{margin-bottom:8px}.ingredient-input-row select,.ingredient-input-row input{min-width:0}.ingredient-input-row button{border:1px solid var(--line);color:var(--wine);background:#fff;border-radius:7px;font-size:18px}@media (width<=680px){.cards,.art-upload{grid-template-columns:1fr}.art-preview{width:100%;max-width:240px}.ingredient-columns{display:none}.ingredient-input-row{grid-template-columns:92px minmax(0,1fr) 32px}.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}.ingredient-editor .ingredient-input-row{background:#f0eee8;border-radius:10px;padding:10px}}main .cocktail-card{height:auto;display:block}main .cocktail-card .card-visual{aspect-ratio:1;width:100%}main .card-visual .sketch:not(.uploaded-art){width:88%;height:88%;position:absolute;inset:6%}main .card-visual .sketch:not(.uploaded-art) img.sprite-art,main .recipe-identity .sketch:not(.uploaded-art) img.sprite-art{--art-shift-x:0%;object-fit:contain;width:100%;height:100%;transform:translateX(var(--art-shift-x));top:0;left:0}main .sketch.art-0:not(.uploaded-art) img.sprite-art{--art-shift-x:-7%}main .sketch.art-2:not(.uploaded-art) img.sprite-art{--art-shift-x:8%}main .sketch.art-3:not(.uploaded-art) img.sprite-art{--art-shift-x:-7%}main .sketch.art-5:not(.uploaded-art) img.sprite-art{--art-shift-x:12%}main .cocktail-card:hover .card-visual img.sprite-art{transform:translateX(var(--art-shift-x))}main .modal .recipe-dialog{width:min(1120px,100%);height:min(780px,94vh);max-height:94vh;position:relative}main .modal .recipe-dialog>.recipe-sheet{width:100%;height:100%;max-height:none}main .modal .recipe-dialog>.close{z-index:5;position:absolute;top:18px;right:18px}@media (width<=680px){main .modal{place-items:end center;padding:0}main .modal .recipe-dialog{width:100%;height:96vh;max-height:96vh}main .modal .recipe-dialog>.close{top:14px;right:14px}}:root{--ink:#241e1b;--paper:#f4f0e7;--ivory:#fbf8f1;--wine:#7c2435;--red:#a84834;--gold:#b18b54;--sage:#728275;--muted:#817871;--line:#d9d1c4;--soft:#e9e2d6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);background-image:radial-gradient(#7c24350a 1px,#0000 1px);background-size:18px 18px;margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button,a{color:inherit}.nav-shell,.content-shell{width:min(1180px,100% - 40px);margin:auto}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f0e7f5;position:sticky;top:0;box-shadow:0 8px 28px #39281e0a}.nav-top{align-items:center;gap:36px;min-height:78px;display:flex}.brand{letter-spacing:.08em;flex:none;align-items:center;gap:11px;font:700 16px Georgia,Songti SC,serif;text-decoration:none;display:flex}.brand>span{border:1px solid var(--wine);width:37px;height:37px;color:var(--wine);border-radius:50%;place-items:center;display:grid}.brand small{letter-spacing:.18em;color:var(--muted);margin-top:4px;font:8px monospace;display:block}.recent{align-items:center;gap:7px;min-width:0;margin-left:auto;display:flex}.recent>b,.base-index>b{letter-spacing:.14em;color:var(--muted);white-space:nowrap;margin-right:5px;font:700 9px monospace}.recent button{border:1px solid var(--line);background:var(--ivory);cursor:pointer;white-space:nowrap;border-radius:99px;gap:14px;padding:8px 11px;font-size:11px;transition:all .2s;display:flex}.recent button:hover{border-color:var(--wine);color:var(--wine)}.recent button span{color:var(--red)}.recent em{color:#9c958f;font-size:11px;font-style:normal}.admin-link{letter-spacing:.08em;color:var(--wine);border-bottom:1px solid var(--wine);white-space:nowrap;padding:5px 0;font:700 9px monospace;text-decoration:none}.nav-tools{border-top:1px solid var(--line);align-items:center;gap:28px;min-height:60px;display:flex}.base-index{align-items:center;gap:5px;display:flex;overflow:auto}.base-index button{cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:99px;padding:8px 12px;font-size:11px}.base-index button.active{background:var(--wine);color:#fff;box-shadow:0 3px 10px #7c243526}.search{background:var(--ivory);border:1px solid var(--line);border-radius:99px;align-items:center;gap:9px;width:min(365px,100%);height:42px;margin-left:auto;padding:0 13px;display:flex;box-shadow:inset 0 1px #fff}.search>span{color:var(--wine);font-size:21px}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.search kbd{background:var(--soft);border-radius:99px;padding:4px 7px;font:10px monospace}.recipe-area{padding:62px 0 90px}.list-head{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.list-head span{letter-spacing:.2em;color:var(--wine);font:700 9px monospace}.list-head h1{letter-spacing:-.045em;margin:10px 0 0;font:500 clamp(42px,5vw,68px) Georgia,Songti SC,serif}.list-head h1:after{content:"";background:var(--gold);vertical-align:middle;width:38px;height:1px;margin-left:17px;display:inline-block}.list-head p{color:var(--muted);letter-spacing:.05em;font-size:11px}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cocktail-card{background:var(--ivory);border:1px solid var(--line);cursor:pointer;border-radius:3px;outline:none;grid-template-rows:61% 39%;height:500px;transition:all .28s;display:grid;overflow:hidden;box-shadow:0 12px 35px #3f2f2210}.cocktail-card:hover,.cocktail-card:focus{border-color:#b8aa9a;transform:translateY(-7px);box-shadow:0 22px 45px #3f2f2220}.sketch{background:#fff;position:relative;overflow:hidden}.sketch:after{content:"";pointer-events:none;border:1px solid #c8bba51c;position:absolute;inset:12px}.sketch img{filter:saturate(.8)contrast(.96);width:300%;max-width:none;height:200%;position:absolute;top:0;left:0}.art-1 img{left:-100%}.art-2 img{left:-200%}.art-3 img{top:-100%}.art-4 img{top:-100%;left:-100%}.art-5 img{top:-100%;left:-200%}.cocktail-card>.sketch{border-bottom:1px solid var(--line)}.card-copy{grid-template-rows:1fr auto;grid-template-columns:1fr auto;gap:10px 17px;padding:22px 23px 17px;display:grid}.card-copy small,.sheet-title small{letter-spacing:.2em;color:var(--wine);font:700 9px monospace}.card-copy h2{margin:5px 0;font:500 29px Georgia,Songti SC,serif}.strength{align-self:center}.strength>span{letter-spacing:.12em;color:var(--muted);margin-bottom:7px;font:8px monospace;display:block}.strength>div{gap:3px;display:flex}.strength i{background:#ddd6cb;width:17px;height:4px;display:block}.strength i.on{background:var(--wine)}.strength>b{color:var(--muted);margin-top:6px;font:9px monospace;display:block}.card-copy>button{border:0;border-top:1px solid var(--line);text-align:left;letter-spacing:.1em;cursor:pointer;color:var(--muted);background:0 0;grid-column:1/-1;justify-content:space-between;padding:12px 0 0;font:700 10px monospace;display:flex}.card-copy>button span{color:var(--wine)}.empty{text-align:center;background:var(--ivory);border:1px solid var(--line);color:var(--muted);padding:70px}footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.04em;padding:25px 0;font-size:9px;line-height:1.7}footer span{float:right;color:var(--wine)}.modal{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d1413d6;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.recipe-sheet{background:var(--paper);border-radius:3px;width:min(760px,100%);max-height:94vh;position:relative;overflow:auto;box-shadow:0 30px 100px #0008}.close{border:1px solid var(--line);background:var(--ivory);cursor:pointer;z-index:2;border-radius:50%;width:38px;height:38px;font-size:25px;line-height:1;position:absolute;top:15px;right:17px}.sheet-hero{background:var(--ivory);border-bottom:1px solid var(--line);grid-template-columns:54% 46%;height:325px;display:grid}.sheet-hero>.sketch{min-width:0}.sheet-title{border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:38px;display:flex}.sheet-title h2{margin:9px 0 28px;font:500 50px Georgia,Songti SC,serif}.serve-grid{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.serve-grid>div{background:var(--paper);padding:19px 27px}.serve-grid span{letter-spacing:.15em;color:var(--muted);margin-bottom:6px;font:8px monospace;display:block}.serve-grid b{font-size:13px}.sheet-section{border-bottom:1px solid var(--line);padding:30px 34px}.section-label{align-items:center;gap:11px;margin-bottom:20px;display:flex}.section-label span{border:1px solid var(--wine);width:25px;height:25px;color:var(--wine);border-radius:50%;place-items:center;font:9px monospace;display:grid}.section-label h3{margin:0;font:500 22px Georgia,Songti SC,serif}.ingredient-table{border-top:1px solid var(--ink)}.ingredient-row{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr auto;align-items:center;min-height:46px;font-size:12px;display:grid}.ingredient-row .kind{letter-spacing:.08em;text-align:center;border-radius:99px;margin-right:13px;padding:6px 4px;font:700 8px monospace}.kind-基酒 .kind{background:var(--wine);color:#fff}.kind-配料 .kind{background:var(--sage);color:#fff}.kind-装饰 .kind{border:1px solid var(--gold);color:#87683e}.ingredient-row em{color:var(--muted);font:11px monospace}.steps{margin:0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line);grid-template-columns:40px 1fr;gap:13px;padding:15px 0;display:grid}.steps li>b{color:var(--wine);font:10px Georgia}.steps p{margin:0;font-size:13px;line-height:1.75}.admin-loading{place-items:center;min-height:100vh;font:14px Georgia;display:grid}.login-page{background:linear-gradient(135deg,#281a1d,#6b2030);place-items:center;min-height:100vh;padding:25px;display:grid}.login-card{background:var(--ivory);width:min(430px,100%);padding:42px 44px 46px;box-shadow:0 30px 100px #0006}.login-card>a{color:var(--muted);font-size:11px;text-decoration:none}.login-mark{border:1px solid var(--wine);width:48px;height:48px;color:var(--wine);border-radius:50%;place-items:center;margin:38px 0 18px;display:grid}.login-card>small,.recipe-form small,.admin-list small{letter-spacing:.18em;color:var(--wine);font:700 9px monospace}.login-card h1{margin:8px 0 12px;font:500 45px Georgia,Songti SC,serif}.login-card p{color:var(--muted);margin-bottom:28px;font-size:12px;line-height:1.7}.login-card form{gap:16px;display:grid}.login-card label,.recipe-form label{letter-spacing:.08em;color:var(--muted);gap:7px;font:700 10px monospace;display:grid}.login-card input,.recipe-form input,.recipe-form select,.recipe-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:0;background:#fff;outline:none;padding:11px 12px;font:12px Arial}.login-card input:focus,.recipe-form input:focus,.recipe-form select:focus,.recipe-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7c243510}.login-card form>button{background:var(--wine);color:#fff;text-align:left;cursor:pointer;border:0;justify-content:space-between;margin-top:7px;padding:14px 17px;display:flex}.form-error{color:#8d2634;background:#f4dddd;padding:10px 12px;font-size:11px}.admin-page{background:#ede8de;min-height:100vh}.admin-head{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.admin-head>div{align-items:center;gap:22px;display:flex}.admin-head a{font:600 16px Georgia;text-decoration:none}.admin-head span{color:#fff9;border-left:1px solid #fff3;padding-left:20px;font:9px monospace}.admin-head button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff5;padding:7px 11px;font-size:10px}.admin-shell{grid-template-columns:390px 1fr;min-height:calc(100vh - 68px);display:grid}.admin-list{background:var(--ivory);border-right:1px solid var(--line);padding:28px}.admin-list-title{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.admin-list-title h1{margin:5px 0 0;font:500 31px Georgia,Songti SC,serif}.admin-list-title button,.form-head button{background:var(--wine);color:#fff;cursor:pointer;border:0;padding:10px 13px;font-size:10px}.admin-rows{gap:8px;display:grid}.admin-rows article{border:1px solid var(--line);cursor:pointer;background:#fff;grid-template-columns:70px 1fr auto;align-items:center;gap:13px;padding:8px;display:grid}.admin-rows article.selected{border-color:var(--wine);box-shadow:inset 3px 0 var(--wine)}.admin-thumb{background:#fff;width:70px;height:70px;position:relative;overflow:hidden}.admin-thumb img{width:300%;max-width:none;height:200%;position:absolute;top:0;left:0}.admin-rows h2{margin:3px 0;font:500 17px Georgia,Songti SC,serif}.admin-rows div>span{color:var(--muted);font-size:9px}.admin-rows article>button{color:#a68f88;cursor:pointer;background:0 0;border:0;font-size:9px}.editor{padding:34px;overflow:auto}.editor-empty{text-align:center;min-height:70vh;color:var(--muted);place-content:center;display:grid}.editor-empty>b{color:var(--wine);font-size:32px}.editor-empty h2{margin:14px 0 8px;font:500 26px Georgia}.editor-empty p{font-size:12px}.recipe-form{background:var(--ivory);max-width:900px;padding:34px;box-shadow:0 14px 45px #35291f0e}.form-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:24px;padding-bottom:22px;display:flex}.form-head h2{margin:6px 0 0;font:500 31px Georgia,Songti SC,serif}.form-head button:disabled{opacity:.5}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;display:grid}.recipe-form label.wide{margin-top:20px}.recipe-form label>small{letter-spacing:0;color:var(--muted);font-weight:400}.recipe-form textarea{resize:vertical;line-height:1.6}@media (width<=850px){.nav-top{padding:14px 0;display:block}.recent{margin-top:12px;overflow:auto}.admin-link{position:absolute;top:24px;right:20px}.nav-tools{padding:10px 0;display:block}.base-index{padding-bottom:8px}.search{width:100%;margin:0}.cards{grid-template-columns:repeat(2,1fr)}.sheet-hero{height:290px}.sheet-title{padding:25px}.sheet-title h2{font-size:40px}.admin-shell{grid-template-columns:1fr}.admin-list{border-right:0;border-bottom:1px solid var(--line)}.editor{padding:20px}}@media (width<=560px){.nav-shell,.content-shell{width:calc(100% - 24px)}.recent>b{display:none}.recent button{padding:7px 9px}.base-index b{display:none}.list-head{display:block}.list-head p{margin-top:10px}.cards{grid-template-columns:1fr}.cocktail-card{height:470px}.sheet-hero{height:auto;display:block}.sheet-hero>.sketch{border-bottom:1px solid var(--line);height:250px}.sheet-title{border-left:0}.sheet-title h2{margin-bottom:18px;font-size:39px}.serve-grid{grid-template-columns:1fr}.sheet-section{padding:25px 20px}.modal{padding:7px}.recipe-sheet{max-height:98vh}.ingredient-row{grid-template-columns:50px 1fr auto}footer span{float:none;margin-top:6px;display:block}.login-card{padding:32px 26px}.admin-head{padding:0 16px}.admin-head span{display:none}.admin-list{padding:20px 14px}.editor{padding:14px}.recipe-form{padding:24px 18px}.form-grid{grid-template-columns:1fr}.admin-rows article{grid-template-columns:60px 1fr auto}.admin-thumb{width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.cocktail-card,.recent button{transition:none}}
