:root{--bg-primary: #08080a;--bg-card: rgba(16, 16, 20, .65);--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(255, 255, 255, .22);--text-primary: #f5f5f7;--text-secondary: #9a9aa3;--text-muted: #5e5e68;--accent-cyan: #64d2ff;--accent-pink: #ff375f;--accent-yellow: #ffd60a;--font-main: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Space Mono", monospace;--font-display: "Plus Jakarta Sans", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}html,body,#root{width:100%;height:100%;overflow:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-viewport{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 50%,#121217,#08080a)}.cosmic-background-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.main-content{position:relative;z-index:10;max-width:820px;width:90%;padding:20px;display:flex;justify-content:center}.typewriter-letter-container{width:100%}.letter-line{line-height:1.6;font-weight:400;letter-spacing:-.015em;color:var(--text-primary);min-height:2em}.letter-line-1{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:600;letter-spacing:-.025em;margin-bottom:24px;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.4)}.letter-line-2{font-size:clamp(1.25rem,2.8vw,1.85rem);font-weight:300;color:#d1d1d8;line-height:1.65}.letter-word{display:inline-block;position:relative;cursor:pointer;padding:0 2px;border-radius:6px;transition:transform .15s ease,color .2s ease,text-shadow .2s ease;will-change:transform}.letter-word:hover{color:#fff;text-shadow:0 0 16px rgba(255,255,255,.6);transform:translateY(-2px)}.letter-word.bumped-word-react{animation:wordBumpJiggle .65s cubic-bezier(.36,.07,.19,.97) both;color:#fff!important;text-shadow:0 0 20px rgba(100,210,255,.9),0 0 40px rgba(255,255,255,.6)!important}@keyframes wordBumpJiggle{0%{transform:scale(1) translate(0) rotate(0)}15%{transform:scale(1.22,.82) translateY(-6px) rotate(-4deg)}30%{transform:scale(.88,1.15) translateY(4px) rotate(3deg)}50%{transform:scale(1.08,.94) translateY(-2px) rotate(-1.5deg)}75%{transform:scale(.98,1.02) translateY(1px) rotate(.5deg)}to{transform:scale(1) translate(0) rotate(0)}}.word-space{display:inline}.typewriter-cursor{display:inline-block;font-family:var(--font-mono);font-weight:300;color:var(--accent-cyan);margin-left:3px;animation:cursorBlink .9s infinite ease-in-out;text-shadow:0 0 10px rgba(100,210,255,.7)}.typewriter-cursor.cursor-finished{animation:cursorSettle 3s infinite ease-in-out;color:#fff6;text-shadow:none}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes cursorSettle{0%,to{opacity:.7}50%{opacity:.15}}.ovyro-bot-wrapper{position:absolute;top:0;left:0;width:88px;height:88px;z-index:30;cursor:grab;touch-action:none;filter:drop-shadow(0 12px 24px rgba(0,0,0,.6));transition:filter .2s ease;will-change:transform}.ovyro-bot-wrapper:hover{filter:drop-shadow(0 14px 28px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(255,255,255,.35))}.ovyro-bot-wrapper.is-dragging{cursor:grabbing;filter:drop-shadow(0 20px 36px rgba(0,0,0,.8)) drop-shadow(0 0 18px rgba(100,210,255,.5))}.ovyro-bot-svg{width:100%;height:100%;overflow:visible;pointer-events:none}.sleep-bubble{position:absolute;top:-16px;right:-4px;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--accent-cyan);opacity:.9;animation:sleepFloat 1.8s infinite ease-out;pointer-events:none}@keyframes sleepFloat{0%{transform:translate(0) scale(.8);opacity:0}50%{opacity:.9;transform:translate(8px,-12px) scale(1.1)}to{transform:translate(16px,-24px) scale(1.3);opacity:0}}.bot-sparkle-dot{position:absolute;top:0;left:0;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 14px var(--accent-cyan);pointer-events:none;z-index:25;will-change:transform,opacity}.collision-impact-ring{position:absolute;width:32px;height:32px;margin-left:-16px;margin-top:-16px;border-radius:50%;border:2px solid rgba(100,210,255,.8);box-shadow:0 0 15px #64d2ff80;pointer-events:none;z-index:20;animation:impactRipple .65s cubic-bezier(.1,.8,.3,1) forwards}@keyframes impactRipple{0%{transform:scale(.3);opacity:1}to{transform:scale(3.5);opacity:0}}.spaceship-encounter-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:28}.app-viewport.app-screen-shake{animation:cameraShake .65s cubic-bezier(.36,.07,.19,.97) both}@keyframes cameraShake{0%,to{transform:translate(0)}15%{transform:translate(-7px,6px)}30%{transform:translate(8px,-7px)}45%{transform:translate(-6px,5px)}60%{transform:translate(4px,-4px)}75%{transform:translate(-2px,2px)}}.scared-pupil{animation:pupilTremble .08s infinite alternate ease-in-out}@keyframes pupilTremble{0%{transform:translate(-.6px,-.6px)}to{transform:translate(.6px,.6px)}}.panic-sweat-drop{position:absolute;top:-14px;right:-8px;font-size:1.5rem;pointer-events:none;animation:sweatBounce .45s infinite alternate ease-in-out;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6));z-index:35}@keyframes sweatBounce{0%{transform:translateY(0) scale(.9)}to{transform:translateY(-6px) scale(1.15)}}.flee-flame-1{animation:flameFlicker .07s infinite alternate;transform-origin:52px 98px}.flee-flame-2{animation:flameFlicker .08s infinite alternate-reverse;transform-origin:88px 98px}@keyframes flameFlicker{0%{transform:scaleY(.85);opacity:.85}to{transform:scale(1.15,1.3);opacity:1}}.ovyro-bot-wrapper.soot-covered{filter:drop-shadow(0 14px 28px rgba(0,0,0,.8)) brightness(.62) contrast(1.3) grayscale(.4)!important;transition:filter .35s ease}.soot-smoke-wisps{position:absolute;top:6px;left:48%;pointer-events:none}.soot-smoke-wisps .wisp{position:absolute;width:9px;height:9px;border-radius:50%;background:#5a5a64bf;filter:blur(2px);animation:smokeWispFloat 1.2s infinite ease-out}.soot-smoke-wisps .wisp-1{animation-delay:0s}.soot-smoke-wisps .wisp-2{left:9px;animation-delay:.45s}@keyframes smokeWispFloat{0%{transform:translate(0) scale(.6);opacity:.8}50%{opacity:.5}to{transform:translate(-8px,-26px) scale(2.4);opacity:0}}.ovyro-bot-wrapper.shaking-off-soot{animation:shakeOffSoot .8s cubic-bezier(.36,.07,.19,.97) both}@keyframes shakeOffSoot{0%,to{transform-origin:center center}10%,30%,50%,70%,90%{filter:brightness(.85) contrast(1.1)}20%,40%,60%,80%{filter:brightness(1.1) contrast(1)}}
