:root{--ink:#26213b;--cream:#fffaf1;--pink:#ff5f8f;--yellow:#ffd95a;--orange:#ff8a4c;--aqua:#4dd7c8;--purple:#7258d8;--muted:#746f83;--white:#fff;--line:#eadfda;--shadow:0 18px 50px rgba(54,38,71,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px}.brand{text-decoration:none;color:var(--ink);font-size:1.35rem;font-weight:900;display:flex;gap:9px;align-items:center}.brand span{font-size:1.8rem}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{text-decoration:none;color:var(--ink);font-weight:800}.nav-pill{background:var(--ink);color:white!important;padding:12px 17px;border-radius:999px}.nav-pill.active{background:var(--pink)}main{max-width:1180px;margin:auto;padding:0 24px}.hero{min-height:540px;border-radius:36px;background:linear-gradient(135deg,#ffe45f 0%,#ff9c58 42%,#ff6598 100%);padding:68px;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:300px;height:300px;border:60px solid rgba(255,255,255,.18);border-radius:50%;right:-100px;top:-120px}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.13em;font-weight:950}.hero h1,.cupboard-intro h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.94;margin:14px 0 22px;letter-spacing:-.055em}.hero h1 em{font-style:normal;color:white}.hero p{font-size:1.16rem;line-height:1.65;max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{border:0;text-decoration:none;display:inline-block;border-radius:14px;padding:15px 22px;font-weight:900;cursor:pointer;font-size:1rem}.primary{background:var(--ink);color:white}.secondary{background:white;color:var(--ink)}.hero-glass{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transform:rotate(2deg);position:relative;z-index:1}.drink{font-size:6rem}.hero-glass b{font-size:1.3rem}.hero-glass span{color:var(--muted);line-height:1.5}.quick-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 10px 70px;background:white;border-radius:22px;box-shadow:var(--shadow)}.quick-strip div{padding:22px 28px;border-right:1px solid var(--line)}.quick-strip div:last-child{border-right:0}.quick-strip strong,.quick-strip span{display:block}.quick-strip span{color:var(--muted);margin-top:5px}.section{padding-bottom:80px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.section h2,.match-area h2{font-size:2.4rem;margin:7px 0 0;letter-spacing:-.04em}.search{display:flex;background:white;border:2px solid var(--line);border-radius:15px;padding:4px}.search input{border:0;outline:0;background:transparent;padding:11px 14px;min-width:280px;font:inherit}.search button{border:0;background:var(--ink);color:white;border-radius:10px;padding:0 16px;font-weight:800}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.recipe-card{min-height:310px;border-radius:26px;padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);transition:.18s transform}.recipe-card:hover{transform:translateY(-4px)}.card-art{font-size:4.7rem;text-align:right}.card-copy h3{font-size:1.65rem;margin:9px 0}.card-copy p{line-height:1.5;min-height:68px}.tag,.match-badge{display:inline-block;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.7);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.recipe-link{font-weight:900}.lime{background:#bdf45b}.mint{background:#8be5cb}.sunset{background:#ffbf62}.coral{background:#ff8d77}.berry{background:#f48cb7}.amber{background:#e9b96e}.cola{background:#c49a84}.sunrise{background:#ffd878}footer{max-width:1180px;margin:40px auto;padding:28px 24px 50px;color:var(--muted)}.recipe-page,.cupboard-page{padding-top:34px;padding-bottom:80px}.back{text-decoration:none;color:var(--ink);font-weight:850}.recipe-hero{margin-top:20px;border-radius:32px;padding:48px;display:grid;grid-template-columns:220px 1fr;align-items:center}.big-drink{font-size:9rem}.recipe-hero h1{font-size:4.3rem;letter-spacing:-.05em;margin:8px 0 12px}.recipe-hero p{max-width:640px;font-size:1.15rem;line-height:1.6}.recipe-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.panel{background:white;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.panel h2{margin-top:0}.ingredient-list{list-style:none;margin:0;padding:0}.ingredient-list li{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.ingredient-list small{color:var(--muted)}.method{line-height:1.8}.tip{margin-top:24px;background:#fff3ba;border-radius:16px;padding:16px;display:flex;flex-direction:column}.cupboard-intro{padding:35px 0 42px;max-width:800px}.cupboard-intro h1{font-size:4.6rem}.cupboard-intro p{font-size:1.15rem;line-height:1.6}.cupboard-layout{display:grid;grid-template-columns:390px 1fr;gap:28px;align-items:start}.ingredient-picker,.match-area{background:white;border-radius:26px;padding:26px;box-shadow:var(--shadow)}fieldset{border:0;margin:0 0 24px;padding:0}legend{font-weight:950;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips input{position:absolute;opacity:0}.chips span{display:inline-block;background:#f5f0ed;border:2px solid transparent;border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:750;font-size:.9rem}.chips input:checked+span{background:#fff0a8;border-color:var(--orange)}.sticky-button{width:100%;position:sticky;bottom:15px}.match-list{display:grid;gap:12px}.match-card{display:flex;justify-content:space-between;align-items:center;border:2px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;color:var(--ink)}.match-card:hover{border-color:var(--pink)}.match-card h3{font-size:1.35rem;margin:9px 0 5px}.match-card p{margin:0;color:var(--muted)}.match-badge.ready{background:#bdf3c4}.match-badge.one{background:#fff0a8}.match-badge.near{background:#ffd9df}.arrow{font-size:1.7rem}.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}.empty-state div{font-size:4rem}.empty-state h3{color:var(--ink);font-size:1.4rem}.empty{text-align:center;padding:40px}@media(max-width:850px){.site-header{height:auto;padding-top:18px;padding-bottom:18px;align-items:flex-start}.site-header nav{gap:10px;flex-direction:column;align-items:flex-end}.hero{grid-template-columns:1fr;padding:38px 26px}.hero-glass{display:none}.quick-strip,.recipe-grid,.recipe-columns,.cupboard-layout{grid-template-columns:1fr}.quick-strip div{border-right:0;border-bottom:1px solid var(--line)}.section-head{align-items:stretch;flex-direction:column}.search input{min-width:0;width:100%}.search{width:100%}.recipe-hero{grid-template-columns:1fr;padding:30px}.big-drink{font-size:6rem}.recipe-hero h1{font-size:3rem}.cupboard-intro h1{font-size:3.4rem}.ingredient-picker{position:static}}

/* v2 browse filters + cocktail roulette */
.result-count{background:white;border:2px solid var(--line);border-radius:14px;padding:11px 15px;color:var(--muted)}.result-count strong{color:var(--ink)}
.filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr) auto auto;gap:10px;align-items:end;background:white;padding:16px;border-radius:22px;box-shadow:var(--shadow);margin-bottom:24px}.filter-bar>div{min-width:0}.filter-bar label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin:0 0 6px 4px}.filter-bar input,.filter-bar select{width:100%;height:44px;border:2px solid var(--line);border-radius:11px;background:#fff;padding:0 11px;font:inherit;color:var(--ink);outline:none}.filter-bar input:focus,.filter-bar select:focus{border-color:var(--pink)}.filter-submit{height:44px;padding:0 18px}.clear-filters{height:44px;display:flex;align-items:center;padding:0 8px;color:var(--muted);font-weight:800;text-decoration:none}.card-tags{display:flex;gap:6px;flex-wrap:wrap}.tag.soft{background:rgba(255,255,255,.45)}
.purple{background:#c7b9ff}.aqua{background:#8ce8e2}
.roulette-page{padding-top:50px;padding-bottom:80px}.roulette-card{max-width:850px;margin:30px auto 18px;border-radius:38px;padding:60px;box-shadow:var(--shadow);position:relative;overflow:hidden}.roulette-card:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.2);border-radius:50%;right:-80px;top:-90px}.roulette-dice{font-size:5rem;display:block;margin-bottom:16px}.roulette-card h1{font-size:clamp(3.5rem,8vw,6rem);line-height:.95;letter-spacing:-.055em;margin:10px 0 18px;position:relative;z-index:1}.roulette-card p{font-size:1.2rem;line-height:1.6;max-width:620px;position:relative;z-index:1}.roulette-meta{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0;position:relative;z-index:1}.roulette-meta span{background:rgba(255,255,255,.6);padding:8px 12px;border-radius:999px;font-weight:850}.roulette-card .hero-actions{position:relative;z-index:1}.roulette-note{text-align:center;color:var(--muted)}
@media(max-width:1050px){.filter-bar{grid-template-columns:repeat(3,1fr)}.filter-search{grid-column:span 2}}
@media(max-width:700px){.filter-bar{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.filter-submit{width:100%}.roulette-card{padding:34px 24px}.site-header nav a:not(.nav-pill){font-size:.9rem}}

/* v3 accounts, ratings, submissions + Cocktail Passport */
.flash{max-width:1132px;margin:0 auto 18px;padding:13px 18px;border-radius:14px;font-weight:800}.flash.success{background:#c9f5cf}.flash.error{background:#ffd5db}.auth-page{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:45px 24px}.auth-card{width:min(520px,100%);background:white;padding:38px;border-radius:30px;box-shadow:var(--shadow)}.auth-card h1,.form-hero h1,.dashboard-hero h1,.page-title{font-size:clamp(2.6rem,6vw,4.5rem);letter-spacing:-.05em;margin:8px 0 14px}.auth-card>p,.form-hero p{color:var(--muted);line-height:1.65}.stack-form,.submission-form{display:grid;gap:16px}.stack-form label,.submission-form label{font-weight:850}.stack-form input,.submission-form input,.submission-form textarea,.rating-form select,.moderation-actions input{display:block;width:100%;margin-top:7px;border:2px solid var(--line);background:white;border-radius:12px;padding:12px;font:inherit;color:var(--ink);outline:none}.stack-form input:focus,.submission-form input:focus,.submission-form textarea:focus,.rating-form select:focus{border-color:var(--pink)}.form-error{background:#ffd5db;border-radius:13px;padding:13px 16px;margin:16px 0;font-weight:800}.auth-switch{margin-bottom:0}.auth-switch a,.login-panel a,.login-nudge a{color:var(--purple);font-weight:900}.dashboard-page{padding-top:34px;padding-bottom:80px}.dashboard-hero{background:linear-gradient(135deg,#8ce8e2,#ffe45f,#ff8aa8);border-radius:32px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:25px}.dashboard-hero p{max-width:650px}.passport-badge{min-width:180px;background:rgba(255,255,255,.8);border-radius:24px;padding:22px;text-align:center;box-shadow:var(--shadow)}.passport-badge span,.passport-badge strong,.passport-badge small{display:block}.passport-badge span{font-size:3.5rem}.passport-badge strong{font-size:1.1rem;margin:6px}.passport-badge small{color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat-grid a{background:white;text-decoration:none;color:var(--ink);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:2.2rem}.stat-grid span{color:var(--muted);margin-top:4px}.dashboard-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.action-card{background:white;border:2px solid var(--line);border-radius:20px;padding:22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:7px}.action-card:hover{border-color:var(--pink)}.action-card b{font-size:1.25rem}.action-card span{color:var(--muted)}.recipe-rating-summary{margin-top:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.recipe-rating-summary strong{background:rgba(255,255,255,.72);padding:9px 12px;border-radius:999px}.recipe-rating-summary span,.rating-mini span{color:#5c5668}.rating-mini{font-size:.84rem;font-weight:900;margin:2px 0 8px}.community-tools{margin-top:22px;display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:center}.rating-form{display:flex;gap:10px}.rating-form select{margin:0;min-width:150px}.recipe-user-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.recipe-user-actions form{margin:0}.login-panel{background:#fff3ba;border-radius:16px;padding:15px}.form-page{max-width:820px;padding-top:40px;padding-bottom:80px}.form-hero{margin-bottom:28px}.submission-form{background:white;border-radius:28px;padding:30px;box-shadow:var(--shadow)}.submission-form textarea{resize:vertical;line-height:1.5}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.optional{color:var(--muted);font-weight:500}.page-top{padding-top:45px}.passport-heading,.community-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:28px}.passport-heading p,.community-hero p{color:var(--muted);max-width:700px}.passport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.passport-grid a{background:white;border-radius:20px;padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column}.passport-grid a>span{font-size:2.4rem}.passport-grid b{margin:8px 0}.passport-grid small{color:var(--muted)}.submission-list,.moderation-list{display:grid;gap:14px}.submission-list article,.moderation-list article{background:white;border-radius:22px;padding:24px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:20px}.submission-list article h3{font-size:1.4rem;margin:8px 0}.submission-list article p{color:var(--muted)}.status{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:950;border-radius:999px;padding:7px 10px}.status.pending{background:#fff0a8}.status.approved{background:#c9f5cf}.status.rejected{background:#ffd5db}.community-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.community-grid article{background:white;border-radius:26px;padding:28px;box-shadow:var(--shadow)}.community-grid h2{font-size:2rem;margin:7px 0}.community-grid h3{margin-bottom:5px}.community-icon{font-size:3.7rem}.preline{white-space:pre-line}.community-grid blockquote,.moderation-list blockquote{background:#fff3ba;margin:18px 0 0;padding:16px;border-radius:14px}.moderation-list article{display:block}.moderation-list header{display:flex;justify-content:space-between;gap:20px}.moderation-list h2{margin:4px 0}.moderation-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.moderation-actions{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-top:20px}.approve{background:#c9f5cf;color:var(--ink)}.reject{background:#ffd5db;color:var(--ink)}.save-button{border:2px solid var(--line)}.login-nudge{background:white;padding:12px 15px;border-radius:13px}.site-header nav{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:850px){.stat-grid,.passport-grid{grid-template-columns:1fr 1fr}.dashboard-actions,.community-grid,.community-tools{grid-template-columns:1fr}.dashboard-hero,.passport-heading,.community-hero{align-items:flex-start;flex-direction:column}.form-two,.moderation-cols{grid-template-columns:1fr}.moderation-actions{grid-template-columns:1fr}.site-header nav{max-width:70%}}
@media(max-width:540px){.stat-grid,.passport-grid{grid-template-columns:1fr}.rating-form{flex-direction:column}.auth-card,.submission-form{padding:24px}.site-header{display:block}.site-header nav{max-width:none;align-items:flex-start;margin-top:14px}.site-header nav{flex-direction:row}}

/* v4 */
.daily-pick{text-decoration:none;color:var(--ink)}.taste-row{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0 12px}.taste-row span{font-size:.7rem;font-weight:900;background:rgba(255,255,255,.65);padding:5px 8px;border-radius:999px}.filter-bar.v4{grid-template-columns:1.6fr repeat(5,1fr) auto auto}.bar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.bar-stats div{background:white;border-radius:18px;padding:18px;box-shadow:var(--shadow)}.bar-stats strong,.bar-stats span{display:block}.bar-stats strong{font-size:2rem}.bar-stats span{color:var(--muted)}.buy-next{background:linear-gradient(135deg,#fff0a8,#ffd5db);border-radius:24px;padding:24px;margin-bottom:20px}.buy-next h3{font-size:1.5rem;margin:7px 0 16px}.buy-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.buy-grid a{background:rgba(255,255,255,.78);border-radius:14px;padding:13px;text-decoration:none;color:var(--ink)}.buy-grid strong,.buy-grid span{display:block}.buy-grid span{color:var(--muted);font-size:.8rem;margin-top:4px}.match-badge.substitute{background:#c9e9ff}.ingredient-hero{background:linear-gradient(135deg,#8ce8e2,#ffe45f);border-radius:30px;padding:38px;display:flex;align-items:center;gap:25px;margin:18px 0 22px}.ingredient-icon{font-size:5rem}.ingredient-hero h1{font-size:clamp(3rem,7vw,5rem);letter-spacing:-.05em;margin:5px 0}.substitution-panel{margin-bottom:35px}.substitution-panel a,.ingredient-list a{color:var(--purple);text-decoration:none;font-weight:900}.cream{background:#f4e2c6}@media(max-width:1100px){.filter-bar.v4{grid-template-columns:repeat(3,1fr)}.buy-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.bar-stats,.buy-grid{grid-template-columns:1fr}.ingredient-hero{flex-direction:column;align-items:flex-start}.filter-bar.v4{grid-template-columns:1fr 1fr}}

/* v5 autosave, cupboard surprise, homepage community and admin recipe entry */
.autosave-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#d8f7e4;padding:12px 15px;border-radius:13px;font-weight:800}.autosave-note #save-status{margin-left:auto;font-size:.82rem;background:white;padding:5px 9px;border-radius:999px}.autosave-note #save-status.saving{background:#fff0a8}.autosave-note #save-status.error{background:#ffd5db}.surprise-button{background:linear-gradient(135deg,#ff8aa8,#ffe45f);color:var(--ink);box-shadow:var(--shadow)}.login-strip{background:linear-gradient(135deg,#fff4b8,#ffd8e5,#c9f4ef)}.login-strip strong{font-size:1rem}.home-community{padding-top:10px;padding-bottom:75px}.home-community .section-head p{max-width:700px;color:var(--muted);line-height:1.55}.community-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.community-home-grid article{background:white;border-radius:24px;padding:24px;box-shadow:var(--shadow);position:relative}.community-home-grid h3{font-size:1.7rem;margin:8px 0}.community-home-grid p{color:var(--muted);line-height:1.55}.community-home-grid details{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.community-home-grid summary{cursor:pointer;font-weight:900;color:var(--purple)}.community-home-grid h4{margin:15px 0 4px}.community-source{display:inline-block;background:#c9e9ff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.admin-cocktail-form select{display:block;width:100%;margin-top:7px;border:2px solid var(--line);background:white;border-radius:12px;padding:12px;font:inherit;color:var(--ink)}.admin-fieldset{border:2px solid var(--line);border-radius:18px;padding:18px}.admin-fieldset legend{font-weight:950;padding:0 6px}.admin-tastes{margin-top:4px}.ingredient-admin-grid{display:grid;gap:8px}.ingredient-admin-row{display:grid;grid-template-columns:2fr 1fr auto;gap:9px;align-items:center}.ingredient-admin-row select,.ingredient-admin-row input{margin:0!important}.inline-check,.tiny-check{display:flex!important;align-items:center;gap:8px}.inline-check input,.tiny-check input{width:auto!important;margin:0!important}.tiny-check{font-size:.8rem;white-space:nowrap}.field-help{color:var(--muted);margin-top:0}.admin-recipe-page{max-width:900px}@media(max-width:900px){.community-home-grid{grid-template-columns:1fr 1fr}.ingredient-admin-row{grid-template-columns:1fr 1fr}.tiny-check{grid-column:1/-1}}@media(max-width:620px){.community-home-grid{grid-template-columns:1fr}.ingredient-admin-row{grid-template-columns:1fr}.tiny-check{grid-column:auto}.autosave-note #save-status{margin-left:0}.section-head{align-items:flex-start;flex-direction:column}}


/* v6 ingredients directory, sharing, Google sign-in, pagination */
.ingredient-browser-hero{background:linear-gradient(135deg,#ffe45f,#8ce8e2,#ffb5ca);border-radius:32px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:20px}.ingredient-browser-hero h1{font-size:clamp(3rem,6vw,5rem);letter-spacing:-.05em;margin:8px 0 12px}.ingredient-browser-hero p{max-width:720px;color:#524c61;font-size:1.08rem;line-height:1.6}.ingredient-browser-icon{font-size:6rem}.ingredient-search{display:grid;grid-template-columns:1fr 220px auto auto;gap:10px;align-items:center;background:white;border-radius:20px;padding:14px;box-shadow:var(--shadow);margin-bottom:14px}.ingredient-search input,.ingredient-search select{height:46px;border:2px solid var(--line);border-radius:12px;padding:0 13px;font:inherit;color:var(--ink);background:white}.ingredient-search>a{color:var(--muted);font-weight:850;text-decoration:none;padding:10px}.ingredient-result-count{color:var(--muted);margin:18px 0 30px}.ingredient-category{margin-bottom:44px}.section-head.compact{margin-bottom:14px}.section-head.compact h2{font-size:2rem}.section-head.compact>span{color:var(--muted);font-weight:800}.ingredient-directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ingredient-directory-grid>a{background:white;color:var(--ink);text-decoration:none;border:2px solid transparent;border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.ingredient-directory-grid>a:hover{border-color:var(--pink);transform:translateY(-2px)}.ingredient-directory-grid>a>span{font-size:1.7rem}.ingredient-directory-grid strong,.ingredient-directory-grid small{display:block}.ingredient-directory-grid small{color:var(--muted);margin-top:3px}.share-bar{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px}.share-bar>div:first-child{display:flex;flex-direction:column;gap:4px}.share-actions{display:flex;gap:8px;flex-wrap:wrap}.share-actions .button{padding:11px 15px}.google-login-wrap{display:flex;justify-content:center;margin:18px 0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:32px}.pagination a{min-width:42px;height:42px;padding:0 13px;border-radius:12px;background:white;color:var(--ink);text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--shadow)}.pagination a.active{background:var(--ink);color:white}.auth-card code{font-size:.82rem;background:#f3ece8;padding:2px 5px;border-radius:5px}
@media(max-width:950px){.ingredient-directory-grid{grid-template-columns:repeat(2,1fr)}.ingredient-search{grid-template-columns:1fr 1fr}.ingredient-search input{grid-column:1/-1}.share-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.ingredient-directory-grid{grid-template-columns:1fr}.ingredient-search{grid-template-columns:1fr}.ingredient-search input{grid-column:auto}.ingredient-browser-hero{padding:28px;align-items:flex-start}.ingredient-browser-icon{font-size:4rem}.share-actions{width:100%}.share-actions .button{flex:1;text-align:center}}


/* v7 photos, structured submissions, challenges and 12.5 leaderboard */
.recipe-card-photo{height:190px;overflow:hidden;padding:0!important}.recipe-card-photo img,.recipe-photo img,.community-thumb{width:100%;height:100%;object-fit:cover;display:block}.generated-card-art{display:flex;align-items:center;justify-content:center;min-height:190px;font-size:5rem;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.75),transparent 35%)}.recipe-photo{padding:0!important;overflow:hidden;border-radius:24px;min-height:300px}.recipe-photo img{min-height:300px}.generated-cocktail-art{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:8rem;background:radial-gradient(circle,rgba(255,255,255,.6),transparent 58%)}.submission-photo{width:180px;height:180px;object-fit:cover;border-radius:20px;float:right;margin:0 0 16px 18px}.community-thumb{height:180px;border-radius:18px;margin-bottom:15px}.community-thumb.large{height:240px}.mini-ingredients{list-style:none;padding:0;margin:0}.mini-ingredients li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.moderation-note{background:#eef0ff;padding:12px 14px;border-radius:12px;margin-top:14px}.promote{background:var(--purple);color:white;margin-top:14px}.promoted-badge{display:inline-block;background:#c9f5cf;border-radius:999px;padding:8px 12px;font-weight:900;margin-top:14px}.challenge-hero,.leaderboard-hero{background:linear-gradient(135deg,#ffe45f,#ff9c58,#ff8db2);border-radius:32px;padding:42px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:30px}.challenge-hero h1,.leaderboard-hero h1{font-size:clamp(3rem,6vw,5rem);letter-spacing:-.05em;margin:8px 0}.challenge-score{background:white;border-radius:24px;padding:24px;font-size:3rem;font-weight:950;min-width:150px;text-align:center}.challenge-score small{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.challenge-grid article{background:white;border-radius:24px;padding:25px;box-shadow:var(--shadow)}.challenge-grid article.complete{background:linear-gradient(135deg,#ddf8df,#fff)}.challenge-grid h2{font-size:1.8rem;margin:10px 0}.challenge-grid p{color:var(--muted);line-height:1.55}.challenge-icon{font-size:3.5rem}.challenge-note{margin-top:20px}.leader-intro{color:var(--muted)}.leader-section{margin:42px 0}.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.leader-card{background:white;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.leader-card img,.leader-art{width:100%;height:140px;object-fit:cover}.leader-art{display:flex;align-items:center;justify-content:center;font-size:4rem}.leader-card>div:last-child{padding:16px}.leader-card h3{margin:0 0 7px}.leader-card strong,.leader-card span,.leader-card small{display:block}.leader-card span,.leader-card small{color:var(--muted);margin-top:4px}.home-leaders{padding-top:8px}.home-leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home-leader-grid a{background:white;border-radius:18px;padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.home-leader-grid strong,.home-leader-grid span{display:block}.home-leader-grid span{color:var(--purple);font-weight:900;margin-top:6px}@media(max-width:900px){.challenge-grid{grid-template-columns:1fr}.leader-grid,.home-leader-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.challenge-hero,.leaderboard-hero{padding:28px;align-items:flex-start;flex-direction:column}.leader-grid,.home-leader-grid{grid-template-columns:1fr}.submission-photo{float:none;width:100%;height:220px;margin:0 0 16px}}

.submission-list-photo{width:90px;height:90px;object-fit:cover;border-radius:14px;margin-right:14px;flex:0 0 auto}.submission-list article{align-items:center}

/* v7.2 header readability polish */
.site-header{
    min-height:82px;
    height:auto;
    margin:16px auto 20px;
    padding:12px 18px;
    background:rgba(255,255,255,.94);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 10px 30px rgba(54,38,71,.08);
    gap:20px;
    position:relative;
    z-index:20;
}
.site-header .brand{
    flex:0 0 auto;
    white-space:nowrap;
}
.site-header nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}
.site-header nav a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:9px 11px;
    border-radius:11px;
    line-height:1.15;
    white-space:nowrap;
    transition:background .15s ease, color .15s ease, transform .15s ease;
}
.site-header nav a:not(.nav-pill):hover,
.site-header nav a:not(.nav-pill):focus-visible{
    background:#f5f0ed;
    color:var(--purple);
    outline:none;
}
.site-header nav a:focus-visible{
    box-shadow:0 0 0 3px rgba(114,88,216,.2);
}
.site-header .nav-pill{
    padding:10px 15px;
}

@media(max-width:1100px){
    .site-header{
        align-items:flex-start;
    }
    .site-header nav{
        gap:5px;
    }
    .site-header nav a{
        font-size:.9rem;
        padding:8px 9px;
    }
}

@media(max-width:850px){
    .site-header{
        margin:10px 12px 18px;
        padding:14px;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .site-header .brand{
        justify-content:center;
    }
    .site-header nav{
        justify-content:center;
        align-items:center;
        flex-direction:row;
        gap:6px;
    }
    .site-header nav a,
    .site-header nav a:not(.nav-pill){
        font-size:.86rem;
        padding:8px 10px;
        min-height:38px;
        background:#f8f4f1;
    }
    .site-header .nav-pill{
        background:var(--ink)!important;
        color:#fff!important;
    }
}

@media(max-width:520px){
    .site-header nav a{
        flex:1 1 calc(50% - 6px);
        justify-content:center;
        text-align:center;
    }
    .site-header .nav-pill{
        flex-basis:100%;
    }
}

/* v8 members: collections, party planner and shopping lists */
.member-hero{background:linear-gradient(135deg,#fff1a8,#8ce8e2,#ffb5ca);border-radius:32px;padding:42px;margin:22px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:28px}.member-hero h1{font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.05em;margin:8px 0 12px}.member-hero p{max-width:720px;line-height:1.6;color:#514b60}.member-hero-icon{font-size:5.5rem}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 38px}.member-card{background:white;border-radius:22px;padding:22px;box-shadow:var(--shadow);color:var(--ink);text-decoration:none}.member-card h2,.member-card h3{margin:7px 0}.member-card p{color:var(--muted);line-height:1.5}.member-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.member-form{background:white;border-radius:24px;padding:26px;box-shadow:var(--shadow);margin:20px 0}.member-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.member-form label{display:block;font-weight:850}.member-form input,.member-form select,.member-form textarea{width:100%;margin-top:7px;border:2px solid var(--line);border-radius:12px;padding:12px;font:inherit;color:var(--ink);background:white}.member-form textarea{min-height:90px;resize:vertical}.member-form .full{grid-column:1/-1}.collection-list{display:grid;gap:14px}.collection-row{background:white;border-radius:22px;padding:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.collection-row h2{margin:0 0 5px}.collection-row p{margin:0;color:var(--muted)}.collection-count{font-weight:900;color:var(--purple)}.collection-cocktails{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.collection-cocktail{background:white;border-radius:20px;padding:18px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:10px}.collection-cocktail a{text-decoration:none;color:var(--ink);font-weight:900}.inline-form{display:inline}.mini-button{border:0;border-radius:10px;padding:8px 11px;font-weight:850;cursor:pointer;background:#f3ece8;color:var(--ink)}.danger-button{background:#ffe0e4}.party-table{width:100%;border-collapse:collapse;background:white;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.party-table th,.party-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}.party-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.party-table input[type=number]{width:90px;border:2px solid var(--line);border-radius:10px;padding:9px;font:inherit}.party-summary{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.party-summary span{background:white;border-radius:999px;padding:10px 14px;box-shadow:var(--shadow);font-weight:850}.shopping-section{margin:28px 0}.shopping-list{background:white;border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.shopping-item{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 20px;border-bottom:1px solid var(--line);align-items:center}.shopping-item:last-child{border-bottom:0}.shopping-item strong{font-size:1.05rem}.shopping-item small{display:block;color:var(--muted);margin-top:3px}.shopping-qty{font-weight:950;color:var(--purple);text-align:right}.cupboard-owned{opacity:.72;background:#effaf0}.print-note{background:#fff4be;border-radius:16px;padding:15px 18px;line-height:1.5}.recipe-collection-box{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.recipe-collection-box select{min-width:210px;border:2px solid var(--line);border-radius:12px;padding:10px;font:inherit;background:white}.members-only-callout{background:linear-gradient(135deg,#fff3ba,#e5dfff);border-radius:18px;padding:18px;margin-top:16px}.members-only-callout strong{display:block;margin-bottom:5px}.planner-empty{background:white;border-radius:22px;padding:36px;text-align:center;box-shadow:var(--shadow)}
@media(max-width:850px){.member-grid,.collection-cocktails{grid-template-columns:1fr}.member-form-grid{grid-template-columns:1fr}.member-form .full{grid-column:auto}.member-hero{align-items:flex-start;flex-direction:column}.collection-row{grid-template-columns:1fr}.party-table{display:block;overflow-x:auto}}
@media print{.site-header,.member-hero .button,.no-print,footer{display:none!important}body{background:white}.shopping-list,.party-table{box-shadow:none;border:1px solid #ddd}.member-hero{background:white;padding:0;margin:0}.member-hero h1{font-size:2rem}}


/* v9 account, planner, admin and SEO */
.benefit-grid,.profile-grid,.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}.benefit-card>span{font-size:2.5rem}.benefit-card h2{margin:.4rem 0}.danger-zone{border:2px solid #f3a6b2}.danger-button{background:#a92540!important;color:#fff!important}.field-help{color:var(--muted);font-size:.9rem}.share-url{width:100%;border:2px solid var(--line);border-radius:12px;padding:12px;margin:10px 0;font:inherit}.collection-items{display:grid;gap:12px}.collection-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:14px}.collection-item.dragging{opacity:.45}.drag-handle{cursor:grab;font-size:1.5rem}.collection-item a{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}.collection-item small,.admin-table small{display:block;color:var(--muted);margin-top:4px}.purchase-form{margin:0}.purchase-check{border:0;background:transparent;font-size:1.5rem;cursor:pointer}.shopping-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.shopping-item.purchased{opacity:.55;text-decoration:line-through}.admin-search,.bulk-controls,.substitution-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:16px;border-radius:18px;box-shadow:var(--shadow);margin:20px 0}.admin-search input,.bulk-controls input,.bulk-controls select,.substitution-form input,.substitution-form select,.admin-table select{border:2px solid var(--line);border-radius:10px;padding:10px;font:inherit}.admin-search input{flex:1;min-width:250px}.admin-table-wrap{overflow:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow)}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.admin-actions{display:flex;gap:7px}.admin-actions form{margin:0}.bulk-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bulk-list label{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:8px}.bulk-list small{grid-column:2;color:var(--muted)}.ingredient-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ingredient-card{display:flex;flex-direction:column;background:#fff;padding:18px;border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.ingredient-card span{color:var(--muted);margin-top:4px}.member-note{margin:30px 0}
@media(max-width:850px){.benefit-grid,.profile-grid,.manage-grid,.bulk-list,.ingredient-card-grid{grid-template-columns:1fr}.admin-actions{min-width:180px}.shopping-item{grid-template-columns:auto 1fr}.shopping-qty{grid-column:2}.site-header nav{max-width:75vw}}
@media print{.site-header,.no-print,footer,.purchase-form{display:none!important}body{background:white}.shopping-section,.panel{box-shadow:none!important}.shopping-item{break-inside:avoid}}


/* v10 onboarding + first-party analytics */
.onboarding-page{max-width:1050px;margin:0 auto;padding:30px 20px 70px}.onboarding-hero{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:linear-gradient(135deg,#ffe45f,#ff9c58 45%,#ff6598);padding:36px;border-radius:32px;box-shadow:var(--shadow)}.onboarding-hero h1{font-size:clamp(2.1rem,5vw,4rem);margin:.2em 0}.onboarding-progress{height:12px;background:rgba(255,255,255,.55);border-radius:999px;overflow:hidden;max-width:520px;margin:20px 0 8px}.onboarding-progress>div{height:100%;background:var(--ink);border-radius:999px;transition:width .3s}.onboarding-grid{display:grid;gap:16px;margin:25px 0}.onboarding-step{display:grid;grid-template-columns:auto 1fr;gap:18px;background:#fff;border:2px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.onboarding-step.done{border-color:var(--aqua);background:linear-gradient(135deg,#fff,#effffb)}.step-state{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-weight:900;font-size:1.2rem}.onboarding-step.done .step-state{background:var(--aqua)}.onboarding-step h2{margin:.25rem 0}.onboarding-skip{text-align:center;margin-top:25px}.onboarding-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(90deg,#fff3af,#ffe4ed);border:2px solid #f2d780;border-radius:20px;padding:16px 20px;margin:0 0 20px}.onboarding-banner div{display:flex;flex-direction:column;gap:3px}
.analytics-page{max-width:1180px;margin:0 auto;padding:28px 20px 70px}.analytics-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:22px 0}.analytics-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow);display:flex;flex-direction:column}.analytics-stat-grid span,.analytics-stat-grid small{color:var(--muted)}.analytics-stat-grid strong{font-size:1.9rem;margin:4px 0}.analytics-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.analytics-bars{height:205px;display:flex;align-items:flex-end;gap:8px;padding-top:15px;border-bottom:2px solid var(--line);overflow-x:auto}.analytics-day{min-width:27px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.analytics-day .bar{width:min(24px,80%);min-height:3px;background:linear-gradient(180deg,var(--pink),var(--orange));border-radius:7px 7px 0 0}.analytics-day small{text-align:center;font-size:.68rem;color:var(--muted);padding-top:5px}.feature-usage{display:grid;gap:9px}.feature-usage>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:8px 0}.feature-usage span{color:var(--muted)}.analytics-list{padding-left:22px;margin-bottom:0}.analytics-list li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.analytics-list li::marker{font-weight:900}.analytics-list a{color:var(--ink);font-weight:800}.analytics-list span:last-child{color:var(--muted)}.admin-attention{display:grid;gap:9px}.admin-attention>a{display:grid;grid-template-columns:55px 1fr;align-items:center;background:var(--cream);padding:12px;border-radius:14px;text-decoration:none;color:var(--ink)}.admin-attention>a strong{font-size:1.3rem}
@media(max-width:1000px){.analytics-stat-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.analytics-two,.onboarding-hero{grid-template-columns:1fr}.analytics-stat-grid{grid-template-columns:repeat(2,1fr)}.onboarding-banner{align-items:flex-start;flex-direction:column}.onboarding-hero .member-hero-icon{display:none}}@media(max-width:480px){.analytics-stat-grid{grid-template-columns:1fr}.feature-usage>div{flex-direction:column;gap:2px}}



/* v10.2 compact navigation */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-header{padding:14px 18px 0;background:transparent}
.site-header-inner{max-width:1180px;margin:0 auto;min-height:68px;display:flex;align-items:center;gap:20px;padding:10px 14px 10px 18px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 34px rgba(54,38,71,.10);position:relative;z-index:100}
.compact-brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-weight:950;font-size:1.08rem;text-decoration:none;color:var(--ink);white-space:nowrap}.compact-brand>span:first-child{font-size:1.45rem}
.compact-nav{display:flex;align-items:center;gap:4px;margin-left:auto;min-width:0}
.compact-nav>a,.nav-menu-trigger{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:850;text-decoration:none;border-radius:12px;padding:10px 11px;cursor:pointer;white-space:nowrap}
.compact-nav>a:hover,.compact-nav>a:focus-visible,.nav-menu-trigger:hover,.nav-menu-trigger:focus-visible{background:#fff3d7;outline:none}
.compact-nav .nav-cupboard{background:linear-gradient(135deg,var(--yellow),#ffe991);box-shadow:inset 0 0 0 1px rgba(38,33,59,.08)}
.compact-nav .nav-cupboard:hover,.compact-nav .nav-cupboard:focus-visible{background:linear-gradient(135deg,#ffe367,#ffd95a)}
.nav-menu{position:relative}.nav-menu-trigger{display:flex;align-items:center;gap:6px}
.nav-account-trigger{background:var(--ink);color:#fff;padding:7px 10px 7px 7px;margin-left:3px}.nav-account-trigger:hover,.nav-account-trigger:focus-visible{background:#3a3358}
.nav-account-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--orange));color:#fff;font-size:.82rem;font-weight:950}
.nav-account-name{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:285px;max-width:340px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 55px rgba(38,33,59,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:120}
.nav-dropdown-right{left:auto;right:0}.nav-menu.open>.nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown>a{display:grid;grid-template-columns:30px 1fr;align-items:start;gap:9px;padding:10px 11px;border-radius:12px;text-decoration:none;color:var(--ink)}
.nav-dropdown>a:hover,.nav-dropdown>a:focus-visible{background:var(--cream);outline:none}.nav-dropdown>a>span:first-child{font-size:1.05rem;line-height:1.35}
.nav-dropdown strong{display:block;font-size:.92rem}.nav-dropdown small{display:block;color:var(--muted);font-size:.76rem;line-height:1.25;margin-top:2px}
.nav-dropdown-divider{height:1px;background:var(--line);margin:6px 4px}
.nav-toggle{display:none;margin-left:auto;border:0;background:var(--ink);color:#fff;width:42px;height:42px;border-radius:12px;font-size:1.25rem;cursor:pointer}
@media(max-width:1050px){.compact-nav>a,.nav-menu-trigger{padding-left:8px;padding-right:8px;font-size:.92rem}.nav-account-name{max-width:85px}}
@media(max-width:900px){
.compact-header{padding:10px 10px 0}.site-header-inner{min-height:62px;padding:9px 10px 9px 14px;border-radius:18px;align-items:center}.nav-toggle{display:grid;place-items:center}
.compact-nav{position:absolute;left:10px;right:10px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;gap:3px;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 55px rgba(38,33,59,.18);max-height:calc(100vh - 100px);overflow:auto}
.compact-nav.mobile-open{display:flex}.compact-nav>a,.nav-menu-trigger{width:100%;justify-content:space-between;text-align:left;padding:11px 12px;font-size:1rem}.compact-nav .nav-cupboard{order:-1}.nav-account-trigger{margin:3px 0 0}.nav-account-name{max-width:none;flex:1;text-align:left}.nav-menu{width:100%}
.nav-dropdown,.nav-dropdown-right{position:static;min-width:0;max-width:none;width:100%;box-shadow:none;border:0;border-radius:12px;background:#fffaf1;padding:0 6px;margin:3px 0;opacity:1;visibility:visible;transform:none;display:none}.nav-menu.open>.nav-dropdown{display:block}.nav-dropdown>a{padding:10px}}



/* v10.3 Free + Premium membership */
.membership-page{max-width:1080px;margin:0 auto;padding:30px 20px 70px}
.membership-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;background:linear-gradient(135deg,#ffe45f 0%,#ff9c58 45%,#ff6598 100%);padding:38px;border-radius:32px;box-shadow:var(--shadow)}
.membership-hero h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98;margin:.18em 0}
.premium-price-card{width:220px;background:#fff;border-radius:26px;padding:24px;box-shadow:0 20px 45px rgba(38,33,59,.18);display:grid;text-align:center}
.premium-price-card>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.premium-price-card strong{font-size:4rem;line-height:1;color:var(--ink);margin-top:8px}
.premium-price-card b{font-size:1.05rem}.premium-price-card small{margin-top:10px;color:var(--muted)}
.premium-required{display:inline-block;background:#fff;padding:10px 14px;border-radius:12px;font-weight:900;margin-top:12px}
.membership-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}
.membership-card{background:#fff;border:2px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.membership-card.premium{border-color:#9b82ef;background:linear-gradient(160deg,#fff 0%,#f8f4ff 100%);position:relative}
.membership-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.membership-badge.free{background:#ece8e3;color:var(--ink)}
.membership-badge.premium{background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff}
.membership-price{font-size:2rem;font-weight:950;margin:.3rem 0 1rem}.membership-price small{font-size:.85rem;color:var(--muted)}
.membership-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:9px}.membership-list li{line-height:1.35}
.premium-active{background:#e6fff7;border:1px solid #8ae0c9;border-radius:14px;padding:13px;font-weight:900}
.premium-coming:disabled{opacity:.72;cursor:not-allowed}
.premium-philosophy{margin-top:22px}
.membership-dashboard-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-radius:18px;margin-bottom:18px;border:1px solid var(--line)}
.membership-dashboard-strip.free{background:#fff}.membership-dashboard-strip.premium{background:linear-gradient(100deg,#f4efff,#fff0f6)}
.membership-dashboard-strip>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.membership-dashboard-strip>div>span:last-child{color:var(--muted)}
.action-card.premium-locked{background:linear-gradient(135deg,#fff,#f7f3ff);border:1px dashed #a793e5}
.nav-membership-state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 10px}.nav-membership-state>a{font-size:.75rem;font-weight:900;color:var(--purple)}
.membership-profile{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.membership-profile h2{margin:.4rem 0}.membership-admin-cell{display:grid;gap:5px;min-width:220px}.admin-inline-form{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tiny-number{width:65px!important;border:1px solid var(--line);border-radius:8px;padding:7px}
.premium-crosslink{margin:20px 0;background:linear-gradient(135deg,#fff,#f4efff)}
@media(max-width:760px){.membership-hero,.membership-columns{grid-template-columns:1fr}.premium-price-card{width:auto}.membership-dashboard-strip,.membership-profile{align-items:flex-start;flex-direction:column}}


/* v10.4 premium community */
.social-community-hero{display:grid;grid-template-columns:1fr auto;align-items:center}
.community-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.featured-feed{grid-template-columns:repeat(4,minmax(0,1fr))}
.discussion-feed-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:var(--shadow);overflow:hidden}.discussion-feed-card>img{width:100%;max-height:240px;object-fit:cover;border-radius:14px;margin:10px 0}.discussion-feed-meta{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}.discussion-feed-meta time{margin-left:auto;color:var(--muted);font-size:.76rem}.discussion-feed-card>small{color:var(--muted)}
.compact-community-recipes{grid-template-columns:repeat(3,minmax(0,1fr))}
.variation-section,.recipe-discussion{margin-top:22px}.variation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.variation-card{border:1px solid var(--line);border-radius:18px;padding:15px;background:var(--cream)}.variation-card>img{width:100%;height:180px;object-fit:cover;border-radius:13px}.variation-card details ul{list-style:none;padding:0}.variation-card details li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}
.discussion-compose{display:grid;gap:9px;border:2px solid var(--line);border-radius:18px;padding:14px;background:#fffaf1;margin:15px 0}.discussion-compose textarea,.discussion-reply-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px;font:inherit;resize:vertical}.discussion-compose>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.discussion-photo{font-size:.82rem;font-weight:850;cursor:pointer}.discussion-photo input{display:block;margin-top:5px;max-width:220px}
.discussion-gate,.empty-discussion{background:var(--cream);border-radius:14px;padding:13px;margin:12px 0}.discussion-thread{display:grid;gap:10px;margin-top:12px}.discussion-post{display:grid;grid-template-columns:42px 1fr;gap:10px;border-top:1px solid var(--line);padding:15px 0}.discussion-post.reply{margin-left:48px}.discussion-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua),var(--yellow));font-weight:950}.discussion-content header{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.discussion-content header time{color:var(--muted);font-size:.74rem}.discussion-content p{white-space:normal}.tiny-role{font-size:.62rem;border-radius:999px;padding:3px 6px;background:#ece8e3;font-weight:900;text-transform:uppercase}.tiny-role.premium{background:#ede7ff;color:var(--purple)}
.discussion-image{max-width:min(100%,560px);max-height:500px;object-fit:cover;border-radius:15px;margin:7px 0}.discussion-actions{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.82rem}.discussion-actions form{margin:0}.text-button{border:0;background:transparent;padding:0;color:var(--purple);font:inherit;font-weight:850;cursor:pointer}.discussion-reply-form,.discussion-report-form{margin-top:9px;display:grid;grid-template-columns:1fr auto;gap:8px}.discussion-report-form{grid-template-columns:auto 1fr auto}.discussion-report-form select,.discussion-report-form input{border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}.discussion-reply-form[hidden],.discussion-report-form[hidden]{display:none}
.mod-item{border-top:1px solid var(--line);padding:15px 0}.mod-item:first-of-type{border-top:0}.mod-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mod-actions form{margin:0}.mod-actions input{border:1px solid var(--line);padding:8px;border-radius:9px}
@media(max-width:950px){.featured-feed{grid-template-columns:repeat(2,1fr)}.variation-grid,.compact-community-recipes{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.social-community-hero{grid-template-columns:1fr}.community-feed,.featured-feed,.variation-grid,.compact-community-recipes{grid-template-columns:1fr}.discussion-post.reply{margin-left:22px}.discussion-compose>div,.discussion-actions{align-items:flex-start;flex-wrap:wrap}.discussion-report-form,.discussion-reply-form{grid-template-columns:1fr}}


/* v11 Cocktail Cupboard brand */
.brand-mark{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:linear-gradient(135deg,var(--yellow),var(--orange) 55%,var(--pink));
    box-shadow:inset 0 0 0 1px rgba(38,33,59,.08);
    font-size:1.35rem;
}
.compact-brand{
    letter-spacing:-.025em;
}
.compact-brand>span:last-child{
    background:linear-gradient(90deg,var(--ink) 0 56%,var(--purple) 56%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.cc-brand-panel{
    background:linear-gradient(135deg,#fff8c9,#ffe2e9 55%,#eafcf8);
}


/* v11.2 Stripe Checkout */
.premium-checkout-form,.premium-billing-form{margin:12px 0 0}
.premium-checkout-form .button{width:100%;justify-content:center}
.stripe-success-hero{margin-top:18px}
