:root{--font-primary: "Plus Jakarta Sans", -apple-system, sans-serif;--font-display: "Outfit", -apple-system, sans-serif;--color-bg: #0b0f19;--color-card-bg: rgba(17, 24, 39, .65);--color-card-border: rgba(255, 255, 255, .08);--color-purple: #8b5cf6;--color-cyan: #06b6d4;--color-pink: #ec4899;--color-success: #10b981;--color-danger: #f43f5e;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text-main);font-family:var(--font-primary);min-height:100vh;position:relative;overflow-x:hidden;display:flex;justify-content:center;align-items:center}.glow-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.glow-bg:before,.glow-bg:after{content:"";position:absolute;width:50vw;height:50vw;border-radius:50%;filter:blur(120px);opacity:.15;pointer-events:none}.glow-bg:before{background:var(--color-purple);top:-10vw;right:-10vw;animation:float-slow 20s infinite alternate}.glow-bg:after{background:var(--color-cyan);bottom:-15vw;left:-10vw;animation:float-slow 25s infinite alternate-reverse}@keyframes float-slow{0%{transform:translate(0) scale(1)}to{transform:translate(5vw,5vw) scale(1.1)}}.app-container{width:100%;max-width:800px;padding:40px 20px;display:flex;flex-direction:column;gap:32px}.lang-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px}.lang-label{font-size:.8rem;color:var(--color-text-muted)}.lang-select{appearance:none;background:#ffffff0f;color:var(--color-text-main);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 36px 8px 12px;font-family:var(--font-primary);font-size:.85rem;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;min-width:140px}.lang-select:hover,.lang-select:focus{border-color:#8b5cf673;outline:none}.lang-select option{background:#111827;color:var(--color-text-main)}html[dir=rtl] .lang-bar{justify-content:flex-start}html[dir=rtl] .lang-select{padding:8px 12px 8px 36px;background-position:16px calc(50% - 2px),11px calc(50% - 2px)}html[dir=rtl] .dropzone h2 span{margin-inline-start:.25em}.app-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.logo-area{display:flex;align-items:center;gap:8px;margin-bottom:4px}.logo-icon{font-size:2rem;animation:pulse-glow 3s infinite}.logo-text{font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:-1px}.logo-text span{background:linear-gradient(135deg,var(--color-purple) 0%,var(--color-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-subtitle{font-size:1rem;color:var(--color-text-muted);font-weight:300;max-width:500px;line-height:1.5}.badge-row{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;justify-content:center}.status-badge{font-size:.8rem;padding:6px 12px;border-radius:99px;font-weight:500}.status-badge.secure{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.2)}.status-badge.speed{background:#06b6d41a;color:var(--color-cyan);border:1px solid rgba(6,182,212,.2)}.main-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:24px;padding:40px;box-shadow:0 20px 40px #0006,inset 0 1px #ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;overflow:hidden;transition:var(--transition-smooth)}.view-panel{display:flex;flex-direction:column;align-items:center;width:100%}.view-panel.hidden,.preview-panel.hidden,.results-panel.hidden,.analyzing-overlay.hidden,.dropzone.hidden{display:none!important}.loader-icon{font-size:4rem;margin-bottom:20px;animation:float-bounce 3s infinite ease-in-out}@keyframes float-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.view-panel h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:8px;font-weight:600}.loading-desc{font-size:.9rem;color:var(--color-text-muted);text-align:center;margin-bottom:30px;max-width:420px;line-height:1.6}.progress-container{width:100%;max-width:450px}.progress-info{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-muted);margin-bottom:8px}.progress-bar{width:100%;height:8px;background:#ffffff0d;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-purple) 0%,var(--color-cyan) 100%);border-radius:99px;transition:width .2s ease-out;box-shadow:0 0 10px #8b5cf680}.dropzone{width:100%;border:2px dashed rgba(255,255,255,.15);border-radius:16px;background:#ffffff03;padding:50px 20px;text-align:center;cursor:pointer;position:relative;transition:var(--transition-smooth)}.dropzone:hover,.dropzone.active{border-color:var(--color-purple);background:#8b5cf608;box-shadow:0 0 20px #8b5cf61a}.dropzone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-graphic{color:var(--color-text-muted);margin-bottom:16px;transition:var(--transition-smooth)}.upload-graphic svg{width:48px;height:48px}.dropzone:hover .upload-graphic{color:var(--color-purple);transform:translateY(-4px)}.dropzone h2{font-size:1.1rem;margin-bottom:6px;font-weight:500}.dropzone h2 span{color:var(--color-purple);text-decoration:underline;text-underline-offset:4px}.dropzone-tip{font-size:.85rem;color:var(--color-text-muted)}.preview-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:10px}.image-frame{position:relative;border-radius:16px;overflow:hidden;max-width:100%;max-height:350px;box-shadow:0 10px 25px #00000080;border:1px solid rgba(255,255,255,.1)}.image-frame img{display:block;max-width:100%;max-height:350px;object-fit:contain}.analyzing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0b0f1999;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(4px)}.overlay-text{font-weight:600;font-size:1.1rem;letter-spacing:.5px;background:linear-gradient(135deg,#fff 0%,var(--color-text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:pulse-glow 2s infinite}.scan-line{position:absolute;width:100%;height:4px;background:linear-gradient(90deg,transparent,var(--color-purple),var(--color-cyan),transparent);animation:scan-move 2.5s infinite linear}@keyframes scan-move{0%{top:0%}50%{top:100%}to{top:0%}}.image-meta{display:flex;gap:20px;font-size:.8rem;color:var(--color-text-muted);background:#00000026;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.03)}.results-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent);margin:10px 0}.result-summary{display:flex;align-items:center;gap:40px;width:100%;max-width:500px;justify-content:center;flex-wrap:wrap}.gauge-container{position:relative;width:120px;height:120px}.gauge{transform:rotate(-90deg);width:100%;height:100%}.gauge-bg{fill:none;stroke:#ffffff0d;stroke-width:8}.gauge-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.gauge-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.gauge-number{font-family:var(--font-display);font-size:1.6rem;font-weight:700}.gauge-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:-2px}.result-details{flex:1;min-width:240px}.result-title-badge{display:inline-block;padding:6px 16px;border-radius:99px;font-weight:700;font-size:1.1rem;margin-bottom:12px;font-family:var(--font-display)}.badge-danger{background:#f43f5e1a;color:var(--color-danger);border:1px solid rgba(244,63,94,.2);box-shadow:0 0 15px #f43f5e1a}.badge-success{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.2);box-shadow:0 0 15px #10b9811a}.result-description{font-size:.9rem;line-height:1.6;color:var(--color-text-muted);margin-bottom:12px}.timing-info{font-size:.75rem;color:#ffffff4d}.btn{font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:12px 28px;border-radius:10px;cursor:pointer;transition:var(--transition-smooth);border:none}.btn-secondary{background:#ffffff0d;color:var(--color-text-main);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.info-section{display:flex;flex-direction:column;gap:20px}.info-section h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;text-align:center}.grid-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.feature-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);padding:24px;border-radius:16px;transition:var(--transition-smooth)}.feature-card:hover{background:#ffffff0a;border-color:#ffffff14;transform:translateY(-3px)}.feat-icon{font-size:1.8rem;margin-bottom:12px}.feature-card h3{font-family:var(--font-display);font-size:1rem;margin-bottom:8px;font-weight:600}.feature-card p{font-size:.85rem;color:var(--color-text-muted);line-height:1.6}.geo-section{display:flex;flex-direction:column;gap:16px;padding:28px 8px 8px;border-top:1px solid rgba(255,255,255,.06)}.geo-section h2{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.geo-answer{color:var(--color-text-muted);line-height:1.7;font-size:.95rem;max-width:68ch}.geo-answer strong{color:var(--color-text-main);font-weight:600}.geo-faq{display:flex;flex-direction:column;gap:10px}.geo-faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 16px;background:#ffffff05}.geo-faq summary{cursor:pointer;font-weight:600;font-family:var(--font-display);list-style:none}.geo-faq summary::-webkit-details-marker{display:none}.geo-faq details p{margin-top:10px;color:var(--color-text-muted);font-size:.9rem;line-height:1.65}.geo-faq a,.geo-links a{color:var(--color-cyan)}.geo-faq code{font-size:.82em;color:#cbd5e1}.geo-links{padding-left:1.2rem;color:var(--color-text-muted);font-size:.9rem;line-height:1.8}.geo-updated{font-size:.75rem;color:#ffffff47}html[dir=rtl] .geo-links{padding-left:0;padding-right:1.2rem}.license-section{margin:2.5rem auto 1rem;max-width:720px;padding:0 1rem 1.5rem;color:var(--color-text-muted)}.license-section h2{font-size:1.15rem;color:var(--color-text);margin-bottom:.6rem}.license-intro{font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.license-list{padding-left:1.2rem;font-size:.88rem;line-height:1.75;margin-bottom:.85rem}html[dir=rtl] .license-list{padding-left:0;padding-right:1.2rem}.license-links{font-size:.85rem;margin-bottom:.85rem}.license-links a{color:var(--color-accent, #a78bfa);text-decoration:underline;text-underline-offset:2px}.license-details{font-size:.82rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem}.license-details summary{cursor:pointer;color:#ffffff8c;margin-bottom:.5rem}.license-text{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.45;color:#ffffff73;background:#00000040;padding:.9rem 1rem;border-radius:8px;overflow-x:auto;margin:0}.app-footer{text-align:center;font-size:.8rem;color:#ffffff40;margin-top:10px}.footer-cite{margin-top:6px;font-size:.72rem;color:#fff3}.footer-license{margin-top:8px;font-size:.75rem}.footer-license a{color:#fff6;text-decoration:underline;text-underline-offset:2px}@keyframes pulse-glow{0%,to{opacity:.8;filter:drop-shadow(0 0 2px rgba(139,92,246,.2))}50%{opacity:1;filter:drop-shadow(0 0 10px rgba(139,92,246,.6))}}@media (max-width: 600px){.main-card{padding:24px}.result-summary{flex-direction:column;text-align:center;gap:20px}.logo-text{font-size:2rem}}
