:root { --bg:#ffffff; --fg:#111111; --panel:#f3f5f7; --border:#dbe0e6; --accent:#0a7cff; --accent-contrast:#ffffff; --focus:#ff9900; --muted:#555; --font-size:100%; }
[data-contrast="high"] { --bg:#000; --fg:#fff; --panel:#111; --border:#444; --accent:#ff0; --accent-contrast:#000; --focus:#0ff; --muted:#ccc; }
html,body{background:var(--bg);color:var(--fg);font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:var(--font-size);line-height:1.5;margin:0}
.wrap{max-width:1100px;margin:0 auto;padding:1rem}
header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
h1{font-size:1.4rem;margin:0}
.btn{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:.6rem;padding:.55rem .9rem;font-weight:700;cursor:pointer}
.btn.ghost,.btn.secondary{background:var(--panel);color:var(--fg);border:1px solid var(--border)}
.btn:focus,input:focus,select:focus{outline:3px solid var(--focus);outline-offset:2px}
.grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:880px){.grid{grid-template-columns:2fr 1fr}}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:.8rem;padding:1rem}
.row{display:grid;grid-template-columns:1fr;gap:.75rem}
@media(min-width:680px){.row{grid-template-columns:repeat(2,1fr)}}
label{font-weight:700}
input,select{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:.6rem;background:#fff;color:#000}
[data-contrast="high"] input,[data-contrast="high"] select{background:#000;color:#fff}
.toolbar{display:flex;gap:.5rem;flex-wrap:wrap}
.results{display:grid;gap:.75rem}
.result{background:#fff;color:#000;border:1px solid var(--border);border-radius:.8rem;overflow:hidden}
[data-contrast="high"] .result{background:#000;color:#fff}
.result header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 1rem;border-bottom:1px solid var(--border)}
.badge{display:inline-block;padding:.15rem .45rem;border-radius:.4rem;background:var(--panel);border:1px solid var(--border);font-size:.85rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}
.muted{color:var(--muted)}
.pill{display:inline-block;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:.85rem}
kbd{border:1px solid var(--border);background:var(--panel);border-radius:.3rem;padding:.05rem .3rem}
.aside{position:sticky;top:.75rem;height:fit-content;display:grid;gap:1rem}
