: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{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:100;background:#f59e0b;color:#1f2937;text-align:center;padding:10px 16px;font-size:.95rem;font-weight:700;border-radius:0 0 10px 10px;box-shadow:0 2px 10px #0000002e;max-width:96vw}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)}}.season-hero{margin:26px 0 0;padding:20px 16px 14px;background:var(--wash-yellow);border:1px solid var(--line);border-radius:var(--radius)}.season-hero svg{display:block;width:100%;height:auto}.season-hero svg .ink{stroke:var(--ink)}.season-hero figcaption{margin-top:10px;text-align:center;font-size:.9rem;color:var(--muted)}.season-status{display:inline-flex;align-items:center;gap:9px;margin:14px 0 0;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-weight:700}.season-dot{width:9px;height:9px;border-radius:50%;background:var(--yellow);animation:season-pulse 1.8s ease-in-out infinite}@keyframes season-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}.season-section{padding:44px 4px 4px}.season-heading h2{margin:0 0 10px;font-size:1.3rem}.season-heading 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}.season-heading p{margin:10px 0}.blueprint{display:grid;gap:22px;margin-top:24px}.blueprint-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.blueprint-topline{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line-soft);font-size:.85rem;font-weight:700;color:var(--muted);letter-spacing:.08em}.drawing-stamp{padding:3px 12px;border:1px dashed var(--line);border-radius:999px;font-weight:400}.nest-diagram{display:block;width:100%;height:auto}.nest-diagram>path:not([class]){stroke:var(--ink)}.nest-diagram .diagram-part{stroke:var(--ink);transition:opacity .25s ease}.nest-diagram .diagram-part.is-dim{opacity:.22}.nest-diagram .callout{stroke:var(--muted);transition:opacity .25s ease}.nest-diagram .callout.is-dim{opacity:.2}.nest-diagram .callout-dot{transition:opacity .25s ease}.nest-diagram .callout-dot.is-dim{opacity:.2}.diagram-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 18px;border-top:1px dashed var(--line-soft);font-size:.85rem;color:var(--muted)}.pencil-note{color:var(--orange)}.guide-kicker{margin:0 0 10px;font-size:.9rem;color:var(--muted);font-weight:600}.layer-tabs{display:flex;flex-wrap:wrap;gap:8px}.layer-tab{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,background .2s ease}.layer-tab span{margin-right:6px;color:var(--muted);font-weight:400}.layer-tab.is-active{border-color:var(--orange);background:var(--wash-orange)}.layer-detail{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--wash-green)}.detail-icon{font-size:1.7rem;line-height:1.2}.layer-detail h3{margin:0 0 6px;font-size:1.1rem}.layer-detail p{margin:0;font-size:.95rem}.safety-note{margin:14px 0 0;font-size:.9rem;color:var(--muted)}.demo-ribbon{margin:18px 0 0;padding:10px 16px;border:1px dashed var(--line);border-radius:12px;background:var(--wash-yellow);font-size:.9rem;font-weight:600}.resource-list{display:grid;gap:14px;margin-top:18px}.resource-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.resource-emoji{font-size:1.6rem;line-height:1.3}.resource-main{min-width:0}.resource-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.resource-label strong{font-size:1.05rem}.tiny-tag{padding:2px 10px;border:1px dashed var(--line);border-radius:999px;font-size:.78rem;font-weight:700;color:var(--muted)}.resource-main p{margin:6px 0 10px;font-size:.93rem;color:var(--muted)}.progress-meta{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}.progress-meta b{color:var(--ink)}.progress-track{height:8px;margin-top:6px;border-radius:999px;background:var(--line-soft);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:999px;background:var(--green);transition:width .4s ease}.gather-button{grid-column:1 / -1;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,background .2s ease,transform .15s ease}.gather-button:hover{border-color:var(--green);background:var(--wash-green)}.gather-button:active{transform:scale(.97)}.collect-footer{margin-top:16px;font-size:.92rem;color:var(--muted)}.collect-footer strong{color:var(--ink)}.trail{margin-top:22px}.milestones{list-style:none;margin:0;padding:0}.milestones li{position:relative;padding:0 0 6px 34px}.milestones li:before{content:"";position:absolute;left:11px;top:34px;bottom:-4px;width:0;border-left:1.5px dashed var(--line)}.milestones li:last-child:before{display:none}.milestone{display:flex;align-items:flex-start;gap:14px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,border-color .2s ease}.milestone:hover{background:var(--card);border-color:var(--line-soft)}.milestone-paw{flex:none;font-size:1.2rem;opacity:.3;filter:grayscale(1);transition:opacity .25s ease,filter .25s ease}.milestone.is-done .milestone-paw{opacity:.75;filter:none}.milestone.is-current{background:var(--wash-yellow);border-color:var(--line)}.milestone.is-current .milestone-paw{opacity:1;filter:none}.milestone-text{display:grid;gap:2px}.milestone-text time{font-size:.82rem;font-weight:700;color:var(--orange);letter-spacing:.06em}.milestone-text strong{font-size:1.02rem}.milestone-text small{color:var(--muted);font-size:.85rem}.milestone.is-upcoming .milestone-text{opacity:.55}.milestone-detail{margin:18px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--wash-blue);font-size:.95rem}.log-grid{display:grid;gap:18px;margin-top:24px}.log-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.log-picture{position:relative;display:grid;place-items:center;height:150px;border-bottom:1px dashed var(--line);background:var(--wash-green)}.log-card:nth-child(2) .log-picture{background:var(--wash-orange)}.log-card:nth-child(3) .log-picture{background:var(--wash-blue)}.log-picture .log-sun{position:absolute;top:14px;left:16px;color:var(--yellow);font-size:1.3rem}.log-picture .log-cat{font-size:2.4rem;opacity:.75}.log-label{position:absolute;bottom:10px;right:12px;padding:2px 10px;border:1px dashed var(--line);border-radius:999px;background:var(--card);font-size:.78rem;color:var(--muted)}.log-caption{padding:14px 16px 18px}.log-type{font-size:.82rem;font-weight:700;color:var(--orange);letter-spacing:.08em}.log-caption h3{margin:6px 0;font-size:1.1rem}.log-caption p{margin:0;font-size:.92rem;color:var(--muted)}.log-howto{text-align:left}.log-howto code{padding:1px 7px;border:1px solid var(--line-soft);border-radius:6px;background:var(--card);font-size:.88em}#cursor-cat{position:fixed;left:0;top:0;z-index:90;width:32px;height:32px;pointer-events:none;will-change:transform}#cursor-cat .neko-sprite{width:32px;height:32px;background-image:url(../oneko.gif);background-size:256px 128px;image-rendering:pixelated}#cursor-cat .neko-zzz{position:absolute;right:-10px;top:-14px;font-size:11px;font-weight:700;color:var(--muted);opacity:0;transition:opacity .4s ease}#cursor-cat.is-sleeping .neko-zzz{opacity:1}@media (hover: none),(prefers-reduced-motion: reduce){#cursor-cat{display:none}}footer .oneko-note{font-size:.82rem;opacity:.8}@media (min-width: 640px){.blueprint{grid-template-columns:1.2fr 1fr;align-items:start}.resource-row{grid-template-columns:auto 1fr auto;align-items:center}.gather-button{grid-column:auto}.log-grid{grid-template-columns:repeat(3,1fr)}.log-caption h3{font-size:1rem}}@media (prefers-reduced-motion: reduce){.season-dot{animation:none}.progress-track span{transition:none}}.map-home-btn{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;align-items:center;gap:6px;padding:8px 12px 8px 8px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:0 2px 8px #4a42381f;color:var(--ink);font-size:.85rem;text-decoration:none}.map-home-btn img{width:28px;height:28px;display:block}
