:root{color:#262d28;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--muted:#767b75;--line:#e4e5df;--green:#324b3b;--paper:#fff;--soft:#f0f1eb;background:#fafaf8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #7c9574}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #8d9d85}h1,h2,h3,p{margin-top:0}button svg,.button svg{flex-shrink:0}img{width:100%;display:block}#root{flex-direction:column;min-height:100dvh;display:flex}.site-header{border-bottom:1px solid var(--line);background:#fff;height:88px}.header-inner{justify-content:space-between;align-items:center;max-width:1280px;height:100%;margin:auto;padding:0 48px;display:flex}.brand{letter-spacing:-1.5px;align-items:center;font-size:30px;font-weight:650;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:37px;height:37px;margin-right:10px;display:grid}.brand-period{color:#839278}.header-account{align-items:center;gap:12px;font-size:13px;display:flex}.nav-link{padding:15px 8px;font-weight:600}.header-divider{background:var(--line);width:1px;height:22px;margin:0 12px}.avatar{color:#4d5c44;background:#e8eae3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:grid}.header-tagline{color:var(--muted);font-size:13px}.page{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:56px 48px 80px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px;display:flex}.eyebrow{letter-spacing:1.7px;color:#81867c;margin-bottom:16px;font-size:10px;font-weight:600;display:block}.page-heading h1{letter-spacing:-1.9px;margin-bottom:13px;font-size:46px;font-weight:500;line-height:1.1}.heading-dot{color:#8c9c7d}.page-heading p{color:var(--muted);margin-bottom:0;font-size:14px}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 19px;font-size:13px;font-weight:550;transition:background .15s,transform .15s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover:not(:disabled){background:#243d2d}.button.secondary{background:#fff;border-color:#dedfd8}.button.secondary:hover:not(:disabled){background:#f5f5f0}.button.danger{color:#fff;background:#a63b32}.icon-button{background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;display:inline-flex}.icon-button:hover:not(:disabled){background:#00000008}.icon-button.small{width:44px;min-width:44px;height:44px}.text-button{min-height:44px;color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:10px 0;font-size:13px;font-weight:500;display:inline-flex}.muted{color:var(--muted)}.inventory-toolbar{gap:14px;margin-bottom:25px;display:flex}.search-field{border:1px solid var(--line);color:#8a8e86;background:#fff;border-radius:8px;flex:1;align-items:center;gap:11px;max-width:460px;min-height:48px;padding:0 14px;display:flex}.search-field input{color:#343c32;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:13px 0;font-size:13px}.search-field:focus-within{outline:2px solid #8d9d85}.search-field input:focus{outline:0}.location-select{border:1px solid var(--line);color:#666e60;background:#fff;border-radius:8px;align-items:center;gap:9px;padding:0 14px;display:flex;position:relative}.location-select select{appearance:none;color:#464e43;cursor:pointer;background:0 0;border:0;max-width:240px;padding:14px 26px 14px 0;font-size:13px}.location-select>svg:last-child{pointer-events:none;position:absolute;right:14px}.collection-meta{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;margin-bottom:22px;padding-top:24px;font-size:12px;display:flex}.collection-meta>span:last-child{letter-spacing:1.2px;font-size:9px}.plant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px;display:grid}.plant-card{min-width:0;display:block}.plant-card-image{aspect-ratio:1.18;background:#eeeee7;border:1px solid #00000004;border-radius:12px;position:relative;overflow:hidden}.plant-card-image>img{object-fit:cover;height:100%;transition:transform .4s}.plant-card:hover .plant-card-image>img{transform:scale(1.035)}.plant-placeholder{color:#899580;background:radial-gradient(at 60% 40%,#f7f7f2,#e9ece3);flex-direction:column;justify-content:center;align-items:center;gap:15px;width:100%;height:100%;display:flex}.plant-placeholder span{letter-spacing:.3px;color:#93998b;font-size:10px}.location-chip{overflow-wrap:anywhere;background:#fffffff0;border-radius:5px;align-items:center;gap:5px;max-width:calc(100% - 68px);padding:7px 9px;font-size:10px;line-height:1.3;display:flex;position:absolute;bottom:14px;left:14px}.card-open{opacity:0;background:#ffffffe8;border-radius:50%;place-items:center;width:34px;height:34px;transition:all .2s;display:grid;position:absolute;bottom:12px;right:12px;transform:translate(-4px)}.plant-card:hover .card-open,.plant-card:focus-visible .card-open{opacity:1;transform:none}.plant-card-info{justify-content:space-between;align-items:center;gap:12px;padding:17px 2px 0;display:flex}.plant-card-info>div{min-width:0}.plant-card h2{letter-spacing:-.2px;overflow-wrap:anywhere;margin:0 0 6px;font-size:16px;font-weight:550}.plant-card p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.photo-count{color:#92978c;align-items:center;gap:5px;font-size:11px;display:flex}.add-card{color:#75806d;aspect-ratio:1.18;background:0 0;border:1px dashed #cfd4c7;border-radius:12px;flex-direction:column;justify-content:center;align-self:start;align-items:center;gap:10px;min-height:270px;display:flex}.add-card>span{background:#eff1e9;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:3px;display:grid}.add-card strong{font-size:13px;font-weight:500}.add-card small{color:#929889;font-size:11px}.add-card:hover{background:#f2f4ed}.site-footer{border-top:1px solid var(--line);color:#92968c;align-items:center;gap:8px;width:calc(100% - 96px);max-width:1184px;margin:0 auto;padding:25px 0 30px;font-size:11px;display:flex}.footer-brand{letter-spacing:1.5px;margin-left:auto;font-size:8px}.loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#944236;background:#fff0ed;border:1px solid #ebc9c1;border-radius:8px;align-items:center;gap:10px;margin:14px 0;padding:13px 16px;font-size:13px;line-height:1.6;display:flex}.error-message>svg{flex-shrink:0}.error-message .text-button{white-space:nowrap;color:inherit;margin-left:auto}.empty-state{text-align:center;max-width:430px;margin:65px auto 70px}.empty-icon{color:#7e9072;background:#eff1e9;border-radius:50%;place-items:center;width:86px;height:86px;margin:0 auto 24px;display:grid}.empty-state h2{letter-spacing:-.6px;font-size:24px;font-weight:500}.empty-state p{color:var(--muted);margin-bottom:25px;font-size:14px;line-height:1.8}.modal{border:1px solid var(--line);width:calc(100% - 32px);max-width:510px;max-height:calc(100dvh - 40px);color:inherit;background:#fafaf8;border-radius:16px;padding:28px;overflow:auto;box-shadow:0 30px 100px #17231830}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#19251c70}.modal-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.modal-header h2{letter-spacing:-.6px;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:500}.modal-header .icon-button{flex-shrink:0;margin-right:-8px}.modal-intro{color:var(--muted);margin-bottom:25px;font-size:13px;line-height:1.7}.stack-form{flex-direction:column;gap:20px;display:flex}.plant-identification{border:1px solid var(--line);background:#f7f8f2;border-radius:10px;min-width:0;padding:16px}.plant-identification>strong{font-size:14px}.plant-identification .fine-print{margin:8px 0 12px}.plant-identification .upload-choices{flex-wrap:wrap}.plant-identification .button{padding:10px 12px}.identification-photo{align-items:flex-start;gap:10px;margin-top:16px;display:flex}.identification-photo .upload-preview{width:64px;min-width:64px}.identification-photo-fields{flex:1;min-width:0}.identification-photo-fields .upload-name{overflow-wrap:anywhere;margin-bottom:8px;font-size:11px;display:block}.identification-photo-fields input{max-width:100%}.identification-status{align-items:center;gap:8px;font-size:13px;display:flex}.identification-error{color:#8b3e2f;font-size:13px}.identification-results>p{font-size:13px;line-height:1.6}.candidate-button{text-align:left;border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:8px;flex-direction:column;gap:5px;width:100%;margin-top:8px;padding:12px;display:flex}.candidate-button>span{font-size:12px}.candidate-button:hover{border-color:#758a60}label{font-size:12px;font-weight:550;line-height:1.6;display:block}.optional{color:#91968b;margin-left:5px;font-size:10px;font-weight:400}label input,label textarea{color:#2b3329;background:#fff;border:1px solid #dedfd8;border-radius:7px;width:100%;min-width:0;min-height:46px;margin-top:7px;padding:12px;font-size:16px;display:block}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#969b91;font-size:13px}input:disabled,textarea:disabled{color:#747a6d;background:#f0f1eb}.form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.back-link{color:var(--muted);align-items:center;gap:8px;min-height:44px;margin-bottom:22px;font-size:12px;display:inline-flex}.detail{padding-top:25px}.plant-overview{grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-bottom:64px;display:grid}.detail-cover{aspect-ratio:1.15;background:#eeeee7;border-radius:14px;overflow:hidden}.detail-cover>button{background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.detail-cover img{object-fit:cover;height:100%}.plant-profile{padding:15px 0}.plant-profile h1{letter-spacing:-1.6px;overflow-wrap:anywhere;margin-bottom:12px;font-size:43px;font-weight:500;line-height:1.13}.plant-type{color:var(--muted);overflow-wrap:anywhere;font-size:16px}.plant-facts{border-top:1px solid var(--line);color:#747d6c;flex-direction:column;gap:16px;margin-top:26px;padding-top:23px;font-size:13px;display:flex}.plant-facts span{overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.plant-facts svg{flex-shrink:0}.profile-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.delete-plant{margin-top:8px;font-size:11px}.section-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;padding-top:32px;display:flex}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{letter-spacing:-.8px;margin-bottom:0;font-size:28px;font-weight:500}.fine-print{color:var(--muted);font-size:11px;line-height:1.7}.photo-empty{text-align:center;color:#7d8a74;border:1px dashed #d7dccf;border-radius:12px;padding:55px 20px}.photo-empty h3{color:#394532;margin:18px 0 10px;font-size:18px;font-weight:500}.photo-empty p{color:var(--muted);margin-bottom:23px;font-size:13px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 23px;display:grid}.photo-open{aspect-ratio:1;background:#eaede3;border:0;border-radius:10px;width:100%;padding:0;display:block;overflow:hidden}.photo-open img{object-fit:cover;height:100%}.photo-card-caption{justify-content:space-between;gap:5px;padding-top:13px;display:flex}.photo-card-caption>div:first-child{min-width:0;padding-top:9px}.photo-card time{font-size:12px;font-weight:550}.photo-card p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.6}.inline-actions{color:#7a8372;flex-shrink:0;align-items:flex-start;display:flex}.upload-modal{max-width:660px}.upload-choices{gap:10px;display:flex}.upload-list{flex-direction:column;gap:22px;display:flex}.upload-item{border-top:1px solid var(--line);align-items:flex-start;gap:16px;padding-top:20px;display:flex}.upload-preview{aspect-ratio:1;color:#87917e;background:#eaede3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100px;min-width:100px;display:flex;overflow:hidden}.upload-preview img{object-fit:cover;height:100%}.upload-preview small{text-align:center;padding:0 6px;font-size:9px}.upload-fields{flex:1;min-width:0}.upload-fields label{margin-bottom:12px}.upload-name{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-top:-10px;display:flex}.upload-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.upload-fields textarea{font-size:14px}.upload-fields input{font-size:16px}.success{color:#537849}.field-error{color:#a04e40;margin-bottom:0;font-size:12px;line-height:1.5}progress{width:100%;height:6px;accent-color:var(--green)}.upload-fields small{font-size:11px}.photo-viewer{color:#f5f7f0;background:#171c18;border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:20px 28px;overflow:auto}.photo-viewer .modal-header{max-width:1300px;margin:0 auto 12px}.photo-viewer .modal-header h2{letter-spacing:0;font-size:13px}.photo-viewer .icon-button:hover{background:#ffffff16}.viewer-body{outline-offset:-3px;justify-content:center;height:calc(100dvh - 200px);min-height:180px;display:flex;position:relative}.viewer-body img{object-fit:contain;width:100%;height:100%}.viewer-arrow{color:#fff;z-index:1;background:#171c1899;border:1px solid #ffffff20;position:absolute;top:50%;transform:translateY(-50%)}.viewer-arrow.previous{left:0}.viewer-arrow.next{right:0}.viewer-arrow:disabled{opacity:.2}.viewer-caption{justify-content:space-between;align-items:flex-start;gap:20px;max-width:900px;margin:20px auto 0;display:flex}.viewer-caption strong{font-size:13px;font-weight:500}.viewer-caption p{color:#b4bdb0;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:9px;font-size:13px;line-height:1.6}.viewer-caption .inline-actions{color:#d4decc}.welcome{flex:1;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;width:100%;max-width:1280px;margin:0 auto;padding:74px 48px 80px;display:grid}.welcome-copy .eyebrow{letter-spacing:1px;align-items:center;gap:8px;font-size:10px;display:flex}.status-dot{background:#819371;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.welcome h1{letter-spacing:-3.2px;margin:26px 0;font-size:65px;font-weight:450;line-height:1.07}.welcome h1>span{color:#8c9684}.welcome-copy>p{color:var(--muted);max-width:380px;margin-bottom:30px;font-size:15px;line-height:1.85}.google-button{gap:14px;min-height:50px}.welcome-copy>small{color:#93998c;margin-top:18px;font-size:10px;display:block}.welcome-art{aspect-ratio:.91;background:#eeefe7;border:1px solid #e5e7dc;border-radius:140px 140px 15px 15px;max-height:550px;position:relative;overflow:hidden}.botanical-art{width:100%;height:100%;padding:38px 18px 5px}.art-caption{letter-spacing:1.4px;color:#87917c;justify-content:center;align-items:center;gap:7px;font-size:8px;display:flex;position:absolute;top:38px;left:0;right:0}.art-note{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#7a866d;background:#ffffffcf;border:1px solid #fff9;border-radius:9px;align-items:center;gap:11px;padding:12px 16px;font-size:11px;line-height:1.5;display:flex;position:absolute;bottom:23px;left:25px}.art-note strong{color:#48563e;font-weight:500}@media (width>=1450px){.page{padding-top:70px}.detail{padding-top:30px}.plant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.add-card{min-height:210px}}@media (width<=1000px){.header-inner{padding:0 30px}.page{padding:42px 30px 60px}.plant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{width:calc(100% - 60px)}.plant-overview{gap:32px}.plant-profile h1{font-size:34px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome{gap:35px;padding:50px 30px}.welcome h1{letter-spacing:-2.5px;font-size:52px}.welcome-copy>p{font-size:14px}.detail{padding-top:22px}}@media (width<=600px){.site-header{height:73px}.header-inner{padding:0 20px}.brand{font-size:27px}.brand-mark{border-radius:9px;width:33px;height:33px}.header-account{gap:4px}.nav-link{padding:15px 5px;font-size:11px}.header-divider,.account-name,.header-tagline{display:none}.avatar{width:29px;height:29px;margin-left:7px;font-size:11px}.page{padding:33px 20px 55px}.page-heading{align-items:center;gap:10px;margin-bottom:27px}.eyebrow{letter-spacing:1.3px;margin-bottom:13px;font-size:8px}.page-heading h1{letter-spacing:-1.5px;margin-bottom:10px;font-size:36px}.page-heading p{font-size:12px}.button{min-height:46px;padding:12px 14px;font-size:12px}.add-plant{flex-shrink:0;gap:6px;padding:11px 13px}.add-plant svg{width:17px}.inventory-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:21px}.search-field{flex-basis:100%;max-width:none}.search-field input{font-size:16px}.search-field input::placeholder{font-size:12px}.location-select{min-height:44px}.location-select select{max-width:calc(100vw - 110px);padding-top:11px;padding-bottom:11px;font-size:12px}.collection-meta{margin-bottom:18px;padding-top:19px;font-size:10px}.collection-meta>span:last-child{font-size:8px}.plant-grid{gap:25px 14px}.plant-card-image{aspect-ratio:.86;border-radius:9px}.plant-card-info{align-items:flex-start;gap:4px;padding-top:12px}.plant-card h2{font-size:14px;line-height:1.3}.plant-card p{font-size:10px;line-height:1.5}.photo-count{gap:3px;padding-top:2px;font-size:9px}.photo-count svg{width:12px}.location-chip{gap:3px;max-width:calc(100% - 16px);padding:5px 6px;font-size:8px;bottom:8px;left:8px}.location-chip svg{width:10px}.card-open{display:none}.plant-placeholder>svg{width:45px}.plant-placeholder span{text-align:center;padding:0 8px;font-size:8px;line-height:1.5}.add-card{aspect-ratio:.86;border-radius:9px;gap:9px;min-height:0;padding:10px}.add-card strong{font-size:11px}.add-card small{font-size:9px;line-height:1.5}.add-card>span{width:38px;height:38px}.site-footer{width:calc(100% - 40px);padding:22px 0;font-size:10px}.footer-brand{display:none}.modal{border-radius:13px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px}.modal-header h2{font-size:21px}.modal-intro{font-size:12px}.form-actions{gap:8px}.form-actions .button{flex:1}.empty-state{margin:40px auto}.empty-state h2{font-size:21px}.empty-state p{font-size:13px}.detail{padding-top:15px}.back-link{margin-bottom:15px}.plant-overview{grid-template-columns:1fr;gap:25px;margin-bottom:34px}.detail-cover{aspect-ratio:1.2}.plant-profile{padding:0}.plant-profile h1{font-size:34px}.plant-type{font-size:14px}.plant-facts{gap:12px;margin-top:20px;padding-top:20px;font-size:12px}.profile-actions{margin-top:23px}.profile-actions>.button{flex:1}.delete-plant{margin-top:4px}.section-heading{align-items:flex-end;padding-top:24px}.section-heading h2{font-size:25px}.section-heading>.fine-print{font-size:9px}.section-heading .eyebrow{letter-spacing:1.1px;font-size:7px}.photo-grid{gap:25px 14px}.photo-card-caption{padding-top:4px;display:block}.photo-card-caption>div:first-child{padding-top:9px}.photo-card time,.photo-card p{font-size:11px}.photo-card-caption .inline-actions{margin:4px 0 0 -12px}.photo-empty{padding:36px 16px}.upload-choices{gap:8px}.upload-choices .button{flex:1;gap:7px;padding:12px 8px;font-size:11px}.upload-item{gap:11px}.upload-preview{width:65px;min-width:65px}.upload-preview small{font-size:8px}.upload-name strong,.upload-fields label{font-size:11px}.upload-fields .optional{font-size:9px}.photo-viewer{border-radius:0;width:100%;max-height:100dvh;padding:12px}.viewer-body{height:calc(100dvh - 190px)}.viewer-caption{gap:12px;padding:0 8px}.welcome{grid-template-columns:1fr;gap:38px;padding:45px 24px 40px}.welcome h1{letter-spacing:-2.4px;margin:23px 0;font-size:52px}.welcome-copy>p{max-width:350px;font-size:14px}.welcome-art{aspect-ratio:1.15;border-radius:100px 100px 12px 12px;width:100%;max-width:370px;margin:auto}.botanical-art{padding-top:20px}.art-caption{font-size:7px;top:24px}.art-note{bottom:17px;left:17px}.google-button{padding:14px 18px;font-size:13px}.photo-viewer .modal-header{margin-bottom:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
