
:root{--paper:#f7f2e7;--cream:#fffaf0;--canvas:#eee7d7;--ink:#354334;--muted:#77806c;--green:#647e48;--green-dark:#486333;--sage:#dce4cf;--line:#e4dcc7;--gold:#d8a94b;--shadow:0 4px 18px #66532a08;--radius:22px;font-family:'Noto Sans JP',Arial,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;font-size:14px;line-height:1.5}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button{border:0}
a{color:var(--green-dark)}
button:disabled{opacity:.55;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b18c39;outline-offset:4px}
button:active:not(:disabled){transform:translateY(1px)}
button, a{touch-action:manipulation}
img{max-width:100%}
.icon{width:21px;height:21px;flex-shrink:0;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500}
h1,h2,.serif{font-family:'Yusei Magic','Times New Roman',serif}
h2{font-size:24px;letter-spacing:-.6px}
h3{font-size:16px}
small{font-size:11px}
button{background:none}
.app-shell{max-width:1680px;min-height:100vh;margin:auto;display:grid;grid-template-columns:216px 1fr;background:var(--paper);box-shadow:0 0 80px #4f523411}
.sidebar{position:sticky;top:0;align-self:start;height:100vh;border-right:1px solid var(--line);background:#f7f2e5;display:flex;flex-direction:column;padding:38px 22px 24px;z-index:5}
.brand{display:flex;align-items:center;gap:9px;text-align:left;padding:0}
.brand img{width:38px;height:38px}
.brand strong{font:30px 'Yusei Magic',serif;letter-spacing:-1.4px}
.brand-subtitle{font-size:9px;letter-spacing:2px;text-transform:uppercase;padding-left:47px;margin-top:3px;color:var(--muted)}
.sidebar nav{display:grid;gap:9px;margin-top:49px}
.nav-item{display:flex;align-items:center;gap:14px;padding:13px 17px;text-align:left;color:#7c806c;border-radius:12px;font-size:13px}
.nav-item:hover{background:#eaeedc}
.nav-item.active{color:#fffbea;background:var(--green);box-shadow:0 3px 5px #56683812}
.nav-item .icon{width:20px;height:20px}
.nav-add{margin-top:19px;border:1px dashed #b1bea0;justify-content:center;color:var(--green-dark)}
.sidebar-bottom{margin-top:auto}
.sidebar-garden{position:relative;text-align:center;padding:12px 0 21px}
.sidebar-garden img{width:104px;height:104px;display:block;margin:0 auto -2px}
.sidebar-garden p{font:italic 15px 'Yusei Magic',serif;color:#7d8867}
.sidebar-bottom .nav-item{width:100%}
.local-note{font-size:9px;line-height:1.6;text-align:center;color:#939584;margin:17px 0 0}
.workspace{padding:29px 40px 25px;min-width:0;max-width:1440px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}
.eyebrow{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#868e78;font-weight:bold}
.page-title{font-size:25px;margin-top:4px;letter-spacing:-.7px}
.top-actions{display:flex;align-items:center;gap:13px}
.location-chip{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}
.location-chip .icon{width:16px;height:16px}
.sunshine-pill{border:1px solid #e9dab6;background:#fbf2d8;color:#977324;border-radius:24px;padding:8px 13px;display:flex;align-items:center;gap:7px;font-size:12px}
.sunshine-pill .icon{color:#cda448;width:18px;height:18px}
.avatar{height:35px;width:35px;border-radius:50%;background:#e7e9d7;color:#69824c;font:18px 'Yusei Magic',serif;border:3px solid #fffaf0;box-shadow:0 0 0 1px var(--line)}
.hero{position:relative;border-radius:24px;overflow:hidden;height:300px;background:#e5e9d2 url('./assets/room.svg') center/cover no-repeat;border:1px solid #ddd9bb;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f3efdeeb 0%,#f3efdece 20%,#f3efde50 43%,transparent 61%);z-index:-1}
.hero-content{padding:37px 36px;max-width:53%}
.hero .eyebrow{color:#6e7d58;letter-spacing:1.7px;font-size:10px}
.hero h1{font-size:39px;line-height:1.17;letter-spacing:-1.4px;margin:11px 0 13px;color:#45583a}
.hero p{font-size:12px;color:#6f795f;max-width:245px}
.hero .btn{margin-top:23px}
.hero-caption{position:absolute;right:19px;bottom:16px;background:#fff9ebd9;border:1px solid #eee7d0;border-radius:30px;padding:6px 12px;font-size:10px;color:#778160;backdrop-filter:blur(3px)}
.hero-caption .icon{width:13px;height:13px;margin-right:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:10px 18px;border-radius:11px;font-size:12px;font-weight:bold;transition:background .2s}
.btn.primary{background:var(--green);color:#fffced;box-shadow:0 3px 0 #4b663722}
.btn.primary:hover{background:var(--green-dark)}
.btn.secondary{background:#f7f0df;border:1px solid #dfd5ba;color:#737850}
.btn.secondary:hover{background:#ece5d3}
.btn.ghost{background:#edf0e1;color:var(--green-dark)}
.btn .icon{width:17px;height:17px}
.btn.wide{width:100%}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 14px}
.section-heading h2{font-size:23px}
.section-heading h2 span{font:11px 'Noto Sans JP',sans-serif;color:#929981;margin-left:7px}
.text-link{font-size:11px;color:#7c866a;padding:4px 0;display:inline-flex;gap:6px;align-items:center}
.text-link .icon{width:13px;height:13px}
.plants-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.plant-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--cream);padding:13px 16px 14px;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}
.plant-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #556d4212}
.plant-card .room-tag{position:absolute;right:12px;top:11px;font-size:8px;color:#959580;background:#f0ecddad;border-radius:6px;padding:3px 6px}
.plant-art{height:128px;width:100%;object-fit:contain;display:block;margin:0 auto 4px;filter:drop-shadow(0 6px 4px #92844d0b)}
.plant-card h3{font-family:'Yusei Magic',serif;font-size:20px;line-height:1.2}
.plant-card .species{font-size:9px;color:#89907b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:5px}
.status{display:flex;gap:5px;align-items:center;font-size:10px;color:#7c8f5e}
.status .icon{width:12px;height:12px}
.status.due{color:#719199}
.growth-track{height:4px;border-radius:3px;background:#e7ead6;margin-top:9px;overflow:hidden}
.growth-track span{height:100%;display:block;background:#9cb47b;border-radius:3px;width:80%}
.due-track span{background:#afcbd0;width:60%}
.tiny-face{color:#97a779;display:flex}
.tiny-face .icon{width:15px;height:15px}
.home-bottom{display:grid;grid-template-columns:1.13fr 1fr;gap:20px;margin-top:23px}
.panel{border:1px solid var(--line);border-radius:20px;background:var(--cream);box-shadow:var(--shadow);padding:23px}
.panel-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px;gap:10px}
.panel-title h2{font-size:22px}
.panel-title p{font-size:10px;color:#939581;margin-top:5px}
.round-count{padding:4px 9px;font-size:9px;color:#8d945f;border:1px solid #e0e3c9;border-radius:20px;white-space:nowrap}
.task-summary{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 13px;margin:9px 0;background:#f3efdf}
.task-icon{height:34px;width:34px;display:grid;place-items:center;border-radius:10px;background:#e4eeea;color:#79a2a6}
.task-icon.sun{color:#c4a553;background:#f5ecd0}
.task-copy{flex:1}
.task-copy strong{display:block;font-size:12px;font-weight:normal}
.task-copy span{display:block;font-size:9px;color:#979986;margin-top:2px}
.task-summary>.icon{width:15px;color:#9caa81}
.round-panel>.btn{margin-top:7px}
.quiet-note{font-size:9px;color:#929a80;text-align:center;margin-top:11px}
.quiet-note .icon{width:11px;height:11px;margin-right:3px}
.tip-panel{position:relative;overflow:hidden;min-height:184px}
.tip-panel .eyebrow{letter-spacing:1px;color:#9b946e}
.tip-panel h3{font:22px 'Yusei Magic',serif;max-width:65%;margin:16px 0 8px}
.tip-panel p{font-size:11px;color:#8a8e77;max-width:61%;line-height:1.7}
.tip-panel>img{position:absolute;width:147px;height:170px;object-fit:contain;right:-21px;bottom:-15px;transform:rotate(-9deg)}
.tip-panel .text-link{margin-top:13px}
.right-stack{display:grid;gap:15px}
.garden-teaser{display:flex;align-items:center;gap:13px;padding:15px 20px;background:#edf0df}
.garden-teaser>.icon{width:30px;height:30px;color:#8c9a68}
.garden-teaser div{flex:1}
.garden-teaser h3{font:16px 'Yusei Magic',serif}
.garden-teaser p{font-size:9px;color:#90967a;margin-top:3px}
.page-footer{display:flex;align-items:center;justify-content:center;gap:7px;color:#9a9e89;font-size:9px;margin-top:26px}
.page-footer .icon{width:12px;height:12px}
.mobile-nav{display:none}
.page-intro{margin:15px 0 24px}
.page-intro h1{font-size:34px;letter-spacing:-1px}
.page-intro p{font-size:12px;margin-top:9px;color:var(--muted);max-width:560px}
.toolbar{display:flex;gap:10px;margin-bottom:20px;align-items:center}
.search-wrap{flex:1;position:relative}
.search-wrap .icon{position:absolute;top:50%;transform:translateY(-50%);left:12px;width:18px;color:#98a087;pointer-events:none}
.search-wrap input[type=search]{padding-left:44px}
.input,select,input[type=text],input[type=date],input[type=search],input[type=number],textarea{width:100%;padding:11px 12px;border:1px solid #dcd5bf;border-radius:10px;background:#fffdf7;color:var(--ink);min-height:43px;font-size:13px}
.toolbar select{width:auto;max-width:160px}
.collection-grid .plant-art{height:165px}
.add-card{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed #b8c5a5;box-shadow:none;background:#eff0df80;color:#85956c}
.add-card>.icon{height:32px;width:32px}
.add-card span{font-size:12px}
.empty{padding:45px 20px;text-align:center}
.empty>.icon{width:50px;height:50px;color:#99ac7c;margin-bottom:15px}
.empty h2{margin-bottom:9px}
.empty p{font-size:12px;color:var(--muted);max-width:360px;margin:0 auto 20px}
.garden-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#edf0df;padding:25px 30px}
.garden-banner h2{font-size:28px}
.garden-banner p{font-size:12px;color:#818e6d;margin-top:7px}
.sunshine-big{display:flex;align-items:center;gap:12px;white-space:nowrap;font:40px 'Yusei Magic',serif;color:#b69a4e}
.sunshine-big .icon{width:39px;height:39px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.shop-card{text-align:center;padding:22px}
.shop-art{height:90px;display:grid;place-items:center;color:#8d9b6d}
.shop-art .icon{width:60px;height:60px;stroke-width:1.1}
.shop-card h3{font:21px 'Yusei Magic',serif}
.shop-card p{font-size:11px;color:var(--muted);margin:8px 0 18px;min-height:33px}
.shop-card .btn{min-width:130px}
.garden-preview{height:285px;margin-top:22px;position:relative;border-radius:20px;overflow:hidden;background:#e3e6cb url('./assets/room.svg') center/cover}
.garden-preview .decor{position:absolute;right:16%;bottom:14%;filter:drop-shadow(2px 5px 2px #6f63401a)}
.garden-preview .decor .icon{height:52px;width:52px;color:#8b623e;fill:#ddb871}
.garden-preview .decor:nth-child(2){right:26%;bottom:8%}
.garden-preview .decor:nth-child(3){right:40%;bottom:15%}
.learn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.learn-card{display:flex;align-items:flex-start;gap:18px;text-align:left}
.learn-card>.icon{height:32px;width:32px;color:#8a9c68}
.learn-card h3{font:22px 'Yusei Magic',serif}
.learn-card p{font-size:12px;color:#8b927b;margin-top:10px}
.species-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.guide-card{display:flex;align-items:center;padding:12px 16px;text-align:left;gap:8px}
.guide-card img{height:85px;width:72px;object-fit:contain}
.guide-card h3{font:17px 'Yusei Magic',serif}
.guide-card span{font-size:10px;color:var(--muted)}
.breadcrumbs{display:flex;align-items:center;gap:8px;margin:10px 0 20px}
.breadcrumbs button{font-size:11px;color:#829068;padding:0}
.breadcrumbs .icon{width:12px;height:12px;color:#a2aa93}
.profile-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}
.profile-visual{position:relative;background:radial-gradient(ellipse at 50% 50%,#f8f4e0,#e7edd7);min-height:440px;border-radius:24px;text-align:center;padding:23px}
.profile-visual img{height:295px;object-fit:contain;width:100%;margin-top:10px}
.profile-visual h1{font-size:34px}
.profile-visual p{color:#8a9676;font-size:12px}
.profile-status{position:absolute;top:20px;left:20px;color:#83916c;font-size:10px}
.profile-side .panel{margin-bottom:17px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px;margin-top:20px}
.metric{display:flex;gap:9px;align-items:flex-start}
.metric>.icon{width:19px;height:19px;color:#9aaa7e}
.metric small{display:block;color:#969b88;font-size:9px;margin-bottom:3px}
.metric strong{font-size:11px;font-weight:normal;display:block}
.care-copy{font-size:12px;color:#859073;line-height:1.8;margin-top:8px}
.advanced{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}
.advanced summary{cursor:pointer;font-size:12px;color:#7e8c69}
.advanced-content{font-size:12px;color:#87917a;line-height:1.8;padding-top:10px}
.history-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:9px}
.history-list li{font-size:11px;display:flex;justify-content:space-between;gap:12px;color:#7d896e;padding:9px 0;border-bottom:1px solid #eeeadb}
.profile-actions{display:flex;gap:10px;flex-wrap:wrap}
.settings-form{max-width:650px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:block;margin-bottom:16px}
.field>span,.field>label{display:block;font-size:12px;color:#69745c;margin-bottom:7px}
.field small{display:block;color:#909782;margin-top:5px;font-size:10px}
.field-row{display:flex;gap:10px}
.field-row>*{flex:1}
.switch-row{display:flex;align-items:center;gap:15px;margin:22px 0}
.switch-row input{accent-color:var(--green);height:19px;width:19px}
.switch-row strong{font-size:12px}
.switch-row p{font-size:11px;color:var(--muted);margin-top:4px}
.notice{padding:13px 15px;border-radius:11px;background:#edf0df;font-size:11px;color:#7a8868;line-height:1.7}
.notice .icon{height:16px;width:16px;margin-right:5px}
.notice.warning{background:#f6eed8;color:#9a814e}
.subheading{font:21px 'Yusei Magic',serif;margin:24px 0 13px}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}
.modal-header h2{font-size:26px}
.close-button{height:33px;width:33px;display:grid;place-items:center;border-radius:50%;background:#eeeddf;flex-shrink:0;color:#939a81}
.close-button .icon{width:17px;height:17px}
dialog{width:min(600px,calc(100vw - 32px));max-height:90vh;border:1px solid var(--line);border-radius:24px;background:var(--cream);color:var(--ink);padding:27px;box-shadow:0 22px 80px #24302030;overscroll-behavior:contain}
dialog::backdrop{background:#34442d50;backdrop-filter:blur(5px)}
body:has(dialog[open]){overflow:hidden}
.modal-lead{font-size:12px;color:#879179;margin:-10px 0 21px;line-height:1.7}
.stepper{display:flex;gap:6px;margin:0 0 24px}
.stepper span{height:4px;background:#e9e7d7;flex:1;border-radius:3px}
.stepper .done{background:#93a975}
.step-label{font-size:9px;letter-spacing:1.5px;color:#91a078;text-transform:uppercase;margin-bottom:8px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;border-top:1px solid #e8e2d1;padding-top:20px}
.modal-actions .back{margin-right:auto}
.species-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.species-option{border:1px solid #e5ddc9;border-radius:13px;background:#fbf7ec;padding:9px;text-align:center}
.species-option.selected{border:2px solid #90a572;background:#ecf0de;padding:8px}
.species-option img{width:80px;height:88px;object-fit:contain}
.species-option strong{display:block;font-size:11px;font-weight:normal}
.upload-area{display:block;text-align:center;border:1px dashed #b6bfa3;border-radius:13px;padding:18px;margin-bottom:20px;background:#f0f1e2;cursor:pointer}
.upload-area .icon{width:26px;height:26px;color:#93a678;margin-bottom:5px}
.upload-area strong{display:block;font-size:12px;font-weight:normal}
.upload-area small{display:block;color:#9b9f89;font-size:9px;margin-top:5px}
.upload-area input{position:absolute;width:1px;height:1px;opacity:0}
.upload-area:focus-within{outline:3px solid #b18c39}
.photo-preview{height:75px;width:75px;border-radius:9px;object-fit:cover;margin-bottom:7px}
.species-confirm{margin-top:14px;font-size:10px;color:#939b83}
.review-plant{text-align:center;background:#eff0df;border-radius:16px;padding:15px;margin-bottom:20px}
.review-plant img{height:145px;width:160px;object-fit:contain}
.review-plant h3{font:27px 'Yusei Magic',serif}
.review-plant p{font-size:11px;color:#8c9778;margin-top:4px}
.review-lines{display:grid;gap:12px}
.review-lines>div{display:flex;gap:12px;font-size:12px;align-items:flex-start}
.review-lines .icon{color:#91a074;width:18px;height:18px}
.round-progress{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8f997d;margin-bottom:13px}
.round-plant{display:flex;align-items:center;gap:15px;background:#f0f0df;border-radius:16px;padding:8px 19px;margin-bottom:22px}
.round-plant img{height:130px;width:110px;object-fit:contain}
.round-plant h3{font:27px 'Yusei Magic',serif}
.round-plant p{font-size:11px;color:#8f997b;margin-top:3px}
.round-question{font:24px 'Yusei Magic',serif;letter-spacing:-.5px;margin-bottom:9px}
.round-explanation{font-size:12px;line-height:1.7;color:#8b967c;margin-bottom:20px}
.moisture-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.moisture-option{text-align:left;border:1px solid var(--line);border-radius:13px;padding:15px;background:#fbf7eb}
.moisture-option:hover{border-color:#9eb484;background:#eff1e2}
.moisture-option strong{font-size:13px;font-weight:normal;display:block}
.moisture-option small{font-size:10px;color:#919983;display:block;margin-top:4px}
.moisture-option .icon{float:right;color:#87a7a7;width:19px;height:19px}
.success-mark{width:66px;height:66px;display:grid;place-items:center;margin:9px auto 20px;background:#e9efda;color:#8da368;border-radius:50%}
.success-mark .icon{height:35px;width:35px}
.round-success{text-align:center;padding:8px 5px}
.round-success h3{font:29px 'Yusei Magic',serif;margin-bottom:12px}
.round-success p{font-size:12px;color:#859272;line-height:1.8}
.round-success .sunshine-pill{display:inline-flex;margin:20px 0 0}
.result-card{padding:18px;background:#eaf0e0;border-radius:14px;margin-top:16px}
.result-card h3{font:23px 'Yusei Magic',serif;margin-bottom:10px}
.result-card p{font-size:12px;color:#7c8b6a;line-height:1.8}
.diagnosis-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice{border:1px solid var(--line);border-radius:12px;padding:15px;text-align:left;font-size:12px;background:#fcf7eb}
.choice:hover,.choice.selected{border-color:#9bae80;background:#ebefde}
.sitter-list{margin-top:18px;display:grid;gap:11px}
.sitter-task{border:1px solid var(--line);border-radius:11px;padding:12px 14px;display:flex;gap:10px}
.sitter-task .icon{width:18px;color:#96a77f}
.sitter-task strong{font-size:12px}
.sitter-task p{font-size:11px;color:#909a80;margin-top:5px}
.sitter-task small{font-size:9px;color:#9da48c}
.guide-hero{display:flex;align-items:center;gap:15px;margin-bottom:15px}
.guide-hero img{height:150px;width:130px;object-fit:contain}
.guide-hero p{font-size:12px;color:#869376;line-height:1.8}
#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(15px);z-index:1000;background:#455c35;color:#fffcec;border:1px solid #71815c;border-radius:13px;padding:13px 22px;box-shadow:0 6px 30px #1e391b22;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);width:max-content;text-align:center}
#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.skip-link{position:fixed;top:-50px;left:15px;padding:10px;background:var(--cream);z-index:1001}
.skip-link:focus{top:10px}
.noscript{padding:30px}
.mobile-brand{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.workspace{padding:32px 48px}
.hero{height:340px}
.hero-content{padding:47px 42px}
.hero h1{font-size:45px}
.plant-art{height:156px}
.plant-card{padding:15px 20px 17px}
.home-bottom{gap:22px}
.hero p{font-size:13px}
}
@media(max-width:1150px){.app-shell{grid-template-columns:178px 1fr}
.sidebar{padding:30px 15px}
.brand strong{font-size:26px}
.brand img{width:31px;height:31px}
.brand-subtitle{padding-left:40px;font-size:7px}
.workspace{padding:26px}
.hero-content{padding:31px 26px}
.hero h1{font-size:34px}
.plant-card{padding:12px}
.plant-art{height:110px}
.plants-grid{gap:10px}
.panel{padding:19px}
.home-bottom{gap:15px}
.species-guides{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){.app-shell{grid-template-columns:84px 1fr}
.sidebar{padding:27px 14px}
.brand{justify-content:center}
.brand strong,.brand-subtitle,.nav-item span,.sidebar-garden,.local-note{display:none}
.nav-item{justify-content:center;padding:15px}
.sidebar nav{margin-top:35px}
.brand img{width:36px;height:36px}
.hero h1{font-size:32px}
.hero-content{max-width:62%}
.hero{height:275px}
.home-bottom{grid-template-columns:1fr 1fr}
.tip-panel p{max-width:70%}
.tip-panel>img{width:110px;right:-33px}
.profile-layout{grid-template-columns:1fr}
.profile-visual{min-height:360px}
.profile-visual img{height:235px}
.shop-grid{grid-template-columns:repeat(3,1fr);gap:10px}
.shop-card{padding:20px 12px}
.shop-card h3{font-size:19px}
}
@media(max-width:650px){body{background:var(--paper)}
.app-shell{display:block}
.sidebar{display:none}
.workspace{padding:19px 19px 102px}
.topbar{margin-bottom:20px}
.topbar-left .eyebrow{display:none}
.page-title{font-size:24px;margin:0}
.top-actions{gap:9px}
.location-chip{display:none}
.sunshine-pill{padding:7px 10px;font-size:11px}
.avatar{height:32px;width:32px}
.hero{height:295px;border-radius:20px;background-size:auto 100%;background-position:52% center}
.hero:before{background:linear-gradient(90deg,#f3efdeeb,#f3efde99 47%,transparent 86%)}
.hero-content{padding:27px 23px;max-width:75%}
.hero h1{font-size:34px;margin-top:12px}
.hero p{font-size:11px;max-width:170px}
.hero .btn{margin-top:20px;padding:10px 13px}
.hero-caption{font-size:8px;bottom:10px;right:10px;padding:5px 8px}
.section-heading{margin-top:24px}
.section-heading h2{font-size:23px}
.section-heading h2 span{font-size:9px}
.plants-grid{grid-template-columns:1fr 1fr;gap:12px}
.plant-card{padding:15px}
.plant-art{height:142px}
.plant-card h3{font-size:22px}
.plant-card .species{font-size:10px}
.plant-card .room-tag{font-size:8px}
.status{font-size:10px}
.home-bottom{grid-template-columns:1fr;gap:15px;margin-top:22px}
.panel{padding:22px}
.right-stack{gap:15px}
.tip-panel{min-height:188px}
.tip-panel>img{width:150px;right:-1px;bottom:-15px}
.tip-panel p{max-width:63%}
.tip-panel h3{max-width:64%}
.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:11px 10px calc(11px + env(safe-area-inset-bottom));background:#faf5e7ed;border-top:1px solid #dfdcc5;backdrop-filter:blur(14px);z-index:20;box-shadow:0 -4px 20px #5c6b3506}
.mobile-nav button{min-width:54px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#92977c;font-size:9px}
.mobile-nav button.active{color:#667e47}
.mobile-nav .icon{width:22px;height:22px}
.mobile-nav .mobile-add{margin-top:-25px;height:53px;min-width:53px;width:53px;background:var(--green);color:#fffce9;border:5px solid var(--paper);border-radius:50%;display:grid;place-items:center;box-shadow:0 3px 8px #61764730}
.mobile-nav .mobile-add .icon{width:24px;height:24px}
.page-footer{font-size:8px}
.page-intro h1{font-size:30px}
.toolbar{flex-wrap:wrap}
.toolbar .search-wrap{flex-basis:55%}
.toolbar select{max-width:140px}
.toolbar>.btn{width:100%}
.collection-grid .plant-art{height:145px}
.garden-banner{padding:22px;gap:15px}
.garden-banner h2{font-size:25px}
.sunshine-big{font-size:30px;gap:6px}
.sunshine-big .icon{height:26px;width:26px}
.shop-grid{grid-template-columns:1fr}
.shop-card{display:grid;grid-template-columns:72px 1fr;column-gap:15px;text-align:left;padding:18px}
.shop-art{grid-row:1/4;height:auto}
.shop-art .icon{height:52px;width:52px}
.shop-card p{min-height:0;margin:6px 0 13px}
.shop-card .btn{justify-self:start}
.garden-preview{height:220px}
.learn-grid{grid-template-columns:1fr}
.species-guides{grid-template-columns:1fr 1fr;gap:10px}
.guide-card{padding:10px;gap:3px}
.guide-card img{width:53px;height:69px}
.guide-card h3{font-size:14px}
.guide-card span{font-size:9px}
.profile-visual{min-height:365px}
.profile-layout{gap:18px}
.profile-visual img{height:260px}
.profile-actions>.btn{flex:1}
.form-grid{grid-template-columns:1fr}
.settings-form{padding:21px}
.modal-header h2{font-size:24px}
dialog{padding:23px 20px;max-height:88dvh}
.species-options{gap:8px}
.species-option{padding:6px}
.species-option.selected{padding:5px}
.species-option img{height:77px;width:69px}
.species-option strong{font-size:10px}
.round-plant img{height:110px;width:90px}
.round-plant h3{font-size:25px}
.round-question{font-size:24px}
.modal-actions{margin-top:19px;padding-top:17px}
.modal-actions>.btn{flex:1}
.modal-actions .back{flex:0}
.field-row{display:block}
.moisture-option{padding:13px}
#toast{bottom:99px}
.garden-teaser{padding:17px}
.hero .eyebrow{font-size:8px}
.advanced-content{font-size:11px}
.diagnosis-options{gap:8px}
.choice{padding:13px}
.sitter-list{max-height:280px;overflow:auto}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{.sidebar,.mobile-nav,.topbar,.modal-actions,.close-button,#toast{display:none!important}
body:has(dialog[open]) #app{display:none}
dialog[open]{position:static;display:block;max-height:none;width:100%;border:0;box-shadow:none}
.sitter-list{max-height:none;overflow:visible}
}




/* Real controls remain comfortably readable on phones. */
.field input:not([type=checkbox]), .field select { font-size: 14px; }
#main:focus { outline: none; }
@media (max-width: 650px) {
  .field input:not([type=checkbox]), .field select { font-size: 16px; }
  .topbar-left { min-width: 0; }
  .page-title { font-size: 21px; }
  .plant-card .species { font-size: 11px; }
  .round-explanation, .care-copy, .modal-lead { font-size: 13px; }
  .topbar { align-items: flex-start; }
}
.field input:not([type=checkbox]):not([type=file]) {
  display: block;
  width: 100%;
  min-height: 43px;
  padding: 11px 12px;
  border: 1px solid #dcd5bf;
  border-radius: 10px;
  background: #fffdf7;
  color: var(--ink);
}
/* Keep the complete room illustration visible beside the greeting. */
.hero { background-size: auto 110%; background-position: right center; background-color: #f0efdc; }
.brand-subtitle { font-size: 8px; letter-spacing: 1.1px; white-space: nowrap; }
@media (max-width:650px) {
  .hero { background-size: auto 100%; background-position: 64% center; }
  .brand-subtitle { display: none; }
}

/* Reference-led painted garden theme. */
:root {
  --paper:#fbf1da; --cream:#fff6e3; --canvas:#eee0c5;
  --ink:#4e5136; --muted:#858264; --green:#81994e; --green-dark:#647d3d;
  --sage:#e2e7c7; --line:#e9d9b7; --gold:#d7b95d;
  --shadow:0 3px 4px #79653d16, inset 0 0 0 2px #fff9ed70;
  font-family:'Noto Sans JP',sans-serif;
  background:#eee0c5;
}
body { background:radial-gradient(ellipse at 35% 15%,#fff2dc,#edddbf); padding:30px; color:var(--ink); }
h1,h2,h3,.serif { font-family:'Noto Sans JP',sans-serif; letter-spacing:0; }
h2,h3 { font-weight:600; }
.app-shell { max-width:1340px; min-height:860px; border:1px solid #c8bd94; border-radius:25px; overflow:hidden; grid-template-columns:186px 1fr; box-shadow:0 4px 8px #695e3b35,0 16px 55px #7d6a3820; background:#fbefd7; position:relative; }
.sidebar { height:100%; min-height:860px; position:relative; top:auto; padding:56px 18px 22px; background:linear-gradient(90deg,#fff6df,#f9eecf); border-right:1px solid #e0ccaa; box-shadow:3px 0 8px #8b774416; }
.sidebar:before { content:''; position:absolute; top:0; left:0; right:0; height:18px; background:linear-gradient(#79613a,#9e8054 70%,#6b5638); border-bottom:3px solid #baa07b; }
.brand { flex-direction:column; gap:7px; justify-content:center; width:100%; }
.brand img { width:40px; height:40px; mix-blend-mode:multiply; }
.brand strong { font:700 23px 'Noto Sans JP',sans-serif; letter-spacing:.2px; color:#6f7549; }
.brand-subtitle { padding:0; text-align:center; margin-top:6px; font-size:9px; letter-spacing:1px; text-transform:none; color:#8a8061; }
.sidebar nav { margin-top:29px; gap:12px; }
.nav-item { padding:13px 15px; font-size:13px; font-weight:600; border-radius:11px; color:#877a52; gap:14px; }
.nav-item .icon { width:24px; height:24px; stroke-width:2; }
.nav-item.active { background:linear-gradient(110deg,#91a655,#799848); box-shadow:0 2px 4px #8c805d25,inset 0 1px 0 #cfdaa875; }
.nav-add { display:none; }
.sidebar-bottom { display:flex; flex-direction:column; padding-top:70px; }
.sidebar-bottom>.nav-item { order:0; }
.sidebar-garden { order:1; padding:25px 0 0; }
.sidebar-bottom .local-note { display:none; }
.companion { display:block; background:url('./assets/companions-painted.png') no-repeat; background-size:300% 100%; mix-blend-mode:multiply; aspect-ratio:1; }
.cat-companion { width:160px; max-width:115%; margin-left:-6px; background-position:0 50%; }
.workspace { padding:66px 30px 24px; max-width:none; position:relative; background:#fbefd8 url('./assets/garden-painted-no-charm.png') right top / cover no-repeat; }
.topbar { margin:0 0 28px 8px; min-height:91px; align-items:center; position:relative; z-index:1; }
.page-title { font:700 26px 'Noto Sans JP',sans-serif; color:#505438; letter-spacing:.1px; }
.topbar-left>.eyebrow { font-size:9px; color:#8c896c; }
.page-home .topbar-left>.eyebrow { display:none; }
.page-home .page-title { font-family:'Yusei Magic','Noto Sans JP',sans-serif; font-size:32px; letter-spacing:1px; }
.home-subtitle { margin-top:7px; font-size:13px; color:#777554; letter-spacing:.4px; }
.home-subtitle span { font-size:12px; }
.top-actions { gap:12px; margin-right:160px; }
.page-home .location-chip { display:none; }
.season-card { background:linear-gradient(#fff7e6f2,#fcf0d8ef); border:1px solid #f3e2c2; box-shadow:0 3px 4px #a4875b22,inset 0 0 0 2px #fffbed77; border-radius:13px; padding:13px 20px; min-width:144px; color:#867453; text-align:center; }
.season-card>span { display:block; font-size:10px; }
.season-card strong { display:flex; gap:9px; align-items:center; justify-content:center; font-size:23px; font-weight:500; line-height:1.4; }
.season-card .icon { width:30px; height:30px; color:#d7b34e; fill:#efd48455; }
.season-card small { font-size:8px; display:block; }
.sunshine-pill { background:#fff4dadd; border:1px solid #e6d5ad; }
.page-home .top-actions>.sunshine-pill { position:absolute; right:10px; top:-34px; }
.avatar { background:#eadcb8; color:#786a45; border:2px solid #fcf3da; width:37px; height:37px; }
.page-home .avatar { display:none; }
.family-section { display:flex; align-items:stretch; gap:16px; margin-right:92px; position:relative; }
.family-box { flex:1; min-width:0; padding:17px 12px 12px; border-radius:22px; background:#fff5dfef; }
.family-box .section-heading { margin:0 8px 13px; }
.section-heading h2 { font-size:17px; font-weight:600; letter-spacing:.2px; }
.text-link { font-size:10px; color:#928669; }
.plants-grid { gap:9px; }
.plant-card { padding:10px 11px 12px; border-radius:17px; border:1px solid #e8daba; background:linear-gradient(#fff8e8,#fcf2dc); box-shadow:0 3px 2px #ad9b771c,inset 0 0 0 3px #fffbed60; overflow:hidden; }
.plant-card:hover { box-shadow:0 6px 15px #78643720; }
.plant-sprite { display:block; width:150px; max-width:100%; aspect-ratio:1; background-image:url('./assets/plants-painted.png'); background-repeat:no-repeat; background-size:300% 200%; background-position:var(--plant-x) var(--plant-y); mix-blend-mode:multiply; flex-shrink:0; }
.plant-card .plant-art { height:auto; width:164px; max-width:100%; margin:1px auto 9px; filter:none; }
.plant-card .room-tag { display:none; }
.plant-card h3 { font:600 15px 'Noto Sans JP',sans-serif; letter-spacing:0; }
.plant-card .species { margin-top:3px; font-size:9px; color:#9b9173; }
.status-row { margin-top:10px; }
.status { font-size:9px; gap:3px; color:#8c9a59; }
.status.due { color:#879fa0; }
.status .icon { width:11px; height:11px; }
.tiny-face { color:#a9b27d; }
.growth-track { margin-top:8px; background:#e9ddbc; height:6px; box-shadow:inset 0 1px 2px #87754313; }
.growth-track span { background:linear-gradient(90deg,#b3c880,#91aa63); }
.due-track span { background:linear-gradient(90deg,#bddee0,#91b6bf); }
.home-add-card { align-self:center; height:233px; width:100px; flex:0 0 100px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:32px; border:1px dashed #ddceab; border-radius:18px; background:#fff6e0f5; box-shadow:0 3px 6px #806c3c22; color:#aca073; font-size:11px; }
.home-add-card .icon { width:30px; height:30px; stroke-width:1.2; }
.home-bottom { grid-template-columns:.9fr 1.1fr; gap:22px; margin-top:25px; }
.panel { border-color:#e8d9b7; background:#fff5e0f5; box-shadow:var(--shadow); border-radius:20px; }
.round-panel { position:relative; padding:23px 22px 110px; min-height:356px; }
.panel-title h2 { font-size:18px; font-weight:600; letter-spacing:.2px; }
.panel-title p { color:#9b8f73; font-size:10px; margin-top:6px; }
.round-count { display:none; }
.task-summary { display:flex; width:100%; padding:10px 10px; margin:10px 0; text-align:left; gap:10px; background:#f7ecd7; border:1px solid #f5e9cf; border-radius:12px; box-shadow:inset 0 1px 3px #daccb322; }
.task-icon { background:none; color:#84b1b7; width:29px; height:32px; }
.task-icon .icon { width:26px; height:26px; fill:#b6d4d533; }
.task-icon.sun { background:none; color:#ddba5c; }
.task-icon.sun .icon { fill:#edcf8177; }
.task-copy strong { font-size:12px; color:#817451; font-weight:600; }
.task-copy span { font-size:9px; color:#9f9173; }
.task-go { border:1px solid #b6c17d; border-radius:10px; background:linear-gradient(#92ad5d,#7e9a4d); color:#fff9e8; font-size:10px; padding:8px 13px; white-space:nowrap; box-shadow:0 2px 3px #9a926b25; }
.secondary-go { background:linear-gradient(#fff4dc,#f2dfbb); border-color:#e2cda8; color:#9a8357; }
.helper-companion { position:absolute; width:126px; right:9px; bottom:5px; background-position:50% 50%; pointer-events:none; }
.round-start { margin-top:8px!important; font-size:10px; padding:9px 12px; min-height:35px; max-width:calc(100% - 87px); background:linear-gradient(#91a95b,#799247)!important; }
.round-panel .quiet-note { position:absolute; bottom:23px; left:23px; text-align:left; max-width:53%; font-size:8px; color:#ad9f7d; }
.right-stack { gap:15px; grid-template-rows:1fr auto; }
.tip-panel { min-height:222px; padding:25px 24px 22px; overflow:hidden; }
.tip-panel .eyebrow { font-size:10px; text-transform:none; color:#b09b72; letter-spacing:1px; }
.tip-panel h3 { font:600 18px 'Noto Sans JP',sans-serif; line-height:1.5; max-width:62%; margin:15px 0 9px; color:#827448; }
.tip-panel p { font-size:11px; line-height:1.8; max-width:60%; color:#94845e; }
.tip-panel>.btn { min-height:32px; padding:6px 14px; font-size:10px; margin-top:15px; font-weight:400; border-radius:11px; }
.tip-plant { width:210px; max-width:none; position:absolute; right:-40px; bottom:-12px; transform:rotate(calc(-1 * var(--wind-sway,0deg))); }
.recent-collection { padding:15px 18px 13px; }
.recent-collection .section-heading { margin:0 0 10px; }
.recent-collection h2 { font-size:13px; }
.treasures { display:grid; grid-template-columns:1fr 2fr 1fr; gap:10px; }
.treasures>button { border:1px solid #e8d8b6; border-radius:12px; height:65px; background:#fff8e8; box-shadow:inset 0 0 0 2px #fffbed85; display:flex; justify-content:center; align-items:center; }
.treasure-plant { width:62px; }
.treasure-scene { width:100%; height:65px; background:url('./assets/companions-painted.png') 100% 50% / 300% auto no-repeat; mix-blend-mode:multiply; }
.treasure-sun { display:flex; align-items:center; gap:5px; color:#bb9e50; font-size:11px; }
.treasure-sun .icon { width:26px; height:26px; }
.page-footer { margin-top:20px; font-size:8px; color:#a19472; }
.mobile-room { display:none; }
.btn { border-radius:10px; }
.btn.primary { background:linear-gradient(#94aa5f,#7f974d); color:#fffbea; box-shadow:0 2px 3px #a4916525,inset 0 1px 0 #c0ce9677; }
.btn.secondary { background:linear-gradient(#fff6e2,#f3e6ca); border-color:#e3ceaa; color:#927f52; box-shadow:0 2px 3px #a28f6a15; }
.page-intro h1 { font-size:29px; font-weight:600; }
.page-intro .eyebrow { color:#9e8f6b; }
.collection-grid .plant-art { height:auto; width:185px; }
.collection-grid .plant-card { background:#fff6e3f5; }
.profile-visual { background:radial-gradient(ellipse at 50% 50%,#fff9e7,#eee4c8); }
.profile-visual>.plant-sprite { width:285px; margin:30px auto 15px; }
.profile-visual h1 { font-size:30px; }
.review-plant>.plant-sprite { width:145px; margin:auto; }
.round-plant>.plant-sprite { width:110px; }
.species-option>.plant-sprite { width:85px; margin:auto; }
.guide-card>.plant-sprite { width:75px; }
.guide-hero>.plant-sprite { width:135px; }
.garden-preview { background-image:url('./assets/room-painted.png'); }
.garden-banner { background:#f6eed8f5; }
.shop-card h3,.learn-card h3,.guide-card h3 { font-family:'Noto Sans JP',sans-serif; }
.shop-card h3 { font-size:19px; }
@media(min-width:1450px) { .workspace{padding:70px 38px 30px}.family-section{margin-right:110px}.plant-card .plant-art{width:185px}.home-add-card{height:262px}.sidebar{min-height:900px}.app-shell{min-height:900px}.home-bottom{margin-top:28px}.tip-panel{min-height:242px} }
@media(max-width:1200px) and (min-width:651px) {
 body{padding:18px}.app-shell{grid-template-columns:155px 1fr;min-height:800px}.sidebar{padding:48px 12px 18px;min-height:800px}.brand strong{font-size:21px}.brand img{width:34px;height:34px}.brand-subtitle{font-size:8px}.nav-item{padding:12px 10px;font-size:11px;gap:11px}.sidebar nav{gap:9px}.workspace{padding:60px 23px 20px}.top-actions{margin-right:100px}.season-card{padding:10px 13px;min-width:125px}.page-home .page-title{font-size:27px}.home-subtitle{font-size:11px}.family-section{gap:12px;margin-right:55px}.home-add-card{width:80px;flex-basis:80px;height:213px}.family-box{padding:14px 9px 10px}.plant-card{padding:8px 8px 10px}.plant-card h3{font-size:13px}.plant-card .species{font-size:8px}.status{font-size:8px}.home-bottom{gap:16px}.round-panel{padding:20px 16px 105px}.panel-title h2{font-size:16px}.task-go{padding:7px 9px;font-size:9px}.task-copy strong{font-size:11px}.tip-panel{padding:22px 18px}.tip-panel h3{font-size:17px}.tip-plant{width:170px;right:-40px}.cat-companion{width:136px}.sidebar-bottom{padding-top:85px}.round-start{font-size:9px;padding:8px 9px}.round-start .icon{width:13px}.round-panel .quiet-note{font-size:7px}.treasures>button{height:56px}.treasure-scene{height:56px}.treasure-plant{width:53px}
}
@media(max-width:900px) and (min-width:651px) {
 .app-shell{grid-template-columns:128px 1fr}.sidebar{padding:44px 10px 20px}.brand strong,.brand-subtitle,.nav-item span{display:block}.nav-item{justify-content:flex-start;gap:7px;font-size:10px;padding:11px 7px}.brand img{width:32px;height:32px}.brand strong{font-size:19px}.brand-subtitle{font-size:7px;letter-spacing:.4px}.sidebar-garden{display:block}.cat-companion{width:119px}.workspace{padding:48px 18px 20px}.topbar{margin-left:3px}.page-home .page-title{font-size:23px}.home-subtitle{font-size:10px;max-width:200px}.top-actions{margin-right:30px}.season-card{min-width:100px;padding:8px}.season-card strong{font-size:19px}.season-card small{font-size:7px}.family-section{margin-right:0;gap:9px}.home-add-card{width:60px;flex-basis:60px;height:190px;font-size:9px;gap:20px}.plants-grid{gap:6px}.plant-card{padding:7px}.plant-card .plant-art{margin-bottom:6px}.plant-card .species{font-size:7px}.status{font-size:7px}.tiny-face{display:none}.home-bottom{grid-template-columns:1fr;gap:16px}.right-stack{grid-template-columns:1.1fr 1fr;grid-template-rows:auto}.round-panel{min-height:310px;padding-bottom:85px}.recent-collection{align-self:start}.treasures{grid-template-columns:1fr}.treasures>button:nth-child(3){display:none}.tip-panel{min-height:242px}.tip-panel h3{max-width:72%}.tip-panel p{max-width:70%}.tip-plant{right:-58px}.sidebar-bottom{padding-top:110px}
}
@media(max-width:650px) {
 body { padding:0; background:#f6ead3; }
 .app-shell { display:block; min-height:100dvh; border:0; border-radius:0; box-shadow:none; background:#f3e7ce; }
 .sidebar { display:none; }
 .workspace { background:#f4e8d1; padding:24px 17px 104px; min-height:100dvh; }
 .topbar { margin:0 0 24px; min-height:60px; gap:8px; }
 .page-title { font-size:21px; }
 .topbar-left { min-width:0; }
 .top-actions { margin:0; align-self:flex-start; gap:7px; }
 .season-card,.location-chip { display:none; }
 .sunshine-pill { padding:6px 9px; font-size:10px; }
 .avatar { width:35px; height:35px; }
 .page-home .workspace { padding:0 0 102px; }
 .page-home .topbar { position:absolute; left:24px; right:24px; top:30px; z-index:2; margin:0; align-items:flex-start; min-height:90px; }
 .page-home .topbar-left { padding-top:30px; }
 .page-home .topbar-left:before { content:''; position:absolute; top:0; left:1px; width:23px; height:23px; background:url('./assets/icon.svg') center/contain no-repeat; mix-blend-mode:multiply; }
 .page-home .page-title { font:700 24px 'Yusei Magic','Noto Sans JP',sans-serif; letter-spacing:0; white-space:nowrap; }
 .home-subtitle { font-size:10px; margin-top:4px; }
 .page-home .top-actions { margin:0; }
 .page-home .avatar { display:block; position:absolute; right:0; top:0; width:48px; height:48px; font-size:0; background:#e3ce93 url('./assets/companions-painted.png') 50% 37% / 300% auto; border:2px solid #f8e8bf; box-shadow:0 0 0 1px #d8c7a2; }
 .page-home .top-actions>.sunshine-pill { display:none; }
 .mobile-room { display:block; height:367px; background:#eae3c5 url('./assets/room-painted.png') 54% bottom / auto 280px no-repeat; position:relative; }
 .mobile-room:before { content:''; position:absolute; inset:0 0 auto; height:120px; background:linear-gradient(#eae5ce 60%,#eae5ce00); pointer-events:none; }
 .family-section { display:block; margin:-8px 12px 0; z-index:1; }
 .family-box { padding:16px 11px 12px; border-radius:21px; background:#fff5e1fa; box-shadow:0 2px 4px #88754c12,inset 0 0 0 2px #fffaec80; }
 .family-box .section-heading { margin:0 5px 10px; }
 .section-heading h2 { font-size:15px; }
 .family-box .text-link { font-size:9px; padding:3px 7px; border-radius:8px; background:#f4eed8; }
 .family-box .plants-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .family-box .plant-card:nth-child(n+4) { display:none; }
 .plant-card { padding:8px 7px 10px; border-radius:14px; }
 .family-box .plant-art { width:112px; margin:0 auto 7px; }
 .family-box .plant-card h3 { font-size:12px; }
 .family-box .plant-card .species { display:none; }
 .family-box .status-row { margin-top:6px; }
 .family-box .status { font-size:8px; gap:2px; white-space:nowrap; }
 .family-box .tiny-face { display:none; }
 .family-box .growth-track { display:none; }
 .family-box .status .icon { width:9px; height:9px; }
 .home-add-card { display:none; }
 .home-bottom { display:block; margin:20px 17px 0; }
 .round-panel { padding:0 0 68px; border:0; box-shadow:none; background:none; min-height:0; }
 .panel-title { margin:0 3px 12px; }
 .panel-title h2 { font-size:14px; }
 .panel-title p { font-size:9px; margin-top:4px; }
 .task-summary { background:#fff7e5; border-color:#ebdec2; margin:9px 0; padding:10px 12px; min-height:59px; box-shadow:0 2px 3px #9c89631a; border-radius:13px; }
 .task-copy strong { font-size:12px; }
 .task-copy span { font-size:9px; }
 .task-go { font-size:9px; padding:7px 12px; }
 .round-start { margin-top:8px!important; max-width:calc(100% - 80px); font-size:10px; padding:9px 12px; }
 .helper-companion { width:98px; bottom:3px; right:0; }
 .round-panel .quiet-note { bottom:17px; left:0; max-width:60%; font-size:8px; }
 .right-stack { display:grid; grid-template-columns:1fr; gap:15px; margin-top:13px; }
 .tip-panel { min-height:215px; padding:22px; }
 .tip-panel h3 { font-size:17px; }
 .tip-panel p { font-size:11px; }
 .tip-plant { width:165px; right:-36px; bottom:-5px; }
 .recent-collection { padding:16px; }
 .treasures { grid-template-columns:1fr 2fr 1fr; }
 .treasures>button { height:60px; }
 .treasure-scene { height:60px; }
 .mobile-nav { background:#f5e7c7f5; border-top:1px solid #ddcca1; padding:10px 11px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -2px 12px #85744012; }
 .mobile-nav button { min-width:52px; color:#8b7a4e; font-size:9px; }
 .mobile-nav button.active { color:#fff9e5; background:#899f58; padding:8px 9px; border-radius:15px; margin:-6px 0; box-shadow:inset 0 1px 0 #cfdaa18c; }
 .mobile-nav .icon { width:23px; height:23px; stroke-width:1.9; }
 .mobile-nav .mobile-add { width:69px; height:69px; min-width:69px; margin-top:-31px; border:4px solid #ebdeb9; background:linear-gradient(#99b066,#7d964c); color:#fff8dc; box-shadow:0 3px 7px #7e724a38; }
 .mobile-nav .mobile-add .icon { width:31px; height:31px; }
 .page-footer { font-size:8px; margin:24px 15px 0; }
 .collection-grid { grid-template-columns:1fr 1fr; gap:12px; }
 .collection-grid .plant-card { padding:14px; }
 .collection-grid .plant-card h3 { font-size:17px; }
 .collection-grid .plant-art { width:170px; height:auto; }
 .collection-grid .species { font-size:9px; }
 .collection-grid .status { font-size:9px; }
 .collection-grid .add-card { min-height:238px; }
 .profile-visual>.plant-sprite { width:260px; margin:20px auto 10px; }
 .profile-visual { min-height:375px; }
 .round-plant>.plant-sprite { width:100px; }
 .species-option>.plant-sprite { width:75px; }
 .guide-card>.plant-sprite { width:58px; }
 .guide-hero>.plant-sprite { width:110px; }
 .review-plant>.plant-sprite { width:150px; }
 .garden-preview { height:240px; }
 .shop-card h3 { font-size:19px; }
 .learn-card h3 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { *{animation:none!important;transition:none!important} }
.treasure-scene { width:110px; background-size:300% 100%; }
@media(max-width:650px) { .treasure-scene { width:98px; background-size:300% 100%; } }









/* Japanese-designed Latin typography, bundled for offline use. */
:root { --font-ui: 'Noto Sans JP', sans-serif; --font-hand: 'Yusei Magic', cursive; font-family:var(--font-ui); }
body,button,input,select,textarea,small,summary { font-family:var(--font-ui); }
body { font-weight:500; }
h1,h2,h3,.serif,.brand strong,.plant-card h3,.shop-card h3,.learn-card h3,.guide-card h3,.page-intro h1,.page-title,.page-home .page-title,.tip-panel h3,.round-question,.round-plant h3,.round-success h3,.result-card h3,.review-plant h3,.garden-banner h2 { font-family:var(--font-hand); font-weight:400; font-synthesis:none; text-shadow:.3px 0 currentColor; }
.brand strong { font-size:27px; letter-spacing:.2px; text-shadow:.5px 0 currentColor; }
.page-home .page-title { font-size:34px; letter-spacing:.1px; text-shadow:.5px 0 currentColor; line-height:1.35; }
.page-title { font-size:26px; line-height:1.35; }
.section-heading h2,.panel-title h2 { font-size:21px; letter-spacing:0; }
.plant-card h3 { font-size:18px; line-height:1.25; }
.tip-panel h3 { font-size:23px; line-height:1.35; }
.recent-collection h2 { font-size:18px; }
.modal-header h2 { font-size:27px; line-height:1.3; }
.nav-item,.btn,.task-go,.task-copy strong { font-family:var(--font-ui); font-weight:700; }
.home-subtitle { font-family:var(--font-ui); font-weight:500; font-size:13px; }
.brand-subtitle,.eyebrow { font-family:var(--font-ui); }
.plant-card .species { font-size:9px; }
.status { font-size:10px; }
.task-copy strong { font-size:13px; }
.task-copy span { font-size:10px; }
.tip-panel p { font-size:12px; line-height:1.8; }
.round-panel .quiet-note { font-size:9px; }
.sunshine-big { font-family:var(--font-hand); }
@media(max-width:1200px) and (min-width:651px) { .page-home .page-title{font-size:29px}.brand strong{font-size:24px}.section-heading h2,.panel-title h2{font-size:19px}.plant-card h3{font-size:16px}.tip-panel h3{font-size:20px}.status{font-size:9px}.task-copy strong{font-size:12px}.task-copy span{font-size:9px} }
@media(max-width:900px) and (min-width:651px) { .brand strong{font-size:22px}.page-home .page-title{font-size:24px}.plant-card h3{font-size:14px}.status{font-size:8px}.home-subtitle{font-size:11px} }
@media(max-width:650px) {
 .page-home .page-title { font-family:var(--font-hand); font-size:27px; letter-spacing:-.3px; text-shadow:.35px 0 currentColor; }
 .page-title { font-size:24px; }
 .home-subtitle { font-size:10px; letter-spacing:.1px; }
 .section-heading h2 { font-size:19px; }
 .panel-title h2 { font-size:19px; }
 .family-box .plant-card h3 { font-size:15px; }
 .family-box .status { font-size:8px; }
 .collection-grid .plant-card h3 { font-size:20px; }
 .collection-grid .status { font-size:10px; }
 .tip-panel h3 { font-size:22px; }
 .tip-panel p { font-size:12px; }
 .recent-collection h2 { font-size:18px; }
 .modal-header h2 { font-size:27px; }
 .species-option strong { font-size:11px; }
 .btn { font-size:13px; }
 .round-start { font-size:11px; }
 .round-panel .quiet-note { font-size:8px; }
 .task-copy strong { font-size:13px; }
 .task-copy span { font-size:10px; }
}
/* Mobile composition: contained room scene and a measured five-column dock. */
@media(max-width:650px) {
  .page-home .workspace {
    background:#f4e8d1;
    padding-bottom:calc(106px + env(safe-area-inset-bottom));
  }
  .mobile-room {
    width:100%;
    height:310px;
    background-color:#eae5ce;
    background-image:url('./assets/room-painted.png');
    background-size:auto 222px;
    background-position:54% bottom;
    background-repeat:no-repeat;
    flex:none;
  }
  .mobile-room:before { height:103px; background:linear-gradient(#eae5ce 72%,#eae5ce00); }
  .page-home .topbar { top:23px; left:23px; right:23px; }
  .page-home .topbar-left { padding-top:27px; }
  .page-home .page-title { font-size:26px; }
  .home-subtitle { margin-top:2px; }
  .page-home .avatar { width:43px; height:43px; }
  .family-section { margin-top:-5px; }
  .mobile-nav {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-template-rows:56px;
    align-items:end;
    justify-items:center;
    gap:0;
    height:calc(76px + env(safe-area-inset-bottom));
    min-height:0;
    padding:9px max(10px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));
    overflow:visible;
    border-top:1px solid #d8c99f;
    border-radius:19px 19px 0 0;
    background:#f2e5c5f5;
    box-shadow:0 -3px 10px #8a785020,inset 0 1px 0 #fff7df;
  }
  .mobile-nav>button {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    align-self:end;
    justify-self:center;
    width:59px;
    max-width:100%;
    min-width:0;
    height:56px;
    gap:4px;
    padding:0;
    margin:0;
    border-radius:16px;
    font-family:var(--font-ui);
    font-size:10px;
    line-height:1;
    font-weight:500;
    color:#89784a;
  }
  .mobile-nav>button>.icon { width:23px; height:23px; margin:0; flex:none; stroke-width:1.9; }
  .mobile-nav>button>span { display:block; height:12px; line-height:12px; white-space:nowrap; padding:0; margin:0; }
  .mobile-nav>button.active {
    height:56px;
    margin:0;
    padding:0;
    color:#fffae9;
    background:linear-gradient(#9bab65,#81994e);
    box-shadow:inset 0 1px 0 #d8dfb69c,0 2px 2px #8d7d4e1c;
  }
  .mobile-nav>.mobile-add,
  .mobile-nav>.mobile-add.active {
    display:flex;
    width:74px;
    max-width:none;
    min-width:0;
    height:74px;
    padding:9px 0 7px;
    margin:0;
    border:4px solid #ede0ba;
    border-radius:50%;
    gap:3px;
    background:linear-gradient(#9bb367,#7f994c);
    box-shadow:0 2px 5px #74643b36,inset 0 1px 0 #c8d798aa;
    color:#fff8dc;
    font-size:9px;
    font-weight:700;
  }
  .mobile-nav>.mobile-add>.icon { width:28px; height:28px; stroke-width:1.8; }
  .mobile-nav>.mobile-add>span { height:11px; line-height:11px; }
}
@media(max-width:370px) {
  .page-home .page-title { font-size:23px; }
  .mobile-room { height:294px; background-size:auto 210px; }
  .mobile-nav>button { width:55px; }
  .mobile-nav>.mobile-add { width:71px; height:71px; }
}

/* Marker-style headings and restrained Japanese Gothic body type. */
:root { --font-ui:'Noto Sans JP',sans-serif; --font-hand:'Yusei Magic',sans-serif; }
body { font-weight:400; }
h1,h2,h3,.serif,.brand strong,.plant-card h3,.shop-card h3,.learn-card h3,.guide-card h3,.page-intro h1,.page-title,.page-home .page-title,.tip-panel h3,.round-question,.round-plant h3,.round-success h3,.result-card h3,.review-plant h3,.garden-banner h2 { text-shadow:none; font-weight:400; }
.page-home .page-title { font-size:31px; letter-spacing:.5px; line-height:1.5; }
.brand strong { font-size:24px; }
.section-heading h2,.panel-title h2 { font-size:19px; }
.plant-card h3 { font-size:16px; }
.tip-panel h3 { font-size:20px; line-height:1.5; }
.recent-collection h2 { font-size:16px; }
.nav-item,.btn,.task-go { font-weight:500; }
.home-subtitle { font-weight:400; letter-spacing:.15px; }
.task-copy strong { font-weight:500; }
.plant-card .species { font-size:9px; }
.status { font-size:10px; }
@media(min-width:651px) { .workspace { background-size:cover; background-position:right top; } }
@media(max-width:1200px) and (min-width:651px) { .page-home .page-title{font-size:26px}.section-heading h2,.panel-title h2{font-size:17px}.plant-card h3{font-size:15px}.tip-panel h3{font-size:18px} }
@media(max-width:900px) and (min-width:651px) { .page-home .page-title{font-size:22px}.brand strong{font-size:20px}.status{font-size:8px} }
@media(max-width:650px) {
 .page-home .page-title { font-size:24px; letter-spacing:0; line-height:1.4; }
 .page-title { font-size:22px; }
 .section-heading h2,.panel-title h2 { font-size:18px; }
 .family-box .plant-card h3 { font-size:14px; }
 .tip-panel h3 { font-size:20px; }
 .modal-header h2 { font-size:25px; }
 .round-question { font-size:23px; }
 .collection-grid .plant-card h3 { font-size:18px; }
 .family-box .status { font-size:8px; }
 .collection-grid .status { font-size:9px; }
 .mobile-nav>button { font-weight:500; }
}
@media(max-width:370px) { .page-home .page-title{font-size:22px} }

/* Keep the seasonal header in the same position on every desktop page. */
@media (min-width:651px) {
  html { scrollbar-gutter:stable; }
  .topbar { display:grid; grid-template-columns:minmax(0,1fr) max-content; }
  .topbar-left { min-width:0; }
  .top-actions { align-self:start; }
  .top-actions>.location-chip,.top-actions>.avatar { display:none; }
  .top-actions>.sunshine-pill { position:absolute; right:10px; top:-34px; }
  .season-card { width:154px; min-width:0; flex-shrink:0; }
  .season-card>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media (min-width:651px) and (max-width:1200px) {
  .season-card { width:136px; }
}
@media (min-width:651px) and (max-width:900px) {
  .season-card { width:116px; }
  .page-title { font-size:23px; }
}
@media (max-width:650px) {
  .top-actions { flex-shrink:0; }
  .top-actions>.sunshine-pill { white-space:nowrap; }
}

/* Plant choices update in place so pointer and keyboard focus stay on the card. */
.species-option { position:relative; }
.species-option::after {
  content:'✓'; position:absolute; top:6px; right:6px; width:20px; height:20px;
  display:grid; place-items:center; border-radius:50%; background:var(--green);
  color:#fffaf0; font-size:13px; font-weight:700; line-height:1;
  visibility:hidden; pointer-events:none;
}
.species-option.selected::after { visibility:visible; }

/* Searchable catalogue: a contained list keeps confirmation within reach. */
.species-search { display:grid; grid-template-columns:1fr auto; gap:7px 12px; margin:0 0 12px; }
.species-search label { font-size:12px; }
.species-search input { grid-row:2; grid-column:1 / -1; width:100%; min-width:0; border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:#fffdf6; color:var(--ink); }
.species-search small { color:var(--muted); font-size:10px; }
.species-options { max-height:300px; overflow-y:auto; overscroll-behavior:contain; padding:5px; scrollbar-width:thin; }
.species-option { min-width:0; }
.species-option strong { min-height:33px; display:flex; align-items:center; justify-content:center; line-height:1.4; }
.species-empty { grid-column:1 / -1; padding:22px 8px; color:var(--muted); text-align:center; font-size:12px; }
.care-source { font-size:11px; margin-top:12px; }
@media(max-width:650px) { .species-options { max-height:260px; } }

/* A separate decorative layer lets the rain charm swing from the painted bell. */
.workspace { isolation:isolate; }
.rain-charm-anchor { position:absolute; z-index:-1; pointer-events:none; }
.rain-charm {
  display:block; width:100%; height:100%;
  background:url('./assets/rain-charm.png') 49.603175% 94.69697% / 196.923077% 152.380952% no-repeat;
  transform-origin:50% 0;
  animation:rain-charm-sway var(--wind-duration,8s) ease-in-out infinite;
}
@keyframes rain-charm-sway {
  0%,100% { transform:rotate(-4deg); }
  50% { transform:rotate(var(--wind-sway,0deg)); }
}
@media(min-width:651px) { .top-actions { margin-right:24px; } }
@media(min-width:651px) and (max-width:1200px) { .top-actions { margin-right:12px; } }
@media(min-width:651px) and (max-width:900px) { .top-actions { margin-right:0; } }
@media(max-width:650px) { .rain-charm-anchor { display:none; } }
@media(prefers-reduced-motion:reduce) { .rain-charm { animation:none; transform:none; } }

@media(min-width:901px) { .page-home .rain-charm-anchor { z-index:1; } }

/* Reserve two text lines so longer catalogue names do not shift the dialog. */
.species-confirm { min-height:3.2em; line-height:1.6; }
.modal-actions>.btn:has(.species-next-label) { width:100%; }
.species-next-label { min-height:2.8em; line-height:1.4; display:flex; align-items:center; justify-content:center; }

/* The field guide stays bounded as the catalogue grows. */
.learn-library { max-width:100%; }
.learn-search { display:block; width:100%; }
.learn-search input { width:100%; min-width:0; padding-left:39px; }
#learn-count { margin:12px 0; }
.learn-matches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.learn-plant { padding:0; min-width:0; overflow:hidden; }
.learn-plant>summary { display:flex; align-items:center; gap:12px; padding:10px 16px; cursor:pointer; list-style:none; }
.learn-plant>summary::-webkit-details-marker { display:none; }
.learn-plant>summary>.plant-sprite { width:66px; }
.learn-plant>summary>span:not(.plant-sprite) { flex:1; min-width:0; }
.learn-plant strong { display:block; font-family:var(--font-hand); font-size:18px; font-weight:400; }
.learn-plant small { display:block; color:var(--muted); margin-top:3px; overflow-wrap:anywhere; }
.learn-plant>summary>.icon { width:18px; transition:transform .2s; }
.learn-plant[open] { grid-column:1 / -1; }
.learn-plant[open]>summary>.icon { transform:rotate(90deg); }
.learn-plant>summary:focus-visible { outline-offset:-4px; border-radius:18px; }
.learn-care { padding:0 22px 22px; border-top:1px solid var(--line); }
.learn-care>p:first-child { margin-top:16px; }
.learn-care dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; margin:18px 0; }
.learn-care dt { font-weight:600; font-size:12px; margin-bottom:4px; }
.learn-care dd { margin:0; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.learn-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.learn-pagination>span { font-size:12px; color:var(--muted); }
.learn-empty .btn { margin-top:16px; }
@media(min-width:651px) {
 .page-learn .workspace { background:#fbefd8; }
 .page-learn .workspace::before { content:''; position:absolute; inset:0 0 auto; height:clamp(600px,100vh,900px); z-index:-2; pointer-events:none; background:linear-gradient(to bottom,transparent 75%,#fbefd8),url('./assets/garden-painted-no-charm.png') right top / cover no-repeat; }
}
@media(max-width:650px) {
 .learn-matches,.learn-care dl { grid-template-columns:1fr; }
 .learn-plant>summary { padding:8px 12px; }
 .learn-plant>summary>.plant-sprite { width:56px; }
 .learn-plant strong { font-size:17px; }
 .learn-search input { font-size:16px; }
 .learn-care { padding:0 16px 18px; }
 .learn-pagination .btn { padding:10px 16px; }
}
@media(prefers-reduced-motion:reduce) { .learn-plant>summary>.icon { transition:none; } }

/* Removal is separate from everyday care, with an explicit confirmation. */
.btn.remove-link { color:#884d3f; text-decoration:underline; text-underline-offset:3px; }
.btn.danger { color:#fffaf0; background:#884d3f; border:1px solid #763e32; }
.removal-notice { display:flex; align-items:center; gap:14px; padding:14px 18px; margin-bottom:18px; }
.removal-notice p { flex:1; min-width:0; overflow-wrap:anywhere; }
.removal-notice .close-button { flex-shrink:0; }
@media(max-width:650px) { .removal-notice { flex-wrap:wrap; gap:10px; }.removal-notice p { flex-basis:100%; }.removal-notice .close-button { margin-left:auto; }.profile-actions>.remove-link { flex-basis:100%; } }

/* Keep plant removal discoverable without scrolling through the care guide. */
.collection-plant { display:flex; flex-direction:column; min-width:0; gap:6px; }
.collection-plant>.plant-card { width:100%; flex:1; }
.collection-remove { width:100%; min-height:44px; padding:10px; border:1px solid #ddc5ae; border-radius:11px; color:#884d3f; background:#fff6e3; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.collection-remove:hover { background:#f6e6d3; }
.breadcrumbs { flex-wrap:wrap; }
.breadcrumbs>.remove-link { margin-left:auto; min-height:44px; padding:9px 14px; border:1px solid #ddc5ae; background:#fff6e3; }

/* Weather readings never stand in for the user's indoor climate. */
.season-card>[data-weather-panel] { display:block; }
[data-weather-panel]>span:first-child { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-weather-panel]>strong { display:flex; align-items:center; justify-content:center; gap:6px; }
.weather-readings { display:flex; justify-content:center; align-items:center; gap:12px; margin:5px 0; font-size:14px; }
.weather-readings b { font-weight:500; }
.weather-readings>span { white-space:nowrap; }
.weather-readings .icon { width:13px; height:15px; margin-right:3px; }
.season-card small { display:block; font-size:9px; white-space:normal; }
.weather-mobile { display:none; }
.climate-prompt { display:flex; align-items:center; gap:18px; margin:0 0 20px; }
.climate-prompt>div { flex:1; }
.climate-prompt p { font-size:12px; margin-top:6px; }
.weather-warning,.weather-notice { padding:14px 18px; margin:0 0 16px; border:1px solid #dcc8a4; border-radius:14px; background:#fff3da; font-size:12px; }
.weather-warning.cold { background:#edf2eb; border-color:#bfcfbe; }
.weather-warning>div { display:flex; gap:8px; align-items:center; }
.weather-warning p { margin:7px 0; line-height:1.8; }
.weather-warning small { color:#68705a; }
.weather-notice { display:flex; gap:10px; align-items:center; }
.weather-notice>span { flex:1; }
.weather-notice .text-link { flex-shrink:0; }
.climate-settings { margin-bottom:20px; }
.climate-settings .profile-actions { margin-top:16px; }
.indoor-fields { border:1px solid var(--line); border-radius:12px; margin:12px 0 20px; padding:16px; min-width:0; }
.indoor-fields legend { padding:0 6px; font-size:12px; }
.indoor-fields[hidden] { display:none; }
.weather-locations { margin:12px 0; font-size:12px; }
.form-error { color:#884d3f; font-size:13px; margin:12px 0; }
#climate-setup .switch-row { margin:18px 0; }
@media(max-width:650px) {
 .weather-mobile { display:block; width:100%; text-align:left; border:1px solid var(--line); border-radius:14px; padding:12px 15px; margin-bottom:18px; background:#fff5e1; }
 .weather-mobile>[data-weather-panel] { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; }
 .weather-mobile [data-weather-panel]>span:first-child { font-size:12px; }
 .weather-mobile [data-weather-panel]>strong { grid-column:1; grid-row:2; justify-content:flex-start; font-size:13px; font-weight:400; }
 .weather-mobile [data-weather-panel]>strong>.icon { width:16px; }
 .weather-mobile .weather-readings { grid-column:2; grid-row:1; margin:0; font-size:17px; }
 .weather-mobile small { grid-column:2; grid-row:2; font-size:10px; }
 .page-home .weather-mobile,.page-home .climate-prompt,.page-home [data-weather-alerts] { width:auto; margin-left:12px; margin-right:12px; }
 .page-home .weather-mobile { margin-top:12px; width:calc(100% - 24px); }
 .climate-prompt { display:block; }
 .climate-prompt .btn { margin-top:12px; }
 .climate-prompt h3 { font-size:19px; }
}

/* Keep the room scene at the same scale when forecast notices add content. */
@media(min-width:651px) { .workspace { background:#fbefd8; background-size:cover; }.workspace::before { content:''; position:absolute; inset:0 0 auto; height:clamp(600px,100vh,900px); z-index:-2; pointer-events:none; background:linear-gradient(to bottom,transparent 75%,#fbefd8),url('./assets/garden-painted-no-charm.png') right top / cover no-repeat; } }
.weather-warning,.weather-notice,.climate-prompt { position:relative; z-index:2; }

.account-shortcut { display:block; width:100%; border:1px solid #dcc99e; background:#fff7e5; border-radius:12px; padding:10px 8px; margin:10px 0; text-align:center; font-size:11px; }
.account-shortcut small { display:block; font-size:9px; color:var(--muted); margin-top:3px; }
.account-settings { margin-bottom:20px; }.account-settings .btn { margin-top:12px; }
.account-links { display:flex; justify-content:space-between; gap:20px; margin-top:15px; }
.sync-choice { border:1px solid var(--line); background:#fff7e5; border-radius:15px; padding:16px; margin:15px 0; }

/* Home shares one painted backdrop on desktop and phone. */
@media(max-width:650px) {
 .page-home .workspace { background:#fbefd8; isolation:isolate; }
 .page-home .workspace::before { content:''; position:absolute; inset:0 0 auto; height:100svh; min-height:600px; pointer-events:none; z-index:-2; background:linear-gradient(to bottom,#fff4df33,transparent 35%,transparent 78%,#fbefd8),url('./assets/garden-painted-no-charm.png') right top / cover no-repeat; background-position:center top,calc(100% + var(--home-scene-shift,0px)) top; }
 .page-home .mobile-room { height:clamp(290px,43svh,430px); width:100%; background:none; }
 .page-home .mobile-room::before { content:none; }
 .page-home .rain-charm-anchor { display:block; z-index:0; }
 .page-home .topbar-left { text-shadow:0 1px 8px #fff9e9; }
}
.pet-notice { padding:16px; margin:14px 0; border:1px solid #d8bd93; border-radius:14px; background:#fff3db; font-size:12px; line-height:1.7; }
.pet-notice.danger { background:#fae9dd; border-color:#c9957d; color:#713f32; }
.pet-notice strong { font-size:14px; }.pet-notice p { margin:7px 0; }
.pet-notice a,.seasonal-guide a { text-decoration:underline; text-underline-offset:3px; }
.pet-unreviewed { font-size:11px; color:#766e59; margin:12px 0; }
.seasonal-guide { padding:16px 0; font-size:12px; line-height:1.8; }.seasonal-guide p { margin:10px 0; }
.seasonal-profile { margin-bottom:18px; }.seasonal-profile h2,.seasonal-reminders h2 { font-size:23px; }
.stage-guidance { padding:14px; border-radius:12px; background:#edf0df; line-height:1.8; font-size:13px; }
.seasonal-reminders { margin:16px 0; }.seasonal-reminder-list { max-height:360px; overflow:auto; }
.seasonal-reminder-list article { padding:14px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:1.7; }
.seasonal-reminder-list h3 { font-size:18px; }.seasonal-reminder-list article>div { display:flex; gap:20px; flex-wrap:wrap; margin-top:8px; }
@media(max-width:650px) { .seasonal-reminders { margin:12px; } }

.weather-wind { display:block; font-size:9px; line-height:1.6; white-space:normal!important; }.weather-mobile .weather-wind { grid-column:1 / -1; }

/* A single quiet disclosure replaces the expanded weather banners. */
.weather-alerts { position:relative; z-index:2; margin:0 0 14px; border:1px solid #dfcdaa; border-radius:12px; background:#fff4df; color:#77603e; font-size:12px; }
.weather-alerts.cold { background:#edf2eb; border-color:#c4d0bd; color:#57674f; }
.weather-alerts>summary { display:flex; align-items:center; gap:9px; min-height:44px; padding:9px 13px; list-style:none; cursor:pointer; }
.weather-alerts>summary::-webkit-details-marker { display:none; }
.weather-alerts>summary>span { flex:1; min-width:0; line-height:1.5; }
.weather-alerts>summary>.icon { width:17px; height:17px; flex:none; }
.weather-alert-toggle { font-size:10px; }.weather-alert-chevron { transition:transform .18s; }
.weather-alerts[open]>summary .weather-alert-chevron { transform:rotate(90deg); }
.weather-alerts>summary:focus-visible { outline:2px solid var(--green); outline-offset:3px; border-radius:11px; }
.weather-alert-body { padding:0 13px 12px; }
.weather-alert-body .weather-warning,.weather-alert-body .weather-notice { margin:0; padding:12px 0; border:0; border-top:1px solid #dacaab88; border-radius:0; background:transparent; font-size:11px; }
.weather-alert-body .weather-warning:last-child,.weather-alert-body .weather-notice:last-child { padding-bottom:0; }

/* An explicit watering log, beside each plant and its care details. */
.quick-water{min-height:44px;gap:7px}
.collection-plant>.quick-water,.profile-side .panel>.quick-water{width:100%;margin-top:8px}
.quick-water:disabled{opacity:.65;cursor:default}

.google-signin{justify-content:center;min-height:48px;margin:10px 0 0;background:#fff;border:1px solid #b8bda8;color:#3d4838;font-family:Arial,sans-serif;font-size:14px;font-weight:600}
.account-divider{text-align:center;margin:14px 0}

/* Keep each wisdom fact readable beside its matching plant. */
.tip-panel.wisdom-panel{min-height:300px}
.wisdom-panel .wisdom-copy{width:calc(100% - 82px);min-height:155px}
.wisdom-panel .wisdom-copy h3,.wisdom-panel .wisdom-copy p{max-width:none}
.wisdom-panel .tip-plant{width:140px;right:-26px;bottom:68px;pointer-events:none}
.wisdom-actions{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:14px}
.wisdom-actions .btn,.wisdom-actions .text-link{min-height:44px;font-size:12px}
.wisdom-actions .btn{padding:8px 12px}
.wisdom-source{position:relative;z-index:1;display:inline-block;margin-top:8px;font-size:10px;color:#746543;text-underline-offset:3px}
