:root{--primary-color: #3a7bd5;--secondary-color: #00d2ff;--accent-color: #7928ca;--text-color: #333;--light-text: #909399;--bg-color: #f5f8fa;--card-bg: #ffffff;--border-radius: 16px;--shadow: 0 20px 60px rgba(0, 0, 0, .1);--gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));--accent-gradient: linear-gradient(135deg, #ff0080, var(--accent-color))}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif}body{background-color:var(--bg-color);display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:20px;overflow-y:auto;background:linear-gradient(125deg,#0b1523,#213853);background-attachment:fixed}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23132f4c' stroke-width='1'%3E%3Cpath d='M769 229L1037 260.9M927 880L731 737 520 660 309 538 40 599 295 764 126.5 879.5 40 599-197 493 102 382-31 229 126.5 79.5-69-63'/%3E%3Cpath d='M-31 229L237 261 390 382 603 493 308.5 537.5 101.5 381.5M370 905L295 764'/%3E%3Cpath d='M520 660L578 842 731 737 840 599 603 493 520 660 295 764 309 538 390 382 539 269 769 229 577.5 41.5 370 105 295 -36 126.5 79.5 237 261 102 382 40 599 -69 737 127 880'/%3E%3Cpath d='M520-140L578.5 42.5 731-63M603 493L539 269 237 261 370 105M902 382L539 269M390 382L102 382'/%3E%3Cpath d='M-222 42L126.5 79.5 370 105 539 269 577.5 41.5 927 80 769 229 902 382 603 493 731 737M295-36L577.5 41.5M578 842L295 764M40-201L127 80M102 382L-261 269'/%3E%3C/g%3E%3Cg fill='%23193657'%3E%3Ccircle cx='769' cy='229' r='5'/%3E%3Ccircle cx='539' cy='269' r='5'/%3E%3Ccircle cx='603' cy='493' r='5'/%3E%3Ccircle cx='731' cy='737' r='5'/%3E%3Ccircle cx='520' cy='660' r='5'/%3E%3Ccircle cx='309' cy='538' r='5'/%3E%3Ccircle cx='295' cy='764' r='5'/%3E%3Ccircle cx='40' cy='599' r='5'/%3E%3Ccircle cx='102' cy='382' r='5'/%3E%3Ccircle cx='127' cy='80' r='5'/%3E%3Ccircle cx='370' cy='105' r='5'/%3E%3Ccircle cx='578' cy='42' r='5'/%3E%3Ccircle cx='237' cy='261' r='5'/%3E%3Ccircle cx='390' cy='382' r='5'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;opacity:.2;pointer-events:none;z-index:-1}.floating-element{position:fixed;width:300px;height:300px;background:radial-gradient(circle at center,rgba(58,123,213,.3),transparent 70%);border-radius:50%;filter:blur(50px);z-index:-1;animation:float 20s infinite alternate ease-in-out}.floating-element:nth-child(1){top:10%;left:10%;animation-duration:25s}.floating-element:nth-child(2){top:60%;right:15%;background:radial-gradient(circle at center,rgba(0,210,255,.3),transparent 70%);animation-delay:-5s;animation-duration:18s}.floating-element:nth-child(3){bottom:5%;left:20%;background:radial-gradient(circle at center,rgba(121,40,202,.2),transparent 70%);animation-delay:-10s;animation-duration:20s}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(40px,40px) scale(1.1)}}.upload-container{width:100%;max-width:600px;background-color:#1b2636cc;border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden;margin-top:20px;margin-bottom:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.upload-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius);padding:1px;background:linear-gradient(to bottom right,rgba(255,255,255,.2),transparent,rgba(0,210,255,.2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.upload-header{padding:24px;text-align:center;font-size:22px;font-weight:600;background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent;letter-spacing:1px;position:relative;overflow:hidden;text-shadow:0 2px 5px rgba(0,0,0,.2)}.upload-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.digital-dots{position:absolute;top:0;left:0;width:100%;height:5px;background-image:radial-gradient(circle,rgba(0,210,255,.7) 2px,transparent 2px),radial-gradient(circle,rgba(58,123,213,.5) 2px,transparent 2px);background-size:20px 5px,20px 5px;background-position:0 0,10px 0}.content-container{padding:24px;color:#fff}.upload-area{border:2px dashed rgba(255,255,255,.2);border-radius:var(--border-radius);padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;background:#0003}.upload-area:hover{border-color:var(--secondary-color);background-color:#0000004d;transform:translateY(-2px)}.upload-text{color:#ffffffb3;font-size:14px;margin-bottom:10px}.button-group{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.upload-btn{display:inline-block;background:var(--gradient);color:#fff;padding:12px 22px;border-radius:30px;cursor:pointer;transition:all .3s ease;border:none;font-size:14px;font-weight:500;box-shadow:0 4px 15px #0000004d;position:relative;overflow:hidden}.upload-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.upload-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0006}.upload-btn:hover:before{left:100%}.upload-btn:disabled{background:#3a485e;cursor:not-allowed;box-shadow:none;transform:none}.upload-btn:disabled:before{display:none}.upload-tips-content{display:block}.upload-tips-content.hidden{display:none}.video-container{position:relative;width:100%;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 8px 30px #0000004d;margin:0!important}#video{width:100%;border-radius:var(--border-radius);background-color:#101820;display:none;transform:scale(1.01)}#canvas{display:none}.camera-switch-btn{position:absolute;top:20px;right:20px;background:#0006;color:#fff;border:none;border-radius:50%;width:50px;height:50px;align-items:center;justify-content:center;cursor:pointer;font-size:24px;z-index:100;display:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 4px 12px #0003;transition:all .2s ease}.camera-switch-btn:active{background-color:#0009;transform:scale(.95)}.file-list{margin-top:24px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:16px}.image-item{position:relative;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 15px 35px #0003;transition:all .3s ease;transform-style:preserve-3d;background:#1e293b}.image-item:hover{transform:translateY(-5px) rotateX(5deg);box-shadow:0 20px 40px #0000004d}.image-item img{width:100%;height:auto;display:block;border-radius:var(--border-radius) var(--border-radius) 0 0;transition:all .3s ease}.image-item:hover img{transform:scale(1.05)}.image-remove{position:absolute;top:10px;right:10px;background:#0009;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ff4757;font-size:16px;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transform:translateY(-10px)}.image-item:hover .image-remove{opacity:1;transform:translateY(0)}.image-remove:hover{background-color:#000c;transform:scale(1.1)}.file-name-label{font-size:12px;padding:10px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffffffb3}.upload-area:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0,#fff0 40%,#ffffff1a,#fff0 60%,#fff0);transform:rotate(45deg);pointer-events:none;animation:shine 10s infinite}@keyframes shine{0%{left:-100%;top:-100%}to{left:100%;top:100%}}.tech-circles{position:absolute;width:200px;height:200px;border-radius:50%;border:1px dashed rgba(0,210,255,.3);opacity:.5;pointer-events:none}.tech-circles:before,.tech-circles:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.tech-circles:before{width:70%;height:70%;border:1px dashed rgba(58,123,213,.3)}.tech-circles:after{width:40%;height:40%;border:1px dashed rgba(121,40,202,.3)}.tech-circles.top-right{top:-100px;right:-100px}.tech-circles.bottom-left{bottom:-100px;left:-100px}.tech-line{position:absolute;background:linear-gradient(90deg,transparent,var(--secondary-color),transparent);height:1px;width:100px;opacity:.3}.tech-line.top-left{top:30px;left:-30px;transform:rotate(-45deg)}.tech-line.bottom-right{bottom:30px;right:-30px;transform:rotate(-45deg)}@media (max-width: 480px){body{padding:10px}.upload-container{margin-top:10px;border-radius:12px}.digital-dots{height:3px;background-size:16px 3px,16px 3px}.button-group{flex-direction:column;gap:10px}.upload-btn{width:100%;padding:14px}.upload-header{font-size:18px;padding:16px}.content-container{padding:16px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.floating-element{opacity:.5}}.visualization-container{margin-top:25px;background:#0003;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 15px 35px #0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);animation:fadeIn .5s ease-out}.visualization-header{padding:15px;border-bottom:1px solid rgba(255,255,255,.1)}.visualization-header h3{margin:0;font-size:18px;font-weight:500;background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent;text-align:center}.visualization-content{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.selected-image{border-radius:var(--border-radius);overflow:hidden;background:#0003;display:flex;align-items:center;justify-content:center;position:relative}#selectedImage{width:100%;height:100%}.placeholder-icon{font-size:40px;margin-bottom:10px}.placeholder-text{font-size:14px}.probability-container{display:flex;flex-direction:column;gap:20px;justify-content:center}.probability-item{display:flex;flex-direction:column;gap:8px}.probability-label{font-size:14px;color:#ffffffe6}.probability-bar-container{height:25px;background:#0000004d;border-radius:30px;position:relative;overflow:hidden;display:flex;align-items:center;padding:0 10px;box-shadow:inset 0 2px 5px #0000004d}.probability-bar{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:30px;transition:width 1s cubic-bezier(.44,.05,.33,1.06)}.probability-value{font-size:13px;position:relative;z-index:1;color:#fff;font-weight:500;margin-left:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.visualization-content{grid-template-columns:1fr}}.device-hint{text-align:center;padding:15px;font-size:12px;color:#ffffff80;font-style:italic;position:absolute;bottom:10px;left:0;right:0;display:none}.desktop-device .device-hint.desktop-hint{display:block}.global-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#4facfe,#00f2fe);z-index:9999;transition:width .3s ease;opacity:0}.global-progress.active{opacity:1;width:100%;animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.empty-state{text-align:center;padding:10px 30px 30px;color:#ffffff80;display:block}.empty-icon{font-size:32px;margin-bottom:16px;opacity:.6}.empty-text{font-size:14px}.page-header{position:fixed;top:0;left:0;right:0;height:60px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.header-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:500;color:#fff}.header-logo img{width:24px;height:24px}.gitee-link{display:flex;align-items:center;gap:6px;text-decoration:none;color:#fffc;font-size:14px;padding:6px 10px;border-radius:4px;transition:all .3s ease;background:#ffffff1a;height:24px;line-height:1}.gitee-icon{display:flex;align-items:center;justify-content:center;height:16px}.gitee-icon svg{fill:#c71d23;display:block;vertical-align:middle}.page-header{position:fixed;top:0;left:0;right:0;height:60px;background:#1b2636e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1)}.header-logo{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:500;color:#fff;height:24px;line-height:1}.header-actions{display:flex;align-items:center;height:24px}.header-action-item{color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s ease}.header-action-item:hover{color:#fff}body{padding-top:80px}@media (max-width: 768px){.page-header{height:50px;padding:0 15px}.header-logo{font-size:16px}.header-actions{gap:15px}body{padding-top:70px}}.shutter-btn{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:70px;height:70px;border-radius:50%;background:#fff3;border:3px solid rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:100;transition:all .2s ease;box-shadow:0 4px 15px #0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.shutter-inner{width:54px;height:54px;border-radius:50%;background:#fff;transition:all .15s ease}.shutter-btn:hover .shutter-inner{width:50px;height:50px}.shutter-btn:active{transform:translate(-50%) scale(.9)}.shutter-btn:active .shutter-inner{width:48px;height:48px;background:#ffffffe6}.selected-image .video-container{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10}.selected-image .video-container #video{width:100%;height:100%;object-fit:cover}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px}.selected-image .video-container .shutter-btn{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:20}@media (max-width: 480px){.shutter-btn{width:60px;height:60px;bottom:15px}.shutter-inner{width:46px;height:46px}}.example-image-btn{position:absolute;top:10px;right:10px;background:#0009;color:#fff;border:none;border-radius:4px;padding:6px 10px;font-size:12px;cursor:pointer;z-index:100;transition:all .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 4px 12px #0003}.example-image-btn:hover{background:#000c;transform:translateY(-2px)}.example-image-btn:active{transform:translateY(0)}.example-drawer{position:fixed;bottom:0;left:0;width:100%;background:#1b2636f2;border-radius:20px 20px 0 0;box-shadow:0 -5px 25px #0000004d;z-index:1000;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-height:70vh;overflow-y:auto}.example-drawer.open{transform:translateY(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-header h3{margin:0;color:#fff;font-size:18px}.close-drawer-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer}.example-images-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;padding:20px}.example-image-item{border-radius:10px;overflow:hidden;background:#0003;transition:all .2s ease;cursor:pointer;box-shadow:0 4px 10px #0003}.example-image-item:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000004d}.example-image-item img{width:100%;height:150px;object-fit:cover;display:block}.example-image-label{padding:10px;color:#fff;font-size:12px;text-align:center}@media (max-width: 480px){.example-images-container{grid-template-columns:repeat(2,1fr)}.example-image-btn{font-size:11px;padding:5px 8px;top:8px;right:8px}}.flash-effect{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;opacity:0;pointer-events:none;z-index:10;transition:opacity .1s ease-out}.flash-effect.active{opacity:.8;animation:flash-animation .5s ease-out}@keyframes flash-animation{0%{opacity:.8}to{opacity:0}}.photo-confirm-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:40px;z-index:10}.control-btn{width:80px;height:40px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003}.retake-btn{background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff}.confirm-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.control-btn:hover{transform:scale(1.1)}.control-btn:active{transform:scale(.95)}.video-paused{pointer-events:none}.retake-new-btn{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:14px;cursor:pointer;box-shadow:0 4px 8px #0003;transition:all .3s ease;z-index:10}.retake-new-btn:hover{transform:translate(-50%) scale(1.05)}.retake-new-btn:active{transform:translate(-50%) scale(.95)}@media screen and (max-width: 768px){body{margin:0;padding:0;background:linear-gradient(135deg,#1a2a6c,#b21f1f,#fdbb2d);background-attachment:fixed;font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;position:fixed;height:100%}.upload-container{width:100%;max-width:100%;margin:0;border-radius:0;min-height:100vh;box-shadow:none;background:linear-gradient(135deg,#121826f7,#212b45f7);padding:0;overflow:hidden;position:relative}.content-container{padding:12px;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 60px);width:100%;box-sizing:border-box}.upload-area,.visualization-container,.file-list,.button-group,.upload-default-content,.video-container,.selected-image,.probability-container{max-width:100%;box-sizing:border-box}img{max-width:100%;height:auto}.button-group{display:flex;flex-wrap:wrap;justify-content:space-between;margin:20px 10px 25px;padding:0;gap:15px}#startCamera,#captureNative{flex:1;margin:0;min-width:0;padding:15px 5px;border-radius:12px;font-size:1rem;font-weight:500;box-shadow:0 4px 15px #00000026;transition:all .3s ease;border:none;color:#fff;position:relative;overflow:hidden;z-index:1}#captureNative{background:linear-gradient(135deg,#4158d0cc,#53b2fecc);border:1px solid rgba(83,178,254,.3)}#startCamera{background:linear-gradient(135deg,#1d976ccc,#93f9b9cc);border:1px solid rgba(147,249,185,.3)}#takePhoto{display:none}.upload-btn{flex:1;margin:0!important;min-width:0;padding:15px 5px!important;border-radius:12px;font-size:.95rem;font-weight:500;box-shadow:0 4px 15px #00000026;transition:all .3s ease;border:none;color:#fff;position:relative;overflow:hidden;z-index:1;background-color:#ffffff1a!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1)}.upload-btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .3s ease}#captureNative{background:linear-gradient(135deg,#ff5e62cc,#f96c);border:1px solid rgba(255,94,98,.3)}#startCamera{background:linear-gradient(135deg,#4158d0cc,#53b2fecc);border:1px solid rgba(83,178,254,.3)}#takePhoto{background:linear-gradient(135deg,#1d976ccc,#93f9b9cc);border:1px solid rgba(147,249,185,.3)}.upload-btn{text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:1px}.refresh-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;color:#666;font-size:.9rem}.spinner{width:30px;height:30px;border:3px solid rgba(0,0,0,.1);border-top-color:#1a2a6c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}@keyframes spin{to{transform:rotate(360deg)}}.toast-message{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1a2a6ce6,#b21f1fe6);color:#fff;padding:10px 20px;border-radius:8px;font-size:14px;z-index:1000;box-shadow:0 4px 15px #0000004d;animation:fadeInOut 2.5s ease forwards;display:flex;align-items:center;gap:8px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.toast-message.success{background:linear-gradient(135deg,#1d976ce6,#93f9b9e6)}.toast-message.error{background:linear-gradient(135deg,#ff5e62e6,#ff9966e6)}.toast-icon{font-size:16px}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-20px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.upload-btn:active{transform:scale(.95);box-shadow:0 1px 3px #0003}.image-item:active{transform:scale(.98)}.upload-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 10% 20%,rgba(50,120,255,.05) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(50,120,255,.05) 0%,transparent 20%),linear-gradient(45deg,transparent 48%,rgba(50,120,255,.03) 49%,rgba(50,120,255,.03) 51%,transparent 52%),linear-gradient(-45deg,transparent 48%,rgba(50,120,255,.03) 49%,rgba(50,120,255,.03) 51%,transparent 52%);background-size:100% 100%,100% 100%,20px 20px,20px 20px;opacity:.5;z-index:-1;pointer-events:none}.upload-area{border:2px dashed rgba(100,150,255,.3);border-radius:15px;padding:15px;background-color:#141e3280;min-height:150px;position:relative;margin-bottom:15px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.upload-text{text-align:center;color:#c8dcffcc;font-size:.9rem;padding:0 10px}.visualization-container{background:#192337cc;border-radius:15px;box-shadow:0 4px 12px #0003;overflow:hidden;margin-bottom:15px;border:1px solid rgba(100,150,255,.2)}.visualization-header{background:linear-gradient(135deg,#1a3a6c,#2a4a8c);color:#fff;padding:12px 15px;margin:0}.selected-image{display:flex;justify-content:center;align-items:center;aspect-ratio:1/1;background-color:#0f192db3;border-radius:10px;overflow:hidden;margin-bottom:15px;border:1px solid rgba(100,150,255,.1)}.no-image-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;color:#96b4ff99}.probability-label{font-size:.9rem;margin-bottom:5px;color:#c8dcffe6;font-weight:500}.probability-bar-container{height:25px;background-color:#1e283c99;border-radius:25px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000004d}.probability-bar{height:100%;background:linear-gradient(to right,#4a90e2,#00d2ff);border-radius:25px;transition:width .8s cubic-bezier(.22,.61,.36,1)}.probability-value{position:absolute;right:10px;top:0;height:100%;display:flex;align-items:center;color:#fff;font-weight:600;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.device-hint{text-align:center;color:#96b4ff99;font-size:.8rem;margin-top:15px;padding:10px;border-top:1px solid rgba(100,150,255,.2)}.desktop-hint,.floating-element{display:none}.tech-circles,.tech-line,.digital-dots{opacity:.3}@supports (padding-top: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (prefers-color-scheme: dark){.upload-container{background:linear-gradient(135deg,#0a0f19f7,#141e32f7)}.upload-area{background-color:#0f142399}.visualization-container{background:#0f1928e6}}}.camera-switch-btn{position:absolute;top:15px;right:15px;background:#00000080;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;z-index:100;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.camera-switch-btn:active{background-color:#000000b3;transform:scale(.95)}.video-container{position:relative;width:100%;border-radius:12px;overflow:hidden;margin:10px 0;display:none;box-shadow:0 8px 20px #0000004d}#video{width:100%;border-radius:12px;background-color:#101820;transform:scale(1.01)}.mobile-device .upload-btn{padding:12px 16px;font-size:14px;box-shadow:0 8px 20px #0000004d;margin:8px 5px;flex:1;min-width:0}.mobile-device .button-group{width:95%;display:flex;justify-content:space-between}.mobile-device .upload-header{font-size:24px;padding-top:64px}.mobile-device .upload-area{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px}.mobile-device .image-grid{grid-template-columns:repeat(2,1fr);gap:12px}.mobile-device .visualization-content{grid-template-columns:1fr}.mobile-device .device-hint.mobile-hint{display:block}
