:root{--bg:#eef2f6;--surface:#fff;--ink:#0f1b2d;--muted:#52607a;--line:#d5dce6;--accent:#4b3fd6;--mark:#ffe45c;--on-accent:#fff;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101826;--surface:#182234;--ink:#eaf0fa;--muted:#9fb0cc;--line:#2a3a54;--accent:#9d93ff;--mark:#5c4d00;--on-accent:#101826}}
:root[data-theme="dark"]{--bg:#101826;--surface:#182234;--ink:#eaf0fa;--muted:#9fb0cc;--line:#2a3a54;--accent:#9d93ff;--mark:#5c4d00;--on-accent:#101826}
*,*:before,*:after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.55 "Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
header.hero{padding:3.5rem 0 2rem}
h1{font:800 clamp(2.4rem,7vw,4.6rem)/1.02 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.03em;margin:0 0 1rem;max-width:14ch}
.lede{max-width:48ch;color:var(--muted);margin:0 0 2rem}
.search{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:2px solid var(--ink);border-radius:14px;padding:.35rem .5rem .35rem 1rem;max-width:36rem}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;padding:.7rem 0}
.search input:focus-visible{outline:none}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}
.count{font:600 .9rem "Instrument Sans",sans-serif;color:var(--muted);white-space:nowrap;padding-right:.5rem}
.bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 .5rem;align-items:center;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{font:500 .95rem "Instrument Sans",sans-serif;color:var(--ink);background:transparent;border:1.5px solid var(--line);border-radius:999px;padding:.45rem .9rem;cursor:pointer;transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--mark);border-color:var(--ink)}
.theme{font:500 .9rem "Instrument Sans",sans-serif;color:var(--muted);background:none;border:0;cursor:pointer;text-decoration:underline;padding:.4rem}
main{padding-bottom:3rem}
.group{margin-top:2.25rem}
.group h2{font:700 1.5rem/1.2 "Bricolage Grotesque",system-ui,sans-serif;margin:0;padding-bottom:.35rem;border-bottom:2px solid var(--ink)}
.group p.d{margin:.4rem 0 0;color:var(--muted);font-size:.98rem}
ul{list-style:none;margin:0;padding:0}
li.tool{display:grid;grid-template-columns:1fr auto;gap:.25rem 1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.tool h3{font:600 1.15rem/1.3 "Bricolage Grotesque",system-ui,sans-serif;margin:0}
.tool h3 a{text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--accent)}
.tool h3 a:hover{background:var(--mark)}
.tool p{margin:.2rem 0 0;color:var(--muted);max-width:60ch;grid-column:1}
.tags{font-size:.85rem;color:var(--muted);grid-row:1/3;grid-column:2;align-self:start;text-align:right;max-width:11rem}
.visit{display:inline-block;margin-top:.5rem;font-weight:600;font-size:.95rem;color:var(--accent);text-decoration:none;grid-column:1}
.visit:hover{text-decoration:underline}
.empty{padding:3rem 0;text-align:center;color:var(--muted)}
.empty button{font:inherit;background:var(--accent);color:var(--on-accent);border:0;border-radius:10px;padding:.6rem 1.1rem;cursor:pointer;margin-top:.75rem}
footer{border-top:1px solid var(--line);padding:1.5rem 0 2rem;color:var(--muted);font-size:.92rem}
@media (max-width:560px){li.tool{grid-template-columns:1fr}.tags{grid-row:auto;grid-column:1;text-align:left;max-width:none;order:3;margin-top:.3rem}}
.tools-r{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.theme[aria-pressed="true"]{color:var(--ink);font-weight:700}
html:lang(ar) :is(body,h1,h2,h3,.chip,.theme,.count,button,input){font-family:"Noto Sans Arabic",system-ui,sans-serif}
html:lang(ar) h1{letter-spacing:0;line-height:1.25}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
