:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1e222b;--border: #2a2f3a;--text: #e8eaed;--muted: #9aa3b2;--accent: #4f8cff;--accent-dark: #3a6fd8;--accent-soft: rgba(79, 140, 255, .14);--ok: #2ecc71;--ok-soft: rgba(46, 204, 113, .14);--warn: #f5a623;--warn-soft: rgba(245, 166, 35, .14);--blocked: #8b93a1;--radius: 12px}@media (prefers-color-scheme: light){:root{--bg: #f5f7fa;--surface: #ffffff;--surface-2: #f0f2f6;--border: #dde2e9;--text: #16191f;--muted: #5c6470;--blocked: #6b7280}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}svg{display:block;flex:none}main{max-width:940px;margin:0 auto;padding:0 1rem 3rem}.topbar{max-width:940px;margin:0 auto;padding:2.5rem 1rem 1.75rem}.topbar h1{margin:0 0 .3rem;font-size:1.75rem;letter-spacing:-.02em}.tagline{margin:0 0 .6rem;color:var(--muted);font-size:1.05rem}.privacy{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.35rem .7rem;background:var(--ok-soft);color:var(--ok);border-radius:999px;font-size:.85rem;font-weight:500}.step{margin-top:1.75rem}.step:first-child{margin-top:0}.step-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.step-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:.85rem;font-weight:700;flex:none}.step-title{margin:0;font-size:1.05rem;font-weight:600}.counter{margin-left:auto;color:var(--muted);font-size:.85rem}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:2.25rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent);outline:none}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.005)}.dropzone-inner{display:grid;justify-items:center;gap:.1rem}.dropzone-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:.6rem;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.dropzone-title{margin:0;font-size:1.15rem;font-weight:600}.dropzone-hint{margin:.15rem 0 1rem;color:var(--muted);font-size:.9rem}.dropzone-hint strong{color:var(--text);font-weight:600}.controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.8rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.control{display:flex;flex-direction:column;gap:.4rem;flex:1 1 240px}.control label{font-size:.85rem;color:var(--muted)}.select-wrap{position:relative;display:flex;align-items:center}.select-icon{position:absolute;left:.7rem;display:grid;place-items:center;color:var(--muted);pointer-events:none}select{width:100%;padding:.7rem .7rem .7rem 2.5rem;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:9px;font-size:1rem;cursor:pointer}select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.15rem;border-radius:9px;border:1px solid transparent;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-2)}.btn-icon-only{padding:.7rem;color:var(--muted)}.btn-small{padding:.5rem .8rem;font-size:.85rem}.summary{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:var(--radius)}.summary.has-warning{border-left-color:var(--warn)}.summary-head{display:flex;align-items:center;gap:.55rem}.summary-head h2{margin:0;font-size:1.05rem}.summary-head .icon-ok{color:var(--ok)}.summary-head .icon-warn{color:var(--warn)}.summary p{margin:0;color:var(--muted);font-size:.9rem}.summary .tip{padding:.6rem .75rem;background:var(--warn-soft);border-radius:8px;color:var(--text)}.summary .actions{margin-top:.35rem}.library{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.4rem}.card.blocked{border-style:dashed}.card-head{display:flex;align-items:center;gap:.5rem}.card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;flex:none}.card-icon.style{background:var(--accent-soft);color:var(--accent)}.card-icon.voice{background:var(--ok-soft);color:var(--ok)}.card-icon.blocked{background:var(--surface-2);color:var(--blocked)}.card-titles{min-width:0}.card-name{font-weight:600;font-size:.95rem;overflow-wrap:anywhere}.card-kind{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.card-meta{color:var(--muted);font-size:.85rem;margin:0}.card-note{color:var(--muted);font-size:.82rem;margin:0}.result{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:500}.result.ok{color:var(--ok)}.result.warn{color:var(--warn)}details.mapping>summary{cursor:pointer;font-size:.82rem;color:var(--accent);list-style:none}details.mapping>summary::-webkit-details-marker{display:none}details.mapping>summary:before{content:"▸ "}details.mapping[open]>summary:before{content:"▾ "}.mapping-list{list-style:none;margin:.5rem 0 0;padding:0;font-size:.8rem;display:grid;gap:.25rem}.mapping-list li{display:flex;gap:.35rem;align-items:baseline;color:var(--muted)}.mapping-list .arrow{color:var(--accent)}.mapping-list .to{color:var(--text);font-weight:500}.card .btn{align-self:flex-start;margin-top:.25rem}.footer{max-width:940px;margin:0 auto;padding:1.5rem 1rem 3rem;border-top:1px solid var(--border)}.footer p{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--muted);font-size:.82rem}@media (max-width: 480px){.controls{flex-direction:column;align-items:stretch}.btn{justify-content:center}}
