@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=Nata+Sans:wght@100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:Nata Sans,Tahoma,Geneva,Verdana,sans-serif}body{background:#010101;color:#fff;min-height:100vh;overflow:hidden;touch-action:manipulation}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes countdown-pulse{0%{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:.9}}.app{max-width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.app__header{text-align:center;padding:15px 0;margin-bottom:20px}.app__title{font-size:3.5rem;text-transform:uppercase;letter-spacing:3px;background:#010101;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.app__subtitle{font-size:1.2rem;opacity:.8}.app__main{flex-grow:1;width:100%;position:relative}.app__footer{text-align:center;padding:20px;font-size:1.1rem;opacity:.7}.screen{display:none;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;width:100%;position:absolute;inset:0;min-height:100%;transition:opacity .3s ease-in-out}.screen:before{content:"";position:absolute;inset:60px 40px 80px;background:#000;border-radius:20px;z-index:-1}.screen--active{display:flex;opacity:1}.screen--fade-in{animation:screenFadeIn .3s ease-in-out}.screen--start{text-align:center}.screen--start .app__title{position:relative;z-index:1;color:#f80;text-shadow:0 0 30px rgba(255,136,0,.8)}.screen--camera{width:100%}.screen--countdown{position:relative;width:100%;height:100vh}.screen--countdown.screen--active{display:flex;align-items:center;justify-content:center}.screen--result{text-align:center;width:100%}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes infinite-glow{0%,to{box-shadow:0 0 20px #ff5c0099,0 0 40px #ff5c0066,0 0 60px #ff5c0033}50%{box-shadow:0 0 30px #ff5c00e6,0 0 60px #ff5c00b3,0 0 90px #ff5c0080}}.button{border:none;border-radius:50px;cursor:pointer;font-size:1.3rem;padding:15px 35px;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;text-transform:uppercase;letter-spacing:2px;color:#fff}.button--start{text-transform:uppercase;background:linear-gradient(135deg,#f40,#f80,#fc0);padding:25px 60px;font-size:2.5rem;margin-top:50px;background:transparent;font-family:"Press Start 2P",system-ui;font-weight:400;font-style:normal;color:#ff5c00;border:2px solid #FF5C00;box-shadow:0 0 20px #ff5c0099,0 0 40px #ff5c0066,0 0 60px #ff5c0033;animation:infinite-glow 2s ease-in-out infinite}.button--start:hover{animation-play-state:paused;box-shadow:0 0 30px #ff5c00cc,0 0 60px #ff5c0099,0 0 90px #ff5c0066;transform:translateY(-2px)}.button--capture{background:#fff;color:#ff5c00;font-weight:700;font-family:"Press Start 2P",system-ui;font-weight:400;font-style:normal;border:2px solid #FF5C00;padding:20px 30px;border-radius:50px;font-family:"Press Start 2P",cursive}.button--capture-centered{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);z-index:10;font-size:1.5rem}.button--restart{background-color:transparent;border:2px solid #FF5C00}.button--email{background:#ff5c00}.camera{position:relative;height:100%;margin:0 auto;border-radius:15px;overflow:hidden;background:#000}.camera__video,.camera__canvas--processing{display:none}.camera__canvas--display{width:100%;rotate:90deg;height:100%;object-fit:contain;transition:scale .3s ease}.controls{align-items:center;justify-content:center;gap:30px;margin-top:30px;flex-wrap:wrap;gap:150px;display:flex;justify-content:space-around;width:100%;position:fixed;bottom:300px;left:0;padding:20px 50px;right:0;background:#010101;opacity:.8}.controls--hidden{display:none}.mode-selector{display:flex;gap:15px;margin:20px 0;flex-wrap:wrap;justify-content:center}.mode-selector__button{background:transparent;border:2px solid #FF5C00;color:#fff;padding:12px 25px;border-radius:30px;cursor:pointer;font-size:1.1rem;transition:all .3s ease}.mode-selector__button--active{background:#ff5c00;color:#fff}.countdown{position:relative;width:100%;height:100%}.screen--active .countdown{display:flex;align-items:center;justify-content:center}.countdown__video{display:none}.countdown__canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:none}.countdown__canvas--display{transition:scale .3s ease}.countdown__number{position:relative;font-size:clamp(8rem,15vw,15rem);font-weight:700;color:#fffffff2;text-shadow:0 0 30px rgba(0,0,0,.8);z-index:10;background:#0000004d;border-radius:50%;width:clamp(12rem,20vw,20rem);height:clamp(12rem,20vw,20rem);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:countdown-pulse 1s infinite;cursor:pointer;user-select:none;-webkit-user-select:none}.countdown__number:hover{background:#00000080}.countdown__cancel{position:absolute;bottom:clamp(4rem,8vw,8rem);left:50%;transform:translate(-50%);font-size:clamp(1rem,2.5vw,1.5rem);color:#fffc;text-shadow:0 0 20px rgba(0,0,0,.8);text-align:center;z-index:11;pointer-events:none;font-weight:700;text-transform:uppercase;letter-spacing:1px;display:none}.result{display:flex;justify-content:center;gap:40px;flex-direction:row;align-items:center}.result__photo-container{flex:1;min-width:300px;max-width:500px;min-height:900px;display:flex;align-items:center;justify-content:center;background:#0000000d;border-radius:15px;transition:background-color .3s ease;position:relative}.result__photo{width:100%;border-radius:15px;opacity:1;transition:opacity .3s ease}.result__photo--loading{opacity:0}.result__loading-indicator{position:absolute;display:flex;flex-direction:column;align-items:center;gap:15px;opacity:1;transition:opacity .3s ease}.result__photo:not(.result__photo--loading)~.result__loading-indicator{opacity:0;pointer-events:none}.result__sharing{flex:1;display:flex;flex-direction:column;gap:30px;align-items:center}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,165,0,.2);border-top:3px solid #ff8c00;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#666;font-size:14px;text-align:center}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.qr__title{margin-bottom:15px;font-size:1.5rem}.qr__container{background:#fff;padding:20px;border-radius:15px;display:inline-block;margin:0 auto;position:relative;min-width:200px;min-height:200px;display:flex;align-items:center;justify-content:center}.qr__code{width:200px;height:200px;opacity:1;transition:opacity .3s ease}.qr__code--loading{opacity:0}.qr__loading-indicator{position:absolute;display:flex;flex-direction:column;align-items:center;gap:15px;opacity:1;transition:opacity .3s ease}.qr__code:not(.qr__code--loading)~.qr__loading-indicator{opacity:0;pointer-events:none}.email-form{background:#ffffff1a;padding:25px;border-radius:15px;display:flex;flex-direction:column;justify-content:space-around}.email-form__title{margin-bottom:15px;font-size:1.5rem}.email-form__input{width:100%;padding:15px;font-size:1.1rem;border-radius:10px;border:2px solid #FFFFFF;background:#0000004d;color:#fff;margin-bottom:15px}.email-form__input::placeholder{color:#ffffff80}.email-form__input:focus{outline:none}.email-form__status{margin-top:15px;font-size:1.1rem;min-height:1.5em;transition:color .3s ease}.email-form__status--success{color:#38ef7d}.email-form__status--error{color:#ff4b2b}.settings-panel-gear{position:fixed;top:20px;right:20px;z-index:1000;background:transparent;border:none;font-size:1.8rem;cursor:pointer;padding:20px;width:60px;height:60px;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;transform-origin:center}.settings-panel-gear:hover,.settings-panel-gear:active{transform:rotate(90deg)}.settings-panel{position:fixed;top:80px;right:15px;width:320px;max-width:90vw;background:#000000f2;border:2px solid #FF5C00;border-radius:20px;padding:24px;display:none;z-index:1000;color:#fff;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:all .3s ease}.settings-panel__field{margin-bottom:24px}.settings-panel__field:last-child{margin-bottom:0}.settings-panel__section-title{font-size:16px;font-weight:600;color:#fff;margin:24px 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(0,198,255,.3);text-transform:uppercase;letter-spacing:1px}.settings-panel__section-title:first-child{margin-top:0}.settings-panel label{display:block;font-weight:500;margin-bottom:12px;font-size:14px;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.settings-panel__value-display{display:inline-block;font-size:14px;color:#f80;font-weight:600;margin-left:12px;min-width:30px;text-align:center;background:#00c6ff1a;padding:2px 8px;border-radius:8px}.settings-panel__input-group{display:flex;align-items:stretch;border:1px solid rgba(0,198,255,.3);border-radius:12px;overflow:hidden;background:#ffffff0d;transition:all .3s ease}.settings-panel__input-group:focus-within{border-color:#f80;box-shadow:0 0 12px #00c6ff66;background:#ffffff1a}.settings-panel__input{flex:1;padding:12px;background:transparent;border:none;color:#fff;font-size:16px;text-align:center;min-width:0}.settings-panel__input:focus{outline:none}.settings-panel__input::placeholder{color:#fffc}.settings-panel__input::-webkit-outer-spin-button,.settings-panel__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-panel__input[type=number]{-moz-appearance:textfield;appearance:textfield}.settings-panel__control-btn{width:40px;height:40px;background:#00c6ff1a;border:none;color:#f80;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;transition:all .3s ease}.settings-panel__control-btn:hover{background:#00c6ff33;color:#fff;transform:scale(1.05)}.settings-panel__control-btn:active{background:#00c6ff4d;transform:scale(.95)}.settings-panel__control-btn--decrease{border-right:1px solid rgba(0,198,255,.2);font-size:20px;line-height:1}.settings-panel__control-btn--increase{border-left:1px solid rgba(0,198,255,.2);font-size:16px;line-height:1}@media (hover: none) and (pointer: coarse){.settings-panel__control-btn{min-height:44px;width:44px}.settings-panel__control-btn:active{background:#00c6ff66}}.settings-panel__split-button{width:60px;height:40px;background:#00c6ff1a;border:2px solid rgba(0,198,255,.3);border-radius:12px;color:#f80;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;transition:all .3s ease}.settings-panel__split-button:hover{background:#00c6ff33;border-color:#00c6ff80;color:#fff;transform:scale(1.05)}.settings-panel__split-button:active{background:#00c6ff4d;transform:scale(.95)}@media (hover: none) and (pointer: coarse){.settings-panel__split-button{min-height:44px;width:66px}.settings-panel__split-button:active{background:#00c6ff66}}.settings-panel__rotation-button{width:60px;height:40px;background:#00c6ff1a;border:2px solid rgba(0,198,255,.3);border-radius:12px;color:#f80;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;transition:all .3s ease}.settings-panel__rotation-button:hover{background:#00c6ff33;border-color:#00c6ff80;color:#fff;transform:scale(1.05)}.settings-panel__rotation-button:active{background:#00c6ff4d;transform:scale(.95)}@media (hover: none) and (pointer: coarse){.settings-panel__rotation-button{min-height:44px;width:66px}.settings-panel__rotation-button:active{background:#00c6ff66}}.settings-panel input[type=number]:not(.settings-panel__input){width:100%;padding:12px;background:#ffffff0d;border:1px solid rgba(0,198,255,.3);border-radius:12px;color:#fff;font-size:16px;transition:all .3s ease}.settings-panel input[type=number]:not(.settings-panel__input):focus{outline:none;border-color:#f80;box-shadow:0 0 12px #00c6ff66;background:#ffffff1a}.settings-panel input[type=number]:not(.settings-panel__input)::placeholder{color:#fffc}.settings-panel input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(90deg,#00c6ff33,#f80);border-radius:3px;border:none;cursor:pointer;transition:all .3s ease}.settings-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #ff8800;box-shadow:0 2px 8px #0000004d,0 0 12px #00c6ff80;transition:all .2s ease}.settings-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 12px #0006,0 0 16px #00c6ffb3}.settings-panel input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #ff8800;box-shadow:0 2px 8px #0000004d,0 0 12px #00c6ff80}.settings-panel__camera-info{margin-top:24px;padding-top:16px;border-top:1px solid rgba(0,198,255,.2)}.camera-info{font-size:14px}.camera-info__item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.camera-info__item:last-child{border-bottom:none}.camera-info__item span:first-child{color:#fffc;font-weight:500}.camera-info__item b,.camera-info__item span:last-child{color:#fff;font-weight:600}.camera-info .device-id{font-family:Courier New,monospace;font-size:12px;background:#ffffff1a;padding:2px 6px;border-radius:4px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-info .error{color:#ff6b6b;background:#ff6b6b1a;padding:12px;border-radius:8px;border-left:3px solid #ff6b6b;font-size:14px}.settings-panel.visible{display:block;animation:slideIn .4s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) translate(10px)}to{opacity:1;transform:translateY(0) translate(0)}}@media (max-width: 480px){.settings-panel{right:8px;left:8px;width:auto;max-width:none}.settings-panel-gear{right:8px}.settings-panel__control-btn{width:48px;height:48px;font-size:20px}.settings-panel__control-btn--decrease{font-size:24px}.settings-panel__control-btn--increase{font-size:18px}.settings-panel__input-group{border-radius:8px}.settings-panel__input{padding:16px;font-size:16px}}@media (max-width: 768px){.app__title{font-size:2.5rem}.button--start{padding:20px 40px;font-size:2rem}.countdown__number{font-size:clamp(6rem,12vw,10rem);width:clamp(10rem,16vw,16rem);height:clamp(10rem,16vw,16rem)}.result{flex-direction:column;align-items:center}}@media (max-width: 480px){.countdown__number{font-size:clamp(4rem,10vw,8rem);width:clamp(8rem,14vw,12rem);height:clamp(8rem,14vw,12rem)}}@media (max-height: 500px){.countdown__number{font-size:clamp(3rem,8vh,6rem);width:clamp(6rem,12vh,10rem);height:clamp(6rem,12vh,10rem)}}
