.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#111;border-bottom:2px solid #f7f7f7;flex-shrink:0}.app-header h1{font-size:16px;color:#fc0;text-shadow:2px 2px 0 #e64a19}.viewToggle{background:#4a4e69;border:2px solid #f7f7f7;padding:8px;font-size:10px;text-transform:uppercase;gap:8px;box-shadow:2px 2px #000}.viewToggle:active{transform:translate(2px,2px);box-shadow:none}.viewToggle .icon{font-size:18px}@media(max-width:768px){.app-header h1{font-size:14px}.viewToggle{font-size:8px;padding:6px;gap:4px}.viewToggle .icon{font-size:16px}}.modeSelector{display:flex;gap:16px;width:100%;padding:10px;overflow:auto}.modeSelector li{position:relative}.modeSelector button{font-size:11px;display:flex;align-items:center;justify-content:center;opacity:.6;white-space:nowrap;gap:8px;position:relative;background:transparent;padding:5px 10px}.modeSelector button.active{opacity:1!important;color:#fc0}@keyframes blink{50%{opacity:0}}.selector-caret{animation:blink 1s step-end infinite}.tooltip{position:fixed;background:#111;padding:8px 12px;font-size:10px;z-index:1000;border:2px solid #f7f7f7;box-shadow:3px 3px #000;pointer-events:none;width:250px;white-space:normal;color:#ccc;line-height:1.4}.tooltip h4{text-transform:uppercase;font-size:10px;color:#777;margin-top:5px}@media(max-width:768px){.tooltip{display:none}.modeSelector{padding:8px;gap:12px}.modeSelector button{font-size:10px;padding:4px 8px}}.custom-prompt-container{width:100%;padding:0 20px}.custom-prompt-container textarea{width:100%;padding:10px;background:#22223b;border:2px solid #9a8c98;color:#f7f7f7;font-size:12px;line-height:1.5;height:60px}.custom-prompt-container textarea:focus{border-color:#f7f7f7;outline:none}.photo-bar{width:100%;background:#22223b}.photo-bar ul{display:flex;gap:8px;padding:8px;justify-content:center}.photo-bar li{width:56px;height:56px;flex-shrink:0;position:relative}.photo-bar button{width:100%;height:100%;padding:0;border:2px solid #4a4e69;overflow:hidden}.photo-bar button:hover{border-color:#f7f7f7}.photo-bar img{width:100%;height:100%;object-fit:cover}.photo-bar li.isBusy{position:relative}.photo-bar li.isBusy img{filter:brightness(.4)}.photo-bar li.isBusy:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.2) 75%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite ease-in-out;z-index:1;pointer-events:none}@media(max-width:768px){.photo-bar ul{padding:8px;gap:8px}.photo-bar li{width:56px;height:56px}.photo-bar li:nth-child(n+5){display:none}}.zoom-container{position:absolute;left:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:#111;padding:15px 8px;border:2px solid #9a8c98;z-index:1}.zoom-slider{-webkit-appearance:none;appearance:none;width:150px;background:transparent;margin:10px 0;transform:rotate(270deg)}.zoom-slider:focus{outline:none}.zoom-slider::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;background:#4a4e69;border:1px solid #c9ada7}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid #f7f7f7;height:24px;width:12px;border-radius:0;background:#c13a3a;cursor:pointer;margin-top:-11px}.zoom-slider::-moz-range-track{width:100%;height:4px;cursor:pointer;background:#4a4e69;border:1px solid #c9ada7}.zoom-slider::-moz-range-thumb{border:2px solid #f7f7f7;height:24px;width:12px;border-radius:0;background:#c13a3a;cursor:pointer}@media(max-width:768px){.zoom-container{display:none}}.camera-view-container{max-width:900px;max-height:90vh;width:100%;height:100%;display:flex;flex-direction:column;margin:0 auto}.video{overflow:hidden;position:relative;flex:1;background-image:linear-gradient(to bottom,#000,#111);touch-action:none;display:flex;align-items:center;justify-content:center}.video video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}.flash{position:absolute;inset:0;background:#fff;opacity:1;animation:flash .3s ease-out forwards}@keyframes flash{0%{opacity:1}to{opacity:0}}.startButton{position:absolute;inset:0;text-align:center;font-size:14px;padding:10px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.startButton h1{font-size:24px}.camera-footer{display:flex;flex-direction:column;align-items:center;gap:15px;padding:0 0 20px;flex-shrink:0}.selectorsContainer{background:#22223b;width:100%;border-top:2px solid #f7f7f7}.shutter{background:#22223b;border:2px solid #f7f7f7;border-radius:50%;padding:10px;box-shadow:4px 4px #000}.shutter .icon{font-size:42px;color:#ddd}.shutter:hover{background:#c13a3a}.shutter:hover .icon{color:#fff}.shutter:active{transform:translate(2px,2px);box-shadow:2px 2px #000}@media(max-width:768px){.camera-footer{gap:15px;padding-bottom:15px}.shutter .icon{font-size:36px}}li{position:relative}li:hover .deleteBtn{scale:1}li .photo{overflow:hidden;border:2px solid #9a8c98;width:100%;height:100%;padding:0}li .photo:hover{border-color:#f7f7f7}li .emoji{position:absolute;bottom:5px;right:5px;z-index:1;font-size:24px;text-shadow:2px 2px 0 #000}li img{width:100%;height:100%;object-fit:cover}li.isBusy{position:relative}li.isBusy img{filter:brightness(.4)}li.isBusy:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.2) 75%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite ease-in-out;z-index:1;pointer-events:none}.deleteBtn{scale:0;translate:25% -25%;transition:scale .2s}@media(max-width:768px){.circleBtn{top:-10px;right:-10px;font-size:20px;padding:4px}}.gallery{height:100%;overflow-y:auto;background:#1a1c2c;padding:0 15px 15px;border-top:2px solid #f7f7f7}.galleryHeader{display:flex;justify-content:space-between;align-items:center;padding:15px 0;position:sticky;top:0;background:#1a1c2c;z-index:1;border-bottom:2px solid #f7f7f7;margin-bottom:15px;gap:15px}.gallery-actions{display:flex;gap:15px;margin-left:auto}.galleryHeader h2{font-size:16px}.gallery ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.empty-gallery{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;text-align:center;font-size:12px;color:#888;padding:20px}.empty-gallery .icon{font-size:48px}.stickerQueueBtn{background:#3a86ff;border:2px solid #f7f7f7;color:#fff;text-transform:uppercase;padding:10px 20px;white-space:nowrap}@media(max-width:768px){.gallery ul{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.galleryHeader{padding:12px 0;margin-bottom:12px}.gallery-actions{gap:10px}.stickerQueueBtn{font-size:10px;padding:8px 12px}.galleryHeader h2{font-size:14px}}.panel-overlay{position:fixed;inset:0;background:#000000e6;z-index:1001;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out;padding:20px}.panel{background:#1a1c2c;border:2px solid #f7f7f7;padding:30px;text-align:center;max-width:90%;width:480px;box-shadow:4px 4px #000}.panel h2{font-size:16px;margin-bottom:30px;text-transform:uppercase;letter-spacing:1px}.panel-steps{display:flex;flex-direction:column;gap:20px;margin-bottom:30px;text-align:left}.panel-step{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.5}.panel-step .icon{font-size:28px;background:#22223b;border:2px solid #9a8c98;width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.panel .button{width:100%;padding:15px;justify-content:center;font-size:14px}.error-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#c13a3a;color:#f7f7f7;padding:15px 20px;border:2px solid #f7f7f7;box-shadow:4px 4px #000;z-index:2000;display:flex;align-items:center;gap:15px;font-size:12px;animation:fadeIn .3s ease-out;max-width:90%}.error-toast p{line-height:1.4}.error-toast button{font-size:20px}.modal-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:85%;height:80%;aspect-ratio:1;z-index:102}.focusedPhoto{width:100%;height:100%;overflow:hidden;border:2px solid #f7f7f7;touch-action:none}.focusedPhoto img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}.circleBtn{position:absolute;top:-16px;right:-16px;background:#111;z-index:1;font-size:23px;padding:5px;border-radius:50%;border:2px solid #f7f7f7;box-shadow:2px 2px #000}.circleBtn:active{transform:translate(2px,2px);box-shadow:0 0 #000}.focused-actions{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);display:flex;gap:15px}.stickerButton{background:#3a86ff}.stickerButton[disabled]{background:#22223b;cursor:default}.stickerButton[disabled]:active{transform:none;box-shadow:3px 3px #000}.downloadButton{background:#4a4e69}.shareButton{background:#c13a3a}@media(max-width:768px){.modal-container{height:auto;max-height:85%;width:90%;display:flex;flex-direction:column;justify-content:center;gap:15px}.focusedPhoto{height:auto;flex-shrink:1}.focused-actions{position:relative;bottom:auto;left:auto;transform:none;width:100%;justify-content:center;gap:10px}.circleBtn{top:-10px;right:-10px;font-size:20px;padding:4px}}.sticker-queue-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;height:90%;max-width:1200px;background:#1a1c2c;border:2px solid #f7f7f7;z-index:102;display:flex;flex-direction:column;box-shadow:4px 4px #000}.sticker-queue-header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:2px solid #f7f7f7;position:relative}.sticker-queue-header h2{font-size:16px}.sticker-queue-header .circleBtn{position:absolute;top:50%;right:15px;transform:translateY(-50%)}.sticker-queue-actions{display:flex;gap:15px;margin-left:auto;margin-right:40px}.sticker-queue-actions .button{padding:8px 16px}.downloadAllBtn{background:#4a4e69}.clearQueueBtn{background:#c13a3a}.sticker-queue-content{flex:1;overflow-y:auto;padding:15px}.sticker-queue-content ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px}.sticker-queue-content li{aspect-ratio:1;position:relative}.sticker-queue-content li:hover .deleteBtn{scale:1}.sticker-queue-content li .photo{overflow:hidden;border:2px solid #9a8c98;width:100%;height:100%}.sticker-queue-content li .photo:hover{border-color:#f7f7f7}.sticker-queue-content li .emoji{position:absolute;bottom:5px;right:5px;z-index:1;font-size:24px;text-shadow:2px 2px 0 #000}.sticker-queue-content li img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.sticker-queue-header h2{font-size:14px}.sticker-queue-actions{gap:10px}.sticker-queue-actions .button{font-size:10px;padding:8px 12px}.sticker-queue-content ul{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}}.modal-overlay{position:fixed;inset:0;background:#000c;z-index:101;animation:fadeIn .3s ease-out}*{margin:0;padding:0;box-sizing:border-box}* ::selection{background:#f7f7f7;color:#1a1c2c}:root{background:#1a1c2c;color:#f7f7f7;font-family:"Press Start 2P",monospace;image-rendering:pixelated}h1,h2,h3,h4,h5,h6{font-weight:400}li{list-style:none}input,textarea{font-family:"Press Start 2P",monospace;background:none;color:#f7f7f7;border:none;outline:none;font-size:14px;resize:none;-webkit-user-select:text;user-select:text;line-height:1.5}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}select{appearance:none;font-family:inherit;padding:10px;background:#111;color:#f7f7f7;border-radius:0;font-size:12px;cursor:pointer}button{font-family:"Press Start 2P",monospace;background:none;color:#f7f7f7;border:none;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}button:focus{outline:none}button[disabled]{opacity:.5;cursor:not-allowed}button .icon{display:block}.button{display:inline-flex;padding:10px 16px;border-radius:0;gap:8px;align-items:center;justify-content:center;color:#f7f7f7;border:2px solid #f7f7f7;text-transform:uppercase;background:#4a4e69;box-shadow:3px 3px #000}.button:active{transform:translate(2px,2px);box-shadow:1px 1px #000}.icon{font-family:Material Symbols Outlined;font-weight:300;line-height:1}main{width:100vw;height:100dvh;overflow:hidden;display:flex;flex-direction:column;position:relative}.app-content{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.button{font-size:10px;padding:8px 16px}}
