:root{--bg:#050208;--ink:#f4e9ff;--ink-dim:#8b7aa3;--hair:#7e4cf738;--accent:#8e55ee}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(ellipse 80% 55% at 50% 50%, #7e4cf71a 0%, #7e4cf700 60%), var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Quicksand,sans-serif;font-weight:300;overflow:hidden}#root{width:100vw;height:100dvh}.rotate-hint{z-index:200;background:var(--bg);letter-spacing:.14em;color:var(--ink-dim);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:13px;display:none;position:fixed;inset:0}.rotate-hint .rotate-icon{font-size:36px;animation:2s ease-in-out infinite rotate-nudge}@keyframes rotate-nudge{0%,to{transform:rotate(0)}40%{transform:rotate(90deg)}60%{transform:rotate(90deg)}}@media (width<=768px) and (orientation:portrait){.rotate-hint{display:flex}}.chrome-top{z-index:10;pointer-events:none;flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:fixed;top:22px;left:24px}.brand{color:#ff90b3;letter-spacing:.02em;font-size:20px;font-weight:500}.seed-pill{pointer-events:auto;border:1px solid var(--hair);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.1em;background:#0a041299;border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:inline-flex}.seed-pill .swatch{background:#ff90b3;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 10px #ff90b3,0 0 22px #ff90b3}.seed-pill .pill-label{color:var(--ink-dim);letter-spacing:.14em;font-size:10px}.top-controls{pointer-events:auto;letter-spacing:.16em;color:var(--ink-dim);flex-direction:column;align-items:flex-start;gap:8px;font-size:11px;display:flex}.pill{border:1px solid var(--hair);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#0a041299;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;display:flex}.pill b{color:var(--ink);font-weight:400}.new-seed{cursor:pointer;transition:all .2s}.new-seed:hover{color:var(--ink);border-color:#9e5de699}.footer{z-index:10;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:22px;left:26px;right:26px}.grad-wrap{letter-spacing:.18em;color:var(--ink-dim);align-items:center;gap:14px;font-size:10px;display:flex}.grad-bar{background:linear-gradient(90deg,#ff90b3,#ef88bb,#df7fc4,#cf77cc,#bf6ed5,#ae66dd,#9e5de6,#8e55ee,#7e4cf7,#6e44ff);border-radius:3px;width:280px;height:6px;box-shadow:0 0 18px #9e5de659}.hint{letter-spacing:.18em;color:#5a4a72;font-size:10px}@keyframes neon-pulse-lg{0%,to{text-shadow:0 0 8px #fff,0 0 20px #f0dcff,0 0 40px #b48bff,0 0 78px #7e4cf7,0 0 140px #7e4cf78c,0 0 220px #7e4cf74d}50%{text-shadow:0 0 6px #fff,0 0 14px #e9d5ff,0 0 28px #a26bff,0 0 56px #7e4cf7,0 0 110px #7e4cf766,0 0 180px #7e4cf733}}.landing{flex-direction:column;justify-content:center;align-items:center;gap:28px;width:100vw;height:100vh;display:flex;position:relative}.made-by{color:#6e44ff88;letter-spacing:.5px;font-size:12px;font-weight:300;position:absolute;bottom:24px}.made-by a{color:#6e44ff;text-decoration:none}.made-by a:hover{color:#bf6ed5}.landing-title{color:#ff90b3;letter-spacing:.02em;font-size:78px;font-weight:600}.landing-description{color:#bf6ed5;letter-spacing:.5px;margin-top:-16px;font-size:15px;font-weight:300}.landing-form{flex-direction:column;align-items:stretch;gap:22px;width:min(360px,92vw);display:flex}.search-wrap{width:100%;position:relative}input[type=text]{border:1px solid var(--hair);width:100%;color:var(--ink);letter-spacing:.12em;text-align:center;background:0 0;border-radius:4px;outline:none;padding:18px 22px;font-family:Quicksand,sans-serif;font-size:18px;font-weight:300;transition:border-color .2s}input[type=text]:focus{border-color:#9e5de699}input[type=text]::placeholder{color:#6a587e;letter-spacing:.18em}.suggestions{border:1px solid var(--hair);z-index:20;background:#0a0612;border-radius:4px;list-style:none;position:absolute;top:calc(100% + 6px);left:-1.5px;right:-1.5px;overflow:hidden}.suggestions li{cursor:pointer;letter-spacing:.08em;color:var(--ink-dim);justify-content:space-between;align-items:center;padding:10px 18px;font-size:13px;display:flex}.suggestions li:hover,.suggestions li.active{color:var(--ink);background:#7e4cf71a}.suggestion-name{color:inherit}.suggestion-listeners{letter-spacing:.14em;color:#5a4a72;font-size:10px}.sliders{grid-template-columns:1fr 1fr;gap:28px;display:grid}.slider-group{flex-direction:column;align-items:center;gap:14px;display:flex}.slider-label{letter-spacing:.22em;color:var(--ink-dim);font-size:11px}.slider-value{color:var(--ink);letter-spacing:.1em;font-size:18px}input[type=range]{-webkit-appearance:none;cursor:pointer;background:linear-gradient(90deg,#ff90b366,#bf6ed566,#8e55ee66,#6e44ff66);border:none;outline:none;width:100%;height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--thumb-color,#a26bff);cursor:pointer;width:14px;height:14px;box-shadow:0 0 12px var(--thumb-color,#a26bffb3);border:none;border-radius:50%;transition:background .15s}.graph-estimate{letter-spacing:.22em;color:var(--ink-dim);text-align:center;font-size:12px}.graph-estimate.warn{color:#ff8f9c}button{color:#c9a8e8;letter-spacing:.22em;cursor:pointer;background:0 0;border:1px solid #9e5de699;border-radius:4px;width:100%;padding:18px 22px;font-family:Quicksand,sans-serif;font-size:18px;font-weight:300;transition:all .2s}button:hover{color:#f0e1ff;background:#7e4cf71a;border-color:#9e5de6e6;box-shadow:0 0 32px #7e4cf759}button:disabled{opacity:.3;cursor:default;pointer-events:none}.loader-screen{flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100vw;height:100vh;display:flex}.loader-dot{background:#a26bff;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 12px #a26bffb3}.loader-seed{color:#fbf3ff;letter-spacing:.08em;font-size:18px;font-weight:400}.loader-status{letter-spacing:.18em;color:var(--ink-dim);font-size:11px}.error-msg{color:#ff6b6b}.error-retry{color:#6e44ff;letter-spacing:.15em;cursor:pointer;background:0 0;border:1px solid #6e44ff55;border-radius:8px;margin-top:16px;padding:8px 24px;font-family:inherit;font-size:12px}.error-retry:hover{color:#bf6ed5;border-color:#6e44ff}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.link{stroke-opacity:.25}.node circle{cursor:pointer}.node text{pointer-events:none;font-family:Quicksand,sans-serif;font-weight:300}svg{width:100%;height:100%;display:block}
