:root,[data-theme=dark]{--bg-primary:#1b1f27;--bg-secondary:#232830;--bg-card:#272c36;--bg-input:#2a2f3a;--border:#363c4a;--border-focus:#3b82f6;--text-primary:#e2e4e9;--text-secondary:#9ca3b0;--text-muted:#6b7280;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-glow:#3b82f61a;--success:#34d399;--success-bg:#34d39914;--warning:#fbbf24;--warning-bg:#fbbf2414;--error:#f87171;--error-bg:#f8717114;--error-light:#fca5a5;--hint-red:#917878;--info:#3b82f6;--info-bg:#3b82f614;--panel-bg:#272c36a6;--panel-border:#ffffff0f;--header-bg:#1e232bd9;--input-bg:#ffffff0a;--input-border:#ffffff14;--input-focus-bg:#ffffff0f;--scrollbar-thumb:#3a3f4b;--scrollbar-hover:#4b5260;--overlay-bg:#0000008c;--dialog-bg:#272c36e6;--subtle-bg:#ffffff0a;--subtle-border:#ffffff14;--subtle-hover:#ffffff0f;--panel-shadow:0 4px 24px #0000001f;--dialog-shadow:0 16px 48px #0006;--logo-glow:drop-shadow(0 0 6px #3b82f666);--badge-bg:#3b82f614;--badge-border:#3b82f61a;--badge-gradient:linear-gradient(135deg, #3b82f61f, #8b5cf61a)}[data-theme=light]{--bg-primary:#f0f2f5;--bg-secondary:#e8eaed;--bg-card:#fff;--bg-input:#f5f6f8;--border:#d1d5db;--border-focus:#3b82f6;--text-primary:#1f2937;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent:#3b82f6;--accent-hover:#2563eb;--accent-glow:#3b82f614;--success:#059669;--success-bg:#05966914;--warning:#d97706;--warning-bg:#d9770614;--error:#dc2626;--error-bg:#dc26260f;--error-light:#f87171;--hint-red:#b85c5c;--info:#3b82f6;--info-bg:#3b82f60f;--panel-bg:#ffffffd9;--panel-border:#0000000f;--header-bg:#ffffffb8;--input-bg:#00000008;--input-border:#0000001a;--input-focus-bg:#ffffffe6;--scrollbar-thumb:#c1c5cd;--scrollbar-hover:#a8adb8;--overlay-bg:#0000004d;--dialog-bg:#fffffff2;--subtle-bg:#00000008;--subtle-border:#00000014;--subtle-hover:#0000000d;--panel-shadow:0 4px 24px #0000000f;--dialog-shadow:0 16px 48px #0000001f;--logo-glow:drop-shadow(0 0 6px #3b82f640);--badge-bg:#3b82f60f;--badge-border:#3b82f61f;--badge-gradient:linear-gradient(135deg, #3b82f614, #8b5cf60f)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}#root{min-height:100vh}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.dot-field-container{width:100%;height:100%;position:relative}.guide-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(10px);z-index:500;justify-content:center;align-items:center;padding:16px;animation:.25s ease-out guideOverlayIn;display:flex;position:fixed;inset:0}@keyframes guideOverlayIn{0%{opacity:0}to{opacity:1}}.guide-dialog{background:var(--dialog-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--subtle-border);width:fit-content;max-width:96vw;max-height:92vh;box-shadow:var(--dialog-shadow);border-radius:20px;flex-direction:column;animation:.35s cubic-bezier(.34,1.56,.64,1) guideDialogIn;display:flex;position:relative;overflow:hidden}@keyframes guideDialogIn{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.guide-glow{filter:blur(60px);opacity:.18;pointer-events:none;z-index:0;border-radius:50%;width:260px;height:260px;animation:8s ease-in-out infinite guideGlowFloat;position:absolute}.guide-glow-1{background:var(--accent);top:-80px;left:-60px}.guide-glow-2{background:#8b5cf6;animation-delay:-4s;bottom:-100px;right:-80px}@keyframes guideGlowFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-10px)scale(1.1)}}.guide-close-btn{background:var(--subtle-bg);border:1px solid var(--subtle-border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;z-index:20;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:14px;right:14px}.guide-close-btn:hover:not(:disabled){color:var(--error);background:#f871711a;border-color:#f8717140;transform:scale(1.05)}.guide-close-btn:disabled{opacity:.35;cursor:not-allowed}.guide-header{border-bottom:1px solid var(--panel-border);z-index:2;background:linear-gradient(#ffffff05,#0000);flex-shrink:0;align-items:center;gap:14px;padding:18px 24px 14px;display:flex;position:relative}.guide-header-icon{background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.guide-header-icon:before{content:"";opacity:.15;z-index:-1;background:linear-gradient(135deg,currentColor,#0000);border-radius:15px;position:absolute;inset:-2px}.guide-header-text{flex:1;min-width:0}.guide-header-badge{color:var(--accent-hover);background:var(--badge-bg);border:1px solid var(--badge-border);letter-spacing:.5px;border-radius:20px;align-items:center;gap:4px;margin-bottom:4px;padding:2px 9px;font-size:10px;font-weight:600;display:inline-flex}.guide-title{color:var(--text-primary);letter-spacing:.3px;margin:0;font-size:17px;font-weight:700}.guide-image-wrap{background:var(--subtle-bg);border:1px solid var(--panel-border);border-radius:14px;flex-direction:column;flex:auto;min-height:220px;margin:16px 0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.guide-image{object-fit:contain;opacity:0;width:100%;height:auto;margin:auto;transition:opacity .3s;display:block}.guide-image.loaded{opacity:1}.guide-image-skeleton{color:var(--text-muted);background:var(--subtle-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;inset:0}.guide-image-skeleton.slow{color:var(--warning)}.guide-skeleton-hint{color:var(--text-muted);opacity:.8;font-size:11px}.guide-skeleton-spinner{border:3px solid var(--subtle-border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite guideSpin}@keyframes guideSpin{to{transform:rotate(360deg)}}.guide-image-error{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:280px;font-size:13px;display:flex}.guide-footer{z-index:2;flex-direction:column;flex-shrink:0;gap:14px;padding:8px 24px 18px;display:flex;position:relative}.guide-footer-row{justify-content:center;align-items:center;gap:12px;display:flex}.guide-pager{background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:22px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.guide-pager-dot{min-width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;padding:0 6px;font-family:Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:700;transition:all .18s;display:flex}.guide-pager-dot.done{color:var(--accent-hover)}.guide-pager-dot.done:hover:not(:disabled){background:var(--accent);color:#fff}.guide-pager-dot.active{color:#fff;background:linear-gradient(135deg, var(--accent), #6366f1);cursor:default;box-shadow:0 3px 12px #3b82f64d}.guide-pager-dot:disabled{cursor:not-allowed;opacity:.5}.guide-btn{cursor:pointer;white-space:nowrap;background:linear-gradient(135deg, var(--accent), #6366f1);color:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #3b82f638}.guide-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #3b82f666}.guide-btn:active:not(:disabled){transform:translateY(0)scale(.99)}.guide-btn:disabled{background:var(--subtle-bg);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.guide-btn-progress{background:linear-gradient(135deg, var(--accent), #6366f1);opacity:.15;z-index:0;transition:width 1s linear;position:absolute;top:0;bottom:0;left:0}.guide-btn-countdown,.guide-btn-text{z-index:1;align-items:center;display:inline-flex;position:relative}.guide-btn-countdown-num{color:var(--accent-hover);font-family:Cascadia Code,Fira Code,monospace;font-size:16px;font-weight:700;line-height:1;animation:1s ease-in-out infinite guideCountdownPulse}.guide-btn-spinner{z-index:1;border-width:2px;width:16px;height:16px;position:relative}.guide-btn-countdown-unit{color:var(--text-muted);margin-left:1px;font-size:11px;font-weight:600}@keyframes guideCountdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media (width<=640px){.guide-dialog{border-radius:16px;width:100%;max-height:95vh}.guide-header{gap:10px;padding:14px 18px 10px}.guide-header-icon{border-radius:11px;width:36px;height:36px}.guide-title{font-size:15px}.guide-pager-dot{min-width:24px;height:24px;font-size:12px}.guide-image-wrap{border-radius:10px;margin:12px 16px}.guide-image-error{min-height:200px}.guide-footer{gap:10px;padding:6px 16px 14px}.guide-btn{border-radius:10px;padding:10px 16px;font-size:13px}}.qrcode-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);z-index:400;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out overlayIn;display:flex;position:fixed;inset:0}.qrcode-dialog{background:var(--dialog-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--subtle-border);width:100%;max-width:920px;max-height:90vh;box-shadow:var(--dialog-shadow);border-radius:16px;flex-direction:column;animation:.25s ease-out dialogIn;display:flex;overflow:hidden}.qrcode-header{border-bottom:1px solid var(--panel-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.qrcode-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.qrcode-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.qrcode-close:hover{color:var(--error);background:#f871711a}.qrcode-body{flex:1;padding:20px 22px;overflow-y:auto}.qr-section{margin-bottom:16px}.qr-section-stack{flex-direction:column;gap:0;display:flex}.qr-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.qr-input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:all .2s}.qr-input:focus{border-color:var(--accent);background:var(--subtle-hover);box-shadow:0 0 0 3px #3b82f61f}.qr-input::placeholder{color:var(--text-muted)}.qr-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qr-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qr-input[type=number]{appearance:textfield}.qr-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.qr-select option{background:var(--bg-card);color:var(--text-primary)}.qr-type-row{gap:8px;display:flex}.qr-type-btn{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:1;padding:9px 14px;font-size:14px;font-weight:500;transition:all .2s}.qr-type-btn:hover{color:var(--text-primary);background:#3b82f60f;border-color:#3b82f64d}.qr-type-btn.active{color:var(--accent-hover);background:linear-gradient(135deg,#3b82f624,#3b82f60f);border-color:#3b82f659;font-weight:600;box-shadow:0 0 16px #3b82f614}.qr-input-row{gap:8px;display:flex}.qr-batch-btn{background:var(--subtle-bg);color:var(--text-secondary);border:1px solid var(--subtle-border);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.qr-batch-btn:hover{color:var(--accent-hover);background:#3b82f61a;border-color:#3b82f640}.qr-batch-hint{color:var(--accent-hover);margin-top:6px;font-size:12px}.qr-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qr-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.qr-color-row{align-items:stretch;gap:6px;display:flex}.qr-color-picker{border:1px solid var(--input-border);background:var(--input-bg);cursor:pointer;border-radius:8px;flex-shrink:0;width:38px;height:36px;padding:2px}.qr-color-text{flex:1;min-width:0}.qr-action-row{gap:8px;margin-top:4px;display:flex}.qr-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.qr-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.qr-btn-primary{background:linear-gradient(135deg, var(--accent), #6366f1);color:#fff;flex:1;box-shadow:0 2px 10px #3b82f633}.qr-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 18px #3b82f659}.qr-btn-download{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);flex:1;box-shadow:0 2px 10px #3b82f633}.qr-btn-download:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 18px #3b82f659}.qr-btn-clear{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 10px #f8717133}.qr-btn-clear:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 18px #f8717159}.qr-btn-cancel{background:var(--subtle-bg);color:var(--text-secondary);border:1px solid var(--subtle-border);flex:1}.qr-btn-cancel:hover:not(:disabled){color:var(--text-primary);background:var(--subtle-hover)}.qr-btn-block{width:100%;margin-bottom:12px}.qr-result{background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:12px;margin-top:18px;padding:16px}.qr-result-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.qr-result-title{color:var(--text-primary);font-size:14px;font-weight:600}.qr-result-hint{color:var(--text-muted);font-size:12px}.qr-result-grid{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.qr-result-item{background:var(--bg-card);border:1px solid var(--subtle-border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;width:170px;padding:10px;transition:all .2s;display:flex}.qr-result-item:hover{border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 18px #3b82f61f}.qr-result-item svg{max-width:150px;height:auto}.qr-result-text{word-break:break-all;text-align:center;width:150px;color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.qr-modal{-webkit-backdrop-filter:blur(4px);z-index:10;background:#0000008c;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out overlayIn;display:flex;position:absolute;inset:0}.qr-modal-inner{background:var(--dialog-bg);border:1px solid var(--subtle-border);width:100%;max-width:460px;box-shadow:var(--dialog-shadow);border-radius:14px;max-height:85vh;padding:22px 24px;animation:.25s ease-out dialogIn;position:relative;overflow-y:auto}.qr-modal-title{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:600}.qr-modal-desc{color:var(--text-muted);margin-bottom:14px;font-size:12px;line-height:1.5}.qr-textarea{resize:none;min-height:160px;font-family:Cascadia Code,Fira Code,monospace;font-size:12px;line-height:1.6}.qr-modal-actions{gap:8px;margin-top:14px;display:flex}.qr-page-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:240px;margin-bottom:12px;display:grid;overflow-y:auto}.qr-page-btn{background:var(--input-bg);color:var(--text-secondary);border:1px solid var(--input-border);cursor:pointer;border-radius:8px;padding:8px 6px;font-size:12px;font-weight:500;transition:all .15s}.qr-page-btn:hover{color:var(--accent-hover);background:#3b82f61a;border-color:#3b82f640}.qr-preview-modal{z-index:20}.qr-preview-inner{text-align:center;max-width:560px}.qr-preview-close{position:absolute;top:12px;right:12px}.qr-preview-counter{color:var(--text-muted);margin-bottom:14px;font-size:12px}.qr-preview-code{justify-content:center;align-items:center;min-height:200px;margin-bottom:14px;display:flex}.qr-preview-code svg{max-width:300px;height:auto}.qr-preview-text{color:var(--text-secondary);word-break:break-all;max-width:420px;margin:0 auto 18px;font-size:13px;line-height:1.6}.qr-preview-actions{gap:8px;display:flex}.qr-preview-actions .qr-btn{flex:1}@media (width<=720px){.qrcode-dialog{border-radius:14px;max-width:100%;max-height:92vh}.qr-grid-3{grid-template-columns:1fr;gap:8px}.qr-grid-2{grid-template-columns:1fr 1fr;gap:8px}.qr-page-grid{grid-template-columns:repeat(3,1fr)}.qr-result-item{width:calc(50% - 6px)}.qr-action-row{flex-wrap:wrap}.qr-action-row .qr-btn{flex:100%}.qr-preview-actions{flex-direction:column}}@media (width<=480px){.qrcode-overlay{padding:8px}.qrcode-header,.qrcode-body{padding:14px 16px}.qr-modal-inner{padding:18px 16px}.qr-result-item{width:100%}}.app{z-index:1;background:0 0;flex-direction:column;min-height:100dvh;display:flex;position:relative}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.header{background:var(--header-bg);-webkit-backdrop-filter:blur(20px);z-index:100;justify-content:center;height:52px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 12px #0000000f}.header:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.4;height:1px;position:absolute;bottom:0;left:5%;right:5%}.header-inner{border-radius:0 0 16px 16px;justify-content:space-between;align-items:center;width:100%;max-width:1200px;height:52px;padding:0 20px;display:flex;position:relative}.logo{align-items:center;gap:8px;display:flex}.logo-icon{object-fit:contain;width:24px;height:24px;filter:var(--logo-glow)}.logo-text{color:var(--text-primary);letter-spacing:-.5px;font-size:16px;font-weight:700}.logo-sub{color:var(--accent-hover);background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500}.header-badge{background:var(--badge-gradient);color:var(--accent-hover);letter-spacing:.5px;border:1px solid #3b82f61a;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:600}.header-right{align-items:center;gap:8px;display:flex}.main{flex:1;justify-content:center;gap:20px;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:24px;display:flex}.footer{background:var(--header-bg);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;padding:0 24px;display:flex;position:relative;box-shadow:0 -1px 12px #0000000f}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-hover), transparent);height:1px;position:absolute;top:0;left:5%;right:5%}.footer-inner{color:var(--text-muted);border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:1200px;padding:8px 20px;font-size:11px;display:flex;position:relative}.footer-left{align-items:center;gap:8px;display:flex}.footer-right{color:var(--text-muted);align-items:center;gap:10px;font-size:11px;display:flex}.footer-brand{color:var(--accent-hover);font-size:11px;font-weight:600}.footer-dot{background:var(--text-muted);opacity:.4;border-radius:50%;width:3px;height:3px}.version-tag{background:var(--subtle-bg);color:var(--text-muted);border:1px solid var(--panel-border);border-radius:20px;flex-shrink:0;padding:2px 10px;font-size:10px}.footer-divider{opacity:.2}.panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:16px;padding:24px;overflow-y:auto}.submit-panel{flex-direction:column;flex-shrink:1;width:480px;min-width:320px;max-width:560px;display:flex}.submit-panel .form-group:last-of-type{flex-direction:column;flex:1;min-height:80px;display:flex}.submit-panel .form-group:last-of-type .textarea{flex:1;min-height:80px}.result-panel{flex-direction:column;flex:1;min-width:0;display:flex}.result-panel-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.empty-icon-wrap{background:var(--subtle-bg);border:1px solid var(--panel-border);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:4px;display:flex}.empty-logo{object-fit:contain;opacity:.4;width:36px;height:36px}.empty-text{color:var(--text-secondary);font-size:14px;font-weight:500}.empty-hint{color:var(--text-muted);font-size:12px}.section-title{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:16px;font-weight:600;display:flex}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.label-hint{color:var(--hint-red);margin-left:4px;font-size:11px;font-weight:400}.section-hint{color:var(--hint-red);margin-left:8px;font-size:11px;font-weight:400}.input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:all .2s}.input:focus{border-color:var(--accent);background:var(--subtle-hover);box-shadow:0 0 0 3px #3b82f61f,0 0 16px #3b82f60f}.input::placeholder{color:var(--text-muted)}.textarea{resize:none;font-family:Cascadia Code,Fira Code,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.code-count{color:var(--text-muted);margin-top:6px;font-size:12px}.plant-selector{gap:8px;display:flex}.plant-btn{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-secondary);cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.plant-btn:hover{color:var(--text-primary);background:#3b82f60f;border-color:#3b82f64d}.plant-btn.active{color:var(--accent-hover);background:linear-gradient(135deg,#3b82f61f,#3b82f60f);border-color:#3b82f659;font-weight:600;box-shadow:0 0 16px #3b82f614}.plant-btn:active{transform:scale(.97)}.plant-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:2s ease-in-out infinite breathe;position:absolute;top:6px;right:6px}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.btn-submit{background:linear-gradient(135deg, var(--accent), #6366f1);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px 20px;font-size:15px;font-weight:600;transition:all .25s;display:flex;box-shadow:0 4px 16px #3b82f633}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #3b82f659}.btn-submit:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.status-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.status-indicator{border-radius:20px;align-items:center;gap:6px;padding:5px 14px;font-size:13px;font-weight:600;display:flex}.status-time{color:var(--text-muted);font-size:12px}.error-message{color:var(--error);background:#f871710f;border:1px solid #f871711a;border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:13px;display:flex}.container-stats{color:var(--text-muted);text-align:right;margin-top:10px;font-size:12px}.duplicate-hint{color:var(--warning);margin-left:6px}.result-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.result-item{border-radius:8px;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.result-item.pass{background:#34d3990f}.result-item.reject{background:#f871710f}.result-code{min-width:130px;color:var(--text-primary);flex-shrink:0;font-family:Cascadia Code,Fira Code,monospace;font-size:12px;font-weight:600}.result-badge{word-break:break-all;flex:1;align-items:center;gap:4px;min-width:0;font-size:12px;font-weight:500;display:flex}.badge-pass{color:var(--success)}.badge-reject{color:var(--error)}.spin{animation:1s linear infinite spin}.confirm-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);z-index:300;justify-content:center;align-items:center;animation:.2s ease-out overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--dialog-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--subtle-border);width:90%;max-width:400px;box-shadow:var(--dialog-shadow);border-radius:16px;padding:28px 32px 20px;animation:.25s ease-out dialogIn;position:relative}.dialog-close-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:12px;right:12px}.dialog-close-btn:hover{color:var(--error);background:#f871711a}@keyframes dialogIn{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-title{color:var(--error);margin-bottom:14px;font-size:17px;font-weight:700}.confirm-content{color:var(--error);margin-bottom:24px;font-size:16px;line-height:1.7}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-cancel{background:var(--subtle-bg);color:var(--text-muted);border:1px solid var(--subtle-border);cursor:pointer;border-radius:10px;padding:8px 20px;font-size:14px;transition:all .15s}.confirm-cancel:hover{color:var(--text-primary);border-color:var(--subtle-border);background:var(--subtle-hover)}.confirm-ok{background:linear-gradient(135deg, var(--error), #ef4444);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:8px 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 12px #f8717133}.confirm-ok:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #f8717159}.confirm-ok:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.history-btn{background:var(--subtle-bg);color:var(--text-secondary);border:1px solid var(--subtle-border);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:13px;transition:all .2s;display:flex}.history-btn:hover{color:var(--accent-hover);background:#3b82f61a;border-color:#3b82f640;box-shadow:0 0 16px #3b82f61a}.history-dialog{background:var(--dialog-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--subtle-border);width:92%;max-width:520px;max-height:80vh;box-shadow:var(--dialog-shadow);border-radius:16px;flex-direction:column;animation:.25s ease-out dialogIn;display:flex}.history-header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding:18px 22px 14px;display:flex}.history-title{color:var(--text-primary);font-size:16px;font-weight:600}.history-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;font-size:18px;transition:all .15s;display:flex}.history-close:hover{color:var(--error);background:#f871711a}.history-search{border-bottom:1px solid var(--panel-border);gap:8px;padding:14px 22px;display:flex}.history-input{flex:1}.history-search-btn{background:linear-gradient(135deg, var(--accent), #6366f1);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:5px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 10px #3b82f626}.history-search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #3b82f64d}.history-search-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.history-list{flex:1;padding:12px 22px 18px;overflow-y:auto}.history-empty{text-align:center;color:var(--text-muted);padding:32px 0;font-size:13px}.history-item{border:1px solid var(--panel-border);background:var(--subtle-bg);border-radius:12px;margin-bottom:10px;padding:12px 14px;transition:all .15s}.history-item:hover{background:var(--subtle-bg);border-color:var(--subtle-border)}.history-item-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.history-status{border-radius:20px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.history-time{color:var(--text-muted);font-size:11px}.history-item-info{color:var(--text-secondary);gap:16px;font-size:12px;display:flex}.history-reason{color:var(--error);margin-top:6px;font-size:12px;line-height:1.5}.history-codes{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.history-code-tag{background:var(--subtle-bg);border:1px solid var(--panel-border);color:var(--text-secondary);border-radius:20px;padding:2px 10px;font-family:Consolas,Monaco,monospace;font-size:11px;display:inline-block}@media (width<=860px){.main{flex-direction:column;padding:16px}.submit-panel{width:100%;min-width:0;max-width:none}.result-panel{width:100%;min-width:0}.footer-inner{flex-wrap:wrap;justify-content:center;gap:6px}}@media (width<=480px){.header{height:46px;padding:0 12px}.header-inner{border-radius:0 0 12px 12px;height:46px;padding:0 12px}.logo-text{font-size:14px}.logo-sub{padding:1px 6px;font-size:10px}.logo-icon{width:20px;height:20px}.header-badge{padding:2px 6px;font-size:9px}.history-btn{padding:4px 10px;font-size:12px}.footer{padding:0 12px}.footer-inner{border-radius:12px 12px 0 0;flex-wrap:wrap;justify-content:center;gap:4px;padding:6px 12px;font-size:10px}.footer-left,.footer-right{font-size:10px}.main{gap:12px;padding:10px}.panel{border-radius:12px;padding:16px}.section-title{margin-bottom:14px;font-size:14px}.section-hint{width:100%;margin-top:2px;margin-left:0;font-size:10px}.form-group label{font-size:12px}.label-hint{font-size:10px}.input{border-radius:8px;padding:8px 10px;font-size:13px}.textarea{font-size:12px;min-height:100px!important}.plant-selector{gap:6px}.plant-btn{border-radius:8px;padding:8px 10px;font-size:13px}.btn-submit{border-radius:10px;padding:10px 16px;font-size:14px}.status-indicator{padding:4px 10px;font-size:12px}.status-time{font-size:11px}.result-item{flex-wrap:wrap;gap:6px;padding:5px 8px;font-size:12px}.result-code{min-width:100px;font-size:11px}.result-badge{flex-basis:100%}.error-message{border-radius:8px;padding:8px 10px;font-size:12px}.confirm-dialog{border-radius:14px;max-width:340px;padding:20px 18px 16px}.confirm-title{font-size:15px}.confirm-content{font-size:14px}.confirm-cancel,.confirm-ok{border-radius:8px}.history-dialog{border-radius:14px;width:96%;max-width:none;max-height:85vh}.history-search{padding:10px 14px}.history-input{padding:8px 10px;font-size:13px}.history-search-btn{border-radius:8px;padding:8px 12px;font-size:12px}.history-item{border-radius:10px;padding:10px}.history-status{font-size:11px}.history-item-info{gap:10px;font-size:11px}.history-code-tag{padding:1px 6px;font-size:10px}.container-stats{font-size:11px}}.light-pull-switch{z-index:200;-webkit-user-select:none;user-select:none;pointer-events:auto;touch-action:none;transition:transform .15s;position:fixed;top:0;right:16px}.light-pull-switch:active{transition:none}.light-pull-cord{background:linear-gradient(to bottom, var(--text-muted), var(--text-secondary));width:2px;height:60px;transition:transform .3s;position:absolute;right:50%;transform:translate(50%)}.light-pull-cord.animating{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:translate(50%)translateY(10px)}.light-pull-ball{background:linear-gradient(135deg, var(--text-secondary), var(--text-muted));border-radius:50%;width:10px;height:10px;transition:transform .3s;position:absolute;top:60px;right:50%;transform:translate(50%);box-shadow:0 2px 6px #0003}.light-pull-ball.animating{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:translate(50%)translateY(10px)}.light-pull-btn{border:2px solid var(--border);background:var(--bg-card);cursor:grab;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .3s,box-shadow .2s;display:flex;position:absolute;top:63px;right:50%;transform:translate(50%);box-shadow:0 2px 8px #00000026}.light-pull-btn:active,.light-pull-btn.dragging{cursor:grabbing}.light-pull-btn:hover{transform:translate(50%)scale(1.1);box-shadow:0 4px 12px #0003}.light-pull-btn:active{transform:translate(50%)scale(.95)}.light-pull-btn.animating{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:translate(50%)translateY(10px)}.light-pull-indicator{border-radius:50%;width:10px;height:10px;transition:all .3s}.light-pull-indicator.on{background:#fde047;box-shadow:0 0 12px #fde047}.light-pull-indicator.off{background:var(--text-muted);box-shadow:none}
