.aec{max-width:36rem}.aec .aec-card{padding:1.25rem}.aec .aec-wide{width:100%;margin-top:1rem;padding-block:.75rem}.aec .drop-zone{flex-direction:column;align-items:center;gap:.3rem;display:flex}.aec .drop-zone.active{border-color:var(--accent-strong);background:var(--accent-soft);border-style:solid}.aec .drop-zone.done{border-color:var(--tk-ok);background:var(--tk-ok-soft);border-style:solid}.aec .drop-text{font-size:1.0625rem;font-weight:600}.aec .drop-hint{color:var(--text-muted);font-size:.875rem}.aec .file-name{color:var(--link);font-family:var(--font-mono);word-break:break-all;margin-top:.35rem;font-size:.8125rem;display:none}.aec .scan-results{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);margin-top:1.25rem;padding:.9rem 1rem;display:none}.aec .scan-results h3{align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1rem;display:flex}.aec .detected-badge{border-radius:var(--radius-sm);background:var(--tag-strong-bg);color:var(--tag-strong-text);font-family:var(--font-mono);padding:.05rem .45rem;font-size:.75rem;font-weight:500}.aec .stats{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.4rem 1rem;margin:0;display:grid}.aec .stat{border-bottom:1px dotted var(--border-strong);justify-content:space-between;gap:.5rem;padding-bottom:.2rem;font-size:.9375rem;display:flex}.aec .stat dt{color:var(--text-muted)}.aec .stat dd{font-family:var(--font-mono);margin:0;font-weight:500}.aec .options{margin-top:1.25rem;display:none}.aec .section-label{font-family:var(--font-mono);color:var(--text-muted);margin:1rem 0 .45rem;font-size:.8125rem;font-weight:500}.aec .section-label:before{content:"// ";color:var(--accent-strong)}.aec .option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:flex-start;gap:.7rem;margin-bottom:.45rem;padding:.7rem .85rem;transition:border-color .15s,background-color .15s;display:flex}.aec .option:hover{border-color:var(--border-strong);background:var(--accent-soft)}.aec .option.selected{border-color:var(--link);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--link)}.aec .option input[type=radio]{width:16px;height:16px;accent-color:var(--link);margin-top:.2rem}.aec .option-label{font-weight:600;display:block}.aec .option-desc{color:var(--text-muted);margin-top:.1rem;font-size:.875rem;line-height:1.4;display:block}.aec .pdf-panel{border:1px solid var(--accent-strong);border-radius:var(--radius);background:var(--tk-warn-soft);margin-top:.9rem;padding:.9rem 1rem .5rem;transition:background-color .3s,border-color .3s}.aec .pdf-panel.is-attention{border-color:var(--tk-bad);background:var(--tk-bad-soft)}.aec .pdf-panel-title{color:var(--tk-warn);font-weight:700}.aec .pdf-panel-info,.aec .pdf-panel-desc{margin:.25rem 0 .6rem;font-size:.875rem;line-height:1.5}.aec .progress{margin-top:1rem;display:none}.aec .progress-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.8125rem}.aec .progress-bar-wrap{background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;height:8px;margin-top:.4rem;overflow:hidden}.aec .progress-bar{background:var(--accent);width:0;height:100%;transition:width .15s}.aec .aec-cancel{color:var(--tk-bad);border-color:var(--tk-bad)}.aec .info,.aec .error{margin-top:1rem;display:none}.aec .log-panel{margin-top:1rem}.aec .log-panel summary{color:var(--text-muted);font-family:var(--font-mono);text-align:center;cursor:pointer;user-select:none;font-size:.75rem}.aec .log-box{border-radius:var(--radius);background:var(--brown-950);color:#e6d3b5;max-height:160px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;margin-top:.4rem;padding:.5rem .7rem;font-size:.7rem;line-height:1.5;overflow-y:auto}.aec .log-box .log-warn{color:var(--gold-200)}.aec .log-box .log-err{color:#f0957c}.aec .log-box .log-ok{color:#9fd18a}.aec .aec-foot{text-align:center;margin:.75rem 0 0}@keyframes aec-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.aec .shake{animation:.5s ease-in-out aec-shake}@media (width<=560px){.aec .aec-card{padding:1rem}}
