/* Sprig v2 — The Living Experience. A tactile forest-green and apricot interface. */
:root { --sprig-deep:#123b2d; --sprig-forest:#1b523e; --sprig-apricot:#f3bd90; --sprig-cream:#fffaf1; --sprig-ink:#243a31; }
html { scroll-behavior:smooth; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { transition:transform .19s cubic-bezier(.2,1.8,.35,1),box-shadow .23s ease,background-color .23s ease, border-color .23s ease, color .23s ease; }
button:active:not(:disabled) { transform:scale(.966); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #edb176!important; outline-offset:3px; }
.btn.primary { background:var(--sprig-forest); box-shadow:0 5px 12px rgba(24,80,57,.11); }
.btn.primary:hover { background:#23654a; transform:translateY(-2px);box-shadow:0 10px 23px rgba(24,80,57,.19); }
.btn.light:hover, .btn.soft:hover { transform:translateY(-2px);box-shadow:0 9px 20px rgba(25,56,41,.1); }
.btn.apricot { background:#f5d0ac;color:#284337; border:1px solid #f1bb91; }
.btn.apricot:hover { background:#f0bc91; transform:translateY(-2px); }
.recipe-card { transition:transform .35s cubic-bezier(.18,.8,.25,1),box-shadow .35s ease; overflow:hidden; }
.recipe-card:hover { transform:translateY(-7px);box-shadow:0 22px 42px rgba(31,62,44,.14); }
.recipe-card .card-image img { transition:transform .65s cubic-bezier(.16,1,.3,1); }
.recipe-card:hover .card-image img { transform:scale(1.045); }
.recipe-card .save-circle { backdrop-filter:blur(10px); }
.recipe-card .save-circle:hover { transform:scale(1.12); }
.save-circle.saved { background:#ffdebb!important; color:#9b512c!important; animation:sprig-heart .38s cubic-bezier(.18,1.9,.3,1); }
@keyframes sprig-heart {0%{transform:scale(.68)}60%{transform:scale(1.24)}100%{transform:scale(1)}}
/* Navigation replaces text immediately; JS animates only the incoming content. */
.workspace > .page,.workspace > .narrow,.recipe-reader,
.page .recipe-card,.page .stat,.page .cook-tile,.page .lab-version {animation:none}
.tabs { scrollbar-width:none; }
.tabs::-webkit-scrollbar { display:none; }
.tabs button { white-space:nowrap; }
.tree-board { cursor:grab; overscroll-behavior:contain;scroll-behavior:auto; touch-action:pan-x pan-y; border-radius:16px; }
.tree-board.is-dragging { cursor:grabbing;user-select:none; }
.tree-stage { transition:transform .34s cubic-bezier(.2,.7,.2,1);transform-origin:top left; }
.tree-card { transition:transform .26s ease,border-color .24s ease,box-shadow .3s ease,opacity .24s ease; }
.tree-card:hover { transform:translateY(-3px); }
.tree-card.selected { box-shadow:0 0 0 4px rgba(235,174,121,.28),0 16px 36px rgba(17,53,39,.16);animation:sprig-selected .5s cubic-bezier(.2,.85,.3,1); }
@keyframes sprig-selected{from{filter:brightness(1.15)}to{filter:brightness(1)}}
.modal-overlay.living-overlay { padding:14px; backdrop-filter:blur(6px); }
.living-sheet { width:min(100%,590px);max-height:min(90dvh,900px);overflow:auto;border-radius:28px;padding:35px!important;box-shadow:0 24px 80px rgba(14,47,35,.26);animation:sprig-sheet .35s cubic-bezier(.2,.9,.25,1) both; }
@keyframes sprig-sheet { from{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1} }
.living-sheet-kicker {color:#ba784b;font-size:11px;letter-spacing:.17em;font-weight:800;margin-bottom:12px;}
.living-sheet h2 { font-size:clamp(29px,4vw,42px);line-height:1.1;margin:0 38px 12px 0; }
.living-sheet-copy { color:#647066;line-height:1.58; margin-bottom:22px; }
.living-field-heading {font-size:13px;font-weight:800;color:#244a38;margin:20px 0 10px;}
.living-field-heading small {font-weight:400;color:#8a918a;}
.outcome-choices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.outcome-choice input,.log-traits input {position:absolute;opacity:0;pointer-events:none;}
.outcome-choice span { display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;min-height:96px;font-size:25px;background:#f9f7f0;border:1.5px solid #e7e9df;border-radius:17px;cursor:pointer;transition:.23s; }
.outcome-choice span strong {font-size:12px;color:#3d5c4b;}
.outcome-choice input:checked+span {border-color:#dc966b;background:#fff0de;box-shadow:0 0 0 3px #ffe5ce;transform:translateY(-2px);}
.log-traits {display:flex;flex-wrap:wrap;gap:9px;}
.log-traits span {cursor:pointer;padding:9px 13px;border-radius:100px;background:#f4f6ef;color:#4a6755;border:1px solid #e1e9de;font-size:12px;font-weight:700;display:block;}
.log-traits input:checked+span {background:#235c43;color:#fff;border-color:#235c43;box-shadow:0 4px 10px #204f402b;}
.living-note-label {display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:750;color:#355844;margin:15px 0;}
.living-note-label input,.living-note-label select,.living-note-label textarea {width:100%;padding:12px 14px;border:1px solid #dbe6da;background:#fcfdf9;border-radius:13px;outline:0;min-width:0;color:#2b4939;font:inherit;font-weight:450;}
.living-note-label input:focus,.living-note-label textarea:focus,.living-note-label select:focus {border-color:#d89968;}
.living-two-fields {display:grid;grid-template-columns:1fr 1.4fr;gap:14px;}
.living-photo-upload {width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px dashed #9db8a4;border-radius:12px;color:#285d43;font-size:13px;font-weight:700;cursor:pointer;}
.living-photo-upload input {display:none;}
.living-photo-preview {width:100%;max-height:160px;object-fit:cover;border-radius:12px;margin-top:12px;}
.living-sheet-actions {display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px;}
.living-privacy-note {color:#8a968b;font-size:11px;margin:15px 0 0;}
.living-logs-page {margin:30px 0 50px;}
.living-logs-hero {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px;border-radius:22px;background:linear-gradient(130deg,#edf4e9,#fef8ed);border:1px solid #e2e8da;}
.living-logs-hero h2 {font-size:36px;margin:7px 0;}.living-logs-hero p{color:#6a786b;max-width:510px;line-height:1.6;}
.living-log-stats {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 20px;}
.living-log-stats>div {padding:22px;background:#fff;border:1px solid #e6eade;border-radius:18px;display:flex;flex-direction:column;gap:5px;}
.living-log-stats strong {font-size:26px;color:#214b39;}.living-log-stats span{font-size:12px;color:#7b847a;}
.living-logs-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.living-log-entry {padding:20px;background:white;border:1px solid #e4e9df;border-radius:20px;}
.living-log-top {display:flex;justify-content:space-between;gap:7px;align-items:center;margin-bottom:13px;}
.living-log-top>span:first-child{display:flex;align-items:center;gap:8px;color:#28553c;font-size:13px;}
.outcome-chip {padding:7px 10px;border-radius:20px;background:#fff0e1;color:#945e3a;font-size:11px;font-weight:700;}
.living-log-entry .log-photo {width:100%;height:180px;object-fit:cover;border-radius:14px;margin-bottom:10px;}
.living-log-tags{display:flex;flex-wrap:wrap;gap:5px;}.living-log-tags span {background:#eaf4eb;color:#3c6b50;padding:5px 9px;font-size:11px;border-radius:20px;}
.living-log-entry p {font-size:14px;line-height:1.65;color:#485b4c;margin:12px 0;}.living-log-entry>small{color:#8b9b8c;}
.living-empty {grid-column:1/-1;display:flex;align-items:center;flex-direction:column;text-align:center;padding:50px 20px;background:white;border:1px dashed #baceb9;border-radius:22px;}
.living-empty>span {font-size:46px;color:#d69d70;}.living-empty h3{margin:0 0 8px;font-size:27px;}.living-empty p{color:#788577;margin:0 0 22px;}
.living-taste-card {background:#fff;border:1px solid #e8ebdf;border-radius:24px;padding:26px 30px;margin:24px 0;box-shadow:0 9px 25px rgba(29,67,43,.04);}
.living-taste-head {display:flex;align-items:start;justify-content:space-between;gap:10px;}.living-taste-head h2 {margin:10px 0;font-size:32px;}.living-taste-head p{font-size:13px;color:#819081;max-width:640px;line-height:1.55;}.living-taste-count{font-size:11px;background:#fef0e1;color:#965932;padding:9px 14px;border-radius:100px;white-space:nowrap;}
.taste-chart {display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;margin:20px 0;}.taste-bar{display:grid;grid-template-columns:65px 1fr 26px;align-items:center;text-align:left;gap:9px;padding:7px;border-radius:9px;color:#41614e;font-size:13px;}.taste-bar:hover,.taste-bar.active{background:#edf4e8;}.taste-bar-track{height:9px;background:#f0f1e8;border-radius:20px;overflow:hidden;}.taste-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#dbaa7d,#287451);border-radius:20px;transition:width .5s ease;}.taste-bar strong{text-align:right;}.taste-foot{display:flex;justify-content:space-between;gap:10px;color:#879085;font-size:12px;}
.taste-empty {background:#f5f6ed;border-radius:17px;padding:22px;display:flex;align-items:center;gap:16px;margin-top:18px;}.taste-empty strong{color:#2b5740;}.taste-empty p{color:#7a887b;font-size:12px;margin-top:4px;line-height:1.5;}.taste-empty .btn{flex-shrink:0;}.taste-orb{font-size:40px;color:#dba87b;}.empty-taste {padding:25px;background:#fff3e8;border-radius:13px;color:#9b6b4b;}
.showdown-page{max-width:1250px!important;}.showdown-intro{max-width:740px;margin:8px 0 26px;}.showdown-intro h1{font-size:clamp(40px,6vw,65px);line-height:1.05;margin:10px 0 15px;}.showdown-intro h1 em{color:#d88e5c;font-style:normal;}.showdown-intro p{font-size:15px;color:#64776c;line-height:1.7;}.showdown-cards{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:10px;align-items:center;}.showdown-card{background:#fff;border:1px solid #e6eae0;border-radius:23px;overflow:hidden;box-shadow:0 8px 24px #204b3510;}.showdown-card-photo{height:175px;overflow:hidden;}.showdown-card-photo img {width:100%;height:100%;object-fit:cover;}.showdown-card-body{padding:18px 22px;}.showdown-kicker{color:#bb8058;letter-spacing:.14em;font-size:11px;font-weight:800;}.showdown-card h2{font-size:28px;margin:8px 0;}.showdown-card p{color:#829084;font-size:12px;}.showdown-facts{display:flex;gap:15px;color:#37614a;font-size:12px;margin-top:12px;font-weight:700;}.showdown-versus{background:#f7cb9f;width:46px;height:46px;line-height:46px;text-align:center;border-radius:50%;z-index:2;margin:0 -5px;color:#6e462e;font-weight:800;}.showdown-picker{display:block;font-size:11px;color:#5c7866;}.showdown-picker select{display:block;width:100%;font-size:12px;border:1px solid #d8e6d9;border-radius:10px;padding:10px;margin:6px 0;max-width:100%;}.showdown-analysis{background:white;border:1px solid #e4e9e2;border-radius:23px;margin:20px 0 40px;padding:28px;}.showdown-analysis-head{display:flex;align-items:center;justify-content:space-between;}.showdown-analysis-head h2{font-size:32px;margin:7px 0;}.showdown-analysis-head p{color:#758376;font-size:13px;}.showdown-count{background:#eaf2e7;color:#386145;border-radius:60px;padding:9px 12px;font-size:12px;font-weight:700;}.showdown-labels{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:24px 0 4px;color:#427153;font-size:12px;font-weight:800;}.showdown-diff-line{display:grid;grid-template-columns:1fr 18px 1fr;gap:20px;align-items:start;border-bottom:1px solid #edf0e8;padding:16px 0;color:#567261;font-size:14px;}.showdown-diff-line.different{background:linear-gradient(90deg,transparent,#fef8ec88);}.showdown-diff-line>div{display:flex;flex-direction:column;gap:7px;}.showdown-diff-line small{font-weight:800;font-size:12px;color:#2c5941;}.showdown-diff-line button,.showdown-step button{width:fit-content;color:#b6794d;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px;}.showdown-diff-chevron{color:#cfb6a1;align-self:center;}.showdown-method{padding-top:22px;}.showdown-method h3{font-size:27px;}.showdown-step{display:grid;grid-template-columns:65px 1fr 1fr;gap:18px;border-bottom:1px solid #eff0e9;padding:15px 0;color:#546a5b;}.showdown-step>span{font-size:10px;color:#a2a9a0;font-weight:800;}.showdown-step p{font-size:13px;line-height:1.7;}.showdown-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;}
.passport-page{max-width:1230px!important;}.passport-hero{display:grid;grid-template-columns:1fr 1.6fr;border-radius:26px;overflow:hidden;background:#174b37;color:#fff;min-height:265px;}.passport-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1d553e;}.passport-orbit{position:absolute;font-size:320px;color:#ffffff0b;transform:rotate(25deg)}.passport-icon .avatar{width:96px;height:96px;font-size:28px;outline:5px solid #ffffff25;}.passport-stamp{position:absolute;bottom:23px;letter-spacing:.15em;font-size:10px;color:#c1dbc5;}.passport-title{padding:40px;}.passport-title .tinycaps{color:#f2c59a;}.passport-title h1{color:#fffef6;font-size:clamp(34px,5vw,59px);line-height:1.07;margin:12px 0;}.passport-title h1 em{font-style:normal;color:#f7c69d;}.passport-title p{color:#c6ded0;line-height:1.7;margin-bottom:21px;max-width:480px;}.passport-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;}.passport-stats>div{background:#fff;border:1px solid #e9ece1;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:5px;}.passport-stats span{color:#a0a899;font-size:9px;font-weight:800;letter-spacing:.07em;}.passport-stats strong{color:#20503a;font-size:36px;}.passport-stats small{font-size:12px;color:#637569;}.passport-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:32px;}.passport-panel{background:white;border:1px solid #e4e9df;border-radius:22px;padding:26px;}.passport-panel h2{font-size:29px;margin:8px 0 18px;}.passport-ingredient{padding:12px 0;border-bottom:1px solid #eff1eb;display:flex;gap:12px;align-items:center;}.passport-ingredient>span{font-size:12px;color:#d1a67d;}.passport-ingredient strong{flex:1;font-size:14px;text-transform:capitalize;}.passport-ingredient small{color:#93a093;}.passport-recipe{display:flex;align-items:center;gap:11px;width:100%;border-bottom:1px solid #eff1ea;text-align:left;padding:12px 0;}.passport-recipe img{width:57px;height:53px;border-radius:11px;object-fit:cover;background:#fbefdd;}.passport-recipe>span{flex:1;display:flex;flex-direction:column;gap:5px;}.passport-recipe strong{font-size:13px;}.passport-recipe small{font-size:11px;color:#819180;}.passport-encourage{background:linear-gradient(140deg,#fff1dc,#f4f3e6);position:relative;overflow:hidden;}.passport-bigflower{position:absolute;right:-20px;top:-38px;font-size:190px;color:#e7c79e44;}.passport-encourage p{color:#748170;max-width:360px;line-height:1.6;margin:0 0 20px;}
@media(max-width:900px){.passport-stats{grid-template-columns:repeat(2,1fr);}.showdown-card-photo{height:125px;}.showdown-card h2{font-size:22px;}.showdown-card-body{padding:14px;}}
@media(max-width:650px){.recipe-card:hover{transform:none;}.living-overlay{align-items:end!important;padding:0!important;}.living-sheet{border-radius:26px 26px 0 0;width:100%;padding:28px 20px calc(25px + env(safe-area-inset-bottom))!important;max-height:94dvh;animation:sprig-mobile-sheet .35s cubic-bezier(.17,.9,.25,1);}.living-logs-hero{align-items:start;flex-direction:column;padding:23px;}.living-log-stats{gap:6px;}.living-log-stats>div{padding:14px;}.living-logs-list{grid-template-columns:1fr;}.living-taste-card{padding:20px;}.living-taste-head{flex-direction:column;}.taste-chart{grid-template-columns:1fr;}.taste-empty{flex-wrap:wrap;}.taste-empty .btn{width:100%;}.showdown-cards{grid-template-columns:1fr 1fr;gap:8px;position:relative;}.showdown-versus{position:absolute;left:50%;top:105px;transform:translate(-50%,-50%);}.showdown-card-photo{height:110px;}.showdown-card-body{padding:11px;}.showdown-card h2{font-size:19px;}.showdown-card p,.showdown-facts{font-size:10px;}.showdown-facts{flex-wrap:wrap;gap:5px;}.showdown-analysis{padding:16px;margin-top:12px;}.showdown-diff-line{gap:7px;font-size:12px;}.showdown-labels{gap:12px;font-size:11px;}.showdown-step{grid-template-columns:1fr 1fr;gap:10px;}.showdown-step>span{grid-column:1/-1;}.showdown-actions{flex-direction:column;}.passport-hero{grid-template-columns:1fr;}.passport-art{height:145px;}.passport-stamp{font-size:8px;bottom:12px;}.passport-title{padding:26px;}.passport-stats{gap:9px;}.passport-stats>div{padding:14px;}.passport-stats strong{font-size:30px;}.passport-grid{grid-template-columns:1fr;gap:12px;}.passport-panel{padding:20px;}.living-two-fields{grid-template-columns:1fr 1fr;}.outcome-choice span{font-size:22px;min-height:84px;}.outcome-choice span strong{font-size:10px;}}
@keyframes sprig-mobile-sheet {from{transform:translateY(110%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}::view-transition-old(root),::view-transition-new(root),::view-transition-old(sprig-shared-photo),::view-transition-new(sprig-shared-photo),::view-transition-old(sprig-content),::view-transition-new(sprig-content){animation-duration:.01ms!important;}}
/* Contrast and default-control resets for editorial passport cards. */
.passport-title h1 { color:#fff!important; }
.passport-title h1 em { color:#f7c69d!important; }
.passport-recipe { border:0;border-bottom:1px solid #eff1ea;background:transparent;border-radius:0;color:#2c4d39; }
.passport-recipe:hover { background:#f8faf6; }
.passport-hero .passport-title .btn.light {background:#fbfaf4;color:#1c4f39;}
.showdown-diff-line button {border:0;background:transparent;padding:2px 0;text-align:left;}
.showdown-step button {border:0;background:transparent;padding:2px 0;text-align:left;}
.showdown-page .showdown-card select {background:#fbfbf7;color:#204a35;}
@media(max-width:650px){.showdown-intro{margin-top:14px;}.showdown-intro h1{font-size:38px;}.passport-title h1{color:#fffef6;font-size:38px;}}

/* High contrast hero text and polite feedback on mobile. */
.passport-title h1.serif{color:#fffaf0!important;}
.passport-recipe:focus:not(:focus-visible){outline:none!important;}
.experience-spotlight {margin:40px 0 34px;}
.experience-spotlight-heading {display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;}
.experience-spotlight-heading h2 {font-size:clamp(28px,3.5vw,38px);margin:9px 0;}
.experience-spotlight-heading p {font-size:13px;color:#7e8b7d;}
.experience-asterisk {font-size:60px;color:#eebc96;line-height:1;transform:rotate(-18deg);}
.experience-spotlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.experience-feature {border:1px solid #e0e9db;background:linear-gradient(150deg,#fff,#f5f7ef);border-radius:19px;min-height:221px;padding:20px;display:flex;align-items:flex-start;flex-direction:column;text-align:left;position:relative;overflow:hidden;box-shadow:0 5px 17px #3257400a;}
.experience-feature:before {content:'✳';position:absolute;right:-11px;top:30px;color:#e1ecd944;font-size:120px;pointer-events:none;transition:transform .5s ease;}
.experience-feature:hover {transform:translateY(-5px);box-shadow:0 17px 35px #2b55421e;border-color:#b9d2be;}
.experience-feature:hover:before {transform:rotate(22deg) scale(1.15);}
.experience-feature-top {display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:20px;z-index:1;}
.experience-feature-icon {display:grid;place-items:center;background:#f3d0ae;border-radius:13px;width:45px;height:45px;color:#335a43;}
.experience-feature-num {font-size:10px;letter-spacing:.09em;font-weight:800;color:#9fb0a2;}
.experience-feature strong {font-size:19px;font-family:Georgia,serif;color:#234f39;margin-bottom:9px;z-index:1;}
.experience-feature small{font-size:12px;color:#728574;line-height:1.55;max-width:290px;z-index:1;}
.experience-feature-link{color:#ad6e46;display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;margin-top:auto;padding-top:14px;z-index:1;}
.branch-celebration {position:fixed;top:42%;left:51%;z-index:3000;pointer-events:none;}
.branch-celebration span{position:absolute;color:#e5ac78;font-size:45px;animation:branch-sprout 1.2s cubic-bezier(.15,.85,.3,1) both;}
.branch-celebration-left{--x:-115px;--y:-75px;animation-delay:.07s!important;}.branch-celebration-right{--x:93px;--y:-95px;animation-delay:.14s!important;}.branch-celebration-seed{--x:0px;--y:-120px;}
@keyframes branch-sprout{0%{opacity:0;transform:translate(0,30px) scale(.3) rotate(-70deg)}30%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.75) rotate(75deg)}}
@media(max-width:900px){.experience-spotlight-grid{gap:8px;}.experience-feature{padding:14px;min-height:230px;}.experience-feature strong{font-size:17px;}}
@media(max-width:650px){.experience-spotlight{margin:30px 0;}.experience-spotlight-grid{grid-template-columns:1fr;gap:10px;}.experience-feature{min-height:0;padding:15px 16px 17px;}.experience-feature-top{margin-bottom:8px;}.experience-feature small{max-width:100%;}.experience-feature-link{padding-top:10px;}.experience-asterisk{font-size:40px;}}
.tree-board { touch-action:none; }

/* Shared recipe exploration and a ring that fits its card at every width. */
.explorer-views {display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.explorer-heading p {max-width:660px}
.lab-selection-stats {grid-template-columns:minmax(0,130px) minmax(0,1fr)}
.lab-selection-stats > div {min-width:0}
.lab-selection-stats .dna-donut {width:100%;max-width:130px;height:auto;aspect-ratio:1}
.lab-selection-stats .dna-donut svg {width:100%;height:100%;max-width:none;max-height:none;flex:none}
.lab-selection-stats small {overflow-wrap:anywhere}
@media (min-width:851px) and (max-width:1150px) {
  .lab-selection {grid-template-columns:minmax(130px,230px) minmax(0,1fr)}
}
@media (max-width:380px) {
  .lab-selection-stats {grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:8px}
}

/* Let search and kitchen actions fit small phones without losing controls. */
@media (max-width:700px) {
  .topbar {gap:10px}
  .top-left {flex:none}
  .top-right {flex:1;min-width:0}
  .topbar .search {flex:1;width:auto;min-width:0}
  .topbar .new-recipe,.top-avatar {flex:none}
  .toolbar-right {flex-wrap:wrap;max-width:100%}
}

/* Discover keeps the cookbook ahead of community activity and feature tours. */
.topbar.on-discover .search {display:none}
.topbar.on-discover .top-right {justify-content:flex-end}
.discover-page {max-width:1320px}
.discover-intro {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;margin:0 0 26px;background:#edf3e8;border:1px solid #dfe8d9;border-radius:20px;overflow:hidden}
.discover-intro > div {min-width:0;max-width:660px}
.discover-intro .tinycaps {color:#718b6e;font-size:9px;letter-spacing:.12em}
.discover-intro h1 {font-size:clamp(32px,3.8vw,48px);line-height:1.1;margin:10px 0 12px;letter-spacing:-.045em}
.discover-intro h1 em {color:#65876a;font-weight:400}
.discover-intro p {font-size:13px;line-height:1.6;margin:0 0 14px;color:#617b64}
.discover-intro > img {width:180px;height:auto;aspect-ratio:9/7;object-fit:contain;flex:none;border-radius:18px;transform:none;border:1px solid #9fb5a180;box-shadow:0 8px 20px #183d2612}
.discover-intro .text-link {display:inline-flex;align-items:center;gap:7px;font-size:11px}
.discover-intro .text-link > span {background:#dce8d3;border-radius:99px;padding:1px 6px}
.discover-search {display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #c9d8c4;border-radius:13px;padding:0 16px;min-height:52px;color:#6c8b71;cursor:text}
.discover-search:focus-within {outline:3px solid #d6e5cf;border-color:#6b9272}
.discover-search > svg {flex:none}
.discover-search input {border:0;outline:0;background:transparent;width:100%;min-width:0;padding:14px 0;color:#31533c;font:inherit;font-size:13px}
.discover-search input::placeholder {color:#8a9a89}
.discover-search .keycap {position:static;flex:none;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.discover-categories {display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 25px}
.discover-categories .chip {white-space:nowrap}
.discover-results-head {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;scroll-margin-top:100px}
.discover-results-head h2 {font-size:28px;letter-spacing:-.035em;line-height:1.2;margin:0 0 5px}
.discover-results-count {font-size:11px;color:#7c907d;margin:0;overflow-wrap:anywhere}
.discover-sort {display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;flex:none}
.discover-sort > label {display:flex;align-items:center;gap:8px;color:#7c907d;font-size:11px}
.discover-sort .sort-select {max-width:160px;font-size:11px}
.discover-sort .text-link {font-size:11px}
.discover-page .card-overline {gap:8px}
.discover-page .card-overline > span:last-child {text-align:right;font-size:9px;letter-spacing:.025em}
.discover-page .card-bottom {min-height:29px}
.discover-more {display:flex;justify-content:center;margin:24px 0 0}
.discover-explorer-link {display:flex;align-items:center;gap:16px;padding:23px 0;margin-top:28px;border-top:1px solid #dfe7dc;border-bottom:1px solid #dfe7dc}
.discover-branch-icon {display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:14px;background:#f4e3d1;color:#6e8262}
.discover-explorer-link > div {min-width:0;flex:1}
.discover-explorer-link strong {font-family:var(--serif);font-weight:500;font-size:21px;color:#34573e;letter-spacing:-.02em}
.discover-explorer-link p {font-size:11px;margin:5px 0 0;color:#81917e}
.discover-explorer-link .text-link {display:flex;align-items:center;gap:7px;font-size:11px}
.discover-demo-note {color:#8b9986;font-size:10px;line-height:1.6;margin:17px 0 0}
@media (max-width:850px) {
  .discover-intro {padding:24px;gap:16px}
  .discover-intro > img {width:130px;height:auto;border-radius:14px}
  .discover-sort {gap:8px}
}
@media (max-width:600px) {
  .discover-intro {padding:21px 20px;margin-bottom:20px;position:relative}
  .discover-intro > div {position:relative;z-index:1}
  .discover-intro > img {display:none}
  .discover-intro h1 {font-size:35px;max-width:290px}
  .discover-intro p {font-size:12px;max-width:280px}
  .discover-categories {margin-bottom:20px;gap:6px}
  .discover-categories .chip {padding:8px 12px;font-size:11px}
  .discover-results-head {align-items:flex-start;flex-direction:column;gap:13px}
  .discover-results-head h2 {font-size:26px}
  .discover-sort {width:100%;justify-content:space-between;flex-direction:row-reverse}
  .discover-sort > label {flex-direction:row}
  .discover-search {padding:0 12px;gap:8px;min-height:49px}
  .discover-search input {font-size:12px}
  .discover-search .keycap {display:none}
  .discover-explorer-link {flex-wrap:wrap;gap:12px;margin-top:22px}
  .discover-explorer-link strong {font-size:19px}
  .discover-explorer-link > div {flex:1 1 calc(100% - 60px)}
  .discover-explorer-link .text-link {margin-left:57px;flex-basis:calc(100% - 57px)}
}

/* Kitchen Activity: distinguish browser actions from optional fictional examples. */
.activity-page .community-head {padding:30px 34px;margin-bottom:18px;min-height:0}
.activity-page .community-head h1 {font-size:clamp(35px,4vw,52px)}
.activity-page .community-head>.btn {align-self:center;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.activity-page .community-head .avatar {width:25px;height:25px;flex:none;font-size:9px}
.activity-scope {display:flex;align-items:flex-start;gap:11px;background:#f3f6ed;border:1px solid #e1e8d9;border-radius:12px;padding:14px 17px;margin-bottom:26px;color:#6c806c}
.activity-scope>svg {flex:none;margin-top:2px}
.activity-scope p {margin:0;font-size:12px;line-height:1.6}
.activity-scope strong {color:#35563f}
.activity-filters {justify-self:start;flex-wrap:wrap;max-width:100%;margin-bottom:0}
.activity-page .feed-toolbar {margin-bottom:0}
.activity-page .feed-toolbar h2 {font-size:29px}
.activity-page .following-recipes {min-width:0;scroll-margin-top:95px;margin:3px 0 12px}
.following-recipes-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.following-recipes-heading h3 {font-size:25px;line-height:1.2;margin:0 0 7px}
.following-recipes-heading p {font-size:12px;line-height:1.6;margin:0;max-width:65ch;color:#5d705d}
.following-recipes-heading>.text-link {display:inline-flex;align-items:center;gap:6px;font-size:11px;min-height:44px}
.following-recipe-count {font-size:11px;color:#5d705d;margin:10px 0 12px}
.following-pagination {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.following-pagination>.btn {min-height:44px}
.following-pagination>span {font-size:11px;color:#5d705d}
.activity-page .following-activity-title {font-size:23px;margin:8px 0 0}
.activity-feed-count {font-size:11px;color:#839081;margin:0}
.activity-page .activity-card {padding-bottom:0}
.activity-page .activity-card:not(:has(.activity-actions)) {padding-bottom:20px}
.activity-stamp {display:flex;align-items:flex-end;flex-direction:column;gap:6px;flex:none}
.activity-origin {display:inline-flex;background:#edf4e7;color:#4d7351;border:1px solid #dce8d4;border-radius:99px;font-size:9px;font-weight:800;letter-spacing:.025em;padding:4px 8px;white-space:nowrap}
.activity-page .activity-time {white-space:nowrap}
.activity-page .activity-person {min-width:0}
.activity-page .activity-person>span {min-width:0}
.activity-page .activity-person strong,.activity-page .activity-person small {overflow-wrap:anywhere}
.activity-page .activity-action {line-height:1.65;margin:17px 0 12px}
.activity-page .activity-action>strong {color:#3d6249;font-weight:700}
.activity-page .activity-recipe {gap:13px}
.activity-page .activity-recipe>img {width:87px;height:78px;flex:none}
.activity-page .activity-recipe strong {overflow-wrap:anywhere}
.activity-change {padding:13px 2px 0;font-size:11px;color:#80917c;line-height:1.6}
.activity-change .tinycaps {font-size:8px;color:#7f9679}
.activity-change>p {font-size:13px;line-height:1.5;margin:5px 0;color:#45644b}
.activity-change .text-link {font-size:inherit;text-align:left;display:inline}
.activity-page .activity-note {font-size:17px;overflow-wrap:anywhere}
.activity-result {font-family:var(--sans);font-size:12px;font-style:normal;background:#fff0df;color:#8b633c;border-radius:7px;padding:7px 10px;display:inline-flex}
.activity-page .activity-actions {justify-content:flex-start;flex-wrap:wrap;gap:0 12px}
.activity-page .social-action {flex:0 1 auto;justify-content:flex-start;text-align:left}
.activity-page .activity-primary {color:#3e6c49}
.activity-unavailable,.activity-filter-help {font-size:12px;color:#8b9187}
.activity-more {justify-self:center;margin:4px 0}
.activity-examples {border:1px dashed #d8dacc;border-radius:14px;padding:16px;margin-top:12px;background:#faf9f2;min-width:0}
.activity-examples>summary {display:flex;align-items:center;gap:10px;cursor:pointer;color:#62745c;font-size:12px;font-weight:700;list-style:none}
.activity-examples>summary::-webkit-details-marker {display:none}
.activity-examples>summary>svg {margin-left:auto;flex:none}
.activity-examples>p {font-size:11px;line-height:1.65;color:#8a907c;margin:13px 0 16px}
.activity-examples .activity-origin {color:#8a7448;background:#f7f1df;border-color:#e7ddbf}
.activity-example-list {display:grid;gap:12px}
.activity-example-list .activity-card {box-shadow:none}
.activity-page .feed-prompt {padding:24px}
.activity-page .feed-prompt h3 {font-size:29px;margin:12px 0}
.activity-page .feed-prompt p {margin:12px 0 21px}
.activity-people-copy {font-size:11px;line-height:1.6;color:#82917d;margin:-5px 0 20px}
.activity-page .feed-empty {padding:28px 22px}
.activity-page .feed-empty p {max-width:390px;margin:10px auto 20px}
@media(max-width:700px){
  .activity-page .community-head {padding:24px 21px}
  .activity-page .community-head>.btn {margin-top:18px;align-self:flex-start}
  .activity-page .community-head h1 {font-size:37px}
  .activity-page .feed-toolbar h2 {font-size:27px}
  .activity-scope {padding:13px 14px;margin-bottom:23px}
  .activity-page .activity-card {padding-left:16px;padding-right:16px}
  .activity-page .activity-recipe>img {width:64px;height:68px}
  .activity-page .activity-recipe strong {font-size:19px}
  .activity-examples {padding:12px}
  .activity-examples>summary {gap:7px;font-size:11px}
  .activity-filters button {padding:9px 11px;font-size:10px}
  .activity-page .activity-person strong {font-size:11px}
}

/* First-time cooks: a clear next step, then optional ways to experiment. */
.discover-intro-links {display:flex;align-items:center;flex-wrap:wrap;column-gap:22px;row-gap:12px}
.discover-intro-links .text-link {min-height:28px}
.recipe-jump {display:inline-flex;align-items:center;gap:7px;font-size:12px;margin:0 0 15px;min-height:32px}
.detail-actions {display:block}
.recipe-main-actions,.recipe-support-actions {display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.recipe-main-actions .btn {min-height:44px;font-size:12px}
.recipe-support-actions {margin-top:10px;gap:7px}
.recipe-support-actions .btn {font-size:10px;padding:8px 10px;min-height:36px;background:transparent}
.recipe-support-actions .btn:hover {background:#edf3e8}
.recipe-support-actions .btn.loved {background:#fae8d8}
.recipe-time-note {font-size:11px;line-height:1.55;margin:10px 0 0;color:#6c806c;max-width:420px}
.recipe-main {scroll-margin-top:105px}
.scale-note {font-size:11px;line-height:1.6;margin:-8px 0 14px;padding:12px;background:#f6f0e3;color:#6e7555;border-radius:9px}
.ingredient-item:focus-visible {outline:3px solid #d6e5cf;outline-offset:3px;border-radius:6px}
@media (max-width:700px) {
  .discover-intro-links {gap:10px 16px}
  .recipe-main-actions .btn {flex:1 1 auto;justify-content:center;font-size:11px;padding:11px 12px}
  .recipe-main-actions .btn:first-child {flex-basis:100%}
  .recipe-support-actions {gap:6px}
  .recipe-support-actions .btn {flex:1 1 calc(50% - 6px);justify-content:center;min-height:39px;padding:8px}
  .recipe-time-note {font-size:10px}
  .recipe-main {scroll-margin-top:86px}
}

/* Browse cooks by their recipes, declared interests and local activity. */
.cooks-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}
.cooks-heading h1{font-size:clamp(33px,4vw,46px);margin:0 0 8px}
.cooks-heading p{font-size:13px;line-height:1.6;margin:0;color:#7b8f7b}
.cooks-heading>.btn{flex:none}
.cooks-search-row{display:flex;align-items:center;gap:15px;margin-bottom:16px}
.cooks-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 15px;background:white;border:1px solid #cfdcc9;border-radius:12px;color:#7c977e}
.cooks-search:focus-within{outline:3px solid #dce9d4;border-color:#7ca17c}
.cooks-search input{width:100%;min-width:0;padding:14px 0;background:none;border:0;outline:0;font:13px var(--sans);color:#355b42}
.cooks-sort-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#81917f}
.cooks-directory select{max-width:100%;border:1px solid #dce6d5;background:white;color:#355b42;border-radius:9px;padding:10px;font:12px var(--sans)}
.cooks-scopes{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}
.cooks-scopes .chip{white-space:nowrap}
.cooks-filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding-bottom:17px;border-bottom:1px solid #e0e7dc}
.cooks-filter-row>label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#80917d;min-width:160px}
.cooks-filter-row>.text-link{margin-left:auto;min-height:35px;font-size:11px}
.cooks-list-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px}
.cooks-result-count{font-size:12px;color:#517457;margin:0 0 5px}
.cooks-scope-note{font-size:11px;line-height:1.6;color:#83937e;max-width:760px;margin:0 0 19px}
.cooks-quiet{font-size:12px;line-height:1.6;color:#77866a;padding:12px 15px;border-radius:9px;background:#f0f3e8;margin:0 0 20px}
.cooks-directory .cook-tile{display:flex;flex-direction:column;min-width:0;gap:0}
.cook-origin-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px;flex-wrap:wrap}
.cook-origin{font-size:9px;font-weight:700;padding:4px 7px;border-radius:5px;color:#527454;background:#e9f1e3}
.cook-origin.is-example{color:#8c785d;background:#f6f0e6}
.cook-trending,.cook-joined{font-size:9px;color:#8a977e;display:inline-flex;align-items:center;gap:4px}
.cooks-directory .cook-top{gap:10px;flex-wrap:wrap;align-items:center}
.cooks-directory .cook-person{min-width:0;flex:1;gap:10px}
.cooks-directory .cook-person>span:last-child{min-width:0}
.cooks-directory .cook-person strong{overflow-wrap:anywhere}
.cooks-directory .cook-person small{overflow-wrap:anywhere}
.cooks-directory .cook-top>.btn{font-size:10px;flex:none;padding:9px 10px}
/* Override avatar-lg dimensions and the base 30px flex basis together. */
.cooks-directory .cook-person .avatar{width:48px!important;height:48px!important;min-width:48px;max-width:48px;flex:0 0 48px;aspect-ratio:1;border-radius:50%;font-size:15px!important}
.cooks-directory .cook-tile>p{margin:14px 0;font-size:12px;line-height:1.7}
.cook-interests{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 15px}
.cook-interests>span{font-size:10px;padding:4px 8px;border-radius:99px;background:#f2eadc;color:#8c704d;overflow-wrap:anywhere;max-width:100%}
.cooks-directory .cook-stats{gap:12px;flex-wrap:wrap;font-size:10px}
.cooks-directory .cook-tile>.cook-specialties{font-size:10px;margin:12px 0;color:#8b9a81}
.cooks-directory .cook-covers{margin-top:auto;padding-top:13px}
.cook-no-recipes{color:#9ba68e;font-style:italic}
.cooks-empty{grid-column:1/-1;text-align:center;padding:40px 24px;background:white;border:1px solid #e0e8d8;border-radius:15px}
.cooks-empty h2{font-size:28px;margin:0 0 10px}.cooks-empty p{font-size:12px;margin-bottom:20px}
.cooks-more{display:flex;justify-content:center;margin:23px 0}
.cooks-how{margin-top:25px;padding:17px;border:1px solid #e0e7da;border-radius:12px;font-size:12px}
.cooks-how>summary{cursor:pointer;color:#5c7d61;font-weight:700}.cooks-how p{font-size:11px;line-height:1.8;margin:15px 0}
.cuisine-editor-label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#547258;margin:20px 0 12px}
.cuisine-editor-label input{padding:12px;border:1px solid #d5e0cd;border-radius:8px;font:13px var(--sans);width:100%}
.profile-cuisines{margin:16px 0 5px}.profile-edit-interests{font-size:11px;margin:9px 0 5px}
@media(max-width:700px){
 .cooks-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:20px}
 .cooks-heading h1{font-size:36px}.cooks-heading p{font-size:12px}
 .cooks-search-row{flex-direction:column;align-items:stretch;gap:12px}
 .cooks-sort-label{justify-content:flex-end}.cooks-sort-label select{flex:1;max-width:200px}
 .cooks-scopes{gap:6px}.cooks-scopes .chip{font-size:10px;padding:8px 11px}
 .cooks-filter-row{gap:10px}.cooks-filter-row>label{min-width:0;flex:1 1 calc(50% - 10px)}
 .cooks-filter-row>.text-link{font-size:10px}.cooks-directory select{font-size:11px;width:100%}
 .cooks-directory .cook-tile{padding:20px 17px}.cooks-directory .cook-person strong{font-size:20px}
}
