/* Shared visual language adapted from the owner's Lovable reference. */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600&family=Outfit:wght@600;700;800&display=swap');
body{background:#fff9e6;color:#2c2b26}
#tomato-diary{--paper:#fff8df;--panel:#fff;--ink:#2c2b26;--sub:#706f66;--line:#e8e4d9;--accent:#db593f;--onaccent:#fff;--wash:#f5f3eb;font:16px/1.55 Figtree,'Segoe UI',sans-serif;max-width:1600px;overflow:clip}
#tomato-diary .top{background:#fff;padding:20px 32px;gap:20px}
#tomato-diary .brand{font-family:Outfit,'Segoe UI',sans-serif;font-weight:800;font-size:23px;letter-spacing:-.7px}
#tomato-diary .top .demo{display:none}
#tomato-diary .layout{display:block}
#tomato-diary aside{background:#fff;border-right:0;border-bottom:1px solid var(--line);padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}
#tomato-diary nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}
#tomato-diary nav button{font-size:14px;border-radius:9px;min-height:44px;padding:10px 16px}
#tomato-diary nav button.active{background:var(--ink);color:#fff}
#tomato-diary nav svg{width:18px;height:18px}
#tomato-diary .garden{margin:0;padding:0;border:0;text-align:right;font-size:14px;max-width:250px}
#tomato-diary .garden .eyebrow,#tomato-diary .garden>.small{display:none}
#tomato-diary .garden p{margin:0}
#tomato-diary main{padding:40px 32px 56px;background:var(--paper);min-height:75vh}
#tomato-diary h1,#tomato-diary h2,#tomato-diary h3{font-family:Outfit,'Segoe UI',sans-serif;font-weight:800;color:var(--ink);letter-spacing:-.7px;line-height:1.15;overflow-wrap:anywhere}
#tomato-diary h1{font-size:clamp(32px,4vw,48px);margin:10px 0 14px}
#tomato-diary h2{font-size:27px}#tomato-diary h3{font-size:24px}
#tomato-diary .eyebrow{font-weight:700;letter-spacing:1.3px;color:#667b3f;font-size:12px}
#tomato-diary .small{font-size:14px;line-height:1.6}
#tomato-diary .action{border-radius:10px;padding:11px 16px;font-weight:600;min-height:44px;transition:background .15s,border-color .15s}
#tomato-diary .action:hover{border-color:#a59e89;background:#f8f5eb}
#tomato-diary .primary{background:var(--accent);color:#fff;border-color:var(--accent)}
#tomato-diary .primary:hover{background:#bf4831;border-color:#bf4831}
#tomato-diary button:focus-visible,#tomato-diary input:focus-visible,#tomato-diary textarea:focus-visible,#tomato-diary select:focus-visible{outline:3px solid #ad8519;outline-offset:3px}
#tomato-diary[data-page=growing] main{background:#fff}
#tomato-diary .filters{margin:24px 0 18px;gap:8px}
#tomato-diary .filters button{border-radius:9px;background:#f7f5ee;font-size:14px;padding:8px 13px;min-height:40px}
#tomato-diary .filters button.active{background:var(--ink);color:#fff}
#tomato-diary .compact-filter{margin-bottom:24px;max-width:600px}
#tomato-diary .compact-filter summary{font-size:14px;min-height:40px}
#tomato-diary .field-notes{background:var(--paper);margin:26px -32px -56px;padding:28px 32px 40px;border-top:1px solid var(--line)}
#tomato-diary .field-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px;color:var(--sub);font-size:13px}
#tomato-diary .field-heading>span:first-child{text-transform:uppercase;letter-spacing:1px;font-weight:600}
#tomato-diary #td-growth-count{margin:0}
#tomato-diary .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
#tomato-diary .plant{border-radius:20px!important;box-shadow:0 2px 2px #30271812;border:1px solid var(--line)}
#tomato-diary .reference-cover,#tomato-diary .personal-cover{display:block;width:100%;height:220px;object-fit:cover;border-radius:0}
#tomato-diary .art{height:220px;background:#e9e9dc}
#tomato-diary .art-label{bottom:auto;top:10px;left:10px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;color:#fff;background:#24291c80;border-radius:50%;padding:0;letter-spacing:0}
#tomato-diary .variety-cover{position:relative}
#tomato-diary .plant .cover-tools{position:absolute;right:12px;top:12px;padding:0;z-index:3;max-width:150px;justify-content:flex-end}
#tomato-diary .plant .cover-tools .action{background:#df6046;color:#fff;border:0;border-radius:50%;width:40px;height:40px;min-height:40px;padding:0;font-size:0}
#tomato-diary .plant .cover-tools [data-cover-upload]:before{content:'＋';font-size:25px}
#tomato-diary .plant .cover-tools [data-cover-reset]{border-radius:7px;font-size:11px;width:auto;height:auto;padding:5px 8px}
#tomato-diary .plant .mood-shortcut{top:62px;right:12px;min-height:38px;min-width:38px;width:38px;height:38px}
#tomato-diary .plant .mood-shortcut .tomato-mood{transform:scale(.72);margin:2px 0 0}
#tomato-diary .stage-badge{position:absolute;bottom:14px;left:14px;background:#f6f9ef;color:#5c7337;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;max-width:calc(100% - 28px)}
#tomato-diary .plant-body{padding:20px}
#tomato-diary .plant h3{font-size:24px;min-height:56px;margin:5px 0 0}
#tomato-diary .tag{text-transform:uppercase;font-size:11px;letter-spacing:.9px;font-weight:600}
#tomato-diary .plant-progress{margin:20px 0;padding:0}
#tomato-diary .progress-caption{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--sub);margin-bottom:9px}
#tomato-diary .plant .progress-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#tomato-diary .progress-track{height:6px;border-radius:10px;background:#f3f1e9;overflow:hidden}
#tomato-diary .progress-track>span{display:block;height:100%;border-radius:inherit;background:#edbf32;transition:width .25s}
#tomato-diary .plant-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:0 0 10px}
#tomato-diary .plant-facts div{min-width:0}#tomato-diary .plant-facts dt{text-transform:uppercase;font-size:11px;color:var(--sub);margin-bottom:4px}#tomato-diary .plant-facts dd{margin:0;font-size:14px;overflow-wrap:anywhere}
#tomato-diary .plant .row{margin-top:auto;padding-top:0}
#tomato-diary .plant .diary-link{border:0;padding-left:0;width:100%;justify-content:space-between;font-size:14px}
#tomato-diary .plant [data-info],#tomato-diary .plant-body>[data-review]{border:0;color:var(--sub);background:none;font-size:13px;padding:5px 0;min-height:34px;justify-content:flex-start}
#tomato-diary .bottom-note{display:none}
#tomato-diary .stage-legend{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:14px 0;font-size:12px;color:var(--sub)}
#tomato-diary .stage-legend span{padding:5px 8px;border-radius:6px}.stage-legend .current{background:#f8e8a8;color:#56440d;font-weight:700}
#tomato-diary[data-page=detail] .plant-progress{background:#fff;padding:24px;border:1px solid var(--line);border-radius:16px;max-width:960px}
#tomato-diary .form{max-width:680px;background:#fff;padding:24px 28px;border-radius:20px;border:1px solid var(--line);margin-top:24px;box-shadow:0 2px 2px #30271808}
#tomato-diary label{font-size:14px;font-weight:500;gap:8px;margin:18px 0}
#tomato-diary input,#tomato-diary select,#tomato-diary textarea{background:#fffcf1;border-radius:10px;padding:12px 14px;min-height:46px}
#tomato-diary textarea{resize:vertical;line-height:1.6}
#tomato-diary .archive-tools{max-width:900px;grid-template-columns:minmax(0,1fr) 180px}
#tomato-diary #td-collection-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#tomato-diary #td-collection-results>p,#tomato-diary #td-collection-results>.notice{grid-column:1/-1}
#tomato-diary .archive-entry{margin:0;padding:24px;border-radius:20px;min-width:0}
#tomato-diary .archive-entry .variety-cover{border-radius:12px;overflow:hidden}
#tomato-diary .review-quote{font-style:normal;border-left:3px solid #edbf32;color:var(--ink);padding:10px 0 10px 16px;margin:16px 0;line-height:1.7}
#tomato-diary .supply{padding:28px;border-radius:20px;max-width:1000px;margin:20px 0}
#tomato-diary .notice{background:#fff;border:1px solid var(--line);border-radius:16px}
#tomato-diary .journal-event{border:1px solid var(--line);border-left:3px solid #edbf32;background:#fff;border-radius:0 16px 16px 0;padding:24px;margin:18px 0;max-width:960px}
#tomato-diary .journal-event:before{background:#edbf32;left:-7px}
#tomato-diary .tabs{gap:24px}.tabs button{font-weight:600}
#tomato-diary .quality{background:#fff;border:1px solid var(--line);padding:7px 10px}
#tomato-diary .gardener-profile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;max-width:680px}
#tomato-diary .gardener-portrait{background:#fff8df;height:250px}
#tomato-diary .mood-picker button[aria-pressed=true]{background:#fff3c9;border-color:#d9b33b}
.save-status{font:12px/1.5 Figtree,'Segoe UI',sans-serif;background:#f4f3ee;color:#706f66;padding:6px 32px}
@media(min-width:1500px){#tomato-diary main{padding-left:48px;padding-right:48px}#tomato-diary .field-notes{margin-left:-48px;margin-right:-48px;padding-left:48px;padding-right:48px}}
@media(max-width:1100px){#tomato-diary .grid{grid-template-columns:repeat(3,minmax(0,1fr))}#tomato-diary .garden{display:none}#tomato-diary .top .small{display:none}}
@media(max-width:850px){#tomato-diary .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#tomato-diary #td-collection-results{grid-template-columns:1fr}#tomato-diary .top{padding:18px 22px}#tomato-diary aside{padding:0 18px}#tomato-diary nav button{padding:10px 12px}}
@media(max-width:560px){#tomato-diary main{padding:28px 18px 40px}#tomato-diary .field-notes{margin:24px -18px -40px;padding:24px 18px 32px}#tomato-diary .grid{grid-template-columns:1fr}#tomato-diary .reference-cover,#tomato-diary .personal-cover,#tomato-diary .art{height:245px}#tomato-diary .plant h3{min-height:0}#tomato-diary .top{padding:16px 18px}#tomato-diary .top>.row{width:auto}#tomato-diary .brand{font-size:20px}#tomato-diary #td-profile-button{font-size:12px;padding:8px 10px}#tomato-diary nav{gap:3px;width:100%}#tomato-diary nav button{font-size:13px;flex:1 1 44%;padding:8px;justify-content:center}#tomato-diary .form,#tomato-diary .supply,#tomato-diary .archive-entry{padding:20px}#tomato-diary .archive-tools{grid-template-columns:1fr}#tomato-diary .field-heading{align-items:start;font-size:12px}#tomato-diary .stage-legend{justify-content:flex-start}#tomato-diary .detail-layout{grid-template-columns:1fr}#tomato-diary .journal-content{grid-template-columns:1fr}#tomato-diary .tabs{gap:14px}.save-status{padding:5px 18px}#tomato-diary .top .row .small{display:none}}
@media(prefers-reduced-motion:reduce){#tomato-diary *{transition:none!important}}
#tomato-diary .plant .cover-tools [data-cover-upload]:before{content:none}
#tomato-diary .growing-search{max-width:340px;margin:24px 0 0}
#tomato-diary .growing-search input{background:#fff8df}
@media(min-width:850px){#tomato-diary[data-page=growing] main>.row{padding-right:0}#tomato-diary .growing-search{float:right;width:320px;margin:20px 0 0 24px}#tomato-diary .field-notes{clear:both}}
#tomato-diary .maturity-range{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#tomato-diary .maturity-fields{margin:20px 0}
#tomato-diary .maturity-fields summary{cursor:pointer;font-weight:600;min-height:44px;padding:10px 0}
#tomato-diary .maturity-editor{background:#fff;padding:20px 24px;border:1px solid var(--line);border-radius:16px;max-width:680px;margin-bottom:24px}
#tomato-diary .maturity-editor .maturity-fields{margin:0 0 12px}
#tomato-diary .harvest-plan{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);line-height:1.5}
#tomato-diary .harvest-plan p{font-weight:600;font-size:14px}
#tomato-diary .plant .harvest-plan .small{font-size:12px}
#tomato-diary .archive-add-button{margin:12px 0 18px;font-size:14px;background:transparent}
/* Collection cards share the growing page's photo-first grid. */
#tomato-diary[data-page=collection] main{background:#fff}
#tomato-diary #td-collection-results{grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);margin:24px -32px -56px;padding:28px 32px 40px;border-top:1px solid var(--line);align-items:stretch}
#tomato-diary .collection-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:20px;box-shadow:0 2px 2px #30271812}
#tomato-diary .collection-card .variety-cover{margin:0;border-radius:0}
#tomato-diary .collection-card-body{padding:20px;display:flex;flex-direction:column;flex:1;min-width:0}
#tomato-diary .collection-card h3{font-size:24px;margin:8px 0 18px}
#tomato-diary .collection-card-body>.row .small{font-size:12px}
#tomato-diary .collection-card .collection-facts{margin:0 0 16px;padding:16px 0}
#tomato-diary .collection-card .review-summary{font-size:12px;color:var(--sub);margin:0 0 8px}
#tomato-diary .collection-card .review-quote{font-size:14px;line-height:1.65;margin:0 0 20px;padding:0 0 0 12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
#tomato-diary .collection-card-actions{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:4px}
#tomato-diary .collection-card-actions .action{border:0;background:transparent;justify-content:flex-start;padding:8px 0;font-size:14px;text-align:left}
#tomato-diary .collection-card-actions [data-review]{font-size:13px;color:var(--sub);font-weight:400}
#tomato-diary .collection-card .cover-tools{position:absolute;top:12px;right:12px;padding:0;max-width:150px;justify-content:flex-end}
#tomato-diary .collection-card .cover-tools [data-cover-upload]{font-size:0;width:40px;height:40px;min-height:40px;border-radius:50%;padding:0;background:var(--accent);color:#fff;border:0}
#tomato-diary .collection-card .cover-tools [data-cover-upload]:before{content:'＋';font-size:25px}
#tomato-diary .collection-card .cover-tools [data-cover-reset]{font-size:11px;padding:5px 8px;min-height:30px}
@media(min-width:1500px){#tomato-diary #td-collection-results{margin-left:-48px;margin-right:-48px;padding-left:48px;padding-right:48px}}
@media(max-width:1100px){#tomato-diary #td-collection-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){#tomato-diary #td-collection-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#tomato-diary #td-collection-results{grid-template-columns:1fr;margin:24px -18px -40px;padding:24px 18px 32px}#tomato-diary .collection-card{padding:0}}
/* Match the Lovable reference: a subtle image-only zoom inside the card. */
#tomato-diary :is(.plant,.collection-card) .variety-cover{overflow:hidden}
#tomato-diary :is(.plant,.collection-card) :is(.reference-cover,.personal-cover){transition:transform .5s cubic-bezier(.4,0,.2,1);transform-origin:center}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  #tomato-diary :is(.plant,.collection-card):hover :is(.reference-cover,.personal-cover){transform:scale(1.03)}
}
@media(prefers-reduced-motion:reduce){
  #tomato-diary :is(.plant,.collection-card) :is(.reference-cover,.personal-cover){transition:none;transform:none}
}
#tomato-diary .plant-manager{width:min(520px,calc(100% - 32px));max-height:85vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 20px 80px #0003}
#tomato-diary .plant-manager::backdrop{background:#23261d66}
#tomato-diary .delete-plant{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
#tomato-diary .delete-plant summary{cursor:pointer;color:#a53827;padding:8px 0}
#tomato-diary .danger{color:#a53827;border-color:#d4a69e;margin-top:12px}
#tomato-diary .plant .manage-plant,#tomato-diary .collection-card [data-manage-plant]{font-size:12px;background:transparent;border:0;color:var(--sub);justify-content:flex-start;padding:8px 0;text-align:left}
#tomato-diary [data-flip-photo]{cursor:pointer}
#tomato-diary [data-flip-photo]:focus-visible{outline:3px solid #ad8519;outline-offset:-4px}
#tomato-diary .card-reverse{padding:24px;text-align:left;overflow-wrap:anywhere;flex:1;background:#fffdf4}
#tomato-diary .card-reverse>.action{margin-bottom:24px}
#tomato-diary .card-reverse h3{margin:8px 0 18px;min-height:0}
#tomato-diary .card-reverse dl{margin:0}
#tomato-diary .card-reverse dl>div{padding:10px 0;border-bottom:1px solid var(--line)}
#tomato-diary .card-reverse dt{font-size:12px;color:var(--sub)}
#tomato-diary .card-reverse dd{margin:3px 0 0;font-size:14px}
#tomato-diary .card-reverse h4{margin:20px 0 6px;font-size:15px}
#tomato-diary .card-reverse p{font-size:14px;line-height:1.65;white-space:pre-wrap}
#tomato-diary .card-reverse>.small{margin-top:20px;font-size:12px}
#tomato-diary [data-flip-plant]{cursor:pointer}
#tomato-diary [data-flip-plant] :is(input,textarea){cursor:text}
/* Compact fronts; secondary actions and forecast details live on the back. */
#tomato-diary :is(.plant,.collection-card) :is(.reference-cover,.personal-cover,.art){height:190px}
#tomato-diary .plant-body,#tomato-diary .collection-card-body{padding:16px}
#tomato-diary .plant h3{min-height:0;font-size:22px;margin:5px 0 0}
#tomato-diary .collection-card h3{font-size:22px;margin:6px 0 12px}
#tomato-diary .plant .plant-progress{margin:16px 0}
#tomato-diary .plant-facts,#tomato-diary .collection-card .collection-facts{gap:10px 12px;padding:12px 0;margin-bottom:8px}
#tomato-diary .collection-card .review-quote{-webkit-line-clamp:3;margin-bottom:12px}
#tomato-diary .collection-card-actions{padding-top:8px;gap:0}
#tomato-diary .reverse-actions{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
#tomato-diary .reverse-actions .action{font-size:14px;padding:10px 12px;border:1px solid var(--line);background:#fff}
@media(max-width:560px){#tomato-diary :is(.plant,.collection-card) :is(.reference-cover,.personal-cover,.art){height:210px}}
#tomato-diary .harvest-comparison{max-width:960px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0}
#tomato-diary .harvest-comparison h2{font-size:24px;margin:10px 0 18px}
#tomato-diary .harvest-dates{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0}
#tomato-diary .harvest-dates dt{font-size:13px;color:var(--sub)}
#tomato-diary .harvest-dates dd{margin:6px 0;font-size:16px;font-weight:600}
#tomato-diary .harvest-comparison>.action{margin-top:16px}
@media(max-width:560px){#tomato-diary .harvest-dates{grid-template-columns:1fr}}

/* Direct rating controls next to variety names. */
#tomato-diary .tomato-rating-button{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin-left:10px;padding:5px;border:0;background:transparent;cursor:pointer;border-radius:50%;position:static}
#tomato-diary .tomato-rating-button:focus-visible{outline:2px solid #315b3e;outline-offset:3px}

#tomato-diary .harvest-help{display:inline-block;position:relative;vertical-align:middle}
#tomato-diary .harvest-help-button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:2px;border:0;border-radius:50%;background:transparent;color:var(--muted,#66705f);font-size:17px;cursor:help}
#tomato-diary .harvest-help-button:focus-visible{outline:2px solid #315b3e;outline-offset:2px}
#tomato-diary .harvest-tooltip{display:none;position:absolute;bottom:100%;right:0;width:220px;max-width:70vw;padding:12px;border:1px solid #dfdfd2;border-radius:10px;background:#fffdf5;color:#374536;box-shadow:0 4px 16px #243c2c20;font-size:12px;font-weight:400;line-height:1.5;z-index:20}
#tomato-diary .harvest-help:hover .harvest-tooltip,#tomato-diary .harvest-help:focus-within .harvest-tooltip{display:block}

#tomato-diary .tomato-rating-control{display:inline-flex;position:relative;vertical-align:middle;margin-left:10px;padding:5px;align-items:center;justify-content:center;border-radius:50%}
#tomato-diary .tomato-rating-control .tomato-rating-select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
#tomato-diary .tomato-rating-control:focus-within{outline:2px solid #315b3e;outline-offset:2px}

/* Compact facts on a larger, nearly square planting photo. */
#tomato-diary .plant .variety-cover{aspect-ratio:1.15;position:relative}
#tomato-diary .plant .variety-cover :is(.art,.reference-cover,.personal-cover){height:100%;width:100%;object-fit:cover}
#tomato-diary :is(.plant,.collection-card) .photo-tags{position:absolute;bottom:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:5px;z-index:2}
#tomato-diary :is(.plant,.collection-card) .photo-tags span{display:inline-flex;align-items:center;background:#fffdf3ed;color:#34482b;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:600;line-height:1.3;box-shadow:0 1px 4px #00000012}
#tomato-diary .plant .plant-body{padding:12px 14px}
#tomato-diary .plant .tag{margin-bottom:4px}
#tomato-diary .plant h3{margin-top:4px;margin-bottom:10px;min-height:0}
#tomato-diary .plant .plant-facts{padding:10px 0;gap:8px;margin-bottom:5px}

/* Diary: photo and essential actions first, entries immediately below. */
#tomato-diary .diary-overview{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:28px;margin:20px 0 24px;align-items:start}
#tomato-diary .diary-photo .variety-cover{border-radius:16px;overflow:hidden;background:#fff}
#tomato-diary .diary-photo :is(.art,.reference-cover,.personal-cover){width:100%;height:260px;object-fit:cover}
#tomato-diary .diary-photo .cover-tools{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:white}
#tomato-diary .diary-photo .cover-tools .action{position:static;min-height:40px;background:#fffdf5;border:1px solid #dce0d3;color:#263e2e;padding:8px 12px}
#tomato-diary .diary-photo [data-cover-status]:empty{display:none}
#tomato-diary .diary-photo>p{font-size:12px;line-height:1.5;margin:10px 2px}
#tomato-diary .diary-overview-content>.row{position:relative;display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;justify-content:flex-start;padding-right:42px}
#tomato-diary .diary-overview-content>.row>div:first-child{flex:1 1 100%;min-width:0}
#tomato-diary .diary-overview h1{font-size:clamp(28px,3vw,42px);margin:8px 0 12px;overflow-wrap:anywhere}
#tomato-diary .diary-options{position:absolute;top:0;right:0;z-index:5}
#tomato-diary .diary-options summary{list-style:none;cursor:pointer;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e0e2d7}
#tomato-diary .diary-options[open] .manage-plant{position:absolute;right:0;top:42px;white-space:nowrap;background:white}
#tomato-diary .diary-overview .plant-progress{max-width:none;width:100%;box-sizing:border-box;padding:18px;margin:20px 0 0}
#tomato-diary .diary-overview .plant-progress .harvest-plan{margin-top:12px}
#tomato-diary .diary-forecast-hint{font-size:12px;margin-top:12px}
#tomato-diary .diary-harvest-details,#tomato-diary .diary-review-details{margin:20px 0;padding:16px 20px;border:1px solid #e0e2d7;border-radius:14px;background:#fff}
#tomato-diary :is(.diary-harvest-details,.diary-review-details)>summary{cursor:pointer;font-weight:600}
#tomato-diary .diary-harvest-details .harvest-comparison{border:0;margin:12px 0 0;max-width:none;padding:0}
#tomato-diary[data-page=detail] .tabs{margin-top:8px}
@media(max-width:650px){#tomato-diary .diary-overview{grid-template-columns:1fr;gap:16px}#tomato-diary .diary-photo :is(.art,.reference-cover,.personal-cover){height:220px}#tomato-diary .diary-overview-content>.row{padding-right:42px}#tomato-diary .diary-overview .plant-progress{margin-top:16px}}

#tomato-diary .diary-notes{margin:28px 0;max-width:850px}
#tomato-diary .season-notes{margin:18px 0}
#tomato-diary .season-notes label{display:block;font-size:13px;color:var(--sub);margin-bottom:8px}
#tomato-diary .season-notes textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:110px;padding:14px 16px;border:1px solid #e2e1d3;border-radius:12px;background:#fffdf8;color:inherit;font:inherit;font-size:15px;line-height:1.6;box-shadow:none}
#tomato-diary .season-notes textarea:focus{outline:2px solid #d5b84a;outline-offset:2px;background:white}

#tomato-diary [data-flip-plant][draggable=true]{cursor:grab}
#tomato-diary [data-flip-plant].is-dragging{opacity:.45;cursor:grabbing}
#tomato-diary [data-flip-plant].drop-before{box-shadow:-5px 0 0 #d6ad29}
#tomato-diary [data-flip-plant].drop-after{box-shadow:5px 0 0 #d6ad29}

#tomato-diary button.brand{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}
#tomato-diary button.brand:focus-visible{outline:2px solid #315b3e;outline-offset:6px;border-radius:4px}
#tomato-diary .diary-photo .cover-tools{position:absolute;top:10px;right:10px;bottom:auto;left:auto;padding:0;background:transparent;gap:6px}
#tomato-diary .diary-photo .cover-tools .action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:50%;background:#fffdf3ed;color:#263e2e;box-shadow:0 1px 6px #0002}
#tomato-diary .diary-photo [data-cover-status]:not(:empty){position:absolute;bottom:0;left:0;right:0;background:#fffdf5;padding:8px;margin:0}

/* Three illustrated milestones: Bull's Heart card preview only. */
#tomato-diary .milestone-preview .milestone-caption{font-size:10px;color:#858678}
#tomato-diary .milestone-path{height:4px;margin:18px 16.666% 0;background:#ebe9dc;border-radius:6px;position:relative}
#tomato-diary .milestone-path>span{display:block;height:100%;background:#edc330;border-radius:6px}
#tomato-diary .milestone-stops{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-8px}
#tomato-diary .milestone-stop{display:flex;flex-direction:column;align-items:center;gap:7px;color:#96988b;font-size:10px;line-height:1.3}
#tomato-diary .milestone-dot{width:12px;height:12px;box-sizing:border-box;border:2px solid #d9dbcd;background:#fffdf5;border-radius:50%;z-index:1}
#tomato-diary .milestone-stop.reached{color:#596d3d}
#tomato-diary .milestone-stop.reached .milestone-dot{background:#edc330;border-color:#edc330}
#tomato-diary .milestone-stop.current .milestone-dot{box-shadow:0 0 0 4px #edc33030}
#tomato-diary .milestone-stop.current{font-weight:700;color:#344c2b}
#tomato-diary .milestone-stop svg{margin-top:3px}

#tomato-diary :is(.plant,.collection-card) .diary-link{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;margin-top:8px;border:1px solid #e4dfc8;border-radius:13px;background:#f8f5e8;color:#354c31;text-align:left;transition:background .2s,border-color .2s}
#tomato-diary .diary-book{display:flex;align-items:center;justify-content:center;width:36px;height:40px;border-radius:8px;background:#eaeedc;color:#4d6540;flex-shrink:0}
#tomato-diary .diary-link-copy{display:flex;flex-direction:column;gap:3px;flex:1}
#tomato-diary .diary-link-copy strong{font-size:14px;font-weight:600}
#tomato-diary .diary-link-copy small{font-size:11px;color:#7b816c}
#tomato-diary .diary-arrow{font-size:21px;transition:transform .2s}
#tomato-diary :is(.plant,.collection-card) .diary-link:hover{background:#f1edda;border-color:#bfc9a3}
#tomato-diary .diary-link:hover .diary-arrow{transform:translate(2px,-2px)}
#tomato-diary .diary-link:focus-visible{outline:2px solid #5c7337;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#tomato-diary .diary-link,#tomato-diary .diary-arrow{transition:none}#tomato-diary .diary-link:hover .diary-arrow{transform:none}}

#tomato-diary .milestone-path{margin:18px 0 0}
#tomato-diary .milestone-stops{display:block;position:relative;height:52px;margin-top:-8px}
#tomato-diary .milestone-stop{position:absolute;transform:translateX(-50%);gap:5px;font-size:9px;white-space:nowrap}
#tomato-diary .milestone-stop svg{width:16px;height:16px;margin-top:2px}
#tomato-diary .milestone-dot{width:10px;height:10px}

#tomato-diary .journey-timeline{position:relative;height:100px;margin-top:8px}
#tomato-diary .journey-track{position:absolute;top:61px;left:0;right:0;height:4px;background:#e6e6dc;border-radius:5px}
#tomato-diary .journey-track>span{display:block;height:100%;background:#edc330;border-radius:5px}
#tomato-diary .journey-stop{position:absolute;top:29px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#77906a;gap:5px;white-space:nowrap}
#tomato-diary .journey-stop svg{height:22px;width:20px}
#tomato-diary .journey-dot{height:10px;width:10px;box-sizing:border-box;border:2px solid #97aa8e;background:#fffdf5;border-radius:50%;z-index:1}
#tomato-diary .journey-stop.recorded .journey-dot{background:#edc330;border-color:#edc330}
#tomato-diary .journey-label{font-size:9px;line-height:14px;color:#59634f}
#tomato-diary .journey-today{position:absolute;top:1px;transform:translateX(-50%);height:62px;z-index:2;pointer-events:none}
#tomato-diary .journey-today>span{font-size:10px;font-weight:600;color:#3c4c31}
#tomato-diary .journey-today i{position:absolute;top:55px;left:50%;transform:translateX(-50%);height:14px;width:14px;border-radius:50%;background:#edc330;border:2px solid #fffdf5;box-shadow:0 0 0 2px #edc330;box-sizing:border-box}
#tomato-diary .journey-progress .progress-caption>.small{font-size:9px}

/* Ratings: distinct colours and bold expressions, with an empty outline when unrated. */
#tomato-diary .tomato-mood{width:36px;height:32px;box-sizing:border-box;background:#e46b52;color:#3b3026;box-shadow:none;border:0;border-radius:43% 43% 46% 46%}
#tomato-diary .tomato-mood:before{display:none}
#tomato-diary .tomato-mood.happy{background:#e46b52}
#tomato-diary .tomato-mood.neutral{background:#e9bd51}
#tomato-diary .tomato-mood.sad{background:#a6bd70;color:#344329}
#tomato-diary .tomato-mood .tomato-leaf{background:#567447}
#tomato-diary .tomato-mood .tomato-eyes{left:9px;top:11px;width:4px;height:4px;box-shadow:13px 0 currentColor}
#tomato-diary .tomato-mood .tomato-mouth{left:12px;top:22px;width:12px;height:0;border:0;border-bottom:3px solid currentColor;border-radius:2px}
#tomato-diary .tomato-mood.happy .tomato-mouth{left:11px;top:18px;width:14px;height:8px;border:0;border-bottom:3px solid currentColor;border-radius:0 0 12px 12px}
#tomato-diary .tomato-mood.sad .tomato-mouth{left:11px;top:21px;width:14px;height:7px;border:0;border-top:3px solid currentColor;border-radius:12px 12px 0 0}
#tomato-diary .tomato-mood.unrated{background:transparent;border:2px solid #a6ae99;box-shadow:none}
#tomato-diary .tomato-mood.unrated .tomato-leaf{background:#a6ae99;left:5px}
#tomato-diary .tomato-mood.unrated .tomato-eyes,#tomato-diary .tomato-mood.unrated .tomato-mouth{display:none}

/* Keep the compact maturity label on one line. */
#tomato-diary .plant .plant-facts{grid-template-columns:1fr}
#tomato-diary .plant .plant-facts dd{white-space:nowrap;font-size:13px}
#tomato-diary .collection-facts>div:last-child{grid-column:1 / -1}
#tomato-diary .collection-facts>div:last-child dd{white-space:nowrap;font-size:13px}
