/* PlantTalk visual system — calm editorial botanical UI */
:root{--ink:#17352a;--muted:#6f8178;--forest:#185c3d;--forest-2:#267451;--mint:#e8f4ec;--cream:#fbfaf5;--line:#dce7df;--white:#fff;--gold:#c99745;--shadow:0 24px 70px rgba(21,65,45,.12);--radius:24px;--surface:rgba(255,255,255,.9);--surface-soft:#fbfefc}
*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 0%,#edf7ee 0,transparent 30%),radial-gradient(circle at 100% 30%,#f2eee2 0,transparent 28%),var(--cream);letter-spacing:-.01em}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(rgba(24,92,61,.07) .7px,transparent .7px);background-size:18px 18px;mask-image:linear-gradient(to bottom,black,transparent 70%)}button,select,textarea,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}.app,.page{width:min(820px,calc(100% - 32px));margin:0 auto;padding-top:92px;padding-bottom:42px;position:relative}.page{max-width:760px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:0 4px}header b{font-size:25px;letter-spacing:-.04em}header span{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid rgba(220,231,223,.95);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(12px)}.head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 26px 22px;border-bottom:1px solid #edf1ed;background:linear-gradient(135deg,#fff,#f6faf6)}.plant-heading{display:flex;align-items:center;gap:15px}.avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(145deg,#174f36,#2f8a5d);color:#fff;font-size:30px;box-shadow:0 10px 24px rgba(24,92,61,.2)}.head small,.identify-card small,.care-card small,.care-history-card small{display:block;color:#6d8578;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.head h1{margin:3px 0 2px;font-size:25px;letter-spacing:-.04em}.head span{color:var(--muted);font-size:13px}select{border:1px solid var(--line);background:var(--surface);color:var(--forest);border-radius:14px;padding:11px 14px;font-size:13px;outline:none;box-shadow:0 4px 12px rgba(20,60,40,.04)}.identify-card,.care-card,.care-history-card{margin:18px 22px 0;padding:21px;border:1px solid #dfeae2;border-radius:21px;background:linear-gradient(145deg,#f8fcf8,#eef7f0);box-shadow:0 10px 30px rgba(30,80,50,.05)}.identify-card h2,.care-card h2,.care-history-card h2{margin:5px 0 7px;font-size:20px;letter-spacing:-.03em}.identify-card p,.care-note{margin:0 0 15px;color:#64766d;font-size:13px;line-height:1.6}.primary-button,.secondary-button,.text-button{border-radius:13px;padding:11px 15px;cursor:pointer;font-weight:750;transition:transform .18s,box-shadow .18s,background .18s}.primary-button{border:0;background:var(--forest);color:#fff;box-shadow:0 8px 18px rgba(24,92,61,.16)}.primary-button:hover{background:#124a31;transform:translateY(-1px);box-shadow:0 12px 24px rgba(24,92,61,.2)}.secondary-button{background:var(--surface);color:var(--forest);border:1px solid #cfe0d5}.secondary-button:hover{background:#f5faf6;transform:translateY(-1px)}.text-button{border:0;background:transparent;color:#5d7468}.photo-preview{margin-top:14px}.photo-preview img{display:block;width:100%;max-height:310px;object-fit:cover;border-radius:18px;border:1px solid #d5e5db}.photo-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.identify-result{margin-top:14px;padding:16px;border-radius:17px;background:var(--surface);border:1px solid #d7e7dc;color:#355b45;line-height:1.55;font-size:13px}.identify-result strong{display:block;font-size:18px;color:#1e5b3b}.identify-result span{display:block}.identify-result p{margin:8px 0}.identify-result.success{background:var(--surface)}.identify-result.error{color:#8a403d;border-color:#efd5d2;background:#fff8f7}.care-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.care-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#e8f4ec;color:#276b48;font-size:12px;font-weight:800;white-space:nowrap}.care-status.due{background:#fff2dc;color:#875916}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.care-stat{padding:14px;border:1px solid #e0ebe3;border-radius:16px;background:rgba(255,255,255,.8)}.care-stat span{display:block;color:#789084;font-size:11px}.care-stat strong{display:block;margin-top:5px;color:#285a40;font-size:14px}.care-actions{display:flex;flex-wrap:wrap;gap:8px}.care-note{margin:12px 0 0;font-size:11px}.care-history-list{display:grid;gap:9px}.care-history-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0ebe3;border-radius:15px;background:var(--surface)}.care-history-item>span{font-size:21px}.care-history-item div{display:grid;gap:3px}.care-history-item small{font-size:11px;opacity:.7;text-transform:none;letter-spacing:0}
.chat{min-height:330px;max-height:520px;overflow-y:auto;padding:20px;background:linear-gradient(180deg,#fbfdfb,#f7faf7)}.msg{display:block;width:fit-content;max-width:82%;margin:12px 0;padding:13px 16px;border-radius:18px;line-height:1.45;font-size:15px;box-shadow:0 3px 12px rgba(20,60,40,.04);overflow-wrap:anywhere;word-break:normal}.msg.user{margin-left:auto;background:var(--forest);color:#fff;border-bottom-right-radius:6px}.msg.plant{margin-right:auto;background:var(--surface);color:#294b38;border-bottom-left-radius:6px;border:1px solid #e0ebe4}.msg>span{display:block;margin-bottom:5px;font-weight:750;font-size:12px;line-height:1.3}.msg.user>span{color:#fff}.msg>div{display:block;width:auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit}.note{margin-top:7px;font-size:10px;opacity:.55}.quick{display:flex;gap:9px;flex-wrap:wrap;padding:0 22px 18px;background:#fbfdfb}.quick button{border:1px solid #d5e5db;background:var(--surface);color:#39634b;border-radius:999px;padding:9px 14px;cursor:pointer;transition:.18s}.quick button:hover{background:#edf7f0;transform:translateY(-1px);border-color:#bcd6c5}.compose{padding:20px 22px 24px;border-top:1px solid #edf1ed;background:var(--surface)}.compose b{display:block;margin-bottom:10px;color:#315a42}.row{display:flex;align-items:center;gap:10px}textarea{flex:1;min-height:58px;resize:none;border:1px solid #d5e5da;border-radius:17px;padding:15px;color:var(--ink);background:var(--surface-soft);outline:none;transition:.18s}textarea:focus{border-color:#4b9d6c;box-shadow:0 0 0 4px rgba(75,157,108,.1)}#mic,#send{height:56px;border:0;border-radius:16px;cursor:pointer;font-size:21px;transition:.18s;display:flex;align-items:center;justify-content:center;flex:0 0 auto;white-space:nowrap}#mic{width:56px;background:#edf7f0;color:#247747}#send{width:auto;min-width:96px;padding:0 16px;gap:7px;background:var(--forest);color:#fff;box-shadow:0 8px 18px rgba(24,92,61,.15);font-size:16px;font-weight:800}#mic:hover,#send:hover{transform:translateY(-2px)}#translate{width:100%;margin-top:12px;border:0;border-radius:15px;padding:13px;background:#2b7c53;color:#fff;font-weight:750;cursor:pointer}.compose p{margin:9px 2px 0;color:#789084;font-size:11px}.subscription-card{margin:0 22px 22px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#173f2e,#246647);color:#fff;border:1px solid #2b6f4e;box-shadow:0 16px 32px rgba(22,70,48,.18)}.subscription-title{font-weight:800;color:#dff2e5}.subscription-card h2{margin:8px 0;font-size:22px}.subscription-price{font-size:31px;font-weight:850}.subscription-price span{font-size:13px;font-weight:500;opacity:.75}.subscription-benefits p{margin:7px 0;color:#e2f0e7;font-size:13px}.subscribe-button{display:block;margin-top:16px;padding:13px 15px;text-align:center;text-decoration:none;border-radius:14px;background:#fff;color:#185c3d;font-weight:850}.subscription-note{color:#d7e9dd;font-size:12px}h1,h2,h3{letter-spacing:-.035em}input,select{min-height:46px}label{color:#496356;font-size:13px;font-weight:700}input{border:1px solid var(--line);border-radius:14px;padding:11px 13px;background:var(--surface);outline:none}input:focus{border-color:#4b9d6c;box-shadow:0 0 0 4px rgba(75,157,108,.1)}
@media(max-width:600px){.app,.page{width:calc(100% - 20px);padding-top:76px;padding-bottom:28px}.card{border-radius:22px}.head{padding:19px}.plant-heading{gap:10px}.head h1{font-size:21px}.avatar{width:54px;height:54px;font-size:27px}select{padding:9px 8px;max-width:120px}.identify-card,.care-card,.care-history-card{margin-left:13px;margin-right:13px}.chat{padding:14px;min-height:300px;max-height:540px}.msg{max-width:88%;font-size:15px;padding:12px 14px}.msg.plant{max-width:92%}.msg>span{font-size:12px}.compose{padding:16px}.quick{padding-left:16px;padding-right:16px}#mic{width:52px;height:52px}#send{min-width:92px;height:52px;padding:0 13px}.subscription-card{margin:0 13px 13px}.care-grid{grid-template-columns:1fr}}

/* Working appearance themes. The selected value is stored in localStorage and applied by sidebar.js. */
html[data-plantalk-theme="dark"]{--ink:#e8f1eb;--muted:#a8b9af;--forest:#49a875;--forest-2:#62bb8a;--mint:#193226;--cream:#0e1713;--line:#33483d;--white:#142019;--surface:#16231c;--surface-soft:#1b2b22;--shadow:0 24px 70px rgba(0,0,0,.35)}
html[data-plantalk-theme="dark"] body{background:radial-gradient(circle at 8% 0%,#183226 0,transparent 30%),radial-gradient(circle at 100% 30%,#2b281c 0,transparent 28%),var(--cream)}
html[data-plantalk-theme="dark"] body:before{opacity:.18;background-image:radial-gradient(rgba(98,187,138,.14) .7px,transparent .7px)}
html[data-plantalk-theme="dark"] .card{border-color:#30453a;background:var(--surface)}
html[data-plantalk-theme="dark"] .head{border-color:#2d4036;background:linear-gradient(135deg,#18271f,#142019)}
html[data-plantalk-theme="dark"] .identify-card,html[data-plantalk-theme="dark"] .care-card,html[data-plantalk-theme="dark"] .care-history-card{border-color:#30483a;background:linear-gradient(145deg,#1b3024,#17271f)}
html[data-plantalk-theme="dark"] .identify-card p,html[data-plantalk-theme="dark"] .care-note,html[data-plantalk-theme="dark"] .setting-copy span,html[data-plantalk-theme="dark"] .community-copy p{color:var(--muted)}
html[data-plantalk-theme="dark"] .theme-option,html[data-plantalk-theme="dark"] .links a,html[data-plantalk-theme="dark"] .community-box{border-color:#334a3e;background:var(--surface-soft);color:var(--ink)}
html[data-plantalk-theme="dark"] .links a{color:#9bd8b5}
html[data-plantalk-theme="dark"] .setting-row{border-color:#30453a}
html[data-plantalk-theme="dark"] input,html[data-plantalk-theme="dark"] select,html[data-plantalk-theme="dark"] textarea{background:var(--surface-soft);border-color:#3a5245;color:var(--ink)}
html[data-plantalk-theme="dark"] .secondary-button{background:var(--surface-soft);border-color:#3a5245;color:#9bd8b5}
html[data-plantalk-theme="dark"] .text-button{color:#a8b9af}
html[data-plantalk-theme="dark"] .chat{background:linear-gradient(180deg,#15231c,#122019)}
html[data-plantalk-theme="dark"] .msg.plant{background:#1b2b22;border-color:#33483d;color:#d7e7dc}
html[data-plantalk-theme="dark"] .quick,html[data-plantalk-theme="dark"] .compose{background:#142019;border-color:#2d4036}
html[data-plantalk-theme="dark"] .quick button{background:var(--surface-soft);border-color:#3a5245;color:#a7d7ba}
html[data-plantalk-theme="dark"] .photo-preview img{border-color:#3a5245}
html[data-plantalk-theme="dark"] .identify-result{background:var(--surface-soft);border-color:#3a5245;color:#cfe4d5}
html[data-plantalk-theme="dark"] .care-stat,html[data-plantalk-theme="dark"] .care-history-item{background:#1b2b22;border-color:#33483d}
html[data-plantalk-theme="dark"] .care-stat span,html[data-plantalk-theme="dark"] .care-history-item small{color:#9eb2a6}
html[data-plantalk-theme="dark"] .care-stat strong{color:#b6dfc5}
html[data-plantalk-theme="dark"] .saved{color:#78c89b}
@media(prefers-color-scheme:dark){html[data-plantalk-theme="system"]{--ink:#e8f1eb;--muted:#a8b9af;--forest:#49a875;--forest-2:#62bb8a;--mint:#193226;--cream:#0e1713;--line:#33483d;--white:#142019;--surface:#16231c;--surface-soft:#1b2b22;--shadow:0 24px 70px rgba(0,0,0,.35)}html[data-plantalk-theme="system"] body{background:radial-gradient(circle at 8% 0%,#183226 0,transparent 30%),radial-gradient(circle at 100% 30%,#2b281c 0,transparent 28%),var(--cream)}html[data-plantalk-theme="system"] .card{background:var(--surface);border-color:#30453a}html[data-plantalk-theme="system"] .head{background:linear-gradient(135deg,#18271f,#142019);border-color:#2d4036}html[data-plantalk-theme="system"] .identify-card,html[data-plantalk-theme="system"] .care-card,html[data-plantalk-theme="system"] .care-history-card{background:linear-gradient(145deg,#1b3024,#17271f);border-color:#30483a}html[data-plantalk-theme="system"] .theme-option,html[data-plantalk-theme="system"] .links a,html[data-plantalk-theme="system"] .community-box{background:var(--surface-soft);border-color:#334a3e;color:var(--ink)}html[data-plantalk-theme="system"] input,html[data-plantalk-theme="system"] select,html[data-plantalk-theme="system"] textarea{background:var(--surface-soft);border-color:#3a5245;color:var(--ink)}html[data-plantalk-theme="system"] .chat{background:linear-gradient(180deg,#15231c,#122019)}html[data-plantalk-theme="system"] .msg.plant{background:#1b2b22;border-color:#33483d;color:#d7e7dc}html[data-plantalk-theme="system"] .quick,html[data-plantalk-theme="system"] .compose{background:#142019;border-color:#2d4036}}
