/* Hallmark · shape: app screen · genre: modern-minimal · theme: Handy Orchard brand (preserved)
 * nav: existing site and language navigation · signature: classified tools with real language labels · states: all, filtered, empty, cleared
 * axes: light/system-sans/forest · posture: restrained · contrast: rendered check passed · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 · weakest: H, thirteen real tools are grouped by task and searchable without invented ranks. */
/* Hallmark · finish-review: subagent ship, no open findings; compact directory, language labels and forest-paper brand retained. */
:root{--paper:#f8f7f2;--ink:#243e32;--muted:#536357;--line:#d9dfd4;--green:#356448;--light:#e9eddf;--white:#fffefa;--focus:#274e37;--edge:#8c9b86;--font-body:system-ui,-apple-system,'Microsoft JhengHei','Microsoft YaHei',sans-serif;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--gutter:32px;--container:1220px}
*,*::before,*::after{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;caret-color:var(--green);scrollbar-color:var(--muted) var(--paper)}
::selection{background:var(--light);color:var(--ink)}header,main,footer{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
a{color:inherit;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:active{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:var(--space-sm);font-size:23px;font-weight:700;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.brand svg{width:30px;height:36px}
header nav,.language-switch{display:flex;align-items:center;gap:var(--space-lg)}header nav a{white-space:nowrap;font-size:16px}.language-switch{gap:var(--space-2xs)}.language-switch a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-xs);text-decoration:none;font-size:14px;white-space:nowrap;border:1px solid var(--paper);border-radius:4px}.language-switch a[aria-current=page]{border-color:var(--edge);background:var(--light)}.language-switch a:hover{background:var(--light)}
main{padding-block:var(--space-xl) var(--space-2xl)}h1,h2,h3{font-family:var(--font-body);font-weight:600;color:var(--ink);line-height:1.25;overflow-wrap:break-word;min-width:0;text-wrap:balance}h1{font-size:36px;letter-spacing:-.025em;max-width:30ch;margin:0 0 var(--space-md)}h2{font-size:26px;letter-spacing:-.015em;margin:0 0 var(--space-sm)}h3{font-size:20px;letter-spacing:-.015em;margin:0 0 var(--space-xs)}p{margin:0 0 var(--space-md);text-wrap:pretty;max-width:75ch}
.directory-intro{margin-bottom:32px}.directory-intro p{max-width:72ch}.directory-intro .language-note{font-size:14px;color:var(--muted)}
.directory-controls{padding-block:var(--space-lg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:end;max-width:760px}label{display:block;font-size:14px;font-weight:500;margin-bottom:var(--space-xs)}input{min-height:48px;width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--muted);border-radius:4px;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:16px}input:hover{background:var(--paper)}input:active{border-color:var(--ink)}
button{min-height:48px;padding:var(--space-xs) var(--space-md);background:var(--white);border:1px solid var(--edge);border-radius:4px;color:var(--ink);font-family:var(--font-body);font-size:16px;cursor:pointer;white-space:nowrap;transition:background-color .12s ease}button:hover{background:var(--light)}button:active{background:var(--paper)}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}
.category-filters{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-lg)}.category-filters button{font-size:14px;min-height:44px}.category-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.search-status{margin:var(--space-md) 0 0;min-height:1lh;font-size:14px;color:var(--muted)}.empty{padding:var(--space-lg);background:var(--light);border-radius:4px}
.tool-group{margin-bottom:var(--space-xl)}.group-description{font-size:16px;color:var(--muted);margin-bottom:var(--space-md)}.directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;list-style:none;margin:0;padding:0}.directory-list li{min-width:0;border-top:1px solid var(--line)}
.tool-entry{display:flex;gap:var(--space-md);padding-block:var(--space-lg);text-decoration:none;align-items:flex-start;height:100%}.tool-entry:hover h3{text-decoration:underline;text-underline-offset:.2em}.tool-entry img{width:72px;height:72px;object-fit:cover;border-radius:4px;flex:0 0 auto}.entry-copy{min-width:0}.entry-copy p{font-size:15px;color:var(--muted);margin-bottom:var(--space-sm)}.interface-language{font-size:14px;font-weight:500;display:block;color:var(--ink)}.entry-action{display:block;margin-top:var(--space-xs);font-size:14px;text-decoration:underline;text-underline-offset:.2em}
[hidden]{display:none!important}.guides{border-top:1px solid var(--line);padding-top:32px}.guide-list{display:grid;gap:var(--space-md)}.guide{padding-block:var(--space-sm);display:block}.guide strong{font-size:18px;font-weight:500}.guide small{display:none}
footer{padding-block:var(--space-lg) var(--space-xl);border-top:1px solid var(--line);display:flex;gap:var(--space-lg);justify-content:space-between;flex-wrap:wrap;font-size:14px;color:var(--muted)}footer span:last-of-type{display:flex;flex-wrap:wrap;gap:var(--space-lg)}footer a{white-space:nowrap}.image-credit{flex-basis:100%;margin:0;font-size:13px}.analytics-settings{font-size:14px}
@media(max-width:70rem){header{flex-wrap:wrap;padding-block:var(--space-md);gap:var(--space-sm) var(--space-lg)}header nav{order:3;width:100%}.language-switch{margin-left:auto}}
@media(max-width:48rem){:root{--gutter:20px}main{padding-top:32px}h1{font-size:30px}.directory-list{grid-template-columns:minmax(0,1fr)}.search-row{grid-template-columns:minmax(0,1fr)}.search-row button{justify-self:start}.language-switch{margin-left:0}.tool-entry img{width:60px;height:60px}.directory-controls{margin-bottom:var(--space-lg)}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
