button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
button:disabled{opacity:.55;cursor:wait}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tab,.format-filter button,.source-button,.selected-action{min-height:44px}
.queue-tabs{flex:none;padding:4px 0 8px;gap:8px}
.source-button{appearance:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;margin:6px 0}
.data-nav{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}
.data-nav button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}
.material-intro{margin:0 0 20px;font-size:15px;line-height:1.6}
.material-intro h2{font-size:22px;margin:0 0 8px}
.material-filters{display:grid;gap:12px;margin-bottom:16px}
.material-filters label,.material-edit label{display:grid;gap:5px;font-size:14px}
.material-filters select,.material-filters input,.material-edit select,.material-edit input,.material-edit textarea,
#editorDialog select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px;font-size:16px}
.material-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px;overflow-wrap:anywhere}
.material-card h3{font-size:18px;margin:8px 0}
.material-card p{font-size:15px;line-height:1.6}
.material-meta{font-size:13px;color:var(--muted)}
.material-edit{display:grid;gap:12px;margin-top:12px}
.material-edit textarea{min-height:100px;resize:vertical}
.material-card blockquote,#editorDialog blockquote{margin:12px 0;padding:12px;border-left:3px solid var(--accent);background:var(--raise);font-size:15px;line-height:1.65;white-space:pre-wrap}
.material-actions{display:flex;flex-wrap:wrap;gap:8px}
.material-error{color:var(--bad);font-size:14px;min-height:1em}
.material-count{font-size:14px;color:var(--muted);margin:10px 0}
.source-status{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--accent-soft);font-size:13px}
dialog#editorDialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 32px);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.55)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.dialog-head h2{font-size:20px;margin:0}
.dialog-head button{min-height:44px;padding:8px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;cursor:pointer}
#editorDialogBody{overflow-wrap:anywhere;font-size:16px}
.script-scene{border-top:1px solid var(--line);padding:14px 0}
.script-scene p{white-space:pre-wrap;margin:8px 0}
.script-scene small{color:var(--muted);font-size:14px}
.script-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.script-note{padding:12px;background:var(--accent-soft);border-radius:8px;font-size:14px;line-height:1.6}
@media(min-width:768px){.material-filters{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
