@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/sora-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/sora-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root {
  --bg:#0c0c0e; --bg2:#13131a; --bg3:#1b1b26;
  --border:#2a2a3d; --text:#e2e2f0; --muted:#9a9ab7;
  --accent:#6c63ff; --accent-strong:#564de0; --accent2:#ff6584;
  --key-bg:#20202d; --key-top:#303044; --key-shadow:#0a0a0e;
  --cat-color:#8b84ff; --ok:#48d597;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --font-ui:'Sora',system-ui,sans-serif;
}
[data-theme="light"] {
  --bg:#f8f8fc; --bg2:#ffffff; --bg3:#f0f0f8;
  --border:#d8d8e8; --text:#1a1a2e; --muted:#565674;
  --key-bg:#ececf4; --key-top:#d8d8e8; --key-shadow:#c0c0d0;
  --cat-color:#5b54e8;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: var(--font-ui); min-height: 100vh; line-height: 1.5; }
a { color: inherit; }
.skip-link { position:absolute; left:16px; top:-52px; z-index:999; padding:8px 12px; background:var(--accent); color:white; border-radius:8px; text-decoration:none; font-size:13px; }
.skip-link:focus { top:12px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

header { position: sticky; top: 0; z-index: 100; background: rgba(12,12,14,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); padding: 0 24px; }
[data-theme="light"] header { background: rgba(248,248,252,.92); }
.header-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; min-height: 58px; gap: 14px; }
.site-logo { font-size: 22px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; white-space: nowrap; }
.site-logo span { color: var(--accent); }
.sep { color: var(--muted); }
.app-name-header { font-size: 14px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.os-tabs { display: flex; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; padding: 3px; }
.os-tab { border: 0; background: transparent; color: var(--muted); font-family: var(--font-ui); font-size: 13px; font-weight: 600; padding: 6px 10px; border-radius: 5px; cursor: pointer; white-space: nowrap; }
.os-tab.active { background: var(--accent-strong); color: #fff; }
.btn-print, .btn-theme, .btn-export, .btn-dl { font-size: 13px; font-family: var(--font-ui); border: 1px solid var(--border); background: var(--bg3); color: var(--muted); padding: 7px 10px; border-radius: 7px; cursor: pointer; transition: border-color .15s,color .15s; text-decoration: none; display: inline-flex; align-items: center; }
.btn-theme { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; color: var(--text); }
.btn-print:hover, .btn-theme:hover, .btn-export:hover, .btn-dl:hover { border-color: var(--accent); color: var(--text); }
.lang-sel { height: 32px; flex-shrink: 0; border: 1px solid var(--border); background: var(--bg3); color: var(--text); border-radius: 7px; cursor: pointer; font-size: 12px; font-weight: 600; font-family: var(--font-ui); padding: 0 5px; }
.lang-sel:hover { border-color: var(--accent); }
.btn-dl-group { display: flex; gap: 4px; }
.source-meta { margin-top: 8px; color: var(--muted); font-size: 13px; }
.source-meta a { color: var(--muted); text-decoration: underline dotted; }
.source-meta a:hover { color: var(--accent); }

.si-icon.mono { filter: brightness(0) invert(1); }
.tile-icon { border-radius: 8px; }
[data-theme="light"] .si-icon.mono { filter: brightness(0); }
.hero { max-width: 1100px; margin: 0 auto; padding: 52px 24px 26px; display: flex; align-items: flex-end; gap: 32px; }
.hero-icon { font-size: 52px; line-height: 1; margin-bottom: 14px; }
.hero-icon .si-icon, .hero-icon .tile-icon { width: 52px; height: 52px; }
.hero-text h1 { font-size: clamp(32px,5vw,56px); font-weight: 800; line-height: 1.08; letter-spacing: -.03em; }
.hero-text h1 .hl { color: var(--accent); }
.hero-text p { margin-top: 10px; color: var(--muted); font-size: 16px; max-width: 680px; }
.hero-stats { margin-left: auto; display: flex; gap: 24px; white-space: nowrap; }
.stat { text-align: center; }
.stat-num { font-family: var(--font-mono); font-size: 30px; font-weight: 600; color: var(--accent); line-height: 1; }
.stat-label { font-size: 11px; color: var(--muted); margin-top: 4px; text-transform: uppercase; letter-spacing: .1em; }

.search-bar { max-width: 1100px; margin: 0 auto; padding: 0 24px 28px; }
.search-wrap { position: relative; }
.search-input { width: 100%; background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; padding: 14px 54px 14px 46px; font-family: var(--font-ui); font-size: 15px; color: var(--text); outline: none; transition: border-color .2s, box-shadow .2s; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%236b6b8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 16px center; }
.search-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(108,99,255,.14); }
.search-input::placeholder { color: var(--muted); }
.clear-search { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); border: 0; background: var(--bg3); color: var(--muted); width: 28px; height: 28px; border-radius: 7px; cursor: pointer; display: none; }
.clear-search.visible { display: block; }
.result-line { margin-top: 8px; color: var(--muted); font-size: 13px; }

.toolbar { max-width: 1100px; margin: 0 auto 22px; padding: 0 24px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.toolbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.layout { max-width: 1100px; margin: 0 auto; padding: 0 24px 84px; display: grid; grid-template-columns: 180px 1fr; gap: 30px; align-items: start; }
.toc { position: sticky; top: 78px; border: 1px solid var(--border); border-radius: 12px; padding: 12px 0; background: var(--bg2); }
.toc-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); padding: 0 12px 8px; }
.toc-link { display: block; font-size: 13px; color: var(--muted); text-decoration: none; padding: 5px 12px; transition: color .15s,background .15s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 2px solid transparent; }
.toc-link:hover { color: var(--text); background: var(--bg3); }
.toc-link.active { color: var(--accent); border-left-color: var(--accent); }
main { min-width: 0; }

.guide-card { margin-bottom: 34px; padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: linear-gradient(135deg, var(--bg2), rgba(108,99,255,.08)); display: grid; grid-template-columns: 1.3fr .9fr; gap: 24px; }
.eyebrow { color: var(--accent); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 8px; }
.guide-card h2, .faq-section h2 { font-size: 24px; letter-spacing: -.02em; line-height: 1.2; }
.guide-card p { color: var(--muted); margin-top: 8px; }
.guide-points { list-style: none; display: grid; gap: 8px; color: var(--muted); font-size: 15px; }
.guide-points li { padding-left: 18px; position: relative; }
.guide-points li::before { content: ""; position: absolute; left: 0; top: .65em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.guide-shortcuts { gap: 9px; align-content: start; }
.guide-shortcuts li { padding-left: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.guide-shortcuts li::before { display: none; }
.gp-action { color: var(--text); font-size: 14px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gp-keys { display: flex; gap: 4px; flex-shrink: 0; }
kbd { font-family: var(--font-mono); font-size: 12px; padding: 2px 6px; border-radius: 5px; background: var(--key-bg); border: 1px solid var(--border); }

.category { margin-bottom: 38px; }
.category-header { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.category-title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: var(--cat-color); }
.category-count { font-size: 12px; font-family: var(--font-mono); color: var(--muted); margin-left: auto; }
.shortcut-table { width: 100%; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: var(--bg2); }
.shortcut-row { position: relative; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; padding: 12px 64px 12px 16px; border-bottom: 1px solid var(--border); gap: 14px; transition: background .1s; }
.btn-fav { border: 0; background: none; padding: 0; width: 22px; height: 22px; font-size: 17px; line-height: 1; color: var(--muted); cursor: pointer; transition: color .15s, transform .1s; }
.btn-fav:hover { transform: scale(1.18); color: var(--accent); }
.btn-fav.faved { color: #f5b301; }
.shortcut-row:last-child { border-bottom: none; }
.shortcut-row:hover { background: var(--bg3); }
.shortcut-row.hidden { display: none; }
.action-name { font-size: 15px; color: var(--text); }
.keys { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.key { font-family: var(--font-mono); font-size: 13px; font-weight: 600; padding: 4px 10px; background: var(--key-bg); border: 1px solid var(--key-top); border-bottom: 2px solid var(--key-shadow); border-radius: 6px; color: var(--text); white-space: nowrap; }
.muted-key { color: var(--muted); }
.key-sep { font-size: 12px; color: var(--muted); font-family: var(--font-mono); }
.slash { margin: 0 4px; }
.compare-keys { display: none; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; width: min(680px,100%); }
.compare-keys span { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; min-width: 0; }
.compare-keys b { font-family: var(--font-mono); font-size: 11px; color: var(--muted); min-width: 38px; }
body.compare-mode .shortcut-row { grid-template-columns: 22px minmax(180px,.8fr) minmax(0,1.4fr); }
body.compare-mode .keys { display: none; }
body.compare-mode .compare-keys { display: grid; }

.btn-copy { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 11px; font-family: var(--font-mono); padding: 3px 7px; border-radius: 5px; border: 1px solid var(--border); background: var(--bg3); color: var(--muted); cursor: pointer; opacity: 0; transition: opacity .15s,color .15s,border-color .15s; pointer-events: none; line-height: 1.5; }
.shortcut-row:hover .btn-copy, .btn-copy:focus-visible { opacity: 1; pointer-events: auto; }
.btn-copy.copied { color: var(--ok); border-color: var(--ok); }

.related-section { margin-top: 48px; }
.related-section h2 { font-size: 24px; letter-spacing: -.02em; }
.related-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.related-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg2); text-decoration: none; color: var(--text); transition: border-color .15s, transform .15s, background .15s; }
.related-card:hover { border-color: var(--accent); transform: translateY(-2px); background: var(--bg3); }
.related-icon { width: 28px; height: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.related-icon .si-icon { width: 26px; height: 26px; }
.related-icon .tile-icon { width: 28px; height: 28px; border-radius: 7px; }
.related-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.related-body strong { font-size: 15px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.related-count { font-family: var(--font-mono); font-size: 12px; color: var(--muted); margin-top: 2px; }
.related-arrow { color: var(--accent); font-weight: 700; flex-shrink: 0; opacity: 0; transition: opacity .15s, transform .15s; }
.related-card:hover .related-arrow { opacity: 1; transform: translateX(2px); }

.faq-section { margin-top: 48px; }
.faq-list { margin-top: 14px; display: grid; gap: 10px; }
details { border: 1px solid var(--border); background: var(--bg2); border-radius: 12px; padding: 14px 16px; }
summary { cursor: pointer; font-weight: 700; }
details p { margin-top: 8px; color: var(--muted); font-size: 15px; }
#no-results { display: none; text-align: center; padding: 50px 24px; color: var(--muted); font-size: 15px; }
.ad-block { margin: 32px 0; }
.ad-label { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 8px; text-align: center; }
.ad-slot { min-height: 280px; border: 1px dashed var(--border); border-radius: 12px; display: grid; place-items: center; background: var(--bg2); }
footer { border-top: 1px solid var(--border); text-align: center; padding: 24px; font-size: 13px; color: var(--muted); }
footer a { color: var(--accent); text-decoration: none; }
.link-btn { background:none; border:0; color:var(--accent); font:inherit; cursor:pointer; padding:0; text-decoration:none; }
.link-btn:hover { text-decoration:underline; }
.disclaimer { margin: 10px auto 0; max-width: 680px; font-size: 11px; line-height: 1.5; color: var(--muted); opacity: .85; }
/* Cookie consent banner */
#cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:9999; background:var(--bg2); border-top:1px solid var(--border); padding:14px 20px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:14px; color:var(--muted); }
#cookie-banner[hidden] { display:none; }
#cookie-banner p { margin:0; flex:1; min-width:200px; }
#cookie-banner a { color:var(--accent); }
.cookie-btn { padding:8px 16px; border-radius:8px; border:1px solid var(--border); cursor:pointer; font-size:13px; font-family:var(--font-ui); }
.cookie-btn-accept { background:var(--accent-strong); color:#fff; border-color:var(--accent-strong); }
.cookie-btn-reject { background:var(--bg3); color:var(--text); }
/* Practice / trainer */
.btn-train { font-size: 13px; font-family: var(--font-ui); border: 1px solid var(--accent); background: rgba(108,99,255,.12); color: var(--text); padding: 7px 12px; border-radius: 7px; cursor: pointer; font-weight: 700; white-space: nowrap; transition: background .15s; }
.btn-train:hover { background: rgba(108,99,255,.24); }
.train-modal { position: fixed; inset: 0; z-index: 320; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.train-modal[hidden] { display: none; }
.train-box { background: var(--bg2); border: 1px solid var(--border); border-radius: 16px; width: 100%; max-width: 480px; overflow: hidden; }
.train-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.train-head strong { font-size: 16px; }
.train-body { padding: 24px 20px 22px; text-align: center; }
.train-stats { font-family: var(--font-mono); font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.train-prompt { color: var(--muted); font-size: 13px; }
.train-action { font-size: 24px; font-weight: 800; letter-spacing: -.02em; margin: 6px 0 16px; line-height: 1.2; }
.train-capture { width: 100%; text-align: center; background: var(--bg3); border: 2px dashed var(--border); border-radius: 12px; padding: 16px; font-family: var(--font-mono); font-size: 16px; color: var(--text); outline: none; }
.train-capture:focus { border-color: var(--accent); }
.train-feedback { min-height: 26px; font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.train-feedback.ok { color: var(--ok); }
.train-feedback.no { color: var(--accent2); }
.train-feedback .key { font-weight: 600; }
.train-controls { display: flex; gap: 8px; justify-content: center; margin-top: 18px; }
@media print { .btn-train { display: none !important; } }

/* Personal cheat sheet (favorites) */
.fav-fab { position:fixed; bottom:20px; right:20px; z-index:200; display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; border:1px solid var(--accent-strong); background:var(--accent-strong); color:#fff; font-family:var(--font-ui); font-size:14px; font-weight:700; cursor:pointer; box-shadow:0 6px 24px rgba(108,99,255,.35); }
.fav-fab[hidden] { display:none; }
.fav-modal[hidden] { display:none; }
.fav-fab .fav-star { color:#ffd84d; }
.fav-fab #fav-count { background:rgba(255,255,255,.22); border-radius:999px; padding:1px 8px; font-size:13px; }
.fav-modal { position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.55); display:flex; align-items:flex-end; justify-content:center; padding:0; }
@media(min-width:640px){ .fav-modal { align-items:center; padding:24px; } }
.fav-box { background:var(--bg2); border:1px solid var(--border); border-radius:16px 16px 0 0; width:100%; max-width:640px; max-height:82vh; display:flex; flex-direction:column; overflow:hidden; }
@media(min-width:640px){ .fav-box { border-radius:16px; } }
.fav-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid var(--border); }
.fav-head strong { font-size:17px; }
.fav-actions { display:flex; gap:6px; }
.fav-list { overflow-y:auto; padding:8px 18px 18px; }
.fav-empty { padding:32px 18px; text-align:center; color:var(--muted); font-size:14px; }
.fav-app-group { margin-top:14px; }
.fav-app-group:first-child { margin-top:6px; }
.fav-app-name { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--cat-color); margin-bottom:6px; }
.fav-row { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--bg3); }
.fav-row .fav-act { flex:1; min-width:0; font-size:14px; }
.fav-row .fav-keys { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.fav-row .fav-del { border:0; background:none; color:var(--muted); cursor:pointer; font-size:15px; flex-shrink:0; }
.fav-row .fav-del:hover { color:var(--accent2); }

@media (max-width: 860px) {
  .layout { grid-template-columns: 1fr; }
  .toc { display: none; }
  .hero { align-items: flex-start; }
  .hero-stats { display: none; }
  .guide-card { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  header { padding: 0 14px; }
  .header-inner { min-height: 58px; height: auto; flex-wrap: wrap; gap: 9px; padding: 10px 0; }
  .sep { display: none; }
  .app-name-header { font-size: 13px; }
  .header-actions { gap: 8px; }
  .os-tabs { flex: 1; overflow-x: auto; }
  .os-tab { flex: 1; padding: 7px 8px; }
  .btn-print { display: none; }
  .hero { padding: 34px 16px 20px; }
  .search-bar, .layout, .toolbar { padding-left: 16px; padding-right: 16px; }
  .shortcut-row, body.compare-mode .shortcut-row { grid-template-columns: 1fr; align-items: start; gap: 9px; padding: 13px 44px 13px 14px; }
  .keys { justify-content: flex-start; padding-right: 0; }
  .compare-keys { grid-template-columns: 1fr; }
  .btn-copy { opacity: 1; pointer-events: auto; position: static; transform: none; justify-self: start; }
  .btn-fav { position: absolute; top: 11px; right: 12px; }
  .guide-card { padding: 18px; }
}
@media print {
  header, .search-bar, .hero-stats, footer, .toc, .btn-copy, .btn-theme, .btn-export,
  .btn-dl-group, #no-results, .guide-points, .related-section, #cookie-banner,
  .btn-fav, .fav-fab, .source-meta { display: none !important; }
  .layout { display: block; padding: 0; }
  body { background: #fff; color: #000; font-size: 11px; }
  .hero { padding: 0 0 12px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero-icon .si-icon { filter: brightness(0); width: 36px; height: 36px; }
  .hero-icon { font-size: 36px; margin-bottom: 6px; }
  .hero-text h1 { font-size: 22px; color: #000; }
  .hero-text h1 .hl, .category-title { color: #5b54e8; }
  .hero-text p, .guide-card p, details p { color: #555; }
  .guide-card, details, .shortcut-table { border-color: #ccc; background: #fff; }
  .category { page-break-inside: avoid; margin-bottom: 24px; }
  .shortcut-row { page-break-inside: avoid; }
  .key { background: #f0f0f0; border: 1px solid #ccc; border-bottom: 2px solid #aaa; color: #000; font-size: 10px; }
  .action-name { color: #000; }
  a[href]::after { content: none; }
  /* When printing the personal cheat sheet, show only the panel. */
  body.fav-printing > *:not(#fav-modal) { display: none !important; }
  body.fav-printing #fav-modal { position: static; background: none; display: block; padding: 0; }
  body.fav-printing .fav-box { max-width: none; max-height: none; border: 0; border-radius: 0; background: #fff; }
  body.fav-printing .fav-actions { display: none; }
  body.fav-printing .fav-app-name { color: #5b54e8; }
}

/* See also — internal-link mesh on app pages */
.see-also{margin:40px 0 8px}
.see-also-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.see-also-links a{display:inline-block;padding:8px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg2);color:var(--text);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}
.see-also-links a:hover{border-color:var(--accent);color:var(--accent)}
