@layer base;@layer overrides;@layer base{:root{--bg-0: #0d0a14;--bg-1: #141020;--bg-2: #1c1630;--bg-3: #261e44;--text-1: #e8e6f5;--text-2: #b8b3d5;--primary: #8a7ef6;--primary-2: #5f55c8;--accent: #27e0c6;--danger: #ff6b6b;--warning: #ffd166;--muted: #3b3458;--tile: 120px;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;line-height:1.5;color:var(--text-1);background:var(--bg-0);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}.header-nav{background:var(--bg-1);border-bottom:1px solid var(--bg-3);padding:0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}.nav-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.1rem;color:var(--text-1)}.logo{width:24px;height:24px;object-fit:contain}.brand-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;align-items:center;gap:24px}.nav-link{color:var(--text-2);text-decoration:none;font-weight:500;padding:8px 16px;border-radius:6px;transition:all .2s ease;position:relative}.nav-link:hover{color:var(--text-1);background:var(--bg-2)}.nav-link.active{color:var(--primary);background:var(--bg-2)}.nav-link.external:after{content:"↗";font-size:.8rem;margin-left:4px;opacity:.6}.nav-link:hover{text-decoration:none}.nav-brand a{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-weight:600;font-size:1.1rem}.nav-brand a:hover{text-decoration:none}.hamburger-menu{display:none;cursor:pointer;padding:8px;background:none;border:none;color:var(--text-1)}.hamburger-menu .line{width:20px;height:2px;background:var(--text-1);margin:4px 0;transition:.3s}@media (max-width: 768px){.nav-container{max-width:none;margin:0;padding:10px 15px;width:100%;box-sizing:border-box}.hamburger-menu{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-1);border-top:1px solid var(--bg-3);flex-direction:column;padding:15px;gap:10px;z-index:1000}.nav-links.active{display:flex}.nav-link{padding:12px 15px;font-size:1rem;border-radius:6px;transition:background-color .2s}.nav-link:hover{background:var(--bg-2)}}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(1200px 500px at 20% -10%,rgba(138,126,246,.18),transparent),radial-gradient(1000px 600px at 100% 0%,rgba(39,224,198,.08),transparent),var(--bg-0)}#app{min-height:100vh}.app-container{max-width:1120px;margin:0 auto;padding:32px 16px 64px}.panel{background:linear-gradient(180deg,var(--bg-1),var(--bg-2));border:1px solid var(--muted);border-radius:14px;box-shadow:0 12px 30px #00000073,inset 0 1px #ffffff05}.title-bar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--muted)}.title{font-size:22px;font-weight:700}.subtitle{color:var(--text-2);font-size:14px;margin:0}.section-title{font-size:14px;margin:0 0 10px;font-weight:700;color:var(--text-1)}.faq-item{margin-top:8px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--bg-3);border:1px solid var(--muted);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.chip.active{color:var(--text-1);border-color:var(--primary);box-shadow:0 0 0 2px #8a7ef640 inset}.chip:hover{border-color:var(--primary)}.input,.select,.search{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--muted);background:var(--bg-1);color:var(--text-1)}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width: 1024px){.grid.responsive{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 768px){.grid.responsive{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 560px){.grid.responsive{grid-template-columns:repeat(2,minmax(0,1fr))}}.plant-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,var(--tile));justify-content:start;max-height:calc(var(--tile) * 3 + 24px);overflow-y:auto;padding:8px 12px 8px 8px}.fruit-card{background:var(--bg-1);border:1px solid var(--muted);border-radius:12px;padding:8px;text-align:center;cursor:pointer;aspect-ratio:1 / 1;position:relative;overflow:visible}.fruit-card.active{border-color:var(--primary);box-shadow:0 0 0 3px #8a7ef659,0 6px 18px #8a7ef626;z-index:1}.fruit-card img{width:48px;height:48px;object-fit:contain;display:block;margin:4px auto 6px}.fruit-card .name{font-size:12px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fruit-card .price{font-size:12px;color:#38d28f;font-weight:600;margin-top:2px}.mutations{display:flex;flex-wrap:wrap;gap:10px}.mut-button{padding:8px 10px;font-size:12px;border-radius:10px;border:1px solid var(--muted);background:var(--bg-3);color:var(--text-2);cursor:pointer}.mut-button.active{color:var(--text-1);border-color:var(--primary)}@keyframes flashPulse{0%,to{box-shadow:0 0 #8a7ef600;border-color:var(--muted)}50%{box-shadow:0 0 0 3px #8a7ef659;border-color:var(--primary)}}.mut-button.flash{animation:flashPulse .18s ease-in-out 3}.section{padding:16px}.section+.section{border-top:1px solid var(--muted)}.btn{border:1px solid var(--muted);background:var(--bg-1);color:var(--text-1);padding:8px 12px;border-radius:10px;cursor:pointer}.btn.primary{border-color:var(--primary);background:linear-gradient(180deg,var(--primary),var(--primary-2))}.btn.ghost{background:transparent}.result-box{display:flex;align-items:center;justify-content:center;height:140px;border:1px dashed var(--muted);border-radius:12px;background:linear-gradient(180deg,#5f55c826,#5f55c808);font-weight:800;font-size:36px}.sub{color:var(--text-2);font-size:14px}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.row .grow{flex:1}}
