:root{--primary-color:#007bff;--primary-hover:#0056b3;--secondary-color:#6c757d;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--bg-primary:#ffffff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--text-primary:#333333;--text-secondary:#6c757d;--text-muted:#868e96;--border-color:#e9ecef;--shadow-sm:0 2px 10px rgba(0, 0, 0, 0.05);--shadow-md:0 4px 15px rgba(0, 0, 0, 0.1);--shadow-lg:0 8px 24px rgba(0, 0, 0, 0.15);--radius:8px;--radius-lg:12px;--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success:linear-gradient(135deg, #28a745 0%, #20c997 100%);--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.4s ease}[data-theme=dark]{--primary-color:#4dabf7;--primary-hover:#339af0;--secondary-color:#adb5bd;--success-color:#51cf66;--warning-color:#ffd43b;--danger-color:#ff6b6b;--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#404040;--text-primary:#ffffff;--text-secondary:#ced4da;--text-muted:#adb5bd;--border-color:#404040;--gradient-primary:linear-gradient(135deg, #4c6ef5 0%, #7950f2 100%);--gradient-success:linear-gradient(135deg, #51cf66 0%, #40c057 100%)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-normal);min-height:100vh}.container{max-width:800px;margin:20px auto;padding:20px;background:var(--bg-primary);min-height:calc(100vh - 40px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transition:all var(--transition-normal)}.theme-toggle{position:fixed;top:20px;right:20px;z-index:1000;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50px;padding:8px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-normal);user-select:none}.theme-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-toggle:focus{outline:2px solid var(--primary-color);outline-offset:2px}.theme-switch{width:40px;height:20px;background:var(--border-color);border-radius:10px;position:relative;transition:all var(--transition-normal)}.theme-switch.active{background:var(--primary-color)}.theme-switch::after{content:'';position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.theme-switch.active::after{transform:translateX(20px)}header{text-align:center;margin-bottom:30px;background:var(--gradient-primary);color:#fff;padding:2rem 1rem;border-radius:var(--radius-lg);position:relative;overflow:hidden}header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}header h1{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:700;margin-bottom:15px;position:relative;z-index:1}.description{background:rgba(255,255,255,.1);padding:15px;border-radius:var(--radius);margin-bottom:0;backdrop-filter:blur(10px);position:relative;z-index:1}.description p{margin-bottom:8px}.description p:last-child{margin-bottom:0}.accordion-container{margin:20px 0;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.accordion-item{border-bottom:1px solid var(--border-color)}.accordion-item:last-child{border-bottom:none}.accordion-header{background:var(--gradient-primary);color:#fff;padding:20px 25px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-normal);position:relative;overflow:hidden;user-select:none;border:none;width:100%;text-align:left}.accordion-header:hover{background:linear-gradient(135deg,#5a67d8 0,#6b46c1 100%);transform:translateY(-1px)}.accordion-header:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.accordion-header.active{background:linear-gradient(135deg,#4c51bf 0,#553c9a 100%)}.accordion-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:12px}.accordion-icon{font-size:20px}.accordion-arrow{font-size:16px;transition:transform var(--transition-normal);font-weight:700}.accordion-header.active .accordion-arrow{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height var(--transition-slow),padding var(--transition-slow);background:var(--bg-secondary)}.accordion-content.active{max-height:2000px;padding:30px 25px}.accordion-content-inner{background:var(--bg-primary);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow-sm)}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.accordion-content.active .accordion-content-inner{animation:fadeIn var(--transition-normal) ease forwards}.generator-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{margin-bottom:20px}.label-text{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.9rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}input,select{width:100%;padding:12px 15px;border:2px solid var(--border-color);border-radius:var(--radius);font-size:16px;transition:all var(--transition-normal);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;font-family:inherit}input:focus,select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(0,123,255,.1)}input:invalid{border-color:var(--danger-color)}input:invalid:focus{box-shadow:0 0 0 3px rgba(220,53,69,.1)}.help-text{color:var(--text-muted);font-size:.85rem;margin-top:4px;display:block}input[type=checkbox]{width:auto;margin:0;transform:scale(1.2);accent-color:var(--primary-color);cursor:pointer}.button-group{display:flex;gap:15px;justify-content:center;align-items:center;margin-top:25px}.generate-btn{padding:14px 25px;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-sm);flex:1;font-family:inherit}.generate-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#5a67d8 0,#6b46c1 100%)}.generate-btn:active{transform:translateY(0)}.generate-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.clear-btn{background:var(--danger-color)!important;flex:0 0 auto;min-width:60px}.clear-btn:hover{background:#c82333!important}.btn-icon{font-size:1.1em}.info-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:15px;margin-bottom:20px;border-left:4px solid var(--primary-color);font-size:14px;line-height:1.5}.result-container{margin-top:20px}.result{background:var(--gradient-success);color:#fff;border-radius:var(--radius);padding:20px;margin-top:15px;box-shadow:var(--shadow-md)}.result label{font-weight:600;display:block;margin-bottom:10px;font-size:.9rem}.result-display{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.result-text{flex:1;font-family:"Courier New",monospace;font-size:18px;font-weight:700;color:inherit;background:rgba(255,255,255,.2);padding:15px;border-radius:var(--radius);word-break:break-all;margin:10px 0;min-width:200px}.barcode{letter-spacing:2px;font-size:20px}.copy-btn{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 15px;border-radius:var(--radius);cursor:pointer;font-size:14px;transition:all var(--transition-normal);white-space:nowrap;font-family:inherit}.copy-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.copy-btn:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.copy-btn.copied{background:var(--success-color)!important;border-color:var(--success-color)!important;transform:scale(.95)}.copy-btn.copied::after{content:" ✓"}.barcode-preview{margin-top:1rem;text-align:center}.barcode-container{background:#fff;padding:1rem;border-radius:var(--radius);display:inline-block;margin-bottom:1rem;border:1px solid #ddd}.barcode-canvas{max-width:100%;border:1px solid #ddd;border-radius:4px}.download-options{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.download-btn{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-normal);font-size:.85rem;font-family:inherit}.download-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.download-btn:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.custom-mode{display:none}.custom-mode.active{display:block}.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--radius);padding:10px;margin-top:10px;display:none;font-size:14px}.error:not(:empty){display:block}.rate-limit-warning{background:var(--warning-color);color:#856404;padding:1rem;border-radius:var(--radius);margin-bottom:1rem;text-align:center;font-weight:600;border:1px solid #ffeaa7}.history-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;margin-top:30px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.history-section:hover{box-shadow:var(--shadow-md)}.history-section h3{color:var(--text-primary);margin-bottom:15px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.history-container{margin-bottom:15px}.history-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);padding:12px 15px;margin-bottom:8px;font-family:"Courier New",monospace;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-normal)}.history-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.history-item:last-child{margin-bottom:0}.history-code{color:var(--primary-color);font-weight:600}.history-type{font-size:11px;color:#fff;background:var(--primary-color);padding:4px 8px;border-radius:var(--radius);text-transform:uppercase;font-weight:600}.history-empty{color:var(--text-muted);font-style:italic;text-align:center;padding:2rem}.clear-history-btn{background:var(--danger-color);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius);font-size:.9rem;cursor:pointer;transition:all var(--transition-normal);width:100%;font-weight:600;font-family:inherit}.clear-history-btn:hover{background:#c82333;transform:translateY(-1px)}.clear-history-btn:focus{outline:2px solid var(--danger-color);outline-offset:2px}.app-footer{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color);text-align:center}.app-footer a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}.app-footer a:hover{text-decoration:underline;color:var(--primary-hover)}.app-footer a:focus{outline:2px solid var(--primary-color);outline-offset:2px}.footer-info{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-top:1rem}.footer-info hr{margin:1.5rem 0;border:none;border-top:1px solid var(--border-color)}.donation-section{background:var(--gradient-primary);color:#fff;padding:25px;border-radius:var(--radius-lg);margin:20px 0;text-align:center;position:relative;overflow:hidden}.donation-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.donation-title{font-size:1.3rem;margin-bottom:8px;font-weight:600;position:relative;z-index:1}.donation-subtitle{font-size:.95rem;opacity:.9;margin-bottom:20px;position:relative;z-index:1}.donation-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}.donation-btn{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:25px;text-decoration:none;font-size:.9rem;font-weight:600;transition:all var(--transition-normal);backdrop-filter:blur(10px);cursor:pointer}.donation-btn:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:translateY(-2px);color:#fff;text-decoration:none}.donation-btn:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.donation-btn:active{transform:translateY(0)}#toast-container{position:fixed;top:20px;right:20px;z-index:1001;max-width:350px;display:flex;flex-direction:column;gap:.5rem}.toast{background:var(--bg-primary);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-lg);border-left:4px solid;animation:slideIn var(--transition-normal) ease-out;font-size:14px;font-weight:500;color:var(--text-primary);max-width:100%;word-wrap:break-word}.toast-success{border-left-color:var(--success-color)}.toast-warning{border-left-color:var(--warning-color)}.toast-error{border-left-color:var(--danger-color)}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@media (max-width:768px){.container{margin:10px;padding:15px;min-height:calc(100vh - 20px)}.theme-toggle{top:10px;right:10px;padding:6px 12px}header{padding:1.5rem 1rem;margin-bottom:1.5rem}.accordion-header{padding:15px 20px}.accordion-title{font-size:16px}.accordion-icon{font-size:18px}.accordion-content.active{padding:20px 15px}.accordion-content-inner{padding:20px}.form-row{grid-template-columns:1fr;gap:10px}.button-group{flex-direction:column;gap:10px}.generate-btn{width:100%}.result-display{flex-direction:column;align-items:stretch;gap:10px}.result-text{min-width:unset;font-size:16px}.copy-btn{width:100%;margin-top:0}.donation-buttons{flex-direction:column;align-items:center;gap:8px}.donation-btn{width:200px}.history-item{flex-direction:column;align-items:flex-start;gap:.5rem}.history-type{align-self:flex-end}.download-options{flex-direction:column;gap:8px}.download-btn{width:100%}#toast-container{right:10px;left:10px;max-width:none}}@media (max-width:480px){.container{padding:10px;margin:5px;min-height:calc(100vh - 10px)}header{padding:1rem}header h1{font-size:1.4rem}.accordion-header{padding:12px 15px}.accordion-title{font-size:14px}.accordion-content-inner{padding:15px}.form-group{margin-bottom:15px}input,select{padding:10px 12px;font-size:16px}.generate-btn{padding:12px 20px;font-size:14px}.result-text{font-size:14px;padding:10px}.donation-section{padding:20px 15px}.donation-title{font-size:1.1rem}.donation-btn{width:100%;max-width:280px}.history-section{padding:15px}.theme-toggle{padding:4px 8px;gap:4px}.theme-switch{width:32px;height:16px}.theme-switch::after{width:12px;height:12px}.theme-switch.active::after{transform:translateX(16px)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@media (prefers-contrast:high){:root{--border-color:#000000;--text-muted:#666666}[data-theme=dark]{--border-color:#ffffff;--text-muted:#cccccc}}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}.copy-btn:focus-visible,.download-btn:focus-visible,button:focus-visible{outline-offset:4px}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.generate-btn:disabled:hover{transform:none!important;box-shadow:var(--shadow-sm)}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container{animation:fadeInUp .6s ease-out}.accordion-item{animation:fadeInUp .6s ease-out;animation-fill-mode:both}.accordion-item:first-child{animation-delay:.1s}.accordion-item:nth-child(2){animation-delay:.2s}.accordion-item:nth-child(3){animation-delay:.3s}.history-section{animation:fadeInUp .6s ease-out .4s both}@media print{.button-group,.donation-section,.download-options,.theme-toggle{display:none!important}.container{box-shadow:none;margin:0;padding:10px}.accordion-content{max-height:none!important;padding:10px 0!important}.accordion-content-inner{box-shadow:none;padding:10px}.result{background:#f0f0f0!important;color:#000!important}.result-text{background:#fff!important;color:#000!important;border:1px solid #000}}.accordion-content{contain:layout style}.barcode-canvas{will-change:contents}.copy-btn,.generate-btn,.theme-toggle{will-change:transform}.accordion-content:not(.active){visibility:hidden}.accordion-content.active{visibility:visible}.form-group label{display:block;width:100%}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:0}.checkbox-label input[type=checkbox]{width:auto;margin:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.result-container[aria-live]{min-height:0}.error[role=alert]{border-radius:var(--radius);font-weight:500}.barcode-canvas[role=img]{border-radius:4px}.generate-btn.loading::after{content:'';width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}@keyframes spin{to{transform:rotate(360deg)}}