:root{--bg: #fdf9ef;--card: #fffdf6;--ink: #4a4238;--muted: #8d8172;--line: #e2d8c3;--line-soft: #ede5d3;--green: #6b8f7a;--orange: #c08a5e;--blue: #7d9bb5;--yellow: #d9a94a;--red: #c47a72;--wash-yellow: rgba(217, 169, 74, .07);--wash-green: rgba(107, 143, 122, .07);--wash-orange: rgba(192, 138, 94, .07);--wash-blue: rgba(125, 155, 181, .07);--wash-pink: rgba(196, 122, 114, .07);--radius: 14px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--ink);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.025 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");line-height:1.8}img{display:block;max-width:100%}main{max-width:720px;margin:0 auto;padding:0 16px 72px}a{color:var(--green)}h1,h2,h3{line-height:1.35;font-weight:700}.intro h2,.invites h2,.story-body h2{margin:0 0 12px;font-size:1.3rem}.intro h2:after,.invites h2:after,.story-body h2:after{content:"";display:block;width:52px;height:6px;margin-top:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='6' viewBox='0 0 52 6'%3E%3Cpath d='M1 4 Q 8 1 15 4 T 29 4 T 43 4 T 51 4' fill='none' stroke='%23c08a5e' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat}.hero{padding-top:24px;position:relative}.hero-photo{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.hero-photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 38%}.hero-caption{position:absolute;left:0;right:0;bottom:0;padding:56px 20px 20px;background:linear-gradient(to top,#14100ad1,#14100a00);color:#fff;text-align:center}.hero-caption .eyebrow{margin:0 0 6px;font-size:.85rem;letter-spacing:.25em;color:var(--yellow);font-weight:700}.hero-caption h1{margin:0 0 6px;font-size:2.6rem;line-height:1.1;letter-spacing:.04em;text-shadow:0 2px 0 rgba(0,0,0,.35)}.hero-caption h1 .en{display:block;font-size:1.15rem;letter-spacing:.18em;color:var(--yellow);margin-top:4px}.hero-caption .tagline{margin:4px 0;font-size:1.05rem;font-weight:600}.hero-caption .dates{margin:8px 0 2px;font-weight:700;color:var(--yellow)}.hero-caption .invite{margin:4px 0 0;font-size:1rem}.hero-hint{text-align:center;margin:20px 0 0;color:var(--muted);font-weight:600}.intro{padding:36px 4px 4px}.intro p{margin:12px 0}.tiles{display:grid;gap:24px;margin-top:28px}.tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.tile-head{display:flex;align-items:center;gap:14px;width:100%;min-height:96px;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.tile-head img{width:112px;height:96px;object-fit:cover;flex:none;border-right:1px solid var(--line)}.tile-label{flex:1;min-width:0;padding:10px 0}.tile-title{display:block;font-size:1.3rem;font-weight:700;line-height:1.3}.tile-sub{display:block;font-size:.9rem;color:var(--muted);margin-top:2px}.tile-plus{flex:none;width:36px;height:36px;margin-right:14px;display:grid;place-items:center;font-size:1.4rem;font-weight:400;line-height:1;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:50%;transition:transform .25s ease}.tile.open .tile-plus{transform:rotate(45deg)}.tile-cats .tile-title{color:var(--orange)}.tile-cathouse .tile-title{color:var(--green)}.tile-timeline .tile-title{color:var(--blue)}.tile-join .tile-title{color:#a8832f}.tile-donate .tile-title{color:var(--red)}.tile-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;border-top:1px dashed var(--line)}.tile-panel-inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .35s}.tile.open .tile-panel{grid-template-rows:1fr}.tile.open .tile-panel-inner{visibility:visible;transition-delay:0s}.tile-panel-inner{padding:0 18px}.tile.open .tile-panel-inner{padding:20px 18px}.tile-panel-inner h3{margin:20px 0 8px;font-size:1.1rem}.tile-panel-inner h3:first-child{margin-top:0}.tile-panel-inner p{margin:12px 0}.tile-panel-inner ul,.tile-panel-inner ol{margin:12px 0;padding-left:22px}.tile-panel-inner li{margin:10px 0}.photo-strip{display:flex;gap:12px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.photo-strip img{flex:none;width:150px;height:150px;object-fit:cover;border:1px solid var(--line);border-radius:12px;scroll-snap-align:start}.timeline{list-style:none;padding:0}.timeline li{padding:16px 4px;margin:0;border-bottom:1px solid var(--line-soft)}.timeline li:last-child{border-bottom:0}.timeline time{color:var(--orange);font-weight:700}.timeline h3{margin:4px 0}.cats{padding-left:22px}.cats li{margin:12px 0}footer{margin-top:64px;padding-top:28px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.9rem;text-align:center}.version-banner{background:#f59e0b;color:#1f2937;text-align:center;padding:10px 16px;font-size:.95rem;font-weight:700}footer .version{color:var(--muted);font-size:.85rem}@media (min-width: 640px){main{padding:0 24px 80px}.hero-photo img{aspect-ratio:16 / 10;object-position:center 30%}.hero-caption h1{font-size:3.2rem}.tiles{grid-template-columns:1fr 1fr;gap:24px}.tile-head img{width:128px;height:112px}.tile-head{min-height:112px}.tile-cats{grid-column:1 / -1}}@media (min-width: 960px){main{max-width:960px}.tiles{grid-template-columns:repeat(3,1fr)}.tile-cats{grid-column:1 / -1}.tile-cathouse,.tile-timeline{grid-column:span 1}.photo-strip img{width:180px;height:180px}}@media (prefers-reduced-motion: reduce){.tile-panel,.tile-plus{transition:none}}.hero-illus .hero-caption{background:linear-gradient(to top,#fdf9eff7,#fdf9ef00);color:var(--ink)}.hero-illus .hero-caption h1{text-shadow:none}.hero-illus .hero-caption h1 .en,.hero-illus .hero-caption .eyebrow,.hero-illus .hero-caption .dates{color:var(--green)}.hero-illus .wordmark g{stroke:var(--ink)}.hero-illus .wm-underline{stroke:var(--orange)}.hero-illus .wm-star{fill:var(--orange)}.kittens-group{grid-column:1 / -1}.hero-link{display:block;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.hero-link:focus-visible .hero-photo{outline:2px solid var(--orange);outline-offset:2px}.doodle{position:absolute;pointer-events:none;z-index:1}.doodle-star{width:26px;height:26px;top:10px;right:8px;fill:none;stroke:var(--yellow);stroke-width:1.4;transform:rotate(12deg);opacity:.75}.doodle-squiggle{width:72px;height:18px;bottom:52px;left:10px;stroke:var(--orange);stroke-width:1.4;stroke-linecap:round;opacity:.55}.shape-card{margin-top:28px;padding:28px 22px;background:var(--wash-green);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.shape-card h2{margin:0 0 10px;font-size:1.3rem}.shape-card p{margin:10px 0}.shape-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0 8px}.shape-link{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-weight:700;text-decoration:none}.shape-note{font-size:.9rem;color:var(--muted)}.tile-cloud .tile-title{color:var(--blue)}.tile-local .tile-title{color:var(--green)}.tile-care .tile-title{color:var(--orange)}.invites{padding:36px 4px 4px}.invites ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.invites li{padding:16px 12px;border:1px solid var(--line);border-radius:12px;font-weight:700;font-size:1.05rem;text-align:center}.invite-pink{background:var(--wash-pink)}.invite-blue{background:var(--wash-blue)}.invite-green{background:var(--wash-green)}.invite-yellow{background:var(--wash-yellow)}.page-head{padding-top:24px}.page-head .back{margin:0 0 14px;font-size:.95rem}.page-head .eyebrow{margin:0 0 6px;font-size:.85rem;letter-spacing:.25em;color:var(--orange);font-weight:700}.page-head h1{margin:0 0 10px;font-size:2.1rem;line-height:1.2}.page-head .lede{margin:0;font-size:1.1rem;font-weight:600;color:var(--muted)}.story-body{padding:12px 4px 4px}.story-body h2{margin:32px 0 10px}.story-body p{margin:12px 0}.story-photo{margin:22px 0}.story-photo img{width:100%;border:1px solid var(--line);border-radius:var(--radius)}.story-photo figcaption{margin-top:10px;text-align:center;font-size:.9rem;color:var(--muted)}.cat-invites{padding-left:22px}.cat-invites li{margin:14px 0}.page-nav{display:flex;flex-direction:column;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line-soft)}.page-nav a{font-weight:700;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 18px;text-align:center}@media (min-width: 640px){.invites ul{grid-template-columns:repeat(4,1fr)}.page-nav{flex-direction:row;justify-content:space-between}.page-nav a{flex:1}}.wordmark{width:178px;height:auto;vertical-align:-.18em}.wordmark-life{display:inline-block;font-size:1.5rem;font-weight:700;margin-left:6px;transform:rotate(-2deg)}.cat-cards{display:grid;gap:24px;margin-top:24px}.cat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;padding-bottom:18px}.cat-media{border-bottom:1px solid var(--line)}.cat-media img{width:100%;height:180px;object-fit:cover;object-position:center 30%}.cat-doodle{display:block;width:140px;height:140px;margin:14px auto}.doodle-pink{color:#e8b7be}.doodle-blue{color:#b3c8de}.doodle-green{color:#b3d2c2}.doodle-yellow{color:#e8cf8e}.doodle-orange{color:#eec39e}.doodle-lavender{color:#c9bce4}.cat-card h3{margin:16px 18px 0;font-size:1.4rem}.cat-card .cat-tag{margin:2px 18px 0;font-size:.9rem;font-weight:700;color:var(--orange)}.cat-card p{margin:10px 18px 0}.cats-note{margin-top:28px;text-align:center;color:var(--muted)}.soon-note{background:var(--wash-yellow);border:1px dashed var(--line);border-radius:12px;padding:16px;font-weight:700;text-align:center}@media (min-width: 640px){.cat-cards{grid-template-columns:1fr 1fr}.wordmark{width:210px}}@media (min-width: 960px){.cat-cards{grid-template-columns:repeat(3,1fr)}}
