:root{color-scheme:light dark;--bg:#f8f8f5;--panel:#fff;--ink:#222820;--muted:#646b60;--line:#e0e3dc;--accent:#326548}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,sans-serif;line-height:1.65}
a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1120px;margin:auto;padding:24px}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
header>a:last-child{font-size:13px;color:var(--muted)}.brand{font-weight:750;text-decoration:none;font-size:21px}.brand span{display:block;font-size:11px;color:var(--muted);font-weight:400}
.intro{padding:46px 0 34px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent);font-weight:650}
h1{font-size:clamp(27px,4vw,44px);letter-spacing:-.03em;line-height:1.35;margin:14px 0 20px}.intro>p{color:var(--muted)}.note{font-size:12px}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel);text-decoration:none;min-height:210px}
a.card:hover{border-color:var(--accent);box-shadow:0 3px 12px #00000008}a.card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.card.disabled{opacity:.7}.card-top{display:flex;align-items:center;gap:12px}.icon{width:38px;height:38px;border-radius:9px;background:var(--bg);display:grid;place-items:center;font-size:20px}
.card h2{font-size:19px;margin:0}.card p{font-size:14px;color:var(--muted);margin:18px 0 20px}.state{margin-top:auto;font-size:12px;color:var(--accent);display:flex;justify-content:space-between}.disabled .state{color:var(--muted)}
.help{margin:42px 0 16px;max-width:800px}.help h2{font-size:15px}.help p{color:var(--muted);font-size:13px}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
@media(prefers-color-scheme:dark){:root{--bg:#181b18;--panel:#202420;--ink:#e6eae4;--muted:#a5afa3;--line:#353d35;--accent:#a4c9ac}}
@media(max-width:560px){header,main,footer{padding:20px}.intro{padding-top:30px}.apps{grid-template-columns:1fr}.card{min-height:185px}footer{flex-direction:column}}
