*,:before,:after{box-sizing:border-box}:root{color:#242720;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f6f7f2;--paper-deep:#eef1ea;--ink:#242720;--muted:#71776f;--sage:#687c6d;--sage-soft:#e1e8df;--wine:#824b58;--line:#d6dbd2;--white:#fffefa;--radius:8px;background:#f6f7f2;font-family:Kaiti SC,STKaiti,KaiTi,Segoe Print,cursive}html{background:var(--paper)}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent;color:inherit}.app-shell{background:var(--paper);width:min(100%,560px);min-height:100svh;margin:0 auto}.skip-link{z-index:100;clip:rect(0 0 0 0);background:var(--ink);color:#fff;width:1px;height:1px;padding:0;position:absolute;top:8px;left:-9999px;overflow:hidden}.skip-link:focus-visible{clip:auto;width:auto;height:auto;padding:10px 14px;left:12px;overflow:visible}.topbar{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--line), transparent 20%);background:color-mix(in srgb, var(--paper), transparent 6%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;min-height:72px;padding:12px 22px;display:flex;position:sticky;top:0}.topbar>div{gap:2px;display:grid}.topbar strong{font-size:20px;font-weight:600}.eyebrow{color:var(--sage);letter-spacing:0;font-family:Segoe Print,cursive;font-size:10px}.language-placeholder{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);border-radius:50%;place-items:center;font-size:14px;display:grid}.page-content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page{min-height:calc(100svh - 150px);padding:30px 22px 52px}.page-heading{margin-bottom:26px}.page-heading h1,.recipe-title h1,.recommendation-copy h1{letter-spacing:0;margin:6px 0 8px;font-size:34px;font-weight:500;line-height:1.15}.page-heading p,.recipe-title p{color:var(--muted);margin:0;line-height:1.7}.bottom-nav{z-index:30;width:min(100%,560px);padding:9px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--paper), transparent 3%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{min-height:48px;color:var(--muted);place-items:center;gap:3px;font-size:12px;text-decoration:none;display:grid}.bottom-nav a.active{color:var(--sage)}.inspiration-hero{padding-top:10px}.inspiration-hero h1{letter-spacing:0;max-width:360px;margin:12px 0;font-size:38px;font-weight:500;line-height:1.3}.inspiration-hero p{max-width:320px;color:var(--muted);line-height:1.7}.inspiration-hero>.artwork{aspect-ratio:auto;height:190px;margin:10px auto 8px}.inspiration-hero>.artwork img{object-position:center 53%}.inspiration-empty{border-top:1px solid var(--line);padding:24px 0 8px}.inspiration-empty h2,.inspiration-no-match h2{margin:0 0 8px;font-size:21px;font-weight:500}.inspiration-empty p,.inspiration-no-match p{color:var(--muted);margin:0;line-height:1.7}.inspiration-empty .primary-action{margin-top:22px}.inspiration-no-match{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:26px;padding:18px 0}.inspiration-no-match a{color:var(--sage);margin-top:12px;display:inline-block}.entry-actions{border-top:1px solid var(--line);display:grid}.entry-actions button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px 1fr 24px;align-items:center;min-height:70px;padding:0 4px;display:grid}.entry-actions button>span{color:var(--muted);font-family:Segoe Print,cursive;font-size:12px}.entry-actions button strong{font-size:21px;font-weight:500}.entry-actions button.selected{color:var(--sage)}.choice-section{margin-top:34px}.choice-section h2,.tutorial-section h2,.profile-section h2{margin:0 0 16px;font-size:20px;font-weight:500}.choice-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.choice-grid button{background:var(--paper);cursor:pointer;border:0;min-height:48px}.choice-grid button.selected{background:var(--sage);color:#fff}.theme-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.theme-list button{border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;min-height:62px;padding:8px;display:flex}.theme-list button.selected{border-color:var(--sage);background:var(--sage-soft)}.theme-list button>span:last-child{gap:2px;display:grid}.theme-list small{color:var(--muted);font-size:11px}.theme-swatch{opacity:.8;filter:saturate(.8);border-radius:48% 52% 46% 54%;flex:0 0 34px;width:34px;height:42px}.strength-picker{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;display:grid}.strength-picker legend{margin-bottom:10px}.strength-picker label{min-width:0}.strength-picker input{opacity:0;pointer-events:none;position:absolute}.strength-picker span{background:var(--paper);cursor:pointer;place-items:center;min-height:48px;display:grid}.strength-picker input:checked+span{background:var(--sage);color:#fff}.primary-action,.secondary-action{border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 20px;text-decoration:none;display:inline-flex}.primary-action{border:1px solid var(--sage);background:var(--sage);color:#fff;width:100%;margin-top:30px}.primary-action:disabled{opacity:.38;cursor:not-allowed}.secondary-action{border:1px solid var(--line);background:0 0}.text-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;text-decoration:underline}.recommendation-view{text-align:center}.recommendation-view .artwork{width:min(100%,330px);max-height:300px;margin:10px auto 0}.recommendation-copy p{color:var(--sage)}.recommendation-copy h1{font-size:40px}.recommendation-copy>span{color:var(--muted);font-family:Segoe Print,cursive}.recommendation-copy blockquote{max-width:350px;color:var(--muted);margin:20px auto;line-height:1.7}.recommendation-actions{gap:10px;display:grid}.recommendation-actions .primary-action{margin-top:8px}.artwork{aspect-ratio:4/5;width:100%;position:relative;overflow:hidden}.artwork img{object-fit:contain;width:100%;height:100%;display:block}.artwork-fallback{background:var(--paper);width:100%;height:100%;position:relative;overflow:hidden}.paint{opacity:.42;filter:blur(8px);background:var(--art-tint);position:absolute}.paint-one{border-radius:44% 56% 37% 63%;inset:22% 20% 18% 18%;transform:rotate(-9deg)}.paint-two{opacity:.22;border-radius:60% 40% 52% 48%;inset:42% 13% 13% 48%;transform:rotate(13deg)}.glass-sketch{color:#282c268c;font-size:60px;position:absolute;inset:43% 0 auto}.stat-line,.reason-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.stat-line strong{color:var(--ink);font-weight:500}.search-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);align-items:center;gap:10px;min-height:48px;margin:22px 0;padding:0 14px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.library-controls{grid-template-columns:minmax(0,1fr) 116px;gap:10px;margin:22px 0;display:grid}.library-controls .search-field{margin:0}.collection-field{min-width:0;display:flex}.collection-field select{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);width:100%;min-height:48px;color:var(--ink);cursor:pointer;outline:0;padding:0 12px}.collection-field select:focus-visible{border-color:var(--sage)}.ingredient-group{margin-top:30px}.ingredient-group h2{color:var(--sage);margin:0 0 12px;font-size:17px;font-weight:500}.check-grid{grid-template-columns:1fr 1fr;gap:1px 18px;display:grid}.check-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:24px 1fr;align-items:center;gap:8px;min-height:54px;display:grid;position:relative}.check-row input{opacity:0;position:absolute}.check-mark{border:1px solid #aeb5ac;width:20px;height:20px}.check-row input:checked+.check-mark{border-color:var(--sage);background:var(--sage);box-shadow:inset 0 0 0 4px var(--paper)}.check-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:1px;font-family:Segoe Print,cursive;font-size:10px;display:block}.recipe-list{display:grid}.recipe-row{border-bottom:1px solid var(--line);position:relative}.recipe-row>a{grid-template-columns:76px 1fr;align-items:center;gap:14px;min-height:112px;padding:8px 48px 8px 0;text-decoration:none;display:grid}.recipe-row .artwork{width:76px}.recipe-row h2{margin:0;font-size:20px;font-weight:500}.recipe-row p{color:var(--muted);margin:2px 0 7px;font-family:Segoe Print,cursive;font-size:12px}.recipe-row small{color:var(--sage)}.icon-button{width:44px;height:44px;color:var(--wine);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.recipe-row>.icon-button{position:absolute;top:32px;right:0}.recipe-toolbar{justify-content:space-between;align-items:center;display:flex}.recipe-toolbar a{place-items:center;width:44px;height:44px;display:grid}.recipe-page>.artwork{width:230px;height:250px;margin:-8px auto 0}.recipe-title{margin:-12px 0 24px}.recipe-title h1{font-size:40px}.reason-line{color:var(--sage);margin-bottom:24px}.adjust-note{min-height:26px;color:var(--muted);text-align:center;margin:12px 0 26px}.tutorial-section{margin:34px 0}.ingredient-list{margin:0}.ingredient-list>div{border-bottom:1px dotted #bac0b8;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.ingredient-list dt,.ingredient-list dd{margin:0}.ingredient-list dd{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.method-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.method-grid>div{text-align:center;gap:6px;padding:18px 10px;display:grid}.method-grid small,.garnish small{color:var(--muted)}.method-grid strong{font-weight:500}.steps{counter-reset:step;padding:0;list-style:none}.steps li{counter-increment:step;min-height:50px;padding:10px 0 16px 42px;line-height:1.7;position:relative}.steps li:before{content:counter(step);color:var(--wine);font-family:Segoe Print,cursive;font-size:22px;position:absolute;top:7px;left:0}.garnish,.variation-note,.missing-note{border-top:1px solid var(--line);padding:18px 0}.garnish p,.variation-note p,.missing-note p{margin-bottom:0;line-height:1.7}.variation-note{color:var(--sage)}.missing-note{color:var(--wine)}.profile-section{border-top:1px solid var(--line);margin:34px 0;padding-top:22px}.profile-section h2{align-items:center;gap:8px;display:flex}.profile-section>p{color:var(--muted);line-height:1.7}.simple-list{display:grid}.simple-list a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;text-decoration:none;display:flex}.simple-list small{color:var(--muted);font-family:Segoe Print,cursive}.danger{color:var(--wine)}.empty-copy{color:var(--muted)}.disclaimer{font-size:14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=370px){.page,.topbar{padding-inline:16px}.library-controls,.theme-list,.check-grid{grid-template-columns:1fr}.inspiration-hero h1{font-size:34px}}@media (width>=800px){body{background:#e8ebe5}.app-shell{box-shadow:0 0 0 1px #d5dad2}}
