:root{font-family:Barlow Condensed,Arial Black,Impact,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-primary);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background-color:#050505}button,input,select{font:inherit}button{cursor:pointer}.app{position:relative;width:100%;height:100%;min-width:320px;background:radial-gradient(circle at 50% 12%,rgba(227,6,19,.12),transparent 45%),linear-gradient(180deg,#0d0c0b,#050505);color:var(--color-primary);touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}.stage{position:relative;isolation:isolate;width:100%;height:100%;min-height:100dvh;overflow:hidden;padding:clamp(28px,4vh,72px) clamp(28px,5vw,88px)}.ambient-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1.5px),radial-gradient(rgba(227,6,19,.1) 1.5px,transparent 2px);background-size:40px 40px,80px 80px;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 85%)}.attract-video,.attract-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-5;width:100%;height:100%;object-fit:cover}.attract-video{opacity:.35;filter:saturate(.85) contrast(1.1) brightness(.65)}.attract-fallback{background:radial-gradient(circle at 50% 30%,rgba(227,6,19,.18),transparent 50%),radial-gradient(circle at 20% 70%,rgba(252,213,103,.08),transparent 35%)}.ambient-glow-back{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(520px,90vw);height:min(520px,75vh);background:radial-gradient(circle,#e3061338,#0000 70%);z-index:-1;pointer-events:none;filter:blur(40px);transition:background .8s ease}.phase-pouring .ambient-glow-back{background:radial-gradient(circle,#fcd56742,#e306131a 40%,#0000 75%);animation:ambientBreath 3s ease-in-out infinite alternate}.bokeh-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;pointer-events:none}.bokeh-particle{position:absolute;border-radius:50%;background:#ffffff08;filter:blur(4px);animation:floatUp 15s linear infinite;bottom:-40px}.bokeh-particle:nth-child(2n){background:#e306130a}.brand-lockup{position:absolute;top:clamp(40px,5vh,80px);left:clamp(34px,5vw,88px);z-index:4;display:flex;align-items:center;gap:clamp(14px,1.8vw,22px);max-width:min(740px,78vw)}.brand-lockup img{width:clamp(72px,8vw,118px);height:auto;max-height:clamp(48px,6vh,82px);object-fit:contain}.brand-mark{display:grid;width:68px;height:68px;place-items:center;border:2px solid #e30613;border-radius:50%;color:#e30613;font-size:30px;font-weight:900;box-shadow:0 0 15px #e3061340;background:#0006}.brand-name{font-size:clamp(24px,3.2vw,44px);font-weight:900;line-height:.96;text-transform:uppercase;text-wrap:balance;letter-spacing:.02em;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.8)}.brand-subline{margin-top:6px;color:#c5a059;font-size:clamp(10px,1.1vw,14px);font-weight:800;letter-spacing:.25em;text-transform:uppercase}.copy-zone{position:absolute;top:clamp(170px,20vh,250px);left:clamp(34px,5vw,88px);z-index:6;display:grid;max-width:min(610px,58vw);gap:clamp(8px,.8vh,14px)}.copy-zone h1{max-width:12ch;margin:0;font-size:clamp(40px,6.2vw,82px);font-weight:950;line-height:.9;text-transform:uppercase;text-wrap:balance;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.8)}.copy-zone p{max-width:25ch;margin:0;color:#ffffffb3;font-size:clamp(16px,1.8vw,24px);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 3px 12px rgba(0,0,0,.8)}.phase-pouring .copy-zone{max-width:min(620px,54vw)}.phase-pouring .copy-zone h1{max-width:14ch;font-size:clamp(38px,5vw,64px);line-height:.94}.phase-pouring .copy-zone p{display:none}.glass-housing{position:absolute;bottom:clamp(100px,10vh,130px);top:clamp(110px,12vh,150px);left:50%;transform:translate(-50%);width:min(480px,85vw);height:calc(100% - clamp(210px,22vh,280px));z-index:5;display:flex;justify-content:center;align-items:flex-end}.glass-container{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.glass-liquid-svg{width:100%;height:100%;filter:drop-shadow(0 20px 45px rgba(0,0,0,.8))}.liquid-wave{animation:waveMotion 1.8s ease-in-out infinite alternate}.sparkle-bubble{animation:sparkleRise 4s linear infinite}.glass-target-overlay{position:absolute;left:-20px;right:-20px;top:21.4%;height:49.4%;pointer-events:none;z-index:10}.target-line{position:absolute;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;transform:translateY(50%);pointer-events:none}.target-rule{display:block;height:2px;border-top:2px dashed #fcd567;opacity:.75;animation:targetRuleGlow 1.8s ease-in-out infinite alternate}.target-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 18px;border:1.5px solid #fcd567;border-radius:999px;background:#e30613d9;color:#fff;font-size:clamp(12px,1.4vw,15px);font-weight:900;letter-spacing:.05em;box-shadow:0 0 12px #e3061399,0 0 3px #fcd567cc;white-space:nowrap}.prize-zone{position:absolute;left:0;right:0;z-index:1;background:linear-gradient(180deg,#e3061300,#e3061314 20%,#e3061329,#e3061314 80%,#e3061300);border-top:1.2px dashed rgba(227,6,19,.4);border-bottom:1.2px dashed rgba(227,6,19,.4);pointer-events:none;animation:prizeZonePulse 2s ease-in-out infinite}.bottom-status{position:absolute;right:clamp(22px,5vw,88px);bottom:clamp(24px,5vh,80px);left:clamp(22px,5vw,88px);z-index:7;display:flex;justify-content:center}.tap-cta,.live-meter{min-width:min(520px,86vw);min-height:76px;border-radius:999px;color:var(--color-primary);box-shadow:0 18px 50px #0009,inset 0 0 0 1px #ffffff14}.tap-cta{display:flex;align-items:center;justify-content:center;gap:18px;padding:0 30px;text-transform:uppercase;background:linear-gradient(180deg,#e3061333,#0006),#0a0a0ad9;border:1.5px solid rgba(227,6,19,.6);animation:ctaBreath 2.2s ease-in-out infinite;transition:all .3s ease}.tap-cta:active{transform:scale(.97);background:#e3061366;border-color:#ffdd67}.tap-cta span{font-size:clamp(16px,2.5vw,30px);font-weight:900;letter-spacing:.02em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.tap-cta strong{display:inline-flex;min-width:98px;min-height:42px;align-items:center;justify-content:center;border-radius:999px;background:#ffdd67;color:#0a0a0a;font-size:clamp(13px,1.7vw,18px);font-weight:950;box-shadow:0 4px 10px #fcd5674d}.live-meter{display:grid;align-items:center;justify-items:center;padding:12px 28px;background:linear-gradient(180deg,#0003,#00000080),#0a0a0ae6;border:2px solid rgba(252,213,103,.3)}.live-meter.meter-near{border-color:#ffdd67;box-shadow:0 0 15px #fcd5674d}.live-meter.meter-perfect{border-color:#0f6;box-shadow:0 0 20px #0f66}.live-meter strong{font-size:clamp(24px,3.8vw,48px);font-weight:950;line-height:1;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 0 12px rgba(0,0,0,.8)}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:clamp(20px,4vw,90px);background:#05050566;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:resultIn .35s cubic-bezier(.19,1,.22,1) both}.result-perfect{animation:resultIn .35s cubic-bezier(.19,1,.22,1) both,perfectShake .55s cubic-bezier(.36,.07,.19,.97) .15s both}.perfect-celebration{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.perfect-celebration span{position:absolute;top:-24px;width:10px;height:18px;border-radius:2px;background:#ffdd67;box-shadow:0 0 10px #fff3;transform:rotate(var(--confetti-rotate));animation-name:confettiFall;animation-timing-function:cubic-bezier(.1,.8,.3,1);animation-fill-mode:both}.perfect-celebration span:nth-child(3n+1){background:#fff}.perfect-celebration span:nth-child(3n+2){background:#e30613}.result-shell{display:grid;width:min(780px,94vw);justify-items:center;gap:clamp(20px,3vh,32px);padding:clamp(24px,4.5vw,56px);border:1.5px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,#ffffff0d,#ffffff03),#0a0a0ae0;box-shadow:0 40px 100px #000000d9,inset 0 1px #ffffff1a;position:relative;z-index:1}.result-perfect .result-shell{border-color:#ffdd67;box-shadow:0 40px 100px #000000e6,0 0 70px #fcd56740}.result-near .result-shell,.result-good .result-shell{border-color:#fcd56766}.result-under .result-shell,.result-over .result-shell,.result-overflow .result-shell{border-color:#e3061359}.result-title{color:#fff;font-size:clamp(34px,7vw,92px);font-weight:950;line-height:.92;text-align:center;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 0 20px rgba(0,0,0,.6);animation:slideDownIn .5s cubic-bezier(.19,1,.22,1) both}.score-ring-container{position:relative;width:clamp(160px,20vw,220px);height:clamp(160px,20vw,220px);display:grid;place-items:center;animation:scorePop .75s cubic-bezier(.18,.89,.32,1.28) .12s both}.score-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg);width:100%;height:100%}.score-ring-fill{transition:stroke-dashoffset 1.3s cubic-bezier(.19,1,.22,1) .2s}.score-ring-text{display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.score-number{font-size:clamp(52px,8vw,80px);font-weight:950;line-height:1;color:#ffdd67;text-shadow:0 0 15px rgba(252,213,103,.3)}.result-perfect .score-number{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5)}.result-under .score-number,.result-over .score-number{color:#fff;text-shadow:none}.score-label{font-size:clamp(10px,1.2vw,13px);font-weight:900;letter-spacing:.18em;color:#fff9;margin-top:4px}.result-grid{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:12px;animation:slideUpIn .6s cubic-bezier(.19,1,.22,1) .25s both}.metric{display:grid;min-height:90px;align-content:center;gap:6px;padding:16px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#ffffff05;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;box-shadow:inset 0 1px #ffffff0d}.metric span{color:#ffffff8c;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.metric strong{color:#fff;font-size:clamp(16px,1.8vw,22px);font-weight:900}.prize-banner{min-height:48px;padding:12px 26px;border-radius:999px;background:#e30613;color:#fff;font-size:clamp(15px,2vw,22px);font-weight:950;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 0 25px #e306138c;animation:prizePopIn .75s cubic-bezier(.19,1,.22,1) .4s both}.result-perfect .prize-banner{background:#ffdd67;color:#0a0a0a;box-shadow:0 0 30px #fcd56799,0 0 8px #fffc}.operator-button{position:absolute;top:18px;right:18px;z-index:30;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:#00000047;color:#ffffff9e;font-size:18px;transition:all .2s ease}.operator-button:hover{color:#fff;background:#e3061366;border-color:#e3061399}.debug-panel{position:absolute;bottom:14px;left:14px;z-index:35;display:grid;gap:3px;width:220px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#000000d1;color:#baf7c9;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-panel{display:grid;width:min(1120px,96vw);max-height:min(920px,92vh);grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#12100d;box-shadow:0 28px 120px #0000008a}.settings-header,.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-actions{border-top:1px solid rgba(255,255,255,.1);border-bottom:0}.settings-header h2,.settings-body h3{margin:0;color:#fff;font-weight:950;text-transform:uppercase}.settings-header h2{font-size:24px}.settings-header p{margin:5px 0 0;color:#ffffff9e;font-size:14px}.settings-body{display:grid;gap:24px;overflow:auto;padding:24px}.settings-body section{display:grid;gap:14px}.settings-body h3{font-size:16px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field span{color:#ffffffb8;font-size:12px;font-weight:900;text-transform:uppercase}.field input,.field select{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff12;color:#fff;padding:0 12px;outline:none}.field select option{color:#111}.field input:focus,.field select:focus{border-color:var(--color-accent)}.color-field input{padding:4px}.checkbox-field{display:flex;min-height:46px;align-items:center;gap:10px}.checkbox-field input{width:22px;min-height:22px}.small-button{min-height:42px;border:0;border-radius:999px;background:var(--color-accent);color:#130d05;padding:0 18px;font-size:13px;font-weight:950;text-transform:uppercase}.small-button.ghost{border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff}@keyframes ambientBreath{0%{opacity:.7;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}@keyframes floatUp{0%{transform:translateY(0) scale(.8);opacity:0}10%,90%{opacity:1}to{transform:translateY(-105vh) scale(1.3);opacity:0}}@keyframes ctaBreath{0%,to{transform:scale(1);box-shadow:0 18px 50px #0009,0 0 10px #e3061326}50%{transform:scale(1.03);box-shadow:0 22px 60px #000000b3,0 0 25px #e3061366,0 0 8px #fcd5674d}}@keyframes waveMotion{0%{transform:translate(-5px) scaleY(.9)}to{transform:translate(5px) scaleY(1.1)}}@keyframes sparkleRise{0%{transform:translateY(496px) scale(.6);opacity:0}15%,85%{opacity:.75}to{transform:translateY(150px) scale(1.2);opacity:0}}@keyframes targetRuleGlow{0%{filter:drop-shadow(0 0 2px rgba(227,6,19,.5))}to{filter:drop-shadow(0 0 7px rgba(227,6,19,.95)) drop-shadow(0 0 2px rgba(252,213,103,.8))}}@keyframes prizeZonePulse{0%,to{opacity:.7;filter:brightness(.95)}50%{opacity:1;filter:brightness(1.1)}}@keyframes resultIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@keyframes perfectShake{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-4px,2px,0)}20%,40%,60%,80%{transform:translate3d(4px,-2px,0)}}@keyframes scorePop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes prizePopIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-24px,0) rotate(var(--confetti-rotate))}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),112vh,0) rotate(calc(var(--confetti-rotate) + 540deg))}}@media(max-width:720px),(max-height:860px){.stage{padding:22px}.brand-lockup{gap:12px;top:clamp(24px,3vh,48px);left:20px}.brand-mark{width:50px;height:50px;font-size:24px}.brand-lockup img{max-height:52px}.copy-zone{top:clamp(100px,12vh,140px);left:20px;max-width:86vw}.copy-zone h1{font-size:clamp(30px,4.8vw,44px);max-width:100%}.copy-zone p{display:none}.glass-housing{bottom:clamp(80px,9vh,110px);top:clamp(90px,10vh,120px);width:min(380px,85vw);height:calc(100% - clamp(170px,19vh,230px))}.bottom-status{bottom:clamp(20px,3vh,40px);left:20px;right:20px}.result-shell{padding:24px;gap:16px}.result-title{font-size:clamp(28px,6vw,48px)}.result-grid{grid-template-columns:1fr;gap:8px}.metric{min-height:64px;padding:10px;flex-direction:row;justify-content:space-between;align-items:center}.metric span{font-size:11px}}@media(orientation:portrait)and (min-height:900px){.copy-zone{top:clamp(160px,14vh,240px);max-width:min(610px,64vw)}}.target-rule-svg{animation:targetRuleGlow 1.8s ease-in-out infinite alternate}.target-pill-svg{filter:drop-shadow(0 0 10px rgba(227,6,19,.6))}.prize-zone-svg{animation:prizeZonePulseSVG 2s ease-in-out infinite}@keyframes targetRuleGlow{0%{opacity:.6;stroke:#fcd567}to{opacity:1;stroke:#fff}}@keyframes prizeZonePulseSVG{0%,to{fill-opacity:.06;stroke-opacity:.25}50%{fill-opacity:.14;stroke-opacity:.55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
