*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--success-color: #059669;--background: #ffffff;--surface: #f8fafc;--border: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius: .5rem;--transition: all .2s ease-in-out}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--surface);color:var(--text-primary);min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:2rem 1rem;min-height:100vh;display:flex;flex-direction:column}@media (max-width: 768px){.container{padding:1rem .75rem}}@media (max-width: 480px){.container{padding:.75rem .5rem}}header{text-align:center;margin-bottom:3rem}header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}@media (max-width: 768px){header{margin-bottom:2rem}header h1{font-size:2rem}header p{font-size:1rem;padding:0 1rem}}@media (max-width: 480px){header h1{font-size:1.75rem;line-height:1.2}header p{font-size:.9rem}}main{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}@media (max-width: 768px){main{grid-template-columns:1fr;gap:2rem}}.generator-section{background:var(--background);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}@media (max-width: 768px){.generator-section{padding:1.5rem;margin:0 .5rem}}@media (max-width: 480px){.generator-section{padding:1rem;margin:0;border-radius:var(--radius)}}.qr-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.form-row{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.form-group{gap:.4rem}.qr-form{gap:1.25rem}}label{font-weight:600;color:var(--text-primary);font-size:.875rem}input,textarea,select{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-primary);transition:var(--transition);font-size:1rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}textarea{min-height:100px;resize:vertical}@media (max-width: 480px){input,textarea,select{padding:.65rem;font-size:16px}textarea{min-height:80px}}input[type=range]{padding:0;height:2rem;background:transparent;cursor:pointer}input[type=color]{width:3rem;height:3rem;padding:.25rem;cursor:pointer}#border-value{font-weight:600;color:var(--primary-color);min-width:1rem;text-align:center}small{color:var(--text-secondary);font-size:.75rem}.generate-btn{background:var(--primary-color);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition)}.generate-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.generate-btn:active{transform:translateY(0)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 640px){.generate-btn{padding:1rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.generate-btn{padding:1.125rem 1rem;font-size:1.05rem;font-weight:700}}.result-section{background:var(--background);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:2rem}@media (max-width: 768px){.result-section{padding:1.5rem;margin:0 .5rem;gap:1.5rem}}@media (max-width: 480px){.result-section{padding:1rem;margin:0;gap:1.25rem}}.qr-result{display:flex;justify-content:center;align-items:center;min-height:200px;width:100%}.qr-result svg{max-width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}.placeholder{display:flex;justify-content:center;align-items:center;width:100%}.result-actions{display:flex;gap:1rem;flex-direction:column;align-items:center;width:100%}.action-btn{background:var(--success-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:var(--transition);min-width:140px}@media (max-width: 640px){.action-btn{padding:.875rem 1.25rem;min-width:120px;font-size:.9rem}}@media (max-width: 480px){.action-btn{padding:1rem;min-width:0;width:100%;font-size:1rem}}.action-btn:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.action-btn:disabled{background:var(--secondary-color);cursor:not-allowed;transform:none;opacity:.6}@media (min-width: 640px){.result-actions{flex-direction:row;justify-content:center}}footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}footer p{color:var(--text-secondary);font-size:.875rem}footer a{color:var(--primary-color);text-decoration:none}footer a:hover{text-decoration:underline}@media (max-width: 768px){footer{margin-top:2rem;padding-top:1.5rem}footer p{font-size:.8rem;padding:0 1rem}}@media (max-width: 480px){footer{margin-top:1.5rem;padding-top:1rem}footer p{font-size:.75rem;line-height:1.4;padding:0 .5rem}}.loading{opacity:.6;pointer-events:none}.loading .generate-btn:after{content:"";width:1rem;height:1rem;margin-left:.5rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.branding-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.branding-section h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}input[type=file]{padding:.5rem;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:var(--transition)}input[type=file]:hover{border-color:var(--primary-color);background:var(--background)}input[type=file]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.logo-preview{margin-top:.5rem;max-width:100px;max-height:100px;border-radius:var(--radius);border:1px solid var(--border)}.qr-result.with-branding{display:flex;flex-direction:column;align-items:center;gap:1rem}.brand-text{font-weight:600;text-align:center;margin-top:1rem}.brand-text.small{font-size:.875rem}.brand-text.medium{font-size:1rem}.brand-text.large{font-size:1.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;color:var(--text-primary);font-size:.875rem}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary-color)}.checkbox-text{-webkit-user-select:none;user-select:none}.qr-clickable{cursor:pointer;transition:var(--transition);border-radius:var(--radius);position:relative}.qr-clickable:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.qr-clickable:active{transform:scale(.98)}.qr-clickable:after{content:"👆";position:absolute;top:-2rem;right:-1rem;font-size:1.5rem;opacity:0;transition:opacity .3s ease;pointer-events:none}.qr-clickable:hover:after{opacity:1}.click-status{text-align:center;margin-top:1rem;padding:.75rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}.click-status small{color:var(--primary-color);font-weight:500}@media (max-width: 768px){.qr-clickable{touch-action:manipulation}.qr-clickable:after{content:"👆 Tap to open";font-size:1rem;top:-2.5rem;right:50%;transform:translate(50%);background:var(--text-primary);color:#fff;padding:.25rem .5rem;border-radius:var(--radius);white-space:nowrap}}.click-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--success-color);color:#fff;padding:1rem 2rem;border-radius:var(--radius);font-weight:600;z-index:1000;opacity:0;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.action-row{display:flex;gap:1rem;width:100%;justify-content:center;margin-bottom:1rem}.action-row:last-child{margin-bottom:0}.full-width{width:100%!important;flex:1;min-width:0}@media (max-width: 640px){.action-row{flex-direction:column;gap:.75rem}}@media (max-width: 480px){button,.action-btn,.generate-btn{min-height:44px}.result-actions{gap:1rem}.action-btn:active,.generate-btn:active{transform:scale(.98)}.qr-form{scroll-behavior:smooth}input[type=color]{width:2.5rem;height:2.5rem;border-radius:50%}input[type=range]{height:2.5rem;cursor:pointer}}
