@import"https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap";:root{--color-bg-primary: #0f0f23;--color-bg-secondary: #080815;--color-bg-tertiary: #1a1a2e;--color-bg-hover: #252544;--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-success: #14b8a6;--color-success-hover: #2dd4bf;--color-danger: #ef4444;--color-danger-hover: #f87171;--color-warning: #f59e0b;--color-qr-bg: #ffffff;--color-qr-fg: #000000;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-family-mono: "Cascadia Code", "Courier New", monospace;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}*:focus{outline:2px solid var(--color-accent);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem}h3{font-size:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid transparent;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:var(--color-bg-primary);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem}.input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.input::placeholder{color:var(--color-text-muted)}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #58a6ff1a}.input.error{border-color:var(--color-danger)}.input.error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #f851491a}.card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-body{padding:var(--spacing-xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}.slide-in{animation:slideIn var(--transition-normal) ease-out}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mb-6{margin-bottom:var(--spacing-2xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mt-6{margin-top:var(--spacing-2xl)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){:root{--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 2.5rem}h1{font-size:1.875rem}h2{font-size:1.5rem}.card-body{padding:var(--spacing-lg)}}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top:2px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.error-message{color:var(--color-danger);font-size:.875rem;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.success-message{color:var(--color-success);font-size:.875rem;margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-secondary: #14b8a6;--color-secondary-light: #2dd4bf;--color-secondary-dark: #0f766e;--color-accent: #f59e0b;--color-accent-light: #fbbf24;--color-bg-dark: #0f0f23;--color-bg-darker: #080815;--color-bg-overlay: rgba(15, 15, 35, .8);--color-bg-glass: rgba(255, 255, 255, .05);--color-bg-glass-hover: rgba(255, 255, 255, .1);--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-text-accent: var(--color-accent);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--color-glow-primary: rgba(99, 102, 241, .4);--color-glow-secondary: rgba(20, 184, 166, .4);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--font-family: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family);background:var(--color-bg-dark);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh}.app{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;max-width:100vw;max-height:100vh}.background-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,var(--color-bg-dark) 0%,var(--color-bg-darker) 100%)}.geometric-grid{position:absolute;width:100%;height:100%;overflow:hidden}.grid-line{position:absolute;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.3;animation:gridMove 15s infinite linear}.grid-line-1{width:2px;height:100%;left:10%;animation-delay:0s;animation-duration:18s}.grid-line-2{width:100%;height:2px;top:20%;animation-delay:-3s;animation-duration:22s}.grid-line-3{width:2px;height:100%;left:60%;animation-delay:-6s;animation-duration:20s}.grid-line-4{width:100%;height:2px;top:70%;animation-delay:-9s;animation-duration:25s}.grid-line-5{width:2px;height:100%;left:85%;animation-delay:-12s;animation-duration:16s}.grid-line-6{width:100%;height:2px;top:45%;animation-delay:-15s;animation-duration:24s}@keyframes gridMove{0%{transform:scale(.5) rotate(0);opacity:0}50%{opacity:.3}to{transform:scale(1.5) rotate(180deg);opacity:0}}.floating-particles{position:absolute;width:100%;height:100%;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:var(--color-secondary);border-radius:50%;opacity:.6;animation:particleFloat 12s infinite ease-in-out}.particle-1{top:15%;left:20%;animation-delay:0s;animation-duration:14s}.particle-2{top:45%;left:75%;animation-delay:-2s;animation-duration:16s}.particle-3{top:75%;left:15%;animation-delay:-4s;animation-duration:12s}.particle-4{top:30%;left:50%;animation-delay:-6s;animation-duration:18s}.particle-5{top:85%;left:80%;animation-delay:-8s;animation-duration:15s}.particle-6{top:10%;left:90%;animation-delay:-10s;animation-duration:13s}.particle-7{top:60%;left:35%;animation-delay:-12s;animation-duration:17s}.particle-8{top:90%;left:60%;animation-delay:-14s;animation-duration:19s}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0) scale(1);opacity:.6}25%{transform:translateY(-30px) translate(20px) scale(1.2);opacity:1}50%{transform:translateY(-60px) translate(-15px) scale(.8);opacity:.4}75%{transform:translateY(-20px) translate(30px) scale(1.1);opacity:.8}}.gradient-waves{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 30%,rgba(99,102,241,.15) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(20,184,166,.15) 0%,transparent 40%),radial-gradient(circle at 40% 80%,rgba(245,158,11,.1) 0%,transparent 35%);animation:waveShift 20s infinite ease-in-out;z-index:-1}@keyframes waveShift{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(180deg)}}.external-link-corner{position:fixed;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);z-index:1000}.external-link{display:flex;align-items:center;justify-content:center;width:clamp(36px,8vw,44px);height:clamp(36px,8vw,44px);border-radius:clamp(8px,2vw,12px);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.brand-center{position:fixed;top:clamp(1rem,4vh,2rem);left:50%;transform:translate(-50%);z-index:1000;text-align:center}.app-title-button{background:none;border:none;cursor:pointer;padding:clamp(.5rem,1vw,1rem);border-radius:clamp(12px,2vw,20px);transition:all var(--transition-normal);position:relative;overflow:hidden}.app-title-button:hover{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(-2px);box-shadow:0 10px 30px #6366f133}.app-title-button:active{transform:translateY(0)}.app-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:clamp(.3rem,1.5vw,.8rem);margin:0;line-height:1;justify-content:center;font-family:var(--font-family);letter-spacing:-.02em}.app-logo{font-size:clamp(1.2rem,3.5vw,2.2rem);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px var(--color-glow-primary));animation:logoGlow 3s ease-in-out infinite alternate;font-weight:400}@keyframes logoGlow{0%{filter:drop-shadow(0 0 12px var(--color-glow-primary))}to{filter:drop-shadow(0 0 20px var(--color-glow-secondary))}}.external-link:hover{background:var(--color-bg-glass-hover);border-color:var(--color-border-hover);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 10px 25px #0003}.main-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2rem);box-sizing:border-box;max-width:100vw;max-height:100vh;margin-top:clamp(2.5rem,7vh,4rem)}.input-section{display:flex;align-items:center;justify-content:center;width:100%;max-width:min(600px,90vw);max-height:90vh}.input-container{width:100%;text-align:center;padding:clamp(1.5rem,4vh,3rem);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(16px,3vw,24px);border:1px solid var(--color-border);box-shadow:0 25px 50px #0000004d;box-sizing:border-box;max-height:85vh;overflow-y:auto}.title-section{margin-bottom:clamp(1rem,3vh,2rem)}.main-title{font-size:clamp(2rem,6vw,3rem);font-weight:800;margin-bottom:clamp(.5rem,1vh,1rem);background:linear-gradient(135deg,var(--color-text-primary),var(--color-text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.main-subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--color-text-secondary);font-weight:400;line-height:1.4}.input-wrapper{margin-bottom:clamp(1rem,3vh,2rem);position:relative}.main-input{width:100%;padding:clamp(.75rem,2vh,1.5rem) clamp(1rem,3vw,2rem);font-size:clamp(1rem,2.5vw,1.125rem);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--color-border);border-radius:clamp(12px,2vw,16px);color:var(--color-text-primary);transition:all var(--transition-normal);outline:none;box-sizing:border-box}.main-input::placeholder{color:var(--color-text-muted)}.main-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-glow-primary);transform:translateY(-2px)}.main-input.error{border-color:#ef4444;box-shadow:0 0 0 4px #ef444433}.error-display{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5;font-size:.875rem}.generate-button{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,1vw,1rem);width:100%;padding:clamp(.75rem,2vh,1.5rem) clamp(1rem,3vw,2rem);font-size:clamp(1rem,2.5vw,1.125rem);font-weight:600;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:clamp(12px,2vw,16px);color:#fff;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;box-sizing:border-box}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));transform:translateY(-3px);box-shadow:0 15px 35px #6366f166}.generate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.generate-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.generate-button:hover:before{left:100%}.qr-section{display:flex;align-items:center;justify-content:center;width:100%;max-width:min(500px,90vw);max-height:90vh;position:relative}.qr-container-main{width:100%;text-align:center;padding:clamp(1.5rem,4vh,3rem);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(16px,3vw,24px);border:1px solid var(--color-border);box-shadow:0 25px 50px #0000004d;box-sizing:border-box;max-height:85vh;overflow-y:auto}.qr-header{margin-bottom:clamp(1rem,3vh,2rem)}.qr-title{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;margin-bottom:clamp(.5rem,1vh,1rem);background:linear-gradient(135deg,var(--color-text-primary),var(--color-text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.qr-description{font-size:clamp(.875rem,2vw,1rem);color:var(--color-text-secondary);word-break:break-all;line-height:1.4}.url-display{color:var(--color-secondary);font-weight:600}.qr-display{margin-bottom:clamp(1rem,3vh,2rem);display:flex;justify-content:center}.qr-frame{padding:clamp(.75rem,2vh,2rem);background:#fff;border-radius:clamp(12px,2vw,20px);box-shadow:0 20px 40px #0003;position:relative;overflow:hidden;max-width:100%;box-sizing:border-box}.qr-frame:before{content:"";position:absolute;inset:-3px;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-accent));border-radius:23px;z-index:-1;opacity:0;transition:opacity var(--transition-normal)}.qr-frame:hover:before{opacity:.3}.qr-image{display:block;border-radius:clamp(8px,1.5vw,12px);width:100%;max-width:clamp(200px,40vw,320px);height:auto;object-fit:contain}.control-buttons{display:flex;gap:clamp(.5rem,2vw,1.5rem);justify-content:center;flex-wrap:wrap}.download-button,.new-button{display:flex;align-items:center;gap:clamp(.25rem,1vw,.5rem);padding:clamp(.5rem,1.5vh,1.5rem) clamp(.75rem,2vw,2rem);font-size:clamp(.875rem,2vw,1rem);font-weight:600;border:none;border-radius:clamp(8px,1.5vw,12px);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;min-width:clamp(120px,25vw,140px);justify-content:center;box-sizing:border-box}.download-button{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-dark));color:#fff}.download-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-secondary-light),var(--color-secondary));transform:translateY(-2px);box-shadow:0 10px 25px #14b8a666}.new-button{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);color:var(--color-text-primary)}.new-button:hover{background:var(--color-bg-glass-hover);border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:0 10px 25px #0003}.download-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slide-in{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.slide-in{animation:slide-in .6s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 768px){.control-buttons{flex-direction:column;align-items:center}.download-button,.new-button{width:100%;max-width:min(280px,80vw)}}@media (max-width: 480px){.input-container,.qr-container-main{margin:0 clamp(.5rem,2vw,1rem)}.brand-center{top:clamp(.8rem,3vh,1.5rem)}.main-content{margin-top:clamp(2rem,6vh,3.5rem)}}@media (max-height: 600px) and (orientation: landscape){.main-content{padding:clamp(.5rem,2vh,1rem);margin-top:clamp(1.5rem,4vh,2.5rem)}.input-container,.qr-container-main{padding:clamp(1rem,3vh,2rem)}.brand-center{top:clamp(.3rem,2vh,1rem)}.external-link-corner{top:clamp(.5rem,2vh,1rem);right:clamp(.5rem,2vw,1rem)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.geometric-grid,.floating-particles,.gradient-waves{display:none}.app-logo{animation:none;filter:drop-shadow(0 0 12px var(--color-glow-primary))}}@media (prefers-contrast: high){:root{--color-bg-glass: rgba(255, 255, 255, .15);--color-border: rgba(255, 255, 255, .3)}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
