@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}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{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}}
