.qrtool__panels{grid-template-columns:1fr 1fr}.qrtool__presets{display:inline-flex;flex-wrap:wrap;gap:4px}.qrtool__preset{padding:4px 10px;font-size:12.5px}.qrtool__toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-soft);cursor:pointer;user-select:none}.qrtool__toggle input{margin:0;cursor:pointer}.qrtool__select{padding:4px 8px;font-size:13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.qrtool__select:hover{border-color:var(--color-primary)}.qrtool__select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.qrtool__controls{display:flex;flex-direction:column;gap:14px;margin-top:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-soft)}.qrtool__field{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--color-text-soft)}.qrtool__field-label{min-width:80px;font-weight:500;color:var(--color-text)}.qrtool__field-hint{flex:1;min-width:200px;font-size:12.5px;color:var(--color-text-muted)}.qrtool__range{flex:1;min-width:180px;cursor:pointer;accent-color:var(--color-primary)}.qrtool__colors{flex-wrap:wrap;gap:16px}.qrtool__color-item{display:inline-flex;align-items:center;gap:6px;font-size:13px}.qrtool__color-item label{color:var(--color-text);font-weight:500}.qrtool__color-picker{width:44px;height:44px;min-width:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:none;cursor:pointer}.qrtool__color-picker::-webkit-color-swatch-wrapper{padding:4px}.qrtool__color-picker::-webkit-color-swatch{border:none;border-radius:4px}.qrtool__color-picker::-moz-color-swatch{border:none;border-radius:4px}.qrtool__color-text{width:80px;padding:4px 8px;font-size:13px;font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text)}.qrtool__warn{margin-top:8px;padding:8px 12px;font-size:13px;color:var(--color-warn);background:var(--color-warn-soft);border-left:3px solid var(--color-warn);border-radius:var(--radius-sm)}.qrtool__preview-panel{display:flex;flex-direction:column}.qrtool__preview-actions{display:inline-flex;flex-wrap:wrap;gap:6px}.qrtool__canvas-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;min-height:320px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);background-image:linear-gradient(45deg,var(--color-bg-soft) 25%,transparent 25%),linear-gradient(-45deg,var(--color-bg-soft) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-bg-soft) 75%),linear-gradient(-45deg,transparent 75%,var(--color-bg-soft) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.qrtool__canvas{max-width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);animation:qr-appear .3s var(--ease-out)}@keyframes qr-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.qrtool__empty{position:absolute;color:var(--color-text-muted);font-size:14px}.qrtool__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0;padding:0}.qrtool__stat-item{padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-soft);text-align:center}.qrtool__stat-item dt{font-size:11.5px;color:var(--color-text-muted);margin-bottom:2px}.qrtool__stat-item dd{margin:0;font-size:13px;font-weight:600;color:var(--color-text);font-family:var(--font-mono)}.qrtool__error{margin-top:10px;padding:8px 12px;font-size:13px;color:var(--color-error);background:var(--color-danger-soft);border-left:3px solid var(--color-error);border-radius:var(--radius-sm)}@media(prefers-color-scheme:dark){.qrtool__error{color:#fca5a5;background:var(--color-danger-soft)}}@media(max-width:768px){.qrtool__panels{grid-template-columns:1fr}.qrtool__stats{grid-template-columns:repeat(2,1fr)}.qrtool__field-label{min-width:64px}.qrtool__field-hint{min-width:100%;font-size:12px}.qrtool__canvas-wrap{min-height:240px;padding:16px}}@media(max-width:375px){.qrtool__stats{grid-template-columns:1fr}.qrtool__color-item{flex-wrap:wrap}}
