:root{--ink: #0f172a;--ink-soft: #475569;--ink-faint: #94a3b8;--bg: #ffffff;--bg-soft: #f8fafc;--line: #e2e8f0;--chip: #f1f5f9;--chip-active: #0f172a;--accent: #e11d48;--accent-soft: #ffe4e9;--blue: #2563eb;--blue-soft: #dbeafe;--green-soft: #dcfce7;--green-ink: #166534;--amber-soft: #fef3c7;--amber-ink: #92400e;--radius: 14px;--shadow: 0 1px 2px rgba(15, 23, 42, .05);--shadow-hover: 0 8px 24px rgba(15, 23, 42, .09)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:28px;height:64px}.logo{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.logo .heart{color:var(--accent)}.main-nav{display:flex;gap:22px;font-size:.95rem;color:var(--ink-soft);flex:1}.main-nav a:hover{color:var(--ink)}.header-cta{background:var(--ink);color:#fff;padding:8px 16px;border-radius:999px;font-size:.88rem;font-weight:600}.header-cta:hover{background:#1e293b}.hero{padding:56px 0 32px}.hero h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em;line-height:1.1;display:flex;align-items:center;gap:14px}.hero h1 .icon{font-size:.8em}.hero .sub{color:var(--ink-soft);margin-top:12px;max-width:640px;font-size:1.05rem}.chips{display:flex;flex-wrap:wrap;gap:10px;padding:22px 0 8px}.chip{border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);padding:7px 16px;border-radius:999px;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .12s ease;white-space:nowrap}.chip:hover{border-color:var(--ink-faint);color:var(--ink)}.chip.active{background:var(--chip-active);border-color:var(--chip-active);color:#fff}.searchbar{display:flex;gap:12px;margin:18px 0 8px}.searchbar input{flex:1;border:1px solid var(--line);border-radius:999px;padding:12px 20px;font-size:.95rem;background:var(--bg-soft);outline:none}.searchbar input:focus{border-color:var(--ink-faint);background:#fff}.section-h{display:flex;align-items:baseline;gap:12px;margin:40px 0 6px}.section-h h2{font-size:1.5rem;letter-spacing:-.02em}.section-h .count{color:var(--ink-faint);font-size:.9rem}.section-sub{color:var(--ink-soft);font-size:.93rem;max-width:720px;margin-bottom:18px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:18px 0}.site-card{position:relative;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--bg);box-shadow:var(--shadow);transition:all .15s ease}.site-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);border-color:var(--ink-faint)}.site-card .mark{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.15rem;color:#fff}.site-card .co{color:var(--ink-faint);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.site-card h3{font-size:1.02rem;letter-spacing:-.01em;line-height:1.3}.site-card .tagline{color:var(--ink-soft);font-size:.84rem;line-height:1.45;flex:1}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--chip);color:var(--ink-soft)}.badge.audience{background:var(--blue-soft);color:var(--blue)}.badge.rating{background:var(--green-soft);color:var(--green-ink)}.badge.dead{background:#fee2e2;color:#b91c1c}.badge.featured-tag{position:absolute;top:12px;right:12px;background:var(--accent-soft);color:var(--accent)}.badge.pricing{background:var(--amber-soft);color:var(--amber-ink)}.detail-head{padding:44px 0 10px}.crumbs{color:var(--ink-faint);font-size:.85rem;margin-bottom:18px}.crumbs a:hover{color:var(--ink);text-decoration:underline}.detail-head .title-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.detail-head .mark{width:72px;height:72px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.8rem;color:#fff}.detail-head h1{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.02em}.detail-head .tagline{color:var(--ink-soft);font-size:1.05rem;margin-top:4px}.detail-cols{display:grid;grid-template-columns:1fr 320px;gap:40px;padding:26px 0 60px}@media (max-width: 860px){.detail-cols{grid-template-columns:1fr}}.shot{margin-bottom:26px}.shot img{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.shot figcaption{color:var(--ink-faint);font-size:.8rem;margin-top:8px;text-align:center}.review-body{font-size:1.02rem;color:#1e293b}.review-body p{margin-bottom:14px}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}@media (max-width: 560px){.pros-cons{grid-template-columns:1fr}}.pc-box{border:1px solid var(--line);border-radius:var(--radius);padding:18px}.pc-box h3{font-size:.95rem;margin-bottom:10px}.pc-box ul{list-style:none}.pc-box li{font-size:.9rem;color:var(--ink-soft);padding:5px 0 5px 24px;position:relative}.pc-box.pros li:before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}.pc-box.cons li:before{content:"✕";position:absolute;left:0;color:#dc2626;font-weight:700}.facts{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--bg-soft)}.facts h3{font-size:.95rem;margin-bottom:12px}.facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.88rem}.facts dt{color:var(--ink-faint)}.facts dd{font-weight:600;text-align:right}.visit-btn{display:block;text-align:center;margin-top:16px;background:var(--ink);color:#fff;padding:12px;border-radius:999px;font-weight:600;font-size:.92rem}.visit-btn:hover{background:#1e293b}.stars{color:#f59e0b;letter-spacing:2px}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}.post-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg);box-shadow:var(--shadow);transition:all .15s ease;display:flex;flex-direction:column}.post-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.post-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.post-card h3{font-size:1rem;line-height:1.35;letter-spacing:-.01em}.post-card .meta{color:var(--ink-faint);font-size:.8rem}.post-card .excerpt{color:var(--ink-soft);font-size:.86rem;flex:1}.article{max-width:760px;margin:0 auto;padding:44px 20px 70px}.article h1{font-size:clamp(1.7rem,4vw,2.3rem);letter-spacing:-.02em;line-height:1.2}.article .meta{color:var(--ink-faint);font-size:.9rem;margin:14px 0 6px}.article .hero-img{width:100%;border-radius:var(--radius);margin:22px 0}.article-content{font-size:1.04rem;color:#1e293b}.article-content p{margin:16px 0}.article-content h2{margin:30px 0 10px;font-size:1.4rem;letter-spacing:-.01em}.article-content h3{margin:24px 0 8px;font-size:1.15rem}.article-content ul,.article-content ol{margin:16px 0 16px 24px}.article-content a{color:var(--blue);text-decoration:underline}.article-content img{max-width:100%;border-radius:10px}.article-content blockquote{border-left:3px solid var(--line);padding-left:16px;color:var(--ink-soft);margin:16px 0}.cat-links{display:flex;flex-wrap:wrap;gap:8px}.cat-links a{font-size:.8rem;background:var(--chip);padding:4px 12px;border-radius:999px;color:var(--ink-soft)}.cat-links a:hover{background:var(--line);color:var(--ink)}.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin:36px 0;font-size:.92rem}.pager a,.pager span{padding:8px 14px;border-radius:10px;border:1px solid var(--line)}.pager a:hover{border-color:var(--ink-faint)}.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}.pager .gap{border:none;color:var(--ink-faint)}.site-footer{border-top:1px solid var(--line);margin-top:60px;padding:36px 0 48px;color:var(--ink-soft);font-size:.88rem}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer a:hover{color:var(--ink)}.empty-note{color:var(--ink-faint);font-style:italic;padding:30px 0;display:none}@media (max-width: 720px){.main-nav{display:none}.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}
