html,body,#root{width:100%;min-height:100%}body{margin:0}.homePage{color:#111;background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.homeContent{width:min(720px,100%)}.homeContent h1{color:#4293f5;margin:0 0 12px;font-size:2rem;line-height:1.1}.homeContent p{color:#555;margin:0 0 20px}.homeContent a{color:#111;text-decoration:underline}.homeImage{border-radius:10px;width:240px;max-width:100%;height:auto;margin:0 auto 24px;display:block}.coffeePage{color:#241812;background:#f8f0e7;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:48px 24px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.coffeePage *{box-sizing:border-box}.coffeePage a{color:inherit;text-decoration:none}.coffeeHero{text-align:center;width:min(900px,100%)}.coffeeEyebrow{text-transform:uppercase;letter-spacing:.14em;text-indent:.14em;color:#7c5c44;text-align:center;margin:0 auto 12px;font-size:.8rem}.coffeeHero h1{letter-spacing:-.06em;color:#b18365;max-width:760px;margin:0 auto 24px;font-size:clamp(2.5rem,8vw,6rem);line-height:.95}.coffeeHero p{color:#5f4a3d;max-width:620px;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.6}.coffeePage .coffeeButton{color:#fff7ef;background:#2c1a12;border-radius:999px;margin-top:24px;padding:12px 18px;font-weight:700;display:inline-block}.coffeeCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px;display:grid}.coffeeCard{background:#fffaf5;border:1px solid #dac7b8;border-radius:24px;padding:24px;transition:transform .15s,box-shadow .15s;display:block}.coffeeCard:hover{transform:translateY(-3px);box-shadow:0 16px 30px #2c1a121f}.coffeeCard h2{color:#b18365;margin:0 0 8px;font-size:1.3rem}.coffeeCard p{margin-bottom:0}@media (width<=700px){.coffeePage{align-items:flex-start;padding:32px 18px}.coffeeCardGrid{grid-template-columns:1fr}}.journalPage{box-sizing:border-box;align-items:flex-start;height:100dvh;min-height:0;overflow:hidden}.journalShell{width:min(980px,100%);margin:0 auto}.journalHeader{text-align:left;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;display:flex}.journalHeader .coffeeEyebrow{text-align:left;text-indent:.14em;margin-left:0;margin-right:0}.journalHeader h1{letter-spacing:-.06em;color:#b18365;max-width:720px;margin:0;font-size:clamp(2.5rem,8vw,5.5rem);line-height:.9}.journalHeader p{color:#5f4a3d;max-width:620px;margin:24px 0 0;font-size:1.1rem;line-height:1.6}.brewList{scrollbar-width:none;gap:16px;max-height:65vh;padding:4px 4px 16px;display:grid;overflow-y:auto}.brewCard{background:#fffaf5;border:1px solid #dac7b8;border-radius:24px;overflow:hidden;box-shadow:0 12px 24px #2c1a120f}.brewCardContent{padding:22px}.brewCardMain{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.brewDate{color:#8d6a52;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem}.brewCard h2{color:#2c1a12;margin:0;font-size:1.6rem;line-height:1.1}.brewMeta{color:#7c5c44;margin:8px 0 0}.brewRating{color:#2c1a12;text-align:center;background:#f1dfcf;border-radius:18px;flex:none;min-width:64px;padding:10px 12px}.brewRating span{font-size:1.6rem;font-weight:800;line-height:1}.brewRating small{color:#7c5c44;margin-top:2px;display:block}.brewRecipeSummary{color:#2c1a12;margin:18px 0 0;font-weight:700}.brewPreview{color:#5f4a3d;margin:10px 0 0;line-height:1.6}.brewCardActions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.brewSectionButton{color:#7c4f34;font:inherit;cursor:pointer;background:#fff4ea;border:1px solid #dac7b8;border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:700}.brewSectionButton:hover{background:#f1dfcf}.brewDetails{background:#fff4ea;border-top:1px solid #ead9cb;padding:20px 22px 22px}.brewDetails div{min-width:0}.brewDetails dt{color:#8d6a52;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.75rem}.brewDetails dd{color:#2c1a12;margin:0;font-weight:700}.tastingNotes{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tastingNotes span{color:#fff7ef;background:#2c1a12;border-radius:999px;padding:7px 10px;font-size:.9rem}.tastingRatings{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.tastingRating{min-width:0}.tastingRatingHeader{color:#2c1a12;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.9rem;display:flex}.tastingRatingHeader span{color:#7c5c44;font-weight:700}.tastingRatingHeader strong{color:#2c1a12}.tastingRatingTrack{background:#ead9cb;border-radius:999px;height:8px;overflow:hidden}.tastingRatingFill{border-radius:inherit;background:#b18365;height:100%}.coffeeInfoGrid,.recipeInfoGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.recipeSteps{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.recipeSteps li{background:#fffaf5;border-radius:14px;grid-template-columns:72px 72px 1fr;align-items:baseline;gap:12px;padding:10px 12px;display:grid}.recipeStepTime,.recipeStepWater{color:#8d6a52;font-weight:800}.recipeStepAction{color:#2c1a12}.brewFullNotes{color:#5f4a3d;margin:0;line-height:1.6}@media (width<=760px){.journalPage{height:auto;min-height:100dvh;overflow:visible}.journalHeader{margin-bottom:24px;display:block}.journalHeader h1{font-size:clamp(2.4rem,14vw,4rem)}.journalHeader p{margin-top:16px}.journalHeader .coffeeButton{margin-top:24px}.brewList{max-height:none;overflow-y:visible}.brewCardMain{gap:16px}.coffeeInfoGrid,.recipeInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipeSteps li{grid-template-columns:56px 64px 1fr;gap:8px}.tastingRatings{grid-template-columns:1fr}}
