:root{--bg: #08090c;--bg-surface: #0c0d11;--bg-elevated: #101218;--cyan: #00f3ff;--cyan-dim: rgba(0, 243, 255, .15);--cyan-ghost: rgba(0, 243, 255, .06);--magenta: #ff00ff;--magenta-dim: rgba(255, 0, 255, .12);--border: rgba(0, 243, 255, .1);--border-bright: rgba(0, 243, 255, .3);--text: #e0e4e8;--text-dim: rgba(255, 255, 255, .4);--red: #ff4455;--green: #00ff88;--font: "Fira Code", "Cascadia Code", "SF Mono", "Consolas", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);display:flex;height:100vh;overflow:hidden;font-size:13px;line-height:1.6}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}.sidebar{width:240px;background:var(--bg-surface);border-right:1px solid var(--border);padding:0;display:flex;flex-direction:column;position:relative}.brand{display:flex;align-items:center;gap:10px;padding:24px 20px;font-size:13px;font-weight:900;color:var(--cyan);letter-spacing:2px;border-bottom:1px solid var(--border);text-shadow:0 0 10px rgba(0,243,255,.3)}.brand-led{width:8px;height:8px;background:var(--cyan);border-radius:1px;box-shadow:0 0 8px var(--cyan);animation:led-pulse 2s ease-in-out infinite}@keyframes led-pulse{0%,to{opacity:1;box-shadow:0 0 8px var(--cyan)}50%{opacity:.5;box-shadow:0 0 3px var(--cyan)}}.nav-menu{display:flex;flex-direction:column;padding:12px 0;gap:2px}.nav-item{padding:12px 20px;cursor:pointer;color:var(--text-dim);transition:all .2s ease;display:flex;align-items:center;gap:10px;font-weight:600;font-size:11px;letter-spacing:1.5px;border-left:3px solid transparent;user-select:none}.nav-item:hover{background:var(--cyan-ghost);color:var(--text);transform:translate(4px)}.nav-item.active{background:var(--cyan-dim);color:var(--cyan);border-left-color:var(--cyan)}.sidebar-footer{margin-top:auto;padding:16px 20px;border-top:1px solid var(--border);font-size:8px;color:#00f3ff26;letter-spacing:2px;word-break:break-all;line-height:1.8}.github-sidebar-btn{display:block;width:100%;text-align:center;padding:8px 12px;margin-bottom:12px;box-sizing:border-box;font-family:Fira Code,monospace;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--cyan);background:#00f3ff0d;border:1px solid rgba(0,243,255,.2);border-radius:4px;text-decoration:none;transition:all .3s cubic-bezier(.19,1,.22,1);text-shadow:0 0 4px rgba(0,243,255,.4)}.github-sidebar-btn:hover{color:#000;background:var(--cyan);box-shadow:0 0 15px #00f3ff99;border-color:var(--cyan);transform:translateY(-1px);text-shadow:none}.main-content{flex:1;padding:0;overflow-y:auto;position:relative;background:var(--bg)}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:#00f3ff26;border-radius:3px}.view-section{display:none;padding:32px 40px;animation:fadeIn .3s ease}.view-section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.page-header h1{font-size:18px;font-weight:900;letter-spacing:3px;color:var(--cyan);text-shadow:0 0 12px rgba(0,243,255,.2);margin-bottom:6px}.page-header .subtitle{color:var(--text-dim);font-size:11px;letter-spacing:1px}.dropzone{border:2px dashed var(--border);border-radius:2px;padding:48px 32px;text-align:center;background:var(--bg-surface);transition:all .3s ease;cursor:pointer;margin-bottom:24px;position:relative;overflow:hidden}.dropzone:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:dropzone-scan 3s linear infinite}@keyframes dropzone-scan{0%{left:-100%}to{left:100%}}.dropzone:hover,.dropzone.dragover{border-color:var(--cyan);background:var(--cyan-ghost);transform:translateY(-2px);box-shadow:0 8px 30px #00f3ff14}.dropzone-icon{font-size:2.5rem;margin-bottom:12px;opacity:.7}.result-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;padding:0;margin-top:16px;transition:all .3s ease;overflow:hidden}.result-card:hover{border-color:var(--border-bright);box-shadow:0 4px 20px #0000004d}.result-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--cyan-ghost);border-bottom:1px solid var(--border);font-size:11px;color:var(--text-dim)}.result-header-left{display:flex;align-items:center;gap:8px}.result-header-actions{display:flex;gap:8px}.result-image-container{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.03);background:#0003}.result-image{max-width:100%;max-height:180px;border-radius:2px;border:1px solid var(--border);cursor:pointer;transition:all .2s ease;display:block}.result-image:hover{border-color:var(--cyan);box-shadow:0 0 15px #00f3ff26}.result-text{font-family:var(--font);font-size:12px;line-height:1.8;white-space:pre-wrap;background:#0000004d;padding:16px;color:var(--cyan);outline:none;border:none}.result-text:focus{background:#00000080}.result-timing{font-size:9px;color:var(--green);letter-spacing:1px}.btn{border-radius:2px;cursor:pointer;font-weight:700;font-family:var(--font);font-size:10px;letter-spacing:1px;transition:all .2s ease;outline:none;border:1px solid var(--border);background:transparent;color:var(--text-dim);padding:6px 12px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00f3ff26;color:var(--cyan);border-color:var(--cyan)}.btn:active{transform:translateY(0) scale(.97)}.btn-primary{background:var(--cyan-dim);color:var(--cyan);border-color:var(--cyan)}.btn-primary:hover{background:#00f3ff40}.btn-danger{color:var(--red);border-color:#ff44554d}.btn-danger:hover{background:#ff44551a;border-color:var(--red);box-shadow:0 4px 12px #ff445526;color:var(--red)}.cyber-badge{display:inline-block;font-family:var(--font);font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:10px;border:1px solid rgba(0,243,255,.25);background:#00f3ff0f;color:var(--cyan);text-decoration:none;transition:all .25s ease;opacity:.75}.cyber-badge:hover{opacity:1;border-color:var(--cyan);background:#00f3ff26;box-shadow:0 0 12px #00f3ff33,inset 0 0 6px #00f3ff14;transform:translateY(-1px)}.cyber-btn{font-family:var(--font);font-size:9px;font-weight:700;letter-spacing:.5px;padding:3px 10px;border-radius:2px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .2s ease;outline:none;white-space:nowrap}.cyber-btn:hover{color:var(--cyan);border-color:var(--cyan);background:var(--cyan-dim);box-shadow:0 0 10px #00f3ff26;transform:translateY(-1px)}.cyber-btn:active{transform:translateY(0) scale(.96)}.cyber-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center;animation:modal-fade-in .2s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box{background:linear-gradient(170deg,#0d0e12,#0a0b0d 40%,#080a0c);border:2px solid var(--cyan);border-radius:2px;width:420px;max-width:90vw;box-shadow:0 0 60px #000000e6,0 0 30px var(--cyan-dim),inset 0 0 20px var(--cyan-ghost);font-family:var(--font);overflow:hidden;animation:modal-slide-in .25s cubic-bezier(.18,.89,.32,1.28);position:relative}.modal-scanline{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--cyan-dim),transparent);z-index:1;pointer-events:none;animation:ocrmeow-scanline 4s linear infinite}@keyframes ocrmeow-scanline{0%{transform:translateY(-100%)}to{transform:translateY(600px)}}.modal-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--cyan-ghost)}.modal-led{width:6px;height:6px;border-radius:1px;background:var(--cyan);animation:led-pulse 2s ease-in-out infinite}@keyframes led-pulse{0%,to{opacity:1;box-shadow:0 0 6px currentColor}50%{opacity:.5;box-shadow:0 0 2px currentColor}}.modal-title{font-size:11px;font-weight:900;letter-spacing:2px;color:var(--cyan);text-shadow:0 0 8px var(--cyan-dim)}.modal-body{padding:24px 20px;font-size:13px;line-height:1.8;color:var(--text)}.modal-body .modal-icon{font-size:28px;display:block;margin-bottom:12px}.modal-actions{display:flex;gap:10px;padding:12px 20px 18px}.modal-actions .btn{flex:1;padding:10px;text-align:center}.modal-actions .btn-confirm{background:var(--cyan-dim);color:var(--cyan);border-color:var(--cyan)}.modal-actions .btn-confirm:hover{background:var(--border-bright);box-shadow:0 4px 15px var(--cyan-dim)}.modal-actions .btn-destructive{background:#ff44551f;color:var(--red);border-color:#ff44554d}.modal-actions .btn-destructive:hover{background:#f453;box-shadow:0 4px 15px #f453}.first-run-modal{width:min(540px,92vw);border-color:var(--magenta);box-shadow:0 0 60px #000000e6,0 0 40px var(--magenta-dim),inset 0 0 20px #ff00ff14}.first-run-hero{display:grid;grid-template-columns:74px 1fr;gap:16px;align-items:center}.first-run-orb{width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(255,0,255,.45);border-radius:8px;background:linear-gradient(145deg,#ffffff14,#ff00ff14),#0c0c10db;color:var(--magenta);font-size:15px;font-weight:900;letter-spacing:1px;box-shadow:0 0 24px #ff00ff29}.first-run-lead{margin:0;color:var(--text);font-size:14px;line-height:1.75}.first-run-muted{margin:8px 0 0;color:var(--text-muted);font-size:12px;line-height:1.65}.first-run-checks{display:grid;gap:10px;margin-top:20px}.first-run-check{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid rgba(255,0,255,.18);border-radius:6px;background:#ffffff08}.first-run-check>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,0,255,.42);border-radius:6px;color:var(--magenta);font-size:11px;font-weight:900}.first-run-check strong{display:block;color:var(--text);font-size:12px;line-height:1.35}.first-run-check p{margin:4px 0 0;color:var(--text-muted);font-size:11px;line-height:1.55}.first-run-inline p{margin:0 0 10px;color:var(--text-muted);line-height:1.7}.first-run-inline p:last-child{margin-bottom:0}.first-run-inline strong{color:var(--text);font-size:14px}@media (max-width: 520px){.first-run-hero{grid-template-columns:1fr}.first-run-orb{width:58px;height:58px}.modal-actions{flex-direction:column-reverse}}.settings-group{background:var(--bg-surface);border:1px solid var(--border);border-radius:2px;padding:24px;margin-bottom:24px;transition:all .3s ease;position:relative;overflow:hidden}.settings-group:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--cyan);opacity:0;transition:opacity .3s ease}.settings-group:hover{border-color:var(--border-bright);box-shadow:0 8px 30px #0000004d}.settings-group:hover:before{opacity:1}.settings-group h3{margin-bottom:20px;color:var(--cyan);font-size:12px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.03);transition:all .15s ease}.setting-item:last-child{border-bottom:none}.setting-item:hover{padding-left:8px}.setting-label{font-weight:700;font-size:12px;color:var(--text);letter-spacing:.5px}.setting-desc{font-size:10px;color:var(--text-dim);margin-top:4px;max-width:400px;line-height:1.6}select,input[type=number]{background:#00000080;color:var(--cyan);border:1px solid var(--border);padding:8px 12px;border-radius:2px;font-size:12px;font-family:var(--font);cursor:pointer;outline:none;transition:all .2s ease}select:hover,select:focus,input[type=number]:hover,input[type=number]:focus{border-color:var(--cyan);box-shadow:0 0 10px #00f3ff1a}input[type=number]{width:80px;text-align:center;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1}.slider-container{display:flex;align-items:center;gap:12px;min-width:180px}input[type=range]{-webkit-appearance:none;width:100%;background:transparent}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;background:#ffffff14;border-radius:2px}input[type=range]::-webkit-slider-thumb{height:16px;width:16px;border-radius:2px;background:var(--cyan);cursor:pointer;-webkit-appearance:none;margin-top:-6px;box-shadow:0 0 8px var(--cyan);transition:transform .15s ease}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.3)}.slider-value{font-family:var(--font);color:var(--cyan);font-weight:700;font-size:12px;min-width:28px;text-align:right}.github-link{color:var(--cyan);text-decoration:none;font-weight:900;padding:10px 24px;border-radius:2px;background:var(--cyan-ghost);border:1px solid var(--cyan);transition:all .3s ease;display:inline-block;font-size:11px;letter-spacing:1px;box-shadow:0 0 15px #00f3ff26}.github-link:hover{background:var(--cyan);color:#000;transform:translateY(-2px);box-shadow:0 0 30px var(--cyan)}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;cursor:zoom-out;backdrop-filter:blur(8px)}.lightbox-overlay img{max-width:90vw;max-height:90vh;border:2px solid var(--cyan);border-radius:2px;box-shadow:0 0 40px #00f3ff33}.loading-indicator{display:none;text-align:center;color:var(--magenta);margin:32px 0;font-weight:900;font-size:12px;letter-spacing:2px;animation:loading-blink 1.5s ease-in-out infinite}@keyframes loading-blink{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-dim);font-size:11px;letter-spacing:1px}[disabled],.setting-item.disabled-web{opacity:.45!important;cursor:not-allowed!important;pointer-events:none!important}.setting-item.disabled-web select,.setting-item.disabled-web input{pointer-events:none!important}.setting-item.disabled-web{position:relative}.setting-item.disabled-web:after{content:"EXTENSION ONLY / 仅插件可用";position:absolute;right:12px;top:8px;font-size:9px;color:var(--red);font-family:var(--font);letter-spacing:1px;background:#ff44551a;border:1px solid rgba(255,68,85,.2);padding:2px 6px;border-radius:2px;pointer-events:none}button[disabled]{opacity:.4!important;cursor:not-allowed!important;pointer-events:none!important;border-color:#ffffff1a!important;background:#ffffff05!important;color:var(--text-dim)!important;box-shadow:none!important}
