@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Roboto+Mono:wght@400;500&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#010810;font-family:Inter,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body,p{margin:0}p{padding:0}.button{align-items:center;background-color:#2e8b57;box-shadow:0 4px 6px #0003;color:#e0e0e0;display:flex;font-family:Poppins,sans-serif;font-size:16px;justify-content:center;padding:12px 30px}.button.disabled{cursor:not-allowed;opacity:.75}.button:hover:not(.disabled){background-color:#276749;transform:translateY(-2px)}.button:active:not(.disabled){background-color:#22543d;transform:translateY(0)}.spinner{align-items:center;display:flex;justify-content:center}.button-label{margin:0;padding:0}.waveform{animation:rotateWaveform 6s linear infinite;background:repeating-linear-gradient(45deg,#e0e0e033,#e0e0e033 2px,#0000 0,#0000 4px);border-radius:50%;height:200%;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(0deg);width:200%;z-index:-1}@media (max-width:600px){.button{font-size:14px;padding:10px 25px}.waveform{height:250%;width:250%}}:root{--primary-color:#0a0a0a;--secondary-color:#1a1a1a;--accent-color:#0ff;--text-color:#e0e0e0;--error-color:#ff4c4c;--button-hover:#00e5e5;--button-active:#00b3b3;--header-text-color:#fff;--wave-color:#0ff3;--solid-background-color:#1a1a1a;--grid-line-color:#fcfcfc0d;--gradient-start:#090d0c;--gradient-mid:#030303;--gradient-end:#000;--radial-start:#ffd700cc;--radial-end:#ffd70000;--guide-text-color:gold;--guide-text-shadow:0 0 5px #ffd700b3;--body-font-size:1rem;--header-font-size:3rem;--guide-font-size:1.2rem}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{background-color:#0a0a0a;background-color:var(--primary-color);font-family:Montserrat,sans-serif;height:100%}.app-container{align-items:center;background:linear-gradient(#fcfcfc0d 1px,#0000 0),linear-gradient(90deg,#fcfcfc0d 1px,#0000 0),linear-gradient(135deg,#090d0c,#030303,#000);background:linear-gradient(var(--grid-line-color) 1px,#0000 1px),linear-gradient(90deg,var(--grid-line-color) 1px,#0000 1px),linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-position:0 0,0 0,50%;background-repeat:repeat,repeat,no-repeat;background-size:50px 50px,50px 50px,cover;color:#e0e0e0;color:var(--text-color);display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100vw}.app-container:before{background-color:#ffffff0d;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.button-container:after{background:radial-gradient(circle,#ffd700cc,#ffd70000);background:radial-gradient(circle,var(--radial-start),var(--radial-end));content:"";filter:blur(130px);height:350px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:350px;z-index:0}.app-header{position:absolute;text-align:center;top:20px;z-index:1}.app-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(180deg,#343333 20%,#f1f2b0 80%);-webkit-background-clip:text;font-family:Roboto Mono,monospace;font-size:3rem;font-size:var(--header-font-size);font-weight:700;position:relative;text-shadow:1px 1px 2px #0000004d;z-index:2}.app-main{align-items:center;display:flex;flex-direction:column;z-index:1}.public-key-message{animation:fadeInOut 3s forwards;background-color:#ff4c4c;background-color:var(--error-color);border-radius:8px;bottom:25px;box-shadow:0 4px 12px #ff4c4c4d;color:#fff;left:25px;padding:15px 20px;position:fixed;z-index:2}.public-key-message p{font-size:1rem;margin:0}@keyframes fadeInOut{0%{opacity:0;transform:translateY(20px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}button{font-family:Montserrat,sans-serif}button:focus{outline:2px solid #0ff;outline:2px solid var(--accent-color);outline-offset:2px}.button{background-color:#0ff;background-color:var(--accent-color);border:none;border-radius:50px;box-shadow:0 4px 6px #00ffff4d;color:#0a0a0a;color:var(--primary-color);cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:1.2px;margin:10px 0;overflow:hidden;padding:15px 30px;position:relative;text-transform:uppercase;transition:background-color .3s ease,transform .2s ease;z-index:1}.button:hover{background-color:#00e5e5;background-color:var(--button-hover);transform:translateY(-2px)}.button:active{background-color:#00b3b3;background-color:var(--button-active);transform:translateY(0)}.button:before{animation:rotateWaveform 4s linear infinite;background:repeating-linear-gradient(45deg,#0ff3,#0ff3 2px,#0000 0,#0000 4px);background:repeating-linear-gradient(45deg,var(--wave-color),var(--wave-color) 2px,#0000 2px,#0000 4px);border-radius:50%;content:"";height:200%;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(0deg);width:200%;z-index:-1}@keyframes rotateWaveform{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.button .spinner{animation:spin 1s linear infinite;border:4px solid #1a1a1a;border-top:4px solid #0a0a0a;border:4px solid var(--secondary-color);border-radius:50%;border-top-color:var(--primary-color);height:18px;margin-right:10px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:600px){.app-header h1{font-size:2rem}.button{font-size:.9rem;padding:12px 25px}.public-key-message{bottom:15px;font-size:.9rem;left:15px;padding:10px 15px}.button:before{height:300%;width:300%}.button-container:after{filter:blur(80px);height:200px;width:200px}}.emotion-score{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffd70033;border-radius:10px;box-shadow:0 4px 12px #ffd7004d;color:gold;color:var(--guide-text-color);display:flex;font-family:Roboto Mono,monospace;font-size:1.2rem;justify-content:center;left:25px;padding:10px 20px;position:fixed;top:25px;z-index:2}.guide{font-size:1.2rem;font-size:var(--guide-font-size);margin:10px 0}.guide,.quote{color:gold;color:var(--guide-text-color);font-family:Roboto Mono,monospace;max-width:80%;text-align:center;text-shadow:0 0 5px #ffd700b3;text-shadow:var(--guide-text-shadow)}.quote{font-size:1.5rem;font-style:italic;line-height:1.5;margin:20px 0}.captions-container{background:#0009;border-radius:20px;bottom:20px;left:50%;max-width:80%;opacity:0;padding:10px 20px;position:fixed;text-align:center;transform:translateX(-50%);transition:opacity .3s ease-in-out;z-index:1000}.captions-container.show{opacity:1}.caption-text{color:#fff;font-size:1.2rem;font-weight:700}