.ff-breadcrumb{font-size:.875rem;padding:1rem 0 .5rem}.ff-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.ff-breadcrumb li{display:inline-flex;align-items:center;gap:.375rem;min-width:0}.ff-breadcrumb li+li:before{content:"›";opacity:.45}.ff-breadcrumb a{color:inherit;opacity:.7;text-decoration:none}.ff-breadcrumb a:hover,.ff-breadcrumb a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:2px}.ff-breadcrumb [aria-current=page]{opacity:1}.ff-subpage{max-width:760px;margin:0 auto;padding:.5rem 1.25rem 2rem}.ff-subpage h1{font-size:clamp(1.5rem,1.2rem + 1.6vw,2rem);line-height:1.3;margin:.5rem 0 1rem}.ff-subpage h2{font-size:clamp(1.2rem,1.05rem + .8vw,1.45rem);line-height:1.35;margin:2rem 0 .75rem}.ff-subpage h3{font-size:1.05rem;line-height:1.4;margin:1.5rem 0 .5rem}.ff-subpage p{line-height:1.8;margin:0 0 1rem}.ff-subpage ul,.ff-subpage ol{line-height:1.8;margin:0 0 1rem;padding-left:1.5rem}.ff-subpage li{margin-bottom:.375rem}.ff-subpage a{color:inherit;text-decoration:underline;text-underline-offset:2px}.ff-subpage a:hover,.ff-subpage a:focus-visible{color:var(--ff-subpage-accent, currentColor)}.ff-qa{margin:0 0 1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ff-subpage-border, rgba(127, 127, 127, .28))}.ff-qa:last-child{border-bottom:0}.ff-qa-q{font-weight:600;line-height:1.5;margin:0 0 .5rem}.ff-qa-a{line-height:1.8;margin:0}.ff-qa-a p{margin:0 0 .75rem}.ff-qa-a p:last-child{margin-bottom:0}.ff-eco-nav{max-width:760px;margin:0 auto;padding:0 1.25rem 1.5rem}.ff-eco-nav h2{font-size:1.05rem;margin:0 0 .75rem;opacity:.9}.ff-eco-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 560px){.ff-eco-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.ff-eco-card{display:block;height:100%;padding:.875rem 1rem;border:1px solid var(--ff-subpage-border, rgba(127, 127, 127, .28));border-radius:12px;background:var(--ff-subpage-card-bg, rgba(127, 127, 127, .07));color:inherit;text-decoration:none;transition:border-color .25s ease,transform .25s ease}.ff-eco-card:hover,.ff-eco-card:focus-visible{border-color:var(--ff-subpage-accent, currentColor);transform:translateY(-2px)}.ff-eco-card-title{display:block;font-weight:600;margin-bottom:.25rem}.ff-eco-card-desc{display:block;font-size:.85rem;line-height:1.55;opacity:.72}.ff-eco-cta{max-width:760px;margin:0 auto;padding:0 1.25rem 2rem;text-align:center}.ff-eco-cta a{display:inline-block;padding:.625rem 1.5rem;border:1px solid var(--ff-subpage-accent, currentColor);border-radius:999px;color:inherit;text-decoration:none;font-weight:600;transition:transform .25s ease,opacity .25s ease}.ff-eco-cta a:hover,.ff-eco-cta a:focus-visible{transform:translateY(-2px);opacity:.85}@media (prefers-reduced-motion: reduce){.ff-eco-card,.ff-eco-cta a{transition:none}.ff-eco-card:hover,.ff-eco-cta a:hover{transform:none}}.ca-subpage{--ff-subpage-accent: var(--ca-accent-deep);--ff-subpage-border: var(--ca-paper-edge);--ff-subpage-card-bg: var(--ca-tint-warm);color:var(--ca-ink-soft);background:var(--ca-paper);font-family:var(--ca-ui);--ca-content-max: 760px;--ca-hero-paper: #fdf7ec;--ca-paper-sunk: #f5ebda}.ca-subhero{background:var(--ca-hero-paper);padding:0 0 var(--ca-sp-5)}.ca-subpage .ca-sitehead{border-bottom:0}.ca-subhero__inner{max-width:var(--ca-content-max);margin:0 auto;padding:var(--ca-sp-4) 1.25rem 0;display:flex;flex-direction:column;gap:var(--ca-sp-4)}.ca-subhero__text{min-width:0}@media (min-width: 768px){.ca-subhero__inner{flex-direction:row;align-items:flex-start;gap:var(--ca-sp-6)}.ca-subhero__text{flex:1 1 auto}}.ca-subpage .ff-breadcrumb{font-size:.8125rem;padding:0 0 var(--ca-sp-1);color:var(--ca-ink-faint)}.ca-pagetype{display:inline-flex;align-items:center;gap:var(--ca-sp-1);padding:var(--ca-sp-1) var(--ca-sp-3);background:var(--ca-card-white);border:1px solid var(--ca-paper-edge);border-radius:var(--ca-r-pill);box-shadow:0 1px 2px #3c281814;font-family:var(--ca-ui);font-size:.75rem;letter-spacing:.1em;font-weight:700;color:var(--ca-accent-deep);margin-bottom:var(--ca-sp-3)}.ca-pagetype:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ca-accent)}.ca-subhero h1{font-family:var(--ca-kai);font-size:clamp(1.65rem,1.2rem + 2.2vw,2.4rem);font-weight:700;line-height:1.3;letter-spacing:.03em;color:var(--ca-ink);margin:0 0 var(--ca-sp-3)}.ca-hero-cat{position:relative;width:100%;aspect-ratio:768 / 1376;margin:0;border-radius:var(--ca-r-card);overflow:hidden;background:var(--ca-paper-sunk);box-shadow:var(--ca-shadow-card);isolation:isolate}.ca-hero-cat img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}@media (min-width: 768px){.ca-hero-cat{flex:0 0 auto;width:auto;height:340px;align-self:flex-start}}.ca-hero-cat[data-state=loading]:after,.ca-hero-cat:not(:has(img[src])):after{content:"🐾";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:2.5rem;background-color:var(--ca-paper-sunk);background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:200% 100%;animation:ca-skel 1.4s ease-in-out infinite;color:var(--ca-paper-edge)}@keyframes ca-skel{to{background-position-x:-200%}}.ca-lead{font-family:var(--ca-kai);font-size:clamp(1rem,.95rem + .4vw,1.2rem);line-height:1.85;letter-spacing:.02em;color:var(--ca-ink);max-width:var(--ca-content-max)}.ca-yearcal{max-width:var(--ca-content-max);margin:0 auto var(--ca-sp-5);padding:var(--ca-sp-5);background:var(--ca-card-white);border:1px solid var(--ca-paper-edge);border-radius:var(--ca-r-card);box-shadow:var(--ca-shadow-card)}.ca-yearcal__bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ca-sp-3);margin-bottom:var(--ca-sp-4)}.ca-yearcal__title{font-family:var(--ca-kai);font-size:1.15rem;font-weight:700;letter-spacing:.04em;color:var(--ca-ink)}.ca-yearcal__yearctl{display:inline-flex;align-items:center;gap:var(--ca-sp-2)}.ca-yearcal__ybtn{width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ca-paper-edge);border-radius:50%;background:#fbf6ef;color:var(--ca-ink-soft);transition:background var(--ca-dur) var(--ca-ease),color var(--ca-dur) var(--ca-ease)}.ca-yearcal__ybtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ca-yearcal__ybtn:hover{background:#f4eadd;color:var(--ca-accent-deep)}.ca-yearcal__ybtn:disabled{opacity:.35;cursor:not-allowed}.ca-yearcal__year{font-family:var(--ca-kai);font-size:1.5rem;font-weight:700;letter-spacing:.04em;color:var(--ca-accent-deep);min-width:3.6em;text-align:center}.ca-yearcal__legend{display:flex;flex-wrap:wrap;gap:var(--ca-sp-4);margin-bottom:var(--ca-sp-4);padding-bottom:var(--ca-sp-3);border-bottom:1px dashed var(--ca-paper-edge);font-family:var(--ca-kai);font-size:.95rem}.ca-yearcal__legend span{display:inline-flex;align-items:center;gap:6px}.ca-ji-dot{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#fff;font-family:var(--ca-kai);flex:0 0 auto}.ca-ji-dot--good{background:var(--ca-good)}.ca-ji-dot--bad{background:var(--ca-bad)}.ca-yearcal__panes{display:grid;grid-template-columns:1fr;gap:var(--ca-sp-5)}@media (min-width: 600px){.ca-yearcal[data-focus=both] .ca-yearcal__panes{grid-template-columns:1fr 1fr}}.ca-yearcal[data-focus=good] .ca-yearcal__pane--bad,.ca-yearcal[data-focus=avoid] .ca-yearcal__pane--good{display:none}.ca-yearcal__pane>h4{display:flex;align-items:center;gap:6px;margin:0 0 var(--ca-sp-3);font-family:var(--ca-kai);font-size:1.05rem;font-weight:700;letter-spacing:.06em}.ca-yearcal__pane--good>h4{color:var(--ca-good)}.ca-yearcal__pane--bad>h4{color:var(--ca-bad)}.ca-yearcal__count{font-family:var(--ca-ui);font-size:.8rem;color:var(--ca-ink-faint);font-weight:400}.ca-month{margin-bottom:var(--ca-sp-3)}.ca-month:last-child{margin-bottom:0}.ca-month__label{font-family:var(--ca-ui);font-size:.72rem;letter-spacing:.14em;color:var(--ca-ink-faint);font-weight:700;margin-bottom:6px}.ca-daylist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.ca-day{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:4px 8px;border-radius:10px;line-height:1.25;background:#ffffff8c;border:1px solid var(--ca-paper-edge);font-family:var(--ca-kai);text-decoration:none;cursor:pointer;transition:transform var(--ca-dur) var(--ca-ease),box-shadow var(--ca-dur) var(--ca-ease),border-color var(--ca-dur) var(--ca-ease)}.ca-day:hover,.ca-day:focus-visible{border-color:var(--ca-accent);box-shadow:0 3px 10px #3c281829;transform:translateY(-1px)}.ca-day:focus-visible{outline:2px solid var(--ca-accent);outline-offset:2px}.ca-day__solar{font-size:14.5px;font-weight:700;color:var(--ca-ink)}.ca-day__lunar{font-size:11px;color:var(--ca-ink-faint);letter-spacing:.02em}.ca-yearcal__pane--good .ca-day{background:var(--ca-good-bg);border-color:var(--ca-good-edge)}.ca-yearcal__pane--good .ca-day__solar{color:var(--ca-good)}.ca-yearcal__pane--bad .ca-day{background:var(--ca-bad-bg);border-color:var(--ca-bad-edge)}.ca-yearcal__pane--bad .ca-day__solar{color:var(--ca-bad)}.ca-datecard{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--ca-sp-5) var(--ca-sp-4);background:var(--ca-note-paper);border:1.5px solid var(--ca-cal-line);border-radius:var(--ca-r-note);box-shadow:0 3px 8px #3c28181f;text-align:center}.ca-datecard__name{font-family:var(--ca-ui);font-size:.72rem;letter-spacing:.14em;color:var(--ca-accent-deep);font-weight:700}.ca-datecard__solar{font-family:var(--ca-kai);font-size:clamp(2rem,1.4rem + 3vw,2.8rem);font-weight:700;letter-spacing:.04em;color:var(--ca-ink);line-height:1.1}.ca-datecard__lunar{font-family:var(--ca-kai);font-size:1rem;color:var(--ca-ink-soft);letter-spacing:.06em}.ca-yearcal__state{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--ca-sp-3);min-height:120px;padding:var(--ca-sp-5);text-align:center;font-family:var(--ca-kai);color:var(--ca-ink-soft)}.ca-yearcal[data-state=loading] .ca-yearcal__panes,.ca-yearcal[data-state=loading] .ca-datecard,.ca-yearcal[data-state=error] .ca-yearcal__panes,.ca-yearcal[data-state=error] .ca-datecard,.ca-yearcal[data-state=empty] .ca-yearcal__panes{display:none}.ca-yearcal[data-state=loading] .ca-yearcal__state--loading,.ca-yearcal[data-state=empty] .ca-yearcal__state--empty,.ca-yearcal[data-state=error] .ca-yearcal__state--error{display:flex}.ca-yearcal__skel{width:100%;height:14px;border-radius:var(--ca-r-pill);background-color:var(--ca-paper-sunk);background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);background-size:200% 100%;animation:ca-skel 1.4s ease-in-out infinite}.ca-yearcal__skel+.ca-yearcal__skel{margin-top:var(--ca-sp-2);width:70%}.ca-yearcal__state--loading .ca-cat{font-size:1.6rem}.ca-yearcal__state--empty .ca-cat{font-size:2rem}.ca-yearcal__empty-text{font-size:1.02rem;line-height:1.7;max-width:22em}.ca-yearcal__state--error .ca-cat{font-size:2rem}.ca-yearcal__retry{min-height:40px;padding:0 var(--ca-sp-4);border:1px solid var(--ca-paper-edge);border-radius:var(--ca-r-pill);background:#fbf6ef;color:var(--ca-ink-soft);font-family:var(--ca-ui);font-size:14px;font-weight:600}.ca-yearcal__retry:hover{background:#f4eadd}.ca-yearcal__range-hint{margin-top:var(--ca-sp-3);font-family:var(--ca-ui);font-size:12.5px;color:var(--ca-danger);text-align:center}.ca-yearcal__range-hint[hidden]{display:none}.ca-subpage .ff-subpage h2{font-family:var(--ca-kai);font-weight:700;letter-spacing:.03em;color:var(--ca-ink);padding-left:var(--ca-sp-4);border-left:4px solid var(--ca-accent)}.ca-subpage .ff-subpage h3{font-family:var(--ca-kai);font-weight:700;color:var(--ca-ink)}.ca-subpage .ff-subpage p,.ca-subpage .ff-subpage li{color:var(--ca-ink-soft)}.ca-subpage .ff-subpage strong{color:var(--ca-ink);font-weight:700}.ca-subpage .ff-subpage ul li::marker{color:var(--ca-accent)}.ca-explain{border-radius:var(--ca-r-card);padding:var(--ca-sp-4) var(--ca-sp-5);margin:0 0 var(--ca-sp-4);font-family:var(--ca-kai);line-height:1.85}.ca-explain--good{background:var(--ca-good-bg);border:1px solid var(--ca-good-edge)}.ca-explain--bad{background:var(--ca-bad-bg);border:1px solid var(--ca-bad-edge)}.ca-explain__tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--ca-kai);font-size:1.05rem;font-weight:700;letter-spacing:.06em;margin-bottom:var(--ca-sp-2)}.ca-explain--good .ca-explain__tag{color:var(--ca-good)}.ca-explain--bad .ca-explain__tag{color:var(--ca-bad)}.ca-explain p{margin:0;color:var(--ca-ink)}.ca-medsafe{display:flex;align-items:flex-start;gap:var(--ca-sp-3);max-width:var(--ca-content-max);margin:0 auto var(--ca-sp-5);padding:var(--ca-sp-4) var(--ca-sp-5);background:linear-gradient(160deg,var(--ca-good-bg),var(--ca-hero-paper));border:1px solid var(--ca-good-edge, var(--ca-paper-edge));border-left:4px solid var(--ca-danger);border-radius:var(--ca-r-card);box-shadow:var(--ca-shadow-card)}.ca-medsafe__icon{font-size:1.5rem;line-height:1.6;flex:0 0 auto}.ca-medsafe__text{margin:0;font-family:var(--ca-kai);font-size:clamp(.98rem,.94rem + .3vw,1.1rem);line-height:1.85;letter-spacing:.02em;color:var(--ca-ink)}.ca-medsafe__text strong{color:var(--ca-danger);font-weight:700}.ca-closer{position:relative;max-width:var(--ca-content-max);margin:0 auto var(--ca-sp-5);padding:var(--ca-sp-5) var(--ca-sp-6) var(--ca-sp-6);background:linear-gradient(160deg,var(--ca-tint-warm),var(--ca-hero-paper));border:1px solid var(--ca-paper-edge);border-radius:var(--ca-r-card);box-shadow:var(--ca-shadow-card);text-align:center}.ca-closer p{margin:0;font-family:var(--ca-kai);font-size:clamp(1rem,.95rem + .35vw,1.15rem);line-height:1.9;letter-spacing:.03em;color:var(--ca-ink)}.ca-closer__paw{display:block;margin-top:var(--ca-sp-3);font-size:1.5rem;line-height:1}.ca-custom-list{list-style:none!important;margin:0 0 var(--ca-sp-4)!important;padding:0!important;display:grid;gap:var(--ca-sp-2)}.ca-custom-list li{padding:var(--ca-sp-3) var(--ca-sp-4);background:var(--ca-tint-warm);border-radius:12px;border:1px solid var(--ca-paper-edge);font-family:var(--ca-kai);color:var(--ca-ink)!important}.ca-custom-list li strong{color:var(--ca-accent-deep)!important}.ca-subpage .ff-eco-nav h2{font-family:var(--ca-kai);color:var(--ca-ink);font-weight:700;opacity:1;letter-spacing:.03em}.ca-subpage .ff-eco-card-title{font-family:var(--ca-kai);color:var(--ca-ink)}.ca-subpage .ff-eco-card-desc{color:var(--ca-ink-faint)}.ca-subpage .ff-eco-cta a{background:var(--ca-accent);color:#fff;border-color:var(--ca-accent);padding:var(--ca-sp-3) var(--ca-sp-6);font-family:var(--ca-kai);font-size:1.05rem;letter-spacing:.04em;box-shadow:0 4px 16px #c9683a66}.ca-subpage .ff-eco-cta a:hover,.ca-subpage .ff-eco-cta a:focus-visible{background:var(--ca-accent-deep);opacity:1}.ca-disc{max-width:var(--ca-content-max);margin:0 auto;padding:0 1.25rem var(--ca-sp-6);font-family:var(--ca-ui);font-size:11.5px;color:var(--ca-ink-faint);line-height:1.6}.ca-disc p{margin:0;border-top:1px dashed var(--ca-paper-edge);padding-top:var(--ca-sp-3)}.ca-subpage a:focus-visible,.ca-subpage button:focus-visible,.ca-subpage .ff-eco-card:focus-visible,.ca-subpage .ff-eco-cta a:focus-visible{outline:2px solid var(--ca-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ca-subpage *,.ca-yearcal__skel,.ca-hero-cat:after{transition:none!important;animation:none!important}}@media (max-width: 599px){.ca-yearcal{padding:var(--ca-sp-4)}.ca-yearcal__year{font-size:1.35rem}}
