:root{
  --bg:#08070b;
  --bg2:#111018;
  --text:#fff;
  --muted:#aaa6b3;
  --glass:rgba(255,255,255,.08);
  --glass-strong:rgba(255,255,255,.13);
  --stroke:rgba(255,255,255,.14);
  --shadow:0 25px 80px rgba(0,0,0,.42);
  --radius:28px;
  --accent:#ff4f81;
  --accent2:#7b5cff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:"Cairo",system-ui,-apple-system,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 10%,rgba(123,92,255,.12),transparent 35%),
    radial-gradient(circle at 85% 20%,rgba(255,79,129,.11),transparent 30%),
    linear-gradient(180deg,#08070b 0%,#0c0b12 45%,#08070b 100%);
  overflow-x:hidden;
}
button,input{font:inherit}
button{cursor:pointer}
.ambient{position:fixed;border-radius:50%;filter:blur(110px);opacity:.2;pointer-events:none;z-index:-3}
.ambient-a{width:420px;height:420px;background:#7b5cff;top:-120px;right:-90px}
.ambient-b{width:360px;height:360px;background:#ff4f81;left:-120px;top:38vh}
.ambient-c{width:420px;height:420px;background:#00d7c7;right:25%;bottom:-180px;opacity:.12}
.grain{position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E")}
.glass,.glass-panel{background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));border:1px solid var(--stroke);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
.topbar{position:sticky;top:14px;z-index:50;margin:14px auto 0;width:min(1180px,calc(100% - 28px));border-radius:22px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.brand-wrap{display:flex;align-items:center;gap:12px}.brand-orb{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#ff5f8c,#6f5cff);box-shadow:0 12px 30px rgba(123,92,255,.3)}
.brand-wrap strong{display:block;font-size:15px}.brand-wrap span{font-size:11px;color:var(--muted)}
.ghost-btn,.secondary-btn,.primary-btn{border:0;border-radius:16px;padding:12px 18px;color:#fff;transition:.28s ease}.ghost-btn,.secondary-btn{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.primary-btn{background:linear-gradient(135deg,#ff5f8c,#765cff);box-shadow:0 14px 40px rgba(123,92,255,.28);font-weight:700}.primary-btn:hover,.ghost-btn:hover,.secondary-btn:hover{transform:translateY(-2px)}
main{width:min(1180px,calc(100% - 28px));margin:auto;padding-bottom:70px}.hero{min-height:72vh;display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center;padding:80px 0 50px}.hero-copy h1{font-size:clamp(54px,7vw,104px);line-height:.95;margin:18px 0 24px;letter-spacing:-3px}.hero-copy h1 span{background:linear-gradient(90deg,#fff 0%,#ff8fab 42%,#8b7bff 100%);-webkit-background-clip:text;color:transparent}.hero-copy p{max-width:650px;font-size:18px;line-height:1.9;color:#c5c0ce;margin-bottom:30px}.eyebrow,.glass-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.12);color:#d9d4df;font-size:11px;letter-spacing:1.4px}.hero-preview{border-radius:32px;padding:28px;min-height:350px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.hero-preview:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ff4f81;filter:blur(80px);opacity:.15;left:-40px;bottom:-40px}.mini-cup{width:145px;height:210px;margin:10px auto;position:relative;border:2px solid rgba(255,255,255,.28);border-top:0;border-radius:0 0 35px 35px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 40%,rgba(255,255,255,.09))}.mini-liquid{position:absolute;inset:auto 0 0;height:65%;background:linear-gradient(#b95030,#5f211b);animation:miniWave 5s ease-in-out infinite}.mini-foam{position:absolute;bottom:62%;left:0;right:0;height:22px;background:#e8d4b5;border-radius:50%;filter:blur(.2px)}@keyframes miniWave{50%{transform:translateY(4px) skewY(1deg)}}
.preview-copy small,.preview-copy span{display:block;color:var(--muted)}.preview-copy strong{display:block;font-size:22px;margin:4px 0}
.builder{padding-top:40px}.builder-grid{display:grid;grid-template-columns:1.05fr 1.25fr .9fr;gap:20px;align-items:stretch}.glass-panel{border-radius:var(--radius);padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-head>div:first-child{display:flex;align-items:center;gap:10px}.section-head span{font-size:11px;color:#827d8f}.section-head h2{margin:0;font-size:22px}.total-pill{display:flex;flex-direction:column;text-align:left}.total-pill b{font-size:20px}.total-pill span{font-size:10px}.ingredients{display:flex;flex-direction:column;gap:12px}.ingredient{padding:15px;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);transition:.25s ease}.ingredient.active{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);transform:translateY(-1px)}.ingredient-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ingredient-meta{display:flex;align-items:center;gap:10px}.ingredient-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.08)}.ingredient-name strong{display:block;font-size:13px}.ingredient-name span{font-size:10px;color:var(--muted)}.percent{font-weight:700}.ingredient input[type=range]{width:100%;accent-color:#fff}.mix-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.taste-card{padding:14px;border-radius:18px;background:rgba(255,255,255,.045)}.taste-card span{display:block;font-size:10px;color:var(--muted)}.taste-card strong{font-size:14px}
.stage-panel{min-height:670px;border-radius:32px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.07),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.09)}.stage-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 18%,transparent 82%,rgba(255,255,255,.025));pointer-events:none}.stage-glow{position:absolute;width:380px;height:380px;background:radial-gradient(circle,rgba(123,92,255,.18),rgba(255,79,129,.10),transparent 70%);filter:blur(16px);animation:pulse 5s ease-in-out infinite}.stage-title{position:absolute;top:22px}.cup-scene{position:relative;width:320px;height:470px;display:grid;place-items:end center}.cup-shadow{position:absolute;bottom:32px;width:210px;height:34px;background:rgba(0,0,0,.4);filter:blur(18px);border-radius:50%}.cup-wrap{position:absolute;bottom:50px;width:205px;height:330px;filter:drop-shadow(0 35px 30px rgba(0,0,0,.35));transform-origin:50% 85%}.cup-body{position:absolute;inset:12px 8px 14px;border:2px solid rgba(255,255,255,.28);border-top:0;border-radius:0 0 52px 52px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 28%,rgba(255,255,255,.01) 70%,rgba(255,255,255,.10));box-shadow:inset 12px 0 25px rgba(255,255,255,.035),inset -10px 0 25px rgba(255,255,255,.025)}.cup-rim{position:absolute;top:0;left:0;right:0;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.33);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.025));z-index:8}.cup-base{position:absolute;bottom:0;left:38px;right:38px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.2);opacity:.65}.liquid-stack{position:absolute;inset:0;display:flex;flex-direction:column-reverse;justify-content:flex-start;overflow:hidden}.liquid-layer{width:100%;position:relative;transition:height .55s cubic-bezier(.2,.9,.3,1),background .4s ease;box-shadow:inset 0 10px 16px rgba(255,255,255,.035)}.liquid-layer:before{content:"";position:absolute;top:-7px;left:-3%;width:106%;height:15px;border-radius:50%;background:inherit;filter:brightness(1.08);opacity:.75;animation:surface 3.4s ease-in-out infinite}.shine{position:absolute;z-index:9;pointer-events:none;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0))}.shine-1{width:10px;height:180px;right:22px;top:38px;opacity:.38}.shine-2{width:4px;height:110px;right:39px;top:78px;opacity:.25}.bubbles{position:absolute;inset:0;z-index:6;pointer-events:none}.bubble{position:absolute;bottom:8px;width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.05);animation:rise var(--t) linear infinite;left:var(--x)}.ice-layer{position:absolute;inset:0;z-index:7;pointer-events:none}.ice-cube{position:absolute;width:42px;height:34px;border-radius:10px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 16px rgba(255,255,255,.13);transform:rotate(var(--r));left:var(--x);bottom:var(--y);animation:iceFloat 4s ease-in-out infinite}.pour-stream{position:absolute;top:38px;width:18px;height:0;border-radius:999px;opacity:0;z-index:12;filter:drop-shadow(0 0 12px rgba(255,255,255,.15));transition:.2s ease}.pour-stream.show{height:170px;opacity:.9;animation:streamSway .8s ease-in-out}.mix-status{position:absolute;bottom:18px;width:calc(100% - 36px);display:flex;align-items:center;gap:11px;padding:13px 15px}.soft{background:rgba(255,255,255,.06)}.status-dot{width:10px;height:10px;border-radius:50%;background:#71f6d2;box-shadow:0 0 16px #71f6d2}.mix-status strong{display:block;font-size:12px}.mix-status span{font-size:10px;color:var(--muted)}
.summary-panel{display:flex;flex-direction:column}.summary-list{display:flex;flex-direction:column;gap:10px;min-height:240px}.summary-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.045)}.summary-item .left{display:flex;align-items:center;gap:9px}.dot{width:10px;height:10px;border-radius:50%}.summary-item small{color:var(--muted)}.empty-state{height:170px;display:grid;place-items:center;color:#8f8999;border:1px dashed rgba(255,255,255,.1);border-radius:18px}.name-box{margin-top:auto;padding-top:20px}.name-box label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.name-box input{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;border-radius:16px;padding:14px;outline:none}.wide{width:100%;margin-top:10px}.final-card{margin-top:22px;text-align:center;padding:40px}.final-badge{font-size:10px;color:#aaa;letter-spacing:2px}.final-card h2{font-size:36px;margin:8px 0}.final-card p{color:#c5c0ce}.final-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;background:rgba(15,14,20,.86);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.12);padding:12px 18px;border-radius:14px;transition:.3s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes rise{from{transform:translateY(0) scale(.7);opacity:.1}20%{opacity:.8}to{transform:translateY(-280px) scale(1.2);opacity:0}}@keyframes surface{50%{transform:translateX(2%) scaleY(.88)}}@keyframes iceFloat{50%{transform:translateY(-6px) rotate(calc(var(--r) + 4deg))}}@keyframes streamSway{50%{transform:translateX(4px)}}@keyframes pulse{50%{transform:scale(1.08);opacity:.8}}
@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-preview{min-height:280px}.builder-grid{grid-template-columns:1fr}.stage-panel{order:-1;min-height:600px}.summary-panel{min-height:auto}.hero-copy h1{font-size:clamp(54px,15vw,82px)}}
@media(max-width:620px){.topbar{top:8px;margin-top:8px}.brand-wrap span{display:none}.ghost-btn{padding:10px 12px}.hero{padding-top:55px}.hero-copy h1{letter-spacing:-1.5px}.hero-copy p{font-size:15px}.glass-panel{padding:18px}.stage-panel{min-height:540px}.cup-scene{transform:scale(.92)}.mix-footer{grid-template-columns:1fr}.final-actions{flex-direction:column}}
