header nav a{color:var(--text);font-weight:600;font-size:15px} header nav a:hover{color:var(--accent)}
.btn-theme{margin-left:14px;width:34px;height:34px;flex-shrink:0;border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:8px;cursor:pointer;font-size:15px;line-height:1}
.btn-theme:hover{border-color:var(--accent)}
.lang-sel{margin-left:10px;height:34px;flex-shrink:0;border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:0 6px}
.lang-sel:hover{border-color:var(--accent)}
:root {--bg:#0c0c0e;--bg2:#13131a;--bg3:#1b1b26;--border:#2a2a3d;--text:#e2e2f0;--muted:#9a9ab7;--accent:#6c63ff;--key-bg:#20202d;--key-top:#303044;--key-shadow:#0a0a0e;--font-mono:'IBM Plex Mono',ui-monospace,monospace;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);line-height:1.6;font-size:16px}
header,main,footer{max-width:1050px;margin:auto;padding:24px} header{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--border);flex-wrap:wrap}
a{color:var(--accent);text-decoration:none} .logo{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text)} .logo span{color:var(--accent)}
.hero{padding:48px 0 24px} h1{font-size:clamp(34px,6vw,64px);line-height:1.05;margin:0 0 14px;letter-spacing:-.04em}
p{color:var(--muted)} .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:24px}
.card{display:block;border:1px solid var(--border);border-radius:15px;background:var(--bg2);padding:18px;color:var(--text);transition:border-color .15s,transform .15s} .card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card span,.muted{display:block;color:var(--muted);font-size:15px;margin-top:6px} article{max-width:760px} footer{border-top:1px solid var(--border);font-size:14px;color:var(--muted)}
.app-card2{display:flex;gap:14px;align-items:flex-start} .app-card2 .card-ic{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.app-card2 .card-ic .si-icon{width:30px;height:30px} .app-card2 .card-ic .si-icon.mono{filter:brightness(0) invert(1)} .app-card2 .card-ic .tile-icon{width:30px;height:30px;border-radius:7px}
[data-theme="light"] .app-card2 .card-ic .si-icon.mono{filter:brightness(0)}
.app-card2 .card-tx{min-width:0} .app-card2 strong{font-size:16px}
[data-theme="light"]{--bg:#f8f8fc;--bg2:#ffffff;--bg3:#f0f0f8;--border:#d8d8e8;--text:#1a1a2e;--muted:#565674;--key-bg:#ececf4;--key-top:#d8d8e8;--key-shadow:#c0c0d0}

h2{font-size:clamp(20px,3vw,28px);letter-spacing:-.02em;margin:40px 0 6px}
.cat-table{width:100%;border-collapse:collapse;font-size:15px;margin-top:18px}
.cat-table thead th{padding:0 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left}
.cat-table thead th.kc{text-align:right}
.cat-table tr{border-bottom:1px solid var(--bg3)} .cat-table tbody tr:hover{background:var(--bg2)}
.cat-table .act{padding:11px 16px 11px 0;color:var(--text)} .cat-table .keys{padding:11px 0;text-align:right;white-space:nowrap}
.key{font-family:var(--font-mono);font-size:12.5px;font-weight:600;padding:4px 9px;background:var(--key-bg);border:1px solid var(--key-top);border-bottom:2px solid var(--key-shadow);border-radius:6px;white-space:nowrap;color:var(--text);display:inline-block}
.key-sep{font-size:10px;color:var(--muted);font-family:var(--font-mono)}

.disclaimer{margin:10px auto 0;max-width:680px;font-size:11px;line-height:1.5;color:var(--muted);opacity:.85}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.skip-link{position:absolute;left:16px;top:-52px;z-index:999;padding:8px 12px;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-size:13px}
.skip-link:focus{top:12px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
