:root{--space-deep: #0d0a24;--space-mid: #23186b;--space-violet: #5b3fe0;--space-blue: #2f6bff;--star: #8fd3ff;--bg: #f4f3f8;--surface: #ffffff;--text: #17142b;--text-muted: #5d5a73;--border: #e3e1ec;--accent: #4b32c9;--accent-soft: #ece8ff;--ring: #6d55ff;--cat-docs: #2f6bff;--cat-device: #0f9d74;--cat-tools: #d9480f;--cat-music: #b4239a;--radius: 14px;--shadow: 0 1px 2px rgba(23,20,43,.04),0 2px 8px rgba(23,20,43,.04);--shadow-hover: 0 2px 4px rgba(23,20,43,.05),0 14px 28px -10px rgba(43,28,120,.22);--font-display: "Bricolage Grotesque",system-ui,sans-serif;--font-body: "Instrument Sans",system-ui,sans-serif;--font-mono: "JetBrains Mono",ui-monospace,monospace}*{box-sizing: border-box}html{-webkit-text-size-adjust: 100%}body{margin: 0;font-family: var(--font-body);font-size: 16px;line-height: 1.55;color: var(--text);background: var(--bg)}a{color: inherit}:focus-visible{outline: 3px solid var(--ring);outline-offset: 2px;border-radius: 6px}.visually-hidden{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.skip-link{position: absolute;left: 16px;top: -48px;z-index: 100;background: #fff;color: var(--text);padding: 8px 14px;border-radius: 8px}.skip-link:focus{top: 12px}.site-header{position: relative;overflow: hidden;color: #fff;background: radial-gradient(60% 120% at 85% 0%,rgba(47,107,255,.55),transparent 60%),radial-gradient(50% 90% at 10% 100%,rgba(140,70,255,.45),transparent 65%),linear-gradient(160deg,var(--space-deep) 0%,var(--space-mid) 55%,#2a1f86 100%)}.stars{position: absolute;inset: 0;pointer-events: none;opacity: .8;background-image: radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 68%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 47% 18%,var(--star) 50%,transparent 51%),radial-gradient(1px 1px at 63% 52%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 30%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 91% 74%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 84%,var(--star) 50%,transparent 51%),radial-gradient(1px 1px at 38% 40%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(1px 1px at 55% 88%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(1px 1px at 84% 10%,rgba(255,255,255,.7) 50%,transparent 51%)}.site-header::after{content: "";position: absolute;right: -180px;bottom: -340px;width: 560px;height: 560px;border-radius: 50%;border: 1px solid rgba(143,211,255,.25);box-shadow: inset 0 0 80px rgba(91,63,224,.35);pointer-events: none}.header-inner{position: relative;z-index: 1;max-width: 1240px;margin: 0 auto;padding: 0 24px}.topbar{display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 18px 0}.brand{display: flex;align-items: center;gap: 10px;text-decoration: none}.brand-mark{width: auto;height: 40px;display: block}.brand-name{font-family: var(--font-display);font-weight: 700;font-size: 19px;letter-spacing: .06em}.brand-name span{font-weight: 500;color: var(--star);margin-left: 6px}.topnav{display: flex;gap: 4px;list-style: none;margin: 0;padding: 0}.topnav a{display: block;padding: 8px 14px;border-radius: 999px;font-size: 15px;text-decoration: none;color: rgba(255,255,255,.78);transition: background-color .2s,color .2s}.topnav a:hover{color: #fff;background: rgba(255,255,255,.08)}.topnav a[aria-current="page"]{color: #fff;background: rgba(255,255,255,.14)}.hero{padding: 40px 0 52px;max-width: 720px}.eyebrow{margin: 0 0 14px;font-family: var(--font-mono);font-size: 13px;color: var(--star);letter-spacing: .02em}.hero h1{margin: 0 0 28px;font-family: var(--font-display);font-weight: 700;font-size: clamp(30px,4.4vw,48px);line-height: 1.08;letter-spacing: -.02em;text-wrap: balance}.hero h1:has(+ .hero-lede){margin-bottom: 14px}.hero-lede{margin: 0 0 26px;max-width: 58ch;font-size: 17px;color: rgba(255,255,255,.8)}.home-content{max-width: 760px;margin: 56px 0 0}.search{display: flex;align-items: center;gap: 10px;background: #fff;border-radius: 12px;padding: 0 14px;max-width: 560px;box-shadow: 0 10px 30px -10px rgba(0,0,0,.45)}.search svg{width: 20px;height: 20px;fill: none;stroke: var(--text-muted);stroke-width: 2;stroke-linecap: round;flex: none}.search input{flex: 1;min-width: 0;height: 52px;border: 0;outline: none;background: transparent;font: inherit;font-size: 16px;color: var(--text)}.search:focus-within{outline: 3px solid var(--star);outline-offset: 2px}.search kbd{font-family: var(--font-mono);font-size: 12px;color: var(--text-muted);border: 1px solid var(--border);border-radius: 6px;padding: 2px 7px}.layout{max-width: 1240px;margin: 0 auto;padding: 36px 24px 64px;display: grid;grid-template-columns: 240px 1fr;gap: 40px;align-items: start}.sidebar{position: sticky;top: 24px}.side-title{margin: 0 0 10px;font-size: 12px;font-weight: 600;text-transform: uppercase;letter-spacing: .08em;color: var(--text-muted)}.cat-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 2px}.cat-btn{width: 100%;display: flex;align-items: center;gap: 10px;min-height: 44px;padding: 8px 10px;border: 0;border-radius: 10px;background: transparent;font: inherit;font-size: 15px;color: var(--text);text-align: left;cursor: pointer;transition: background-color .15s}.cat-btn:hover{background: #e9e7f2}.cat-btn[aria-pressed="true"]{background: var(--surface);box-shadow: var(--shadow);font-weight: 600}.cat-dot{width: 28px;height: 28px;border-radius: 8px;display: grid;place-items: center;flex: none;background: var(--c,var(--accent));color: #fff}.cat-dot svg{width: 16px;height: 16px;fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round}.cat-count{margin-left: auto;font-family: var(--font-mono);font-size: 12px;color: var(--text-muted)}.side-note{margin-top: 28px;padding: 16px;border-radius: var(--radius);border: 1px dashed #cfcbe0;font-size: 14px;color: var(--text-muted)}.side-note p{margin: 0 0 8px}.side-note strong{color: var(--text)}.text-link{color: var(--accent);font-weight: 600;text-decoration: none;font-size: 14px}.text-link:hover{text-decoration: underline}.toolbar{display: flex;align-items: center;justify-content: space-between;gap: 16px;margin-bottom: 18px}.result-title{margin: 0;font-family: var(--font-display);font-size: 22px;font-weight: 700}.result-title small{font-family: var(--font-mono);font-weight: 400;font-size: 13px;color: var(--text-muted);margin-left: 8px}.sort{display: flex;align-items: center;gap: 8px;font-size: 14px;color: var(--text-muted)}.sort select{font: inherit;color: var(--text);background: var(--surface);border: 1px solid var(--border);border-radius: 8px;padding: 8px 10px;cursor: pointer}.grid{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill,minmax(230px,1fr));gap: 16px}.card{position: relative;height: 100%;display: flex;flex-direction: column;gap: 10px;padding: 20px;border-radius: var(--radius);background: var(--surface);border: 1px solid var(--border);box-shadow: var(--shadow);text-decoration: none;transition: transform .2s ease,box-shadow .2s ease,border-color .2s}.card:hover{transform: translateY(-3px);box-shadow: var(--shadow-hover);border-color: #d4cff0}.card:active{transform: translateY(-1px)}.card-icon{width: 44px;height: 44px;border-radius: 11px;display: grid;place-items: center;background: color-mix(in srgb,var(--c) 12%,white);color: var(--c);margin-bottom: 6px}.card-icon svg{width: 22px;height: 22px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round}.card h3{margin: 0;font-family: var(--font-display);font-size: 18px;font-weight: 700;letter-spacing: -.01em}.card p{margin: 0;font-size: 14px;color: var(--text-muted);line-height: 1.5}.card-meta{margin-top: auto;padding-top: 10px;display: flex;align-items: center;gap: 8px;font-size: 13px;color: var(--text-muted)}.card-meta .cat{font-weight: 600;color: var(--text)}.card-meta .sep{width: 3px;height: 3px;border-radius: 50%;background: #b8b4cc}.card-meta .open{margin-left: auto;display: inline-flex;align-items: center;gap: 4px;padding: 6px 12px;border-radius: 999px;font-weight: 600;font-size: 13px;background: var(--accent-soft);color: var(--accent);transition: background-color .2s,color .2s}.card-meta .open svg{width: 14px;height: 14px;fill: none;stroke: currentColor;stroke-width: 2.2;stroke-linecap: round;stroke-linejoin: round;transition: transform .2s}.card:hover .open{background: var(--accent);color: #fff}.card:hover .open svg{transform: translateX(2px)}.badge{position: absolute;top: 16px;right: 16px;font-family: var(--font-mono);font-size: 11px;padding: 2px 7px;border-radius: 6px;background: var(--accent-soft);color: var(--accent)}.empty{padding: 48px 0;color: var(--text-muted)}.site-footer{max-width: 1240px;margin: 0 auto;padding: 40px 24px 28px;border-top: 1px solid var(--border);display: grid;grid-template-columns: 2fr 1fr 1fr;gap: 32px;font-size: 14px;color: var(--text-muted)}.site-footer p{margin: 0}.site-footer h2{margin: 0 0 10px;font-size: 12px;font-weight: 600;text-transform: uppercase;letter-spacing: .08em;color: var(--text)}.site-footer ul{list-style: none;margin: 0;padding: 0;display: grid;gap: 6px}.site-footer a{text-decoration: none}.site-footer a:hover{color: var(--accent);text-decoration: underline}.footer-logo img{height: 30px;width: auto}.footer-logo{display: inline-flex;align-items: center;gap: 8px;margin-bottom: 8px;font-family: var(--font-display);font-weight: 700;letter-spacing: .06em;color: var(--text)}.footer-logo span{margin-left: 5px;font-weight: 500;color: var(--accent)}.footer-brand p{max-width: 34ch}.footer-legal{grid-column: 1 / -1;padding-top: 20px;border-top: 1px solid var(--border)}@media (max-width: 640px){.site-footer{grid-template-columns: 1fr 1fr}.footer-brand{grid-column: 1 / -1}}@media (max-width: 900px){.layout{grid-template-columns: 1fr;gap: 20px;padding-top: 24px}.sidebar{position: static}.cat-list{display: flex;flex-wrap: wrap;gap: 8px}.cat-btn{width: auto;background: var(--surface);border: 1px solid var(--border);padding: 6px 12px 6px 6px}.cat-btn[aria-pressed="true"]{border-color: var(--accent)}.side-note{display: none}}@media (max-width: 640px){.header-inner,.layout,.site-footer{padding-left: 16px;padding-right: 16px}.topnav li:not(:first-child){display: none}.hero{padding: 20px 0 36px}.search kbd{display: none}.toolbar{flex-wrap: wrap}.grid{grid-template-columns: 1fr}.cat-count{display: none}}@media (prefers-reduced-motion: reduce){*{transition: none !important}}.link-btn{padding: 0;border: 0;background: none;cursor: pointer;font: inherit;color: inherit;text-align: left}.link-btn:hover{color: var(--accent);text-decoration: underline}.cookie-banner{position: fixed;left: 16px;right: 16px;bottom: 16px;z-index: 900;max-width: 640px;margin: 0 auto;padding: 16px 18px;display: flex;align-items: center;gap: 16px;background: var(--space-deep);color: #fff;border-radius: 14px;box-shadow: 0 16px 40px -12px rgba(13,10,36,.55);font-size: 14px;line-height: 1.45}.cookie-banner p{margin: 0;flex: 1;color: rgba(255,255,255,.85)}.cookie-banner a{color: var(--star)}.cookie-actions{display: flex;gap: 8px;flex: none}.cookie-btn{min-height: 40px;padding: 8px 16px;border-radius: 10px;cursor: pointer;font: inherit;font-weight: 600;border: 1px solid rgba(255,255,255,.25);background: transparent;color: #fff}.cookie-btn:hover{background: rgba(255,255,255,.08)}@media (max-width: 560px){.cookie-banner{flex-direction: column;align-items: stretch}.cookie-actions .cookie-btn{flex: 1}}