:root{--bg-gradient: linear-gradient(180deg, #0a0f1c 0%, #0d1526 50%, #111b2e 100%);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .85);--text-muted: rgba(255, 255, 255, .6);--text-hint: rgba(255, 255, 255, .4);--surface: rgba(255, 255, 255, .1);--surface-hover: rgba(255, 255, 255, .15);--surface-border: rgba(255, 255, 255, .2);--surface-active: rgba(255, 255, 255, .2);--glow-color: rgba(59, 130, 246, .2);--glow-strong: rgba(59, 130, 246, .4);--shadow-color: rgba(0, 0, 0, .2);--select-bg: #1a1a2e;--primary-color: #3b82f6;--accent-color: #6366f1;--button-bg: #00A7B5;--button-text: #ffffff;--button-shadow: rgba(0, 167, 181, .4);--button-shadow-hover: rgba(0, 167, 181, .5);--spinner-track: rgba(59, 130, 246, .3);--spinner-color: #3b82f6;--checkbox-checked-bg: rgba(0, 167, 181, .1);--checkbox-checked-border: rgba(0, 167, 181, .4);--checkbox-box-checked: #00A7B5;--checkbox-border: rgba(255, 255, 255, .3);--input-bg: rgba(255, 255, 255, .1);--input-border: rgba(255, 255, 255, .2);--input-focus-border: rgba(59, 130, 246, .5);--input-focus-bg: rgba(255, 255, 255, .15);--input-text: #ffffff;--input-placeholder: rgba(255, 255, 255, .4);--form-bg: rgba(255, 255, 255, .05);--form-border: rgba(255, 255, 255, .1);--form-shadow: rgba(0, 0, 0, .3);--video-border: rgba(59, 130, 246, .3);--video-shadow: rgba(59, 130, 246, .3);--share-border: rgba(59, 130, 246, .4);--share-hover-bg: rgba(59, 130, 246, .1);--share-hover-border: rgba(59, 130, 246, .6);--share-hover-shadow: rgba(59, 130, 246, .2);--modal-bg: linear-gradient(180deg, #0d1526 0%, #111b2e 100%);--modal-border: rgba(255, 255, 255, .1);--modal-shadow: rgba(0, 0, 0, .5);--backdrop-bg: rgba(0, 0, 0, .5);--wave-fill-1: rgba(59, 130, 246, .15);--wave-fill-2: rgba(99, 102, 241, .1);--wave-stroke-1: rgba(59, 130, 246, .3);--wave-stroke-2: rgba(99, 102, 241, .2);--wave-stroke-3: rgba(59, 130, 246, .15);--pulse-color: rgba(59, 130, 246, .5);--pulse-border: rgba(59, 130, 246, .4);--progress-text: rgba(150, 190, 255, .85);--step-dot-active: #3b82f6;--step-dot-glow: rgba(59, 130, 246, .5);--step-dot-glow-dim: rgba(59, 130, 246, .2);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.wave-background{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.wave-background svg{width:100%;height:100%}.wave-background:has(.wave-lines){top:35%;left:-5%;right:-5%;bottom:0;overflow:visible}@media (orientation: landscape){.wave-background:has(.wave-lines){top:0;bottom:auto}}.wave-background .wave-lines{width:100%;height:auto;display:block;transform-origin:center 100%;animation:waveIntro 1s ease-out forwards,waveBreathing 8s ease-in-out 1s infinite}@keyframes waveIntro{0%{opacity:0}to{opacity:1}}@keyframes waveBreathing{0%,to{transform:perspective(600px) rotateX(0)}25%{transform:perspective(600px) rotateX(2deg)}50%{transform:perspective(600px) rotateX(0)}75%{transform:perspective(600px) rotateX(-2deg)}}.wave-flow-svg{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.wave{animation:waveFloat 12s ease-in-out infinite}.wave-1{animation-delay:0s}.wave-2{animation-delay:-2s}.wave-3{animation-delay:-4s}@keyframes waveFloat{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-10px) translate(5px)}50%{transform:translateY(0) translate(10px)}75%{transform:translateY(10px) translate(5px)}}.accent-line{animation:lineGlow 4s ease-in-out infinite}.line-1{animation-delay:0s}.line-2{animation-delay:-1.3s}.line-3{animation-delay:-2.6s}@keyframes lineGlow{0%,to{opacity:.3}50%{opacity:.8}}.container{position:relative;z-index:1;width:100%;max-width:400px;text-align:center}.header{margin-bottom:40px}.header.compact{margin-bottom:20px}.brand-logo{height:28px;width:auto;margin-bottom:12px}.title{font-size:24px;font-weight:600;letter-spacing:.1em;color:var(--text-primary);text-shadow:0 0 30px var(--glow-color)}.title.small{font-size:18px}.score-display{margin:30px 0}.score-display.inline{display:inline-block;margin:15px 0}.score{font-size:72px;font-weight:300;color:var(--text-primary);line-height:1;text-shadow:0 0 40px var(--glow-color)}.score-display.inline .score{font-size:48px}.score-label{font-size:11px;letter-spacing:.2em;color:var(--text-muted);margin-top:8px}.loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-muted)}.spinner{width:40px;height:40px;border:3px solid var(--spinner-track);border-top-color:var(--spinner-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:var(--form-bg);border:1px solid var(--form-border);border-radius:16px;padding:30px;box-shadow:0 4px 30px var(--form-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-icon{font-size:48px;color:#ff6b6b;margin-bottom:16px}.error-message{font-size:18px;color:var(--text-primary);margin-bottom:8px}.error-hint{font-size:14px;color:var(--text-muted)}.claimed-box{background:var(--form-bg);border:1px solid var(--form-border);border-radius:16px;padding:30px;box-shadow:0 4px 30px var(--form-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.claimed-text{font-size:16px;color:var(--text-secondary);margin-bottom:20px}.claim-form{background:var(--form-bg);border:1px solid var(--form-border);border-radius:16px;padding:30px;box-shadow:0 4px 30px var(--form-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-intro{font-size:14px;color:var(--text-muted);margin-bottom:24px;line-height:1.5}.form-group{margin-bottom:20px;text-align:left}.form-group label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.form-group label .optional-label{font-weight:400;color:var(--text-hint);font-size:12px}.form-group input:not([type=checkbox]){width:100%;padding:14px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:16px;outline:none;transition:border-color .2s,background .2s}.form-group input:not([type=checkbox]):focus{border-color:var(--input-focus-border);background:var(--input-focus-bg)}.form-group input:not([type=checkbox])::placeholder{color:var(--input-placeholder)}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-group select{width:100%;padding:14px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:16px;outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 14px center}.form-group select:focus{border-color:var(--input-focus-border);background-color:var(--input-focus-bg)}.form-group select option{background:var(--select-bg);color:var(--input-text)}.searchable-select-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop-bg);z-index:90;animation:backdrop-fade-in .15s ease-out}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.searchable-select{position:relative;width:100%}.searchable-select.open{z-index:91}.form-group:has(.searchable-select.open){position:relative;z-index:91}.searchable-select-input{width:100%;padding:14px 40px 14px 16px!important;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:16px;outline:none;transition:border-color .2s,background .2s;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchable-select-input:focus{border-color:var(--input-focus-border);background:var(--input-focus-bg);cursor:text}.searchable-select-input::placeholder{color:var(--input-placeholder)}.searchable-select-input:disabled{opacity:.6;cursor:not-allowed}.searchable-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:12px;height:12px;pointer-events:none;background-image:var(--select-arrow);background-size:contain;background-repeat:no-repeat}.searchable-select-clear{position:absolute;right:34px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;line-height:1;-webkit-tap-highlight-color:transparent}.searchable-select-clear:hover{color:var(--text-secondary)}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--select-bg);border:1px solid var(--input-border);border-radius:8px;list-style:none;margin:0;padding:4px 0;z-index:100}.searchable-select-dropdown.drop-up{top:auto;bottom:calc(100% + 4px)}.searchable-select-option{padding:12px 16px;color:var(--input-text);cursor:pointer;font-size:15px;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.searchable-select-option:active{background:var(--checkbox-checked-border)}.searchable-select-option.highlighted{background:var(--glow-strong)}.searchable-select-option.selected{background:var(--checkbox-checked-bg);font-weight:500}.searchable-select-option mark{background:var(--glow-strong);color:var(--input-text);border-radius:2px;padding:0 1px}.searchable-select-empty{padding:12px 16px;color:var(--text-hint);font-size:15px;text-align:center}.form-group-checkbox{margin-bottom:20px;text-align:left}.checkbox-label{font-size:14px;color:var(--text-secondary);font-weight:500;line-height:1.5;margin-bottom:8px}.checkbox-label .optional-label{font-weight:400;color:var(--text-hint);font-size:11px;margin-left:4px}.required-asterisk{color:#ef4444;font-weight:600}.checkbox-options{display:flex;flex-direction:column;gap:8px;margin-top:4px}label.checkbox-option{display:flex!important;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:400;color:var(--text-secondary);cursor:pointer;line-height:1.3;margin-bottom:0!important;transition:background .15s,border-color .15s;background:var(--checkbox-bg, var(--form-bg));border:1px solid var(--checkbox-bg-border, var(--form-border));border-radius:8px}.checkbox-option:hover{background:var(--surface);border-color:var(--surface-border)}.checkbox-option.checked{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-border);color:var(--text-primary)}.checkbox-option.disabled{opacity:.35;cursor:not-allowed}.checkbox-option.disabled:hover{background:var(--checkbox-bg, var(--form-bg));border-color:var(--checkbox-bg-border, var(--form-border))}.checkbox-option input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;min-width:20px;border:2px solid var(--checkbox-border);border-radius:4px;background:transparent;cursor:pointer;margin:0;position:relative;transition:background .15s,border-color .15s}.checkbox-option input[type=checkbox]:checked{background:var(--checkbox-box-checked);border-color:var(--checkbox-box-checked)}.checkbox-option input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-option.disabled input[type=checkbox]{cursor:not-allowed}.checkbox-option span{flex:1}.checkbox-option-image-inline{height:34px;width:auto;object-fit:contain;border-radius:3px;flex-shrink:0}.checkbox-option.has-image-block{flex-wrap:wrap}.checkbox-option-image-block{width:100%;max-height:80px;object-fit:contain;object-position:left;border-radius:4px;margin-left:32px}.checkbox-hint{font-size:12px;color:var(--text-hint);margin:2px 0 0}.form-error{color:#ff6b6b;font-size:14px;margin-bottom:16px}.btn-primary{display:inline-block;width:100%;padding:16px 32px;background:var(--button-bg);border:none;border-radius:30px;color:var(--button-text);font-size:14px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 30px var(--button-shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 40px var(--button-shadow-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.video-page .container{max-width:500px}.video-container{width:100%;max-width:280px;margin:0 auto 20px;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 10px 60px var(--video-shadow);border:1px solid var(--video-border)}.video-container video{width:100%;height:auto;display:block;aspect-ratio:9 / 16;object-fit:contain;background:#000}.video-info{margin-bottom:20px}.claimed-by{font-size:14px;color:var(--text-muted);margin-top:8px}.video-actions{display:flex;flex-direction:column;gap:10px;align-items:center;margin-bottom:24px;width:100%;max-width:280px;margin-left:auto;margin-right:auto}.btn-share{display:block;width:100%;padding:14px 32px;background:#ffffff0d;border:1px solid var(--share-border);border-radius:30px;color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-share:hover:not(:disabled){transform:translateY(-2px);background:var(--share-hover-bg);border-color:var(--share-hover-border);box-shadow:0 4px 20px var(--share-hover-shadow)}.btn-share:disabled{opacity:.6;cursor:not-allowed}.btn-download{display:block;width:100%;padding:14px 32px;background:var(--button-bg);border:none;border-radius:30px;color:var(--button-text);font-size:14px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 30px var(--button-shadow)}.btn-download:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 40px var(--button-shadow-hover)}.btn-download:disabled{opacity:.6;cursor:not-allowed}.summary-box{background:var(--form-bg);border:1px solid var(--form-border);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary{font-size:14px;color:var(--text-secondary);line-height:1.6;text-align:left}.ios-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.ios-help-modal{background:var(--modal-bg);border:1px solid var(--modal-border);border-radius:20px;padding:32px 28px;max-width:320px;width:100%;text-align:center;box-shadow:0 20px 60px var(--modal-shadow)}.ios-help-modal h3{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.ios-help-modal ol{text-align:left;padding-left:24px;margin-bottom:24px}.ios-help-modal li{font-size:16px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.ios-help-modal li:last-child{margin-bottom:0}.btn-close{display:inline-block;padding:14px 40px;background:var(--button-bg);border:none;border-radius:30px;color:var(--button-text);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 30px var(--button-shadow)}.btn-close:hover{transform:translateY(-2px);box-shadow:0 10px 40px var(--button-shadow-hover)}.generating-page{flex-direction:column;align-items:center;padding:40px 20px}.generating-top{position:relative;z-index:1;padding-top:20px}.generating-middle{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.generating-steps-wrapper{margin-top:40px}.generating-bottom{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding-bottom:20px}.generating-screen{display:flex;flex-direction:column;align-items:center;padding:40px 0}.pulse-loader{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.progress-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;font-weight:200;color:var(--progress-text);z-index:1;pointer-events:none;letter-spacing:.02em}.pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--pulse-border);animation:pulse-expand 2s ease-out infinite}.pulse-ring:nth-child(2){animation-delay:.5s}.pulse-ring:nth-child(3){animation-delay:1s}@keyframes pulse-expand{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.generating-steps{margin-top:30px;display:flex;flex-direction:column;gap:12px;align-items:center}.generating-step{display:flex;align-items:center;gap:10px;opacity:.3;transition:opacity .3s ease}.generating-step.active{opacity:1}.generating-step.done{opacity:.6}.step-dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;transition:background .3s ease}.step-dot.active{background:var(--step-dot-active);box-shadow:0 0 10px var(--step-dot-glow);animation:dot-blink 1.8s ease-in-out infinite}@keyframes dot-blink{0%,to{opacity:1;box-shadow:0 0 10px var(--step-dot-glow)}50%{opacity:.4;box-shadow:0 0 4px var(--step-dot-glow-dim)}}.step-dot.done{background:#22c55e}.generating-step span{font-size:16px;color:var(--text-secondary);font-weight:600}.animated-dots span{opacity:0}.animated-dots span:nth-child(1){animation:dot1 2s steps(1) infinite}.animated-dots span:nth-child(2){animation:dot2 2s steps(1) infinite}.animated-dots span:nth-child(3){animation:dot3 2s steps(1) infinite}@keyframes dot1{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes dot2{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes dot3{0%{opacity:0}75%{opacity:1}to{opacity:0}}.generating-hint{margin-top:24px;font-size:14px;color:var(--text-muted);text-align:center;line-height:1.6}@media (max-width: 480px){.page{padding:16px}.title{font-size:20px}.score{font-size:56px}.claim-form{padding:24px 20px}.video-container{max-width:240px}}.video-page{height:100vh;height:100dvh;min-height:0;padding:20px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow:hidden;flex-direction:column}.video-page .container{display:flex;flex-direction:column;align-items:center;flex:1;min-height:0;width:100%;max-width:500px}.video-page .header.compact{margin-bottom:8px;flex-shrink:0}.video-page .video-container{flex:1 1 0;min-height:0;max-width:none;width:auto;aspect-ratio:9 / 16;margin:0 auto 12px;overflow:hidden}.video-page .video-container video{width:100%;height:100%;object-fit:cover}.video-page .video-actions{flex-shrink:0;margin-bottom:8px;width:100%;max-width:280px}.video-page .score-display.inline{margin:6px 0;flex-shrink:0}.video-page .summary-box{display:none}
