:root{color:#dffcff;background:#000;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow:hidden}button{font:inherit}.jarvs-shell{background:radial-gradient(circle at 50% 42%,rgba(25,239,255,.12),transparent 28rem),radial-gradient(circle at 50% 100%,rgba(0,129,160,.14),transparent 24rem),#000;height:100dvh;isolation:isolate;overflow:hidden;position:relative;width:100vw}.jarvs-shell:after{background-image:linear-gradient(rgba(32,246,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(32,246,255,.035) 1px,transparent 1px);background-size:48px 48px;content:"";inset:0;-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 72%);mask-image:radial-gradient(circle at center,#000 0%,transparent 72%);opacity:.45;pointer-events:none;position:absolute;z-index:1}.jarvs-scene{inset:0;position:absolute;z-index:2}.jarvs-scene-fallback{background:radial-gradient(circle at 50% 44%,rgba(32,246,255,.14),transparent 20rem),#000;inset:0;position:absolute;z-index:2}.jarvs-scene canvas{display:block;height:100%!important;width:100%!important}.background-title{align-items:center;display:grid;inset:0;justify-items:center;pointer-events:none;position:absolute;text-align:center;z-index:1}.background-title p{color:#4ae2f521;font-size:clamp(3rem,12vw,10.5rem);font-weight:900;letter-spacing:clamp(.24rem,1.6vw,1.2rem);line-height:.88;margin:0;text-shadow:0 0 42px rgba(32,246,255,.18);transform:translateY(-4vh);transition:color .7s ease,text-shadow .7s ease;white-space:nowrap}.background-title span{color:#b7f8ff38;font-size:clamp(.58rem,1.5vw,.92rem);letter-spacing:.45rem;margin-top:clamp(4rem,12vw,8rem);position:absolute;text-transform:uppercase}.background-title-active p{color:#5ef7ff36;text-shadow:0 0 68px rgba(32,246,255,.42)}.jarvs-controls{align-items:center;bottom:max(1.35rem,env(safe-area-inset-bottom));display:grid;gap:1rem;justify-items:center;left:50%;position:absolute;transform:translate(-50%);width:min(92vw,32rem);z-index:5}.status-label{color:#ddfdffd1;font-size:clamp(.9rem,2vw,1rem);letter-spacing:.04em;margin:0;min-height:1.4rem;text-align:center;text-shadow:0 0 18px rgba(32,246,255,.34)}.microphone-button{align-items:center;background:radial-gradient(circle,#48faff3d,#005c6e2e);border:1px solid rgba(136,253,255,.6);border-radius:999px;box-shadow:0 0 32px #20f6ff3d,inset 0 0 28px #20f6ff26;color:#d9fdff;cursor:pointer;display:inline-grid;height:5rem;justify-items:center;padding:0;position:relative;transition:opacity .2s ease,transform .2s ease,box-shadow .3s ease;width:5rem}.microphone-button:disabled{cursor:wait;opacity:.62}.microphone-button:not(:disabled):hover{box-shadow:0 0 48px #20f6ff6b,inset 0 0 34px #20f6ff3d;transform:translateY(-2px) scale(1.02)}.microphone-ring{border:1px solid rgba(32,246,255,.4);border-radius:inherit;inset:-.55rem;opacity:.75;position:absolute}.microphone-icon{fill:none;height:2rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:2rem}.microphone-button-recording{animation:record-pulse 1.1s ease-in-out infinite;border-color:#ffffffdb}.microphone-button-speaking{animation:speak-pulse .78s ease-in-out infinite alternate}.microphone-button-error,.microphone-button-permission{border-color:#ff7474bf;box-shadow:0 0 36px #ff585840}.sr-only{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}@keyframes record-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes speak-pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}@media(max-width:720px){.background-title p{font-size:clamp(2.5rem,15vw,5.5rem);letter-spacing:.18rem;white-space:normal}.background-title span{letter-spacing:.22rem;max-width:80vw}.microphone-button{height:4.6rem;width:4.6rem}}@media(prefers-reduced-motion:reduce){.microphone-button-recording,.microphone-button-speaking{animation:none}}
