.calendar{background:var(--color-surface);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-md);box-shadow:0 1px 3px #4a29200a}.cal-head{display:grid;grid-template-columns:36px 1fr 36px auto;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.cal-nav{width:36px;height:36px;border:1px solid var(--color-hairline);background:transparent;border-radius:50%;font-size:20px;color:var(--color-ink);cursor:pointer;font-family:var(--font-family-mincho);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all .1s ease;padding:0}.cal-nav:hover,.cal-nav:focus-visible{color:var(--color-lantern);border-color:var(--color-lantern);background:#d67a3c0f}.cal-nav--prev{justify-self:start}.cal-nav--next{justify-self:end}.cal-label{text-align:center;font-family:var(--font-mincho);font-size:var(--text-h3);color:var(--ink-900);letter-spacing:.04em;display:inline-flex;align-items:baseline;justify-content:center;gap:6px;font-feature-settings:"pnum" on;font-weight:var(--weight-bold)}.cal-year{color:var(--ink-600);font-size:var(--text-small);letter-spacing:.04em;font-weight:var(--weight-medium)}.cal-sep{color:var(--ink-300);font-size:var(--text-small)}.cal-month{font-weight:var(--weight-strong)}.cal-today-btn{font-family:var(--font-family-mincho);font-size:var(--font-small);background:var(--color-lantern);color:var(--color-canvas);border:1px solid var(--color-lantern);border-radius:var(--radius-pill);padding:6px 14px;cursor:pointer;min-height:36px;letter-spacing:.04em;transition:all .1s ease}.cal-today-btn:hover,.cal-today-btn:focus-visible{background:var(--color-canvas);color:var(--color-lantern)}.cal-today-btn--quiet,.cal-today-btn:disabled{background:transparent;color:var(--color-hairline);border-color:var(--color-hairline);cursor:default}.cal-grid{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-lg)}.cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.weekday{text-align:center;font-family:var(--font-mincho);font-size:var(--text-label);color:var(--ink-700);padding:6px 0;letter-spacing:.06em;font-weight:var(--weight-bold)}.weekday--sun{color:var(--mako-700)}.weekday--sat{color:var(--ryoya-700)}.cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;font-family:var(--font-mincho);font-size:15px;color:var(--ink-800);border-radius:8px;position:relative;min-height:44px;font-feature-settings:"tnum" on,"lnum" on;font-weight:var(--weight-medium);transition:background .12s ease}.cal-cell--dim{color:var(--ink-300);font-weight:var(--weight-regular)}.cal-cell--sun:not(.cal-cell--dim){color:var(--mako-700)}.cal-cell--sat:not(.cal-cell--dim){color:var(--ryoya-700)}.cal-cell--has:not(.cal-cell--dim):not(.cal-cell--today){background:#d67a3c0d}.cal-cell--today{background:transparent;position:relative;z-index:0}.cal-cell--today .cal-cell__num{position:relative;z-index:2;color:var(--color-canvas);font-weight:700}.cal-cell--today:before{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;background:var(--lantern-500);z-index:1;animation:lantern-breath-box var(--breath-duration) var(--breath-ease) infinite}.cal-cell__num{line-height:1}.cal-cell__dots{display:flex;gap:3px;margin-top:4px;position:relative;z-index:2}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lantern-600)}.dot--growth{background:var(--chikage-700)}.dot--conflict-overcome{background:var(--ryoya-700)}.dot--wealth{background:var(--kanikuro-700)}.dot--couple{background:var(--lantern-600)}.dot--place{background:var(--mako-700)}.dot--family{background:var(--chikage-700)}.dot--silly{background:var(--ink-500)}.cal-cell--today .dot{background:var(--canvas-50)!important;opacity:.95}.month-list{border-top:1px solid var(--color-hairline);padding-top:var(--space-md);margin-bottom:var(--space-md)}.month-list__title{font-family:var(--font-mincho);font-size:var(--text-label);color:var(--ink-600);margin:0 0 var(--space-1);letter-spacing:.12em;font-weight:var(--weight-bold)}.month-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.month-list__item{display:grid;grid-template-columns:48px 10px 1fr auto;align-items:baseline;gap:10px;font-family:var(--font-mincho);font-size:var(--text-small);padding:6px 4px;border-radius:6px;color:var(--ink-700)}.month-list__item:hover{background:#d67a3c0d}.month-list__date{color:var(--ink-600);font-feature-settings:"tnum" on;font-variant-numeric:tabular-nums;font-weight:var(--weight-bold)}.month-list__dot{width:7px;height:7px;align-self:center}.month-list__title-link{color:var(--ink-900);text-decoration:none;font-weight:var(--weight-bold)}.month-list__title-link:hover,.month-list__title-link:focus-visible{color:var(--lantern-700);text-decoration:underline}.month-list__supp{color:var(--ink-500);font-size:var(--text-label);letter-spacing:.04em;text-align:right;font-weight:var(--weight-medium)}.year-overview{border-top:1px solid var(--hairline);padding-top:var(--space-3)}.year-overview__head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.year-overview__title{text-align:center;font-family:var(--font-mincho);margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1}.year-label{font-size:22px;color:var(--ink-900);font-weight:var(--weight-bold);letter-spacing:.08em;font-feature-settings:"pnum" on,"tnum" on}.year-sub{font-family:var(--font-sans);font-size:9px;letter-spacing:.22em;color:var(--lantern-700);font-weight:var(--weight-bold);text-transform:uppercase}.year-nav{width:36px;height:36px;border:1px solid var(--hairline);background:transparent;border-radius:50%;font-size:20px;color:var(--ink-700);cursor:pointer;font-family:var(--font-mincho);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all var(--duration-press) var(--ease-out);padding:0}.year-nav:hover,.year-nav:focus-visible{color:var(--lantern-700);border-color:var(--lantern-500);background:var(--lantern-50)}.year-nav--prev{justify-self:start}.year-nav--next{justify-self:end}.year-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.year-cell{background:transparent;border:1px solid var(--hairline);border-radius:var(--radius-md);padding:10px 6px 8px;font-family:var(--font-sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;min-height:64px;color:var(--ink-700);position:relative;transition:border-color var(--duration-press) var(--ease-out),background var(--duration-press) var(--ease-out),transform var(--duration-press) var(--ease-out)}.year-cell:hover{background:var(--canvas-150);border-color:var(--ink-200);transform:translateY(-1px)}.year-cell:focus-visible{background:var(--lantern-50);border-color:var(--lantern-500);outline:none}.year-cell--empty{color:var(--ink-400)}.year-cell--active{background:var(--lantern-50);border-color:var(--lantern-500);box-shadow:0 0 0 1px var(--lantern-500) inset}.year-cell--active:hover{background:var(--lantern-100)}.year-cell--current{border-color:var(--ink-300)}.year-cell--current.year-cell--active{border-color:var(--lantern-500)}.year-cell__label{display:inline-flex;align-items:center;gap:4px;font-size:11px;letter-spacing:.16em;font-weight:var(--weight-bold);color:var(--ink-800);line-height:1}.year-cell--active .year-cell__label{color:var(--lantern-700)}.year-cell--empty .year-cell__label{color:var(--ink-500)}.year-cell__now{width:5px;height:5px;border-radius:50%;background:var(--lantern-500);display:inline-block;box-shadow:0 0 6px #d67a3d99}.year-cell__count{font-family:var(--font-mincho);display:inline-flex;align-items:baseline;gap:2px;line-height:1}.year-cell__num{font-size:16px;font-weight:var(--weight-bold);color:var(--ink-900);font-feature-settings:"tnum" on,"lnum" on}.year-cell--empty .year-cell__num{color:var(--ink-400)}.year-cell--active .year-cell__num{color:var(--lantern-700)}.year-cell__unit{font-size:9px;color:var(--ink-500);letter-spacing:.08em}.year-cell--active .year-cell__unit{color:var(--lantern-600)}.year-cell__zero{font-size:14px;color:var(--ink-300);line-height:1;font-family:var(--font-sans);font-weight:var(--weight-medium)}.year-overview__hint{text-align:center;margin:var(--space-2) 0 0;font-size:var(--text-label);color:var(--ink-500);font-family:var(--font-mincho)}.year-overview__back{color:var(--lantern-700);background:transparent;border:1px solid var(--lantern-200);padding:6px 14px;border-radius:var(--radius-pill);font-family:var(--font-mincho);font-size:var(--text-small);letter-spacing:var(--tracking-wide);cursor:pointer;font-weight:var(--weight-medium);transition:all var(--duration-press) var(--ease-out)}.year-overview__back:hover,.year-overview__back:focus-visible{background:var(--lantern-50);border-color:var(--lantern-500);color:var(--lantern-800)}@media(max-width:480px){.year-grid{gap:4px}.year-cell{padding:8px 4px 6px;min-height:58px}.year-cell__num{font-size:15px}}@media(prefers-reduced-motion:reduce){.cal-cell--today:before{animation:none}}.anniversary-card[data-astro-cid-h4f7iv3f]{background:var(--bg-surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-3);min-height:132px;display:flex;flex-direction:column;gap:var(--space-1_5);position:relative;overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-micro) var(--ease-out),border-color var(--duration-micro) var(--ease-out)}.anniversary-card[data-astro-cid-h4f7iv3f]:hover{box-shadow:var(--shadow-sm);border-color:var(--hairline-strong)}.anniversary-card[data-astro-cid-h4f7iv3f]:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 92% 8%,hsl(24 75% 70% / .1),transparent 55%);pointer-events:none}.anniversary-card--lifetime-day[data-astro-cid-h4f7iv3f]:before{background:radial-gradient(ellipse at 92% 8%,hsl(35 65% 70% / .22),transparent 55%)}.anniversary-card__head[data-astro-cid-h4f7iv3f]{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-micro);margin-bottom:var(--space-0_5)}.reason-badge[data-astro-cid-h4f7iv3f]{color:var(--lantern-700);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:none;font-feature-settings:"palt";background:var(--lantern-50);border:1px solid var(--lantern-100);padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-micro)}.anniversary-card__title[data-astro-cid-h4f7iv3f]{font-size:var(--text-h3);line-height:var(--leading-heading);margin:0;color:var(--ink-900);display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap;letter-spacing:var(--tracking-tight)}.title-text[data-astro-cid-h4f7iv3f]{font-family:var(--font-mincho);font-weight:var(--weight-bold)}.years[data-astro-cid-h4f7iv3f]{font-size:var(--text-label);color:var(--lantern-700);font-weight:var(--weight-bold);background:var(--lantern-50);border:1px solid var(--lantern-100);padding:2px 8px;border-radius:var(--radius-pill);letter-spacing:var(--tracking-wide)}.mark-badge[data-astro-cid-h4f7iv3f]{font-size:var(--text-label);color:var(--chikage-700);font-weight:var(--weight-strong);background:var(--chikage-50);border:1px solid var(--chikage-100);padding:2px 8px;border-radius:var(--radius-pill);letter-spacing:var(--tracking-wide)}.anniversary-card__date[data-astro-cid-h4f7iv3f]{font-size:var(--text-small);color:var(--ink-700);margin:0;display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap;font-feature-settings:"palt","tnum"}.date-label[data-astro-cid-h4f7iv3f]{color:var(--ink-600);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.date-supp[data-astro-cid-h4f7iv3f]{color:var(--ink-500);font-size:var(--text-label)}.proximity[data-astro-cid-h4f7iv3f]{color:var(--lantern-700);font-weight:var(--weight-bold)}.anniversary-card__open[data-astro-cid-h4f7iv3f]{margin-top:auto;align-self:flex-end;color:var(--lantern-700);text-decoration:none;font-size:var(--text-small);padding:8px 12px;min-height:var(--tap-target-min);display:inline-flex;align-items:center;border-radius:var(--radius-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);transition:background var(--duration-press) var(--ease-out)}.anniversary-card__open[data-astro-cid-h4f7iv3f]:hover,.anniversary-card__open[data-astro-cid-h4f7iv3f]:focus-visible{background:var(--lantern-50)}.anniversary-card__open[data-astro-cid-h4f7iv3f]:active{transform:scale(.97)}.widget[data-astro-cid-2uf4wzsr]{background:var(--bg-surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-3);display:flex;align-items:stretch;gap:var(--space-3);font-family:var(--font-mincho);box-shadow:var(--shadow-xs)}.label[data-astro-cid-2uf4wzsr]{color:var(--lantern-700);font-size:var(--text-label);font-weight:var(--weight-bold);letter-spacing:.18em;align-self:center;padding-right:var(--space-2);border-right:1px solid var(--hairline);line-height:1.5}.body[data-astro-cid-2uf4wzsr]{flex:1;display:flex;flex-direction:column;gap:var(--space-1_5)}.title[data-astro-cid-2uf4wzsr]{font-size:var(--text-h3);color:var(--ink-900);font-weight:var(--weight-bold);margin:0;line-height:var(--leading-heading);display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap;letter-spacing:var(--tracking-tight)}.mark-badge[data-astro-cid-2uf4wzsr]{font-size:var(--text-label);color:var(--chikage-700);font-weight:var(--weight-strong);background:var(--chikage-50);border:1px solid var(--chikage-100);padding:2px 8px;border-radius:var(--radius-pill);letter-spacing:var(--tracking-wide)}.date-rows[data-astro-cid-2uf4wzsr]{display:flex;flex-direction:column;gap:6px}.date-row[data-astro-cid-2uf4wzsr]{margin:0;display:flex;align-items:baseline;gap:var(--space-1);font-size:var(--text-small);flex-wrap:wrap;font-feature-settings:"palt","tnum"}.row-label[data-astro-cid-2uf4wzsr]{color:var(--ink-600);font-weight:var(--weight-bold);min-width:5em;letter-spacing:var(--tracking-wide)}.date-row--next[data-astro-cid-2uf4wzsr] .row-label[data-astro-cid-2uf4wzsr]{color:var(--lantern-700)}.row-date[data-astro-cid-2uf4wzsr]{color:var(--ink-800);font-weight:var(--weight-medium)}.date-row--origin[data-astro-cid-2uf4wzsr] .row-date[data-astro-cid-2uf4wzsr]{color:var(--ink-700)}.countdown[data-astro-cid-2uf4wzsr]{color:var(--lantern-700);margin-left:auto;white-space:nowrap;font-weight:var(--weight-bold);font-size:var(--text-small)}.countdown[data-astro-cid-2uf4wzsr] strong[data-astro-cid-2uf4wzsr]{font-size:var(--text-h3);font-weight:var(--weight-strong);color:var(--lantern-700);font-feature-settings:"tnum"}.countdown[data-astro-cid-2uf4wzsr] em[data-astro-cid-2uf4wzsr]{font-style:normal;font-size:var(--text-h3);font-weight:700}.origin-supp[data-astro-cid-2uf4wzsr]{color:var(--ink-500)}.widget--empty[data-astro-cid-2uf4wzsr]{align-items:center}.empty-msg[data-astro-cid-2uf4wzsr]{color:var(--color-muted);font-size:var(--font-small);line-height:var(--leading-body)}.lantern-home[data-astro-cid-j7pv25f6]{max-width:var(--content-max-width);margin:0 auto;padding:var(--space-3) var(--space-2) calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-5)}.brand-header[data-astro-cid-j7pv25f6]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-0_5) 0 var(--space-3);border-bottom:1px solid var(--hairline)}.brand-mark[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:var(--space-1_5)}.brand-icon[data-astro-cid-j7pv25f6]{width:32px;height:42px;color:var(--ink-800);animation:lantern-breath-drop var(--breath-duration) var(--breath-ease) infinite;flex-shrink:0}.brand-text[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:4px;line-height:1}.brand-title[data-astro-cid-j7pv25f6]{font-family:var(--font-mincho);font-size:28px;font-weight:var(--weight-bold);color:var(--ink-900);margin:0;letter-spacing:.32em;line-height:1;padding-right:.32em}.brand-romaji[data-astro-cid-j7pv25f6]{font-family:var(--font-sans);font-size:10px;letter-spacing:.18em;color:var(--lantern-700);margin:0;font-weight:var(--weight-bold);text-transform:uppercase}.brand-date[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--font-mincho);line-height:1}.brand-date-ymd[data-astro-cid-j7pv25f6]{font-size:var(--text-small);color:var(--ink-800);letter-spacing:var(--tracking-wide);font-feature-settings:"pnum" on,"palt";font-weight:var(--weight-bold)}.brand-date-weekday[data-astro-cid-j7pv25f6]{font-size:var(--text-label);color:var(--ink-600);letter-spacing:var(--tracking-wider);font-weight:var(--weight-medium)}.section-title[data-astro-cid-j7pv25f6]{font-family:var(--font-mincho);font-size:var(--text-h3);font-weight:var(--weight-bold);margin:0 0 var(--space-2);color:var(--ink-800);letter-spacing:var(--tracking-wide);display:flex;align-items:center;gap:var(--space-1_5)}.section-title[data-astro-cid-j7pv25f6]:before{content:"";display:inline-block;width:3px;height:1em;background:var(--lantern-500);border-radius:2px}.cards[data-astro-cid-j7pv25f6]{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.empty[data-astro-cid-j7pv25f6]{background:var(--bg-surface);border:1px dashed var(--hairline-strong);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--ink-500);font-family:var(--font-mincho);line-height:var(--leading-body);text-align:center;font-size:var(--text-small)}.lantern-home__footer[data-astro-cid-j7pv25f6]{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--hairline);color:var(--ink-600);font-size:var(--text-label);display:flex;flex-direction:column;gap:var(--space-1);align-items:center;letter-spacing:var(--tracking-wide);font-family:var(--font-mincho)}.lantern-home__footer[data-astro-cid-j7pv25f6] .meta[data-astro-cid-j7pv25f6]{font-feature-settings:"pnum" on}.phase-tag[data-astro-cid-j7pv25f6]{color:var(--ink-400);font-size:var(--text-micro);letter-spacing:var(--tracking-widest)}.footer-nav[data-astro-cid-j7pv25f6]{display:flex;gap:var(--space-3);margin:var(--space-1) 0}.footer-nav[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{color:var(--lantern-700);text-decoration:none;font-size:var(--text-small);min-height:var(--tap-target-min);display:inline-flex;align-items:center;padding:0 var(--space-1);border-radius:var(--radius-md);font-weight:var(--weight-medium);transition:background var(--duration-press) var(--ease-out)}.footer-nav[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:hover,.footer-nav[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:focus-visible{background:var(--lantern-50)}
