:root{--bg:#f6f7f9;--fg:#15202b;--card:#fff;--mut:#5b6875;--acc:#0b5cab;--warn:#fff3cd;--warnfg:#6b4e00;--bd:#dde2e7}
@media(prefers-color-scheme:dark){:root{--bg:#0f1418;--fg:#e8edf2;--card:#1a2228;--mut:#9aa7b3;--acc:#5aa9ff;--warn:#3a300f;--warnfg:#ffd970;--bd:#2c363e}}
*{box-sizing:border-box}body{margin:0;font:17px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{position:sticky;top:0;z-index:5;background:var(--acc);padding:8px 12px calc(8px);padding-top:max(8px,env(safe-area-inset-top));display:flex;flex-direction:column;gap:6px}
.brand{color:#fff;font-weight:700;text-decoration:none}
@media(prefers-color-scheme:dark){header{background:#0b3a6b}}
#q{width:100%;font-size:17px;padding:10px 12px;border-radius:10px;border:0}
#crumbs{font-size:14px;padding:6px 12px;color:var(--mut)}#crumbs a{color:var(--acc)}
main{padding:0 12px 40px;max-width:760px;margin:auto}
.btn,.card{display:block;width:100%;min-height:52px;text-align:left;padding:14px 16px;margin:10px 0;border-radius:12px;border:1px solid var(--bd);background:var(--card);color:var(--fg);font-size:17px;text-decoration:none;cursor:pointer}
.btn.big{min-height:110px;font-size:22px;font-weight:700}.btn.pri{background:var(--acc);color:#fff;border:0;text-align:center}
.small{font-size:14px;color:var(--mut)}
.warn{background:var(--warn);color:var(--warnfg);padding:10px 12px;border-radius:10px;margin:10px 0}
.res{border-left:5px solid #2e9e5b;padding:12px;background:var(--card);border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:15px}td,th{border-bottom:1px solid var(--bd);padding:8px 6px;vertical-align:top;text-align:left}
td.c{color:var(--mut);font-size:13px}.typ{color:#c06000}
img.fig{width:100%;max-height:340px;background:#fff;color:#15202b;border-radius:10px;margin:8px 0;border:1px solid var(--bd)}
.chk label{display:flex;gap:12px;align-items:flex-start;padding:12px;border-bottom:1px solid var(--bd);min-height:52px}
.chk input{width:26px;height:26px;flex:none}.chk input:checked+span{text-decoration:line-through;color:var(--mut)}
h1{font-size:24px;margin:10px 0}h2{font-size:19px}
.top{display:flex;justify-content:space-between;align-items:center}
.lang{min-width:56px;min-height:40px;border-radius:10px;border:2px solid #fff;background:transparent;color:#fff;font-weight:700;font-size:16px}
a.cite{color:var(--acc);text-decoration:underline;white-space:nowrap}a.cite::after,a.ext::after{content:" ↗";font-size:.8em}
.libro{padding:10px 0;border-top:1px solid var(--bd);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.libro a{color:var(--acc)}
details.card summary{cursor:pointer;min-height:28px}a.ext{color:var(--acc)}
.adatext{white-space:pre-wrap;font-size:15px;background:var(--card);padding:12px;border-radius:10px;border:1px solid var(--bd)}
.typ{color:#c06000;font-size:12px}#toast{position:fixed;left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));background:#222;color:#fff;padding:14px;border-radius:12px;z-index:9}

.trades{display:grid;gap:10px}.trade{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;background:var(--card);border:1px solid var(--bd);color:inherit;text-decoration:none;min-height:56px}
.trade .ti{font-size:28px}.trade b{flex:1;font-size:18px}.trade .tag{font-size:12px;padding:4px 8px;border-radius:99px;background:var(--bd)}.trade .tag.ok{background:var(--acc);color:#fff}
.trade.off{opacity:.55;cursor:not-allowed}#tradesBtn{text-decoration:none;margin-left:auto;margin-right:6px}
#instBtn{margin-left:auto;margin-right:6px}#instBtn~#tradesBtn{margin-left:0}
.ditch{display:flex;gap:6px;align-items:center}.ditch #q{flex:1;min-width:0}
#mic,#defsBtn{min-height:42px;border-radius:10px;border:0;background:#fff;color:var(--acc);font-size:17px;padding:0 10px;text-decoration:none;display:flex;align-items:center;white-space:nowrap;font-weight:600}
#mic{min-width:44px;justify-content:center}#mic.on{background:#e0701a;color:#fff;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.6}}
@media(max-width:380px){#defsBtn{padding:0 8px;font-size:15px}}
.dq{width:100%;font-size:17px;padding:10px 12px;border-radius:10px;border:1px solid var(--bd);margin:6px 0 10px}.def div{margin-top:4px}
.tabs{display:flex;gap:6px;margin:8px 0}.tabs a{flex:1;text-align:center;padding:10px;border-radius:10px;border:1px solid var(--bd);text-decoration:none;color:inherit;font-weight:600}.tabs a.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.mat img{width:100%;background:#fff;border-radius:8px;border:1px solid var(--bd);margin-bottom:6px}.mat .small{margin-top:4px}.mat.hi{outline:3px solid #e0701a}
#tradesBtn{display:inline-flex;align-items:center;justify-content:center;color:#fff}
.steps li{margin:.6em 0}.steps label{display:flex;gap:.5em;align-items:flex-start}.steps input{margin-top:.3em;width:1.2em;height:1.2em}.steps input:checked+span{opacity:.55;text-decoration:line-through}
.cx-tabs{display:flex;gap:4px;margin:8px 0}.cx-tabs a{flex:1;text-align:center;padding:10px 4px;border-radius:10px;background:#e5e7eb;color:#111;text-decoration:none;font-weight:600}.cx-tabs a.on{background:#1d4ed8;color:#fff}
.cx{background:#1f2937;border-radius:16px;padding:12px;color:#f9fafb;max-width:480px}.cx label{display:block;margin:6px 0;font-size:.95em}.cx input,.cx select{width:100%;font-size:1.2em;padding:8px;border-radius:8px;border:0;margin-top:2px;box-sizing:border-box}
.cx-disp{background:#d1fae5;color:#064e3b;border-radius:10px;padding:10px;margin:8px 0;text-align:right;font-family:ui-monospace,monospace;min-height:3em}.cx-disp .small{color:#065f46}
.cx-big{font-size:2em;font-weight:700}.cx-in{font-size:1.1em}.cx-tape{font-size:.8em;opacity:.7}.cx summary{cursor:pointer;margin:6px 0}
.cx-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.cx-keys button{font-size:1.3em;padding:14px 0;border:0;border-radius:10px;background:#4b5563;color:#fff}.cx-keys button.fr{background:#6b7280}.cx-keys button.op{background:#f59e0b;color:#111}.cx-keys button.fn{background:#9ca3af;color:#111}.cx-keys button:active{filter:brightness(1.3)}
