:root{--bg:#f7f6f2;--surface:#fff;--text:#1f1e1c;--text-sub:#5f5e5a;--text-muted:#8a8983;--border:#e3e1d9;--tag-bg:#f1efe8;--accent:#185fa5;--thumb-mix:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#161615;--surface:#1f1f1d;--text:#f1efe8;--text-sub:#b4b2a9;--text-muted:#888780;--border:#33322f;--tag-bg:#2a2a27;--accent:#85b7eb;--thumb-mix:32%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,system-ui,sans-serif;line-height:1.7;transition:background .2s,color .2s}a{color:inherit}h1,h2,h3{margin:0;line-height:1.3}.container{max-width:1040px;margin:0 auto;padding:0 24px}.nav{z-index:10;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:60px;display:flex}.logo{letter-spacing:.02em;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.nav nav{align-items:center;gap:20px;font-size:14px;display:flex}.nav nav a{color:var(--text-sub);text-decoration:none}.nav nav a:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;display:grid}.hero{padding-top:88px;padding-bottom:56px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:13px}.hero h1{letter-spacing:-.01em;font-size:clamp(30px,5.5vw,48px);font-weight:700}.hero .line{display:inline-block}.lead{max-width:40em;color:var(--text-sub);margin:20px 0 0}.section{padding-top:48px;padding-bottom:48px}.section-title{align-items:center;gap:10px;margin-bottom:24px;font-size:22px;display:flex}.count{background:var(--tag-bg);color:var(--text-sub);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:500}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.card:hover{border-color:var(--text-muted);transform:translateY(-3px)}.thumb{aspect-ratio:16/9;background:color-mix(in srgb, var(--thumb) var(--thumb-mix), var(--surface));border-bottom:1px solid var(--border);place-items:center;display:grid;overflow:hidden}.thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.thumb-icon{background:var(--surface);width:96px;height:96px;color:var(--text);border:1px solid var(--border);border-radius:24px;place-items:center;transition:transform .3s;display:grid}.card:hover .thumb-icon{transform:scale(1.06)rotate(-3deg)}.card-body{flex-direction:column;flex:1;padding:20px 24px 24px;display:flex}.tagline{color:var(--text-muted);margin:0 0 4px;font-size:13px}.card h3{font-size:20px}.desc{color:var(--text-sub);margin:10px 0 0;font-size:15px}.features{margin:14px 0 0;padding:0;font-size:14px;list-style:none}.features li{padding-left:18px;position:relative}.features li:before{content:"";background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute;top:.75em;left:4px}.tags{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.tags li{background:var(--tag-bg);color:var(--text-sub);border-radius:999px;padding:2px 10px;font-size:12px}.open{color:var(--accent);align-self:flex-start;align-items:center;gap:6px;margin-top:auto;padding-top:20px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.open:hover{text-decoration:underline}.about{max-width:44em}.about p{color:var(--text-sub);margin:0}.footer{color:var(--text-muted);padding-top:40px;padding-bottom:40px;font-size:13px}@media (width<=560px){.container{padding:0 16px}.nav nav{gap:14px}.hero{padding-top:56px;padding-bottom:32px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}.only-dark,:root[data-theme=dark] .only-light{display:none}:root[data-theme=dark] .only-dark{display:block}
