:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273449;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #60a5fa;--accent-strong: #3b82f6;--danger: #f87171;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}.screen{max-width:720px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.screen--center{min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;text-align:center}.brand{font-size:2rem;font-weight:700;letter-spacing:.08em;margin:0}.notice{color:var(--muted);margin:0}.notice--error{color:var(--danger)}.signin{min-height:44px}.topbar{display:flex;align-items:center;justify-content:space-between}.topbar .brand{font-size:1.5rem}.tabs{display:flex;gap:8px;background:var(--surface);padding:4px;border-radius:var(--radius)}.tab{flex:1;padding:10px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}.tab--active{background:var(--surface-2);color:var(--text);font-weight:600}.panel{display:flex;flex-direction:column;gap:12px}.filepick{display:block;padding:20px;border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);cursor:pointer}.filepick input{display:block;width:100%;margin-top:8px;color:var(--text)}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:file}.file-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.file-item:before{counter-increment:file;content:counter(file) ".";color:var(--muted);margin-right:6px}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.file-ctrls{display:flex;gap:4px;flex-shrink:0}.file-ctrls button{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:1rem;cursor:pointer}.file-ctrls button:disabled{opacity:.35;cursor:default}.textarea{width:100%;min-height:180px;padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:inherit;resize:vertical}.label{color:var(--muted);font-size:.9rem}.btn{padding:12px 16px;min-height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:1rem;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:600}.btn--ghost{background:transparent}.results{display:flex;flex-direction:column;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:6px 12px;background:var(--surface-2);border-radius:999px;font-weight:600;font-size:.95rem}.engine{margin:0;color:var(--muted);font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions .btn{flex:1;min-width:120px}.status{margin:0;color:var(--muted);min-height:1.4em}.status--busy:before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
