[hidden]{display:none!important}.qr-tool-wrapper{background:0 0;border:none;width:100%;max-width:1600px;margin:0 auto;padding:0}.qr-tool-layout{grid-template-columns:1fr 380px;align-items:start;gap:1rem;width:100%;display:grid}.formatter-header{background:var(--bg-surface);border:1px solid var(--border-light);border-bottom:none;padding:1.25rem 1.5rem 0}.formatter-header h1{margin:0;font-size:1.4rem;font-weight:800}.formatter-header p{color:var(--text-muted);margin:0;font-size:.8rem}.qr-main{background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-main);flex-direction:column;gap:0;padding:1.25rem;display:flex}.tooltip-trigger{cursor:pointer;color:var(--text-muted);vertical-align:middle;background:0 0;border:none;align-items:center;padding:0 0 0 .25rem;display:inline-flex;position:relative}.tooltip-trigger:hover{color:var(--text-accent)}.tooltip-trigger:after{content:attr(data-tooltip);background:var(--text-main);color:var(--bg-body);white-space:nowrap;pointer-events:none;opacity:0;z-index:10;border-radius:2px;padding:.3rem .6rem;font-family:ui-monospace,monospace;font-size:.7rem;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-trigger:hover:after{opacity:1}.tooltip-trigger:focus-visible:after{opacity:1}.qr-section-heading{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 .4rem;padding-top:.6rem;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:600}.qr-section-heading:first-child{padding-top:0}.qr-card{background:var(--bg-input);border:1px solid var(--border-light);margin-bottom:.75rem;padding:1rem}.field-inline-error{color:var(--text-error);margin-left:.5rem;font-family:ui-monospace,monospace;font-size:.7rem}.frame-option input[type=radio]:disabled~.frame-option-inner{opacity:.35;cursor:not-allowed;pointer-events:none}.frame-option input[type=radio]:disabled+.frame-option-inner{opacity:.35;cursor:not-allowed;pointer-events:none}.qr-frame-picker input[type=radio]:disabled~*{cursor:not-allowed}.frame-option:has(input:disabled){cursor:not-allowed}input[type=color]:disabled{opacity:.35;cursor:not-allowed}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:1;pointer-events:none;background-color:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;border-color:var(--border-light)!important}.btn-primary:disabled,.btn-primary[aria-disabled=true]{background-color:var(--btn-disabled-bg)!important;border-color:var(--border-light)!important;color:var(--btn-disabled-text)!important}.qr-type-nav{background:var(--bg-surface);border:1px solid var(--border-light);border-top:none;border-bottom:2px solid var(--border-light);gap:.25rem;margin-bottom:1rem;padding:0 1.5rem;display:flex}.qr-type-nav a{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;padding:.5rem 1rem;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:700;text-decoration:none;transition:color .15s,border-color .15s}.qr-type-nav a:hover{color:var(--text-accent)}.qr-type-nav a[aria-current=page]{color:var(--text-accent);border-bottom:2px solid var(--border-accent);padding-bottom:.5rem}.field-group{flex-direction:column;gap:.5rem;display:flex}.field-group label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:700;display:block}.field-group textarea{border:1px solid var(--border-light);background:var(--bg-surface);width:100%;color:var(--text-main);border-radius:6px;padding:.6rem .75rem;font-family:ui-monospace,monospace;font-size:.875rem;line-height:1.5;transition:border-color .2s}.field-group input[type=url]{border:1px solid var(--border-light);background:var(--bg-surface);width:100%;color:var(--text-main);border-radius:6px;padding:.6rem .75rem;font-family:ui-monospace,monospace;font-size:.875rem;line-height:1.5;transition:border-color .2s}.field-group input[type=text]{border:1px solid var(--border-light);background:var(--bg-surface);width:100%;color:var(--text-main);border-radius:6px;padding:.6rem .75rem;font-family:ui-monospace,monospace;font-size:.875rem;line-height:1.5;transition:border-color .2s}.field-group input[type=password]{border:1px solid var(--border-light);background:var(--bg-surface);width:100%;color:var(--text-main);border-radius:6px;padding:.6rem .75rem;font-family:ui-monospace,monospace;font-size:.875rem;line-height:1.5;transition:border-color .2s}.field-group textarea{border-color:var(--border-accent)}.field-group input[type=url]{border-color:var(--border-accent)}.field-group input:focus,.field-group textarea:focus{border-color:var(--text-accent);outline:none;box-shadow:0 0 0 2px rgba(88,166,255,.15)}.field-hint{color:var(--text-muted);margin:0;font-size:.75rem}.field-group fieldset{border:1px solid var(--border-light);border-radius:6px;flex-direction:column;gap:.75rem;margin:0;padding:1rem;display:flex}.field-group fieldset legend{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 .25rem;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:700}.wifi-security-group{flex-wrap:wrap;gap:1.25rem;display:flex}.wifi-security-group label{text-transform:none;letter-spacing:0;color:var(--text-main);cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.wifi-password-row{align-items:flex-end;gap:.5rem;display:flex}.wifi-password-row input{flex:1}.wifi-hidden-label{cursor:pointer;align-items:center;gap:.5rem;text-transform:none!important;letter-spacing:0!important;color:var(--text-main)!important;flex-direction:row!important;font-size:.85rem!important;display:flex!important}#qr-error{color:var(--text-error);background:var(--bg-error);border-left:3px solid var(--text-error);border-radius:2px;padding:.6rem .9rem;font-size:.8rem;display:none}#qr-error:not(:empty){display:block}.qr-customise{flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.qr-color-row{flex-direction:column;gap:.5rem;display:flex}.qr-color-inputs{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.qr-color-inputs label{color:var(--text-main);cursor:pointer;align-items:center;gap:.5rem;font-family:ui-monospace,monospace;font-size:.8rem;display:flex}.qr-color-inputs input[type=color]{border:1px solid var(--border-light);background:var(--bg-input);cursor:pointer;border-radius:4px;width:32px;height:32px;padding:2px}#contrast-warning{color:var(--text-error);font-size:.75rem}.qr-frame-picker{border:none;flex-direction:column;gap:.5rem;margin:.75rem 0 0;padding:0;display:flex}.qr-frame-picker legend{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:700}.frame-options-row{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.frame-option{cursor:pointer;flex-direction:column;align-items:center;gap:.4rem;display:flex}.frame-option input[type=radio]{opacity:0;width:0;height:0;position:absolute}.frame-option-inner{border:1px solid var(--border-light);background:var(--bg-surface);border-radius:6px;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem;transition:border-color .15s,background .15s;display:flex}.frame-option-inner:hover{border-color:var(--border-accent)}.frame-option input[type=radio]:checked+.frame-option-inner{border-color:var(--border-accent);background:var(--bg-surface)}.frame-option input[type=radio]:focus-visible+.frame-option-inner{outline:2px solid var(--border-accent);outline-offset:2px}.frame-option-inner span{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.7rem}.frame-none-preview{border:2px dashed var(--border-light);width:64px;height:64px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;font-family:ui-monospace,monospace;font-size:.65rem;display:flex}.frame-label-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.frame-label-row label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;white-space:nowrap;font-family:ui-monospace,monospace;font-size:.75rem;font-weight:700}.qr-select{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);cursor:pointer;padding:.4rem .6rem;font-family:ui-monospace,monospace;font-size:.75rem}.frame-label-custom-input{background:var(--bg-input);border:1px solid var(--border-light);color:var(--text-main);width:180px;padding:.4rem .6rem;font-family:ui-monospace,monospace;font-size:.75rem}.qr-export{flex-direction:column;gap:.5rem;display:flex}#copy-svg-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;display:inline-flex}#copy-svg-btn svg{flex-shrink:0;display:block}#reset-colors-btn:disabled{opacity:.35;cursor:not-allowed}.qr-field-sublabel{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:.75rem 0 .4rem;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:600}.btn-group{gap:.25rem;display:flex}.qr-preview-panel{background:var(--bg-surface);border:1px solid var(--border-light);flex-direction:column;align-self:start;align-items:center;gap:.75rem;max-height:calc(100vh - 2rem);padding:1.25rem;display:flex;position:sticky;top:1rem;overflow-y:auto}#qr-preview-container{justify-content:center;align-items:center;width:100%;min-height:280px;display:flex}.qr-empty-state{background:var(--bg-input);border:1px dashed var(--border-light);text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:2rem 1rem;display:flex}.qr-empty-icon svg{color:var(--border-light)}.qr-empty-state p{color:var(--text-muted);margin:0;font-size:.875rem}.qr-empty-hint{color:var(--text-muted);opacity:.7;font-size:.75rem}.qr-live{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}#qr-svg-slot{width:100%;max-width:280px}#qr-svg-slot svg{width:100%;height:auto;display:block}.qr-live-caption{color:var(--text-muted);text-align:center;word-break:break-all;margin:0;font-family:ui-monospace,monospace;font-size:.7rem}.qr-byte-counter{color:var(--text-muted);margin:0;font-family:ui-monospace,monospace;font-size:.75rem}@media (max-width:768px){.qr-tool-layout{grid-template-columns:1fr}.qr-main{order:1}.qr-preview-panel{order:2;max-height:none;position:static}.wifi-security-group{flex-direction:column;gap:.5rem}}