*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 25%,#1f1f1f 50%,#1a1a1a 75%,#2d2d2d 100%) 0 0/400% 400%;min-height:100vh;font-family:Lucida Sans,Lucida Grande,Lucida Sans Unicode,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;animation:15s infinite liquidBackground;overflow-x:hidden}@keyframes liquidBackground{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}:root{--primary-blue:#049ca1;--primary-blue-dark:#003738;--secondary-blue:rgba(0,212,255,.1);--accent-green:#0f8;--accent-green-light:rgba(0,255,136,.1);--warning-orange:#ff9500;--warning-orange-light:rgba(255,149,0,.1);--error-red:#ff3b30;--error-red-light:rgba(255,59,48,.1);--text-primary:#fff;--text-secondary:#b0b0b0;--text-muted:gray;--background-white:rgba(255,255,255,.05);--background-light:rgba(255,255,255,.02);--border-light:rgba(255,255,255,.1);--glass-bg:rgba(255,255,255,.08);--glass-border:rgba(255,255,255,.2);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.4);--shadow-glow:0 0 20px rgba(6,8,8,.3)}.container{flex-direction:column;justify-self:center;max-width:800px;min-height:100vh;margin:15px 0;padding:0 15px;display:flex}.header{-webkit-backdrop-filter:blur(30px);border-bottom:1px solid var(--glass-border);z-index:100;background:linear-gradient(135deg,rgba(4,156,161,.1) 0%,rgba(0,212,255,.05) 25%,rgba(4,156,161,.08) 50%,rgba(0,0,0,.1) 75%,rgba(4,156,161,.1) 100%);width:100vw;margin-left:calc(50% - 50vw);position:relative;top:0;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3),0 0 40px rgba(4,156,161,.2),inset 0 1px rgba(255,255,255,.1)}.header:before{content:"";background:radial-gradient(circle at 20%,rgba(4,156,161,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,212,255,.08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(4,156,161,.06) 0%,transparent 50%);animation:8s ease-in-out infinite alternate headerGlow;position:absolute;top:0;bottom:0;left:0;right:0}.header:after{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);width:100%;height:100%;animation:6s ease-in-out infinite headerShimmer;position:absolute;top:0;left:-100%}@keyframes headerGlow{0%{opacity:.8}to{opacity:1}}@keyframes headerShimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.header-svgs{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.floating-svg{opacity:.6;filter:blur(.5px);position:absolute}.svg-1{width:60px;height:60px;animation:12s ease-in-out infinite float1;top:10%;left:10%}.svg-2{width:80px;height:80px;animation:15s ease-in-out infinite float2;top:20%;right:15%}.svg-3{width:50px;height:50px;animation:10s ease-in-out infinite float3;bottom:15%;left:20%}@keyframes float1{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(180deg)}}@keyframes float2{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-15px)rotate(-180deg)}}@keyframes float3{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(90deg)}}.header-content{z-index:2;justify-content:center;align-items:center;max-width:800px;min-height:80px;margin:0 auto;padding:20px 16px;display:flex;position:relative}.logo{-webkit-backdrop-filter:blur(10px);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;align-items:center;gap:16px;padding:12px 24px;transition:all .3s;display:flex;position:relative;box-shadow:0 4px 16px rgba(0,0,0,.2),0 0 20px rgba(4,156,161,.3),inset 0 1px rgba(255,255,255,.1)}.logo:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 30px rgba(4,156,161,.4),inset 0 1px rgba(255,255,255,.2)}.logo:before{content:"";opacity:0;background:linear-gradient(135deg,rgba(4,156,161,.1) 0%,transparent 50%,rgba(0,212,255,.1) 100%);border-radius:20px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}.logo:hover:before{opacity:1}.logo-icon{object-fit:contain;filter:drop-shadow(0 0 12px rgba(4,156,161,.6))drop-shadow(0 0 24px rgba(0,212,255,.3));z-index:1;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:relative}.logo:hover .logo-icon{filter:drop-shadow(0 0 16px rgba(4,156,161,.8))drop-shadow(0 0 32px rgba(0,212,255,.5));transform:scale(1.1)rotate(45deg)}.logo-text{color:var(--text-primary);text-shadow:0 0 10px rgba(4,156,161,.8),0 0 20px rgba(0,212,255,.4),0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px;z-index:1;font-family:Lucida Sans,Lucida Grande,Lucida Sans Unicode,sans-serif;font-size:46px;font-weight:700;transition:all .3s;position:relative}.logo:hover .logo-text{text-shadow:0 0 15px #049ca1,0 0 30px rgba(0,212,255,.6),0 4px 8px rgba(0,0,0,.4);transform:translateY(-1px)}.main-content{align-content:space-evenly;max-width:800px;min-height:calc(100vh - 140px);margin:0 auto;padding:0 15px}.footer{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);background:linear-gradient(135deg,rgba(4,156,161,.08) 0%,rgba(0,212,255,.04) 25%,rgba(4,156,161,.06) 50%,rgba(0,0,0,.08) 75%,rgba(4,156,161,.08) 100%);width:100vw;margin-top:auto;margin-left:calc(50% - 50vw);padding:16px 0;position:relative;overflow:hidden;box-shadow:0 -4px 16px rgba(0,0,0,.2),0 0 20px rgba(4,156,161,.15),inset 0 1px rgba(255,255,255,.05)}.footer:before{content:"";background:radial-gradient(circle at 30% 20%,rgba(4,156,161,.06) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(0,212,255,.04) 0%,transparent 50%);animation:10s ease-in-out infinite alternate footerGlow;position:absolute;top:0;bottom:0;left:0;right:0}.footer:after{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);width:100%;height:100%;animation:8s ease-in-out infinite footerShimmer;position:absolute;top:0;left:-100%}@keyframes footerGlow{0%{opacity:.6}to{opacity:1}}@keyframes footerShimmer{0%{left:-100%}50%{left:100%}to{left:100%}}.footer-content{text-align:center;z-index:2;max-width:800px;margin:0 auto;padding:0 20px;position:relative}.footer-text{color:var(--text-secondary);opacity:.8;text-shadow:0 1px 2px rgba(0,0,0,.3);font-family:Lucida Sans,Lucida Grande,Lucida Sans Unicode,sans-serif;font-size:14px}.footer-skinny{letter-spacing:.5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:200}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-lg),var(--shadow-glow);border:1px solid var(--glass-border);border-radius:16px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);height:1px;position:absolute;top:0;left:0;right:0}.card-header{border-bottom:1px solid var(--border-light);background:var(--background-light);padding:20px 24px 16px}.card-title{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:600}.card-subtitle{color:var(--text-secondary);font-size:14px}.card-body{padding:24px}.btn{border:1px solid var(--glass-border);cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px 24px;font-family:Lucida Sans,Lucida Grande,Lucida Sans Unicode,sans-serif;font-size:16px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.btn>*{z-index:1;position:relative}.btn:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-blue),var(--primary-blue-dark));color:#fff;box-shadow:var(--shadow-md),0 0 20px rgba(0,212,255,.3);transition:all .6s ease-in-out;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(135deg,var(--primary-blue-dark),var(--primary-blue));opacity:0;border-radius:12px;width:100%;height:100%;transition:opacity .6s;position:absolute;top:0;left:0}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg),0 0 30px rgba(0,212,255,.5);transform:translateY(-2px)}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-secondary{background:var(--background-white);color:var(--text-primary);border:1px solid var(--border-light);margin-top:10px}.btn-secondary:hover:not(:disabled){background:var(--background-light);border-color:var(--primary-blue)}.btn-success{background:var(--accent-green);color:#fff}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-lg);background:#3eff78;transform:translateY(-1px)}.btn-danger{background:var(--error-red);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-lg);background:#dc2626;transform:translateY(-1px)}.icon{width:20px;height:20px;display:inline-block}.icon-lg{width:24px;height:24px}.icon-xl{width:32px;height:32px}.status{border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.status-success{background:var(--accent-green-light);color:#065f46}.status-warning{background:var(--warning-orange-light);color:#92400e}.status-error{background:var(--error-red-light);color:#991b1b}.status-info{background:var(--secondary-blue);color:#0c4a6e}.spinner{border:2px solid transparent;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input{border:1px solid var(--border-light);background:var(--background-white);border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s}.form-input:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px rgba(14,165,233,.1)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.p-4{padding:16px}.p-6{padding:24px}.hidden{display:none}.block{display:block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:16px}.gap-6{gap:24px}@media (max-width:768px){.card-body{padding:16px}.btn{margin-top:20px;padding:14px 20px;font-size:16px}.logo{gap:12px;padding:8px 16px}.logo-text{font-size:36px}.logo-icon{width:40px;height:40px}.footer-content{padding:0 15px}.footer-text{font-size:12px}}.device-info-card{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.device-info-row{flex-direction:column;gap:16px;display:flex}.device-info-item{flex-direction:column;gap:4px;display:flex}.device-info-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.device-info-value{color:#1e293b;font-size:14px;font-weight:500}.permission-status{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.permission-granted{color:#065f46;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #10b981}.permission-denied{color:#991b1b;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #ef4444}.permission-prompt{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b}.permission-unknown{color:#0c4a6e;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border:1px solid #0ea5e9}.permission-help-card{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.permission-help-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.permission-help-icon{font-size:20px}.permission-help-title{color:#92400e;font-size:16px;font-weight:600}.permission-help-content{color:#92400e;font-size:14px;line-height:1.6}.permission-help-content p{margin-bottom:12px}.permission-help-content ol{margin-bottom:0;padding-left:20px}.permission-help-content li{margin-bottom:8px}.instructions-container{justify-content:flex-start;align-items:flex-start;display:flex}.instructions-list{color:#1e293b;flex:1;margin:0;padding-left:20px;font-size:15px;line-height:1.8}.instructions-list li{margin-bottom:12px;position:relative}.instructions-list li::marker{color:var(--primary-blue);font-weight:600}.mobile-tips-card{background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border:1px solid #0ea5e9;border-radius:12px;margin-top:24px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.mobile-tips-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.mobile-tips-icon{font-size:20px}.mobile-tips-title{color:#0c4a6e;font-size:16px;font-weight:600}.mobile-tips-list{color:#0c4a6e;margin:0;padding-left:20px;font-size:14px;line-height:1.6}.mobile-tips-list li{margin-bottom:8px}.input-method-selector{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;display:grid}.input-method-btn{cursor:pointer;text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;min-height:140px;padding:24px 16px;transition:all .2s;display:flex}.input-method-btn:hover{border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.input-method-btn.active{border-color:var(--primary-blue);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%)}.input-method-icon{margin-bottom:12px;font-size:32px}.input-method-title{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:600}.input-method-desc{color:var(--text-secondary);font-size:14px;line-height:1.4}.gallery-upload-area,.file-upload-area{text-align:center;background:#3d3d3d;border:2px dashed #e2e8f0;border-radius:12px;margin-bottom:20px;padding:24px 20px;transition:all .2s}.gallery-upload-area:hover,.file-upload-area:hover{border-color:var(--primary-blue);background:#191919}.gallery-upload-area.drag-over{border-color:var(--accent-green);background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-style:solid;transform:scale(1.02);box-shadow:0 8px 25px rgba(16,185,129,.3)}.gallery-upload-area.drag-over .gallery-upload-content h3{color:#065f46}.gallery-upload-area.drag-over .gallery-upload-content p{color:#047857}.drag-hint{color:var(--text-muted);font-size:13px;font-style:italic;margin-bottom:12px!important}.gallery-upload-content,.file-upload-content{max-width:400px;margin:0 auto}.gallery-upload-content h3,.file-upload-content h3{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.gallery-upload-content p,.file-upload-content p{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.5}.gallery-tips,.file-upload-info{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #0ea5e9;border-radius:12px;margin-top:20px;padding:20px}.gallery-tips h4,.file-upload-info h4{color:#0c4a6e;margin-bottom:12px;font-size:16px;font-weight:600}.gallery-tips ul,.file-upload-info ul{color:#0c4a6e;margin:0;padding-left:20px;font-size:14px;line-height:1.6}.gallery-tips li,.file-upload-info li{margin-bottom:8px}.camera-preview-container{background:#000;border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.15)}.camera-overlay{color:#fff;text-align:center;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:16px;font-size:14px;font-weight:500;position:absolute;bottom:0;left:0;right:0}.glass-effect{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg),var(--shadow-glow)}.glass-effect:hover{box-shadow:var(--shadow-lg),0 0 30px rgba(0,212,255,.4);background:rgba(255,255,255,.1)}@keyframes liquidFlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.liquid-flow:before{content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);width:100%;height:100%;animation:3s ease-in-out infinite liquidFlow;position:absolute;top:0;left:0}
