@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap');
:root{--accent:#ff4d7d;--bg:#0c090b;--ink:#f7f3f0;--muted:#a79da1;--panel:#151013;--line:#382a31;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:var(--sans);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34rem),radial-gradient(circle at 5% 65%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28rem),var(--bg)}
button,input,select{font:inherit}button,a{touch-action:manipulation}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}
nav{height:66px;border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between}.brand{font:700 19px var(--serif);text-decoration:none;color:var(--ink)}.brand i{color:var(--accent)}.prototype{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.hero{padding:66px 0 38px}.eyebrow{color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.hero h1{font:700 clamp(58px,9vw,112px)/.86 var(--serif);letter-spacing:-.065em;margin:20px 0 22px;max-width:1000px}.hero h1 i{color:var(--accent);font-weight:400}.hero-copy{display:flex;justify-content:space-between;gap:30px;align-items:end}.hero p{font-size:18px;line-height:1.55;color:#c8bec2;max-width:620px;margin:0}.counter{font:700 28px var(--serif);color:var(--accent);white-space:nowrap}.counter small{display:block;font:500 10px var(--sans);color:var(--muted);text-align:right;text-transform:uppercase;letter-spacing:.14em}
.lab-nav{display:flex;gap:7px;overflow:auto;padding:8px 0 18px;scrollbar-width:none}.lab-nav a{min-width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;text-decoration:none;color:var(--muted);font-size:11px}.lab-nav a.active,.lab-nav a:hover{border-color:var(--accent);background:var(--accent);color:#0b0809}
.stage-shell{border:1px solid var(--line);background:#100c0eee;box-shadow:0 28px 90px #0008;border-radius:24px;padding:18px;margin-bottom:28px}.stage{min-height:330px}.search-box{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.drop{min-height:330px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:16px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,#1a1115),#0d090b)}.drop input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.drop>span{text-align:center;color:var(--muted)}.drop>span b{display:block;font-size:42px;color:var(--accent);font-weight:400}.drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.drop img.show{display:block}.form{padding:18px 12px;display:flex;flex-direction:column;gap:16px;justify-content:center}label{display:grid;gap:7px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}input,select{width:100%;border:1px solid var(--line);background:#0b080a;color:var(--ink);padding:13px;border-radius:10px;outline:none}input:focus,select:focus{border-color:var(--accent)}
button{cursor:pointer}.primary{border:0;background:var(--accent);color:#0b0809;border-radius:11px;padding:15px 20px;font-weight:700}.primary:disabled{opacity:.38;cursor:not-allowed}.secondary,.card-actions a{border:0;background:transparent;color:var(--ink);padding:11px;text-decoration:none;text-align:center}.text-button{border:0;background:none;color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.wide{width:100%;margin-top:16px}
.status{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:18px;padding:18px 4px 2px;color:var(--muted)}.spinner{width:18px;height:18px;border:2px solid #ffffff20;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}
.results{padding:40px 0 80px}.results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.results h2{font:700 clamp(40px,6vw,68px)/.9 var(--serif);margin:0}.summary{color:var(--muted);font-size:13px;text-align:right}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel);min-width:0}.card>img{display:block;width:100%;aspect-ratio:.82;object-fit:cover;background:#21171c}.card-body{padding:12px}.card-top{display:flex;justify-content:space-between;gap:8px}.card-top strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-top small{color:var(--muted);text-transform:uppercase}.card-body p{font-size:11px;color:var(--muted);margin:7px 0 0}.signal{display:block;color:var(--accent);font-size:11px;margin-top:7px}.card-actions{display:flex;border-top:1px solid var(--line)}.card-actions>*{flex:1;border-right:1px solid var(--line);font-size:12px}.card-actions>*:last-child{border-right:0}.card-actions>*:hover{background:var(--accent);color:#0b0809}.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:14px;padding:44px;text-align:center;color:var(--muted)}
.seed-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.seed{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:0;overflow:hidden;color:var(--ink);text-align:left}.seed-photo{display:block;aspect-ratio:.82;background:#24191f center/cover}.seed b,.seed small{display:block;padding:0 13px}.seed b{margin-top:12px}.seed small{color:var(--muted);margin:5px 0 14px}.seed:hover{border-color:var(--accent);transform:translateY(-3px)}.disclaimer{text-align:center;color:var(--muted);font-size:11px;margin:15px 0 0}
.graph-form,.index-form{display:grid;grid-template-columns:.4fr 1fr auto;gap:12px;align-items:end;padding:28px}.graph{min-height:500px;position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:22px}.seed-node{grid-column:3;grid-row:2;display:grid;place-items:center;background:var(--accent);color:#0b0809;border-radius:50%;aspect-ratio:1;font-weight:700}.seed-node small{display:block}.graph-node{border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--panel)}.graph-node img{width:100%;aspect-ratio:1;object-fit:cover}.graph-node span{display:block;padding:8px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.type-grid label{position:relative}.type-grid img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:12px}.type-grid input{font-size:10px;text-transform:none;letter-spacing:0}.watch{border-top:1px solid var(--line);margin-top:20px;padding:20px}.watch h3{font:700 28px var(--serif)}.watch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.spotlight{max-width:360px;margin:12px auto}.shuffle-actions{text-align:center}.shuffle-actions .primary{min-width:240px}.index-form{grid-template-columns:1fr auto;max-width:720px;margin:70px auto}.index-form label{font-size:14px}.index-form input{font-size:22px}
footer{border-top:1px solid var(--line);padding:26px 0 38px;color:#776d71;font-size:11px;display:flex;justify-content:space-between;gap:24px}footer a{color:inherit}
@media(max-width:850px){.search-box{grid-template-columns:1fr}.cards,.watch-grid{grid-template-columns:repeat(2,1fr)}.seed-grid{grid-template-columns:repeat(2,1fr)}.graph{grid-template-columns:repeat(3,1fr)}.seed-node{grid-column:2}.graph-form{grid-template-columns:1fr}.type-grid{grid-template-columns:1fr}.counter{display:none}}
@media(max-width:520px){.wrap{width:calc(100% - 24px)}nav{height:58px}.prototype{display:none}.hero{padding:48px 0 28px}.hero h1{font-size:60px}.hero p{font-size:15px}.stage-shell{padding:10px;border-radius:17px}.drop{min-height:280px}.cards{gap:8px}.card-body{padding:9px}.seed-grid{gap:8px}.graph{padding:8px;gap:6px}.index-form{padding:12px;grid-template-columns:1fr}.results-head{align-items:start}.summary{font-size:10px}footer{flex-direction:column}}
