*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f5f7f5;color:#1a1a1a}.main-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;box-shadow:0 1px 3px #0000001a}.nav-logo{font-size:1.25rem;font-weight:600;color:#2d5a27;text-decoration:none}.nav-logo:hover{color:#1e3d1a}.nav-links{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.nav-links a{color:#333;text-decoration:none;font-size:.95rem}.nav-links a:hover{color:#2d5a27}.nav-auth{display:flex;align-items:center;gap:.5rem}.nav-auth button{background:#2d5a27;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.nav-auth button:hover{background:#1e3d1a}main{padding:1rem 0}.header-nav{margin-top:1rem;display:flex;gap:1rem;justify-content:center}.header-nav a{color:#2d5a27;text-decoration:none}.header-nav a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:2rem}h1{margin:0;font-size:2.5rem}header p{color:#666;margin-top:.5rem}.api-selector{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.api-option{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid #ccc;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.95rem}.api-option:has(input:checked){border-color:#2d5a27;background:#e8f5e9;font-weight:500}.api-option input[type=radio]{cursor:pointer}.api-option:hover{border-color:#2d5a27}.search-form{display:flex;gap:.5rem;justify-content:center;margin-bottom:2rem}.search-form input{padding:.75rem 1rem;font-size:1rem;border:1px solid #ccc;border-radius:6px;width:300px}.search-form button{padding:.75rem 1.5rem;font-size:1rem;background:#2d5a27;color:#fff;border:none;border-radius:6px;cursor:pointer}.search-form button:hover{background:#1e3d1a}.add-cultivar-link{text-align:center;margin-bottom:2rem;color:#666;font-size:.9rem}.add-cultivar-link a{color:#2d5a27}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.plant-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s}.plant-card img{width:100%;height:200px;object-fit:cover}.plant-card h3{margin:1rem 0 .25rem;font-size:1.1rem;font-style:italic}.plant-card .common-name{margin:0;color:#444;font-size:1rem}.plant-card .taxonomy{margin:.25rem 0;font-size:.85rem;color:#666}.plant-card .card-content{padding:0 1rem 1rem}.compare-btn,.add-btn{width:100%;margin-top:1rem;padding:.6rem 1rem;background:#2d5a27;color:#fff;border:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.compare-btn:hover,.add-btn:hover{background:#fff;border:1px solid #2d5a27;color:#2d5a27}.add-btn.added{background:#666;cursor:default}.back-link{display:inline-block;margin-bottom:1rem;color:#2d5a27;text-decoration:none}.back-link:hover{text-decoration:underline}.loading{text-align:center;color:#666;padding:2rem}.plant-header{display:flex;gap:2rem;margin-bottom:2rem}.plant-image{width:300px;height:300px;object-fit:cover;border-radius:12px}.plant-title{flex:1}.plant-title h1{margin:0 0 .5rem;font-size:2rem}.plant-title .scientific-name{font-style:italic;color:#666;margin:0 0 .25rem}.plant-title .common-name{color:#888;margin:0 0 1rem}.edit-btn{padding:.5rem 1rem;background:#2d5a27;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.edit-btn:hover{background:#1e3d1a}.info-sections{display:flex;flex-direction:column;gap:1.5rem}.info-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.info-section h2{margin:0 0 1rem;font-size:1.1rem;color:#333;border-bottom:1px solid #eee;padding-bottom:.5rem}.info-section dl{margin:0;display:grid;grid-template-columns:120px 1fr;gap:.5rem}.info-section dt{font-weight:500;color:#666}.info-section dd{margin:0;color:#333}.info-section a{color:#2d5a27}.notes-content{color:#333;line-height:1.6}.synonyms{color:#666;font-style:italic;margin:0}.meta-info{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee;color:#888;font-size:.85rem}.meta-info p{margin:.25rem 0}.edit-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.edit-form h1{margin:0 0 1.5rem;font-size:1.5rem}.form-section{margin-bottom:2rem}.form-section h2{font-size:1.1rem;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;font-size:1rem;font-family:inherit;border:1px solid #ccc;border-radius:6px;box-sizing:border-box}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2d5a27;box-shadow:0 0 0 2px #2d5a271a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-btn{padding:.75rem 1.5rem;background:#eee;color:#333;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.cancel-btn:hover{background:#ddd}.save-btn{padding:.75rem 1.5rem;background:#2d5a27;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.save-btn:hover{background:#1e3d1a}.save-btn:disabled{background:#888;cursor:not-allowed}.form-message{margin-top:1rem;padding:1rem;border-radius:6px;text-align:center;display:none}.form-message.error{display:block;background:#ffebee;color:#c62828}.empty-state{text-align:center;color:#666;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-state a{color:#2d5a27}.collection{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1rem}.plant-card{position:relative;border:1px solid #ccc;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s}.plant-card:hover{transform:translateY(-4px)}.plant-card img{width:100%;object-fit:cover}.plant-card .no-image{width:100%;height:200px;background:#e0e0e0;display:flex;align-items:center;justify-content:center;color:#888}.plant-card .card-content{padding:1rem}.plant-card h3{margin:0 0 .25rem;font-size:1.1rem;color:#1a1a1a}.plant-card .card-link{color:inherit;text-decoration:none}.plant-card .card-link:after{content:"";position:absolute;inset:0;z-index:1}.plant-card .card-link:hover{text-decoration:underline}.plant-card .card-link:focus{outline:2px solid #2d5a27;outline-offset:2px}.plant-card .subtitle{margin:0 0 .5rem;font-style:italic;color:#666;font-size:.9rem}.plant-card .taxonomy{margin:0;font-size:.85rem;color:#888}.plant-card .location{margin:.5rem 0 0;font-size:.85rem;color:#666}.plant-card .care-info{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0;padding:.5rem;background:#f5f7f5;border-radius:6px;font-size:.85rem}.plant-card .care-item{display:flex;align-items:flex-start;gap:.25rem;color:#555;line-height:1.3}.plant-card .status-badge{display:inline-block;margin-top:.5rem;padding:.25rem .5rem;background:#e8f5e9;color:#2d5a27;border-radius:4px;font-size:.75rem}.card-actions{display:flex;gap:.5rem;margin-top:1rem}.comparison-modal{border:none;border-radius:12px;padding:0;max-width:90vw;max-height:90vh;width:900px;box-shadow:0 8px 32px #0000004d}.comparison-modal::backdrop{background:#0009}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee;background:#f5f7f5}.modal-header h2{margin:0;color:#2d5a27}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;width:36px;height:36px;border-radius:50%}.modal-close:hover{background:#e0e0e0}.modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 80px)}.comparison-loading{text-align:center;padding:3rem;color:#666}.comparison-error{text-align:center;padding:3rem}.comparison-error .error-message{color:#c62828;margin-bottom:1.5rem}.comparison-table{width:100%;border-collapse:collapse;background:#fff;margin-bottom:2rem}.comparison-table th,.comparison-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee}.comparison-table th{background:#f5f7f5;font-weight:600;position:sticky;top:0}.comparison-table tr.different{background:#fff8e1}.comparison-table tr.different .merged-value{background:#ffeb3b;font-weight:500}.merge-preview{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.merge-preview h3{margin:0 0 1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #eee}.save-merged-btn{padding:.75rem 1.5rem;background:#2d5a27;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.save-merged-btn:hover{background:#1e3d1a}.retry-btn{padding:.75rem 1.5rem;background:#2d5a27;color:#fff;border:none;border-radius:6px;cursor:pointer}@media(max-width:768px){.comparison-modal{width:95vw}.comparison-table{font-size:.85rem}.modal-actions{flex-direction:column}}@media(max-width:600px){.plant-header{flex-direction:column}.plant-image{width:100%;height:250px}.form-row,.info-section dl{grid-template-columns:1fr}.info-section dt{margin-top:.5rem}}.current-image-preview{margin-bottom:1rem}.image-source-note{font-size:.85rem;color:#666;margin-top:.5rem}.upload-preview{margin-top:.5rem}.upload-status{padding:.75rem;border-radius:6px;margin:.5rem 0;font-size:.9rem}.upload-status.uploading{background:#e3f2fd;color:#1976d2;border:1px solid #90caf9}.upload-status.success{background:#e8f5e9;color:#2e7d32;border:1px solid #81c784}.upload-status.error{background:#ffebee;color:#c62828;border:1px solid #ef5350}.form-divider{display:flex;align-items:center;margin:1.5rem 0;text-align:center}.form-divider:before,.form-divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.form-divider span{padding:0 1rem;color:#999;font-size:.9rem;font-weight:500}.help-text{display:block;margin-top:.25rem;font-size:.85rem;color:#666}.form-group input[type=file]{padding:.5rem;border:2px dashed #ccc;border-radius:6px;background:#fafafa;cursor:pointer}.form-group input[type=file]:hover{border-color:#2d5a27;background:#f0f7f0}.form-group input[type=file]:focus{outline:none;border-color:#2d5a27;box-shadow:0 0 0 2px #2d5a271a}.flex{display:flex}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.gallery{list-style:none;margin:0;padding:0}.gallery li{aspect-ratio:1;width:100%}.gallery img{width:100%;height:100%;object-fit:cover;display:block;overflow:hidden;border-radius:.5rem}
