:root{--night:#10121e;--night-2:#171a2a;--panel:#1a1d2e;--panel-2:#222638;--aubergine:var(--panel);--gold:#e4c78c;--gold-soft:#f0d8a9;--gold-deep:#c6a96b;--parchment:#f5f0e8;--ink:#1b1a2a;--ink-muted:rgba(27,26,42,.72);--ink-faint:rgba(27,26,42,.52);--muted:#b2b1c3;--faint:#8f8fa6;--line:rgba(228,199,140,.3);--line-soft:rgba(228,199,140,.14);--edge:#353a50;--seal:#e08a8a;--seal-hover:#eaa0a0;--jade:#8fb3a0;--r-sm:12px;--r-md:18px;--r-lg:24px;--arch-sm:var(--r-md);--arch-md:var(--r-md);--arch-lg:var(--r-lg);--arch-foot:var(--r-md);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--side-w:244px;--top-h:56px;--nav-h:64px;--ad-h:300px}@media (min-width:768px){:root{--ad-h:280px}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--night);color:var(--parchment);font-family:var(--font-zen-kaku),"Hiragino Sans","Yu Gothic",system-ui,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased;min-height:100dvh}.serif{font-family:var(--font-shippori-mincho),"Hiragino Mincho ProN","Yu Mincho",serif}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button{font-family:inherit}.app,.app-main{min-height:100dvh}.app-main{min-width:0;display:flex;flex-direction:column}.app-main>main{flex:1 0 auto}.app-brand{display:inline-flex;align-items:center;gap:var(--s3);color:var(--parchment);text-decoration:none}.app-brand .brand-mark{color:var(--gold);flex:none}.app-brand__name{font-size:17px;font-weight:700;line-height:1.3;letter-spacing:.02em}.app-brand--compact .app-brand__name{font-size:15px;white-space:nowrap}@media (max-width:359px){.app-brand--compact .app-brand__name{font-size:13px}}.app-top{height:var(--top-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:0 var(--s4);border-bottom:1px solid var(--line-soft);background:rgba(16,18,30,.92);position:-webkit-sticky;position:sticky;top:0;z-index:30;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.app-top__tagline{font-size:12px;letter-spacing:.14em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width:639px){.app-top__tagline{display:none}}.app-side{display:none;flex-direction:column;padding:28px 20px 24px;background:var(--night)}.app-side__tagline{font-size:10px;letter-spacing:.2em;color:var(--muted);margin:10px 0 36px}.app-side__foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--s3)}.app-side__spark{color:var(--gold);font-size:20px}.app-side__note{font-size:12px;color:var(--muted);line-height:1.8}.app-side__about{font-size:12px;color:var(--parchment);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.app-side__about:focus-visible,.app-side__about:hover{color:var(--gold)}.app-nav ul{list-style:none;display:flex}.app-nav__link{display:flex;align-items:center;color:var(--muted);text-decoration:none;transition:color .15s ease,background-color .15s ease}.app-nav__icon{flex:none}.app-nav__link:focus-visible,.app-nav__link:hover{color:var(--parchment)}.app-nav__link.is-active{color:var(--gold)}.app-nav--side ul{flex-direction:column;gap:4px}.app-nav--side .app-nav__link{gap:var(--s3);min-height:48px;padding:0 var(--s3);border-radius:var(--r-sm);font-size:14px;letter-spacing:.04em}.app-nav--side .app-nav__link:hover{background:var(--panel)}.app-nav--side .app-nav__link.is-active{background:var(--panel);color:var(--parchment)}.app-nav--side .app-nav__link.is-active .app-nav__icon{color:var(--gold)}.app-nav--side .app-nav__link.is-active:after{content:"";margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--gold)}.app-nav--bottom{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(16,18,30,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);padding-bottom:env(safe-area-inset-bottom)}.app-nav--bottom ul{justify-content:space-around}.app-nav--bottom li{flex:1 1;min-width:0}.app-nav--bottom .app-nav__link{flex-direction:column;justify-content:center;gap:3px;height:var(--nav-h);padding:0 2px;font-size:10px;letter-spacing:.04em;white-space:nowrap}.app-nav--bottom .app-nav__link.is-active .app-nav__label{color:var(--gold)}.app-nav--bottom .app-nav__link:focus-visible{outline-offset:-3px}@media (max-width:950px){.app-main{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}}@media (min-width:951px){.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr)}.app-side{display:flex;position:-webkit-sticky;position:sticky;top:0;height:100dvh}.app-main{border-left:1px solid var(--line-soft)}.app-brand--compact,.app-nav--bottom{display:none}.app-top{padding:0 var(--s7);justify-content:flex-start}}.container{width:100%;max-width:720px;margin:0 auto;padding:0 var(--s4)}@media (min-width:640px){.container{padding:0 var(--s6)}}.page{padding-block:var(--s6) var(--s8)}@media (min-width:768px){.page{padding-block:var(--s7) var(--s9)}}.stack-2{gap:var(--s2)}.stack-2,.stack-3{display:flex;flex-direction:column}.stack-3{gap:var(--s3)}.stack-4{gap:var(--s4)}.stack-4,.stack-5{display:flex;flex-direction:column}.stack-5{gap:var(--s5)}.stack-6{display:flex;flex-direction:column;gap:var(--s6)}.center{text-align:center}.h1-app{font-size:26px;letter-spacing:.06em;line-height:1.45}.h1-app,.h2-app{font-family:var(--font-shippori-mincho),serif;font-weight:700;text-wrap:balance}.h2-app{font-size:20px;letter-spacing:.04em;line-height:1.5}.h2-app small{font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:400;letter-spacing:.18em;color:var(--muted);margin-left:var(--s3);white-space:nowrap}.h3-app{font-family:var(--font-shippori-mincho),serif;font-size:16px;font-weight:700;letter-spacing:.04em;line-height:1.5}.body-app{font-size:14px;line-height:1.8}.reading-text{font-size:14px;line-height:1.9;white-space:pre-wrap}.small{font-size:13px;line-height:1.8}.small,.tiny{color:var(--muted)}.tiny{font-size:11px;letter-spacing:.08em;line-height:1.7}.arch--paper .small{color:var(--ink-muted)}.arch--paper .tiny{color:var(--ink-faint)}.label-gold{font-family:Georgia,Times New Roman,serif;font-size:11px;letter-spacing:.2em;color:var(--gold)}.romaji{display:block;font-size:12px;letter-spacing:.32em;color:var(--gold);margin-top:var(--s3)}@media (min-width:768px){.h1-app{font-size:32px}.h2-app{font-size:22px}}.arch{border:1px solid var(--line);position:relative;background:var(--panel)}.arch,.arch--md{border-radius:var(--r-md)}.arch--lg{border-radius:var(--r-lg)}.arch--paper{background:var(--parchment);color:var(--ink);border-color:var(--gold-deep)}.arch--panel{background:var(--panel);color:var(--parchment)}.arch--ghost{background:transparent;border-color:var(--line)}.arch.is-selected{outline:2px solid var(--gold);outline-offset:3px}.arch-body{padding:var(--s5) var(--s4)}.arch--md>.arch-body{padding:var(--s5)}.arch--lg>.arch-body{padding:var(--s6) var(--s5)}@media (min-width:640px){.arch-body{padding:var(--s5)}.arch--md>.arch-body{padding:var(--s6)}.arch--lg>.arch-body{padding:var(--s7) var(--s6)}}.cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:10px 28px;border:1px solid var(--gold-deep);color:var(--gold);background:transparent;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.06em;border-radius:var(--r-sm);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.cta:focus-visible,.cta:hover{background:rgba(228,199,140,.1);color:var(--gold-soft);border-color:var(--gold)}.cta--primary{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700;padding-inline:32px}.cta--primary:focus-visible,.cta--primary:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink)}.cta--text{background:none;border:none;padding:0;min-height:44px;display:inline-flex;align-items:center;color:var(--muted);font-family:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.cta--text:focus-visible,.cta--text:hover{color:var(--parchment)}.cta:disabled,.cta[aria-disabled=true]{opacity:.4;cursor:not-allowed}.cta:disabled:hover{background:transparent;color:var(--gold)}.cta--primary:disabled:hover{background:var(--gold);color:var(--ink)}.form-actions{display:flex;justify-content:center}.form-actions .cta{width:100%;max-width:380px}.tag{display:inline-block;font-size:12px;letter-spacing:.06em;color:var(--jade);border:1px solid rgba(143,179,160,.5);border-radius:999px;padding:3px 12px}.tag-row{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}.evidence-badge{display:inline-block;font-size:11px;letter-spacing:.16em;color:var(--gold);border:1px solid var(--line);border-radius:999px;padding:2px 10px}.evidence-row{display:flex;flex-wrap:wrap;gap:6px}.home{gap:var(--s7)}.home,.home-head{display:flex;flex-direction:column}.home-head{gap:var(--s2)}.hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(circle at 85% 20%,rgba(228,199,140,.12) 0,transparent 45%),linear-gradient(135deg,#1b1f33,#171a2b 55%,#1d1f33);padding:var(--s5) var(--s4);display:grid;grid-gap:var(--s5);gap:var(--s5)}.hero__text{display:flex;flex-direction:column;gap:var(--s4);position:relative;z-index:1}.hero__title{font-size:26px;line-height:1.5;letter-spacing:.04em;text-wrap:balance}.hero__lead{font-size:14px;line-height:1.9;color:var(--muted)}.hero__art{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.hero-art{width:min(100%,300px);height:auto;display:block}.hero__caption{font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:var(--muted)}@media (min-width:768px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;padding:var(--s6) var(--s6)}.hero__title{font-size:32px}}.home-methods{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--s3);font-size:12px;color:var(--muted);letter-spacing:.04em}.home-methods span+span:before{content:"·";margin-right:var(--s3);color:var(--gold-deep)}.home-section{gap:var(--s4)}.home-section,.home-section__head{display:flex;flex-direction:column}.home-section__head{gap:var(--s1)}.home-section__head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--s4)}.home-section__more{flex:none;font-size:13px;color:var(--gold);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.home-section__more:focus-visible,.home-section__more:hover{color:var(--gold-soft)}.entry-grid{display:grid;grid-gap:var(--s3);gap:var(--s3)}@media (min-width:768px){.entry-grid{grid-template-columns:repeat(3,1fr)}}.entry-card{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s4) var(--s4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);color:var(--parchment);text-decoration:none;transition:border-color .15s ease,transform .15s ease,background-color .15s ease}.entry-card:focus-visible,.entry-card:hover{border-color:var(--gold);background:var(--panel-2);transform:translateY(-2px)}.entry-card__top{display:flex;align-items:center;justify-content:space-between}.entry-card__icon{width:44px;height:44px;border-radius:var(--r-sm);background:var(--night-2);border:1px solid var(--line);color:var(--gold);display:grid;place-items:center}.entry-card__no{font-family:Georgia,serif;font-size:11px;letter-spacing:.2em;color:var(--faint)}.entry-card__title{font-size:17px;font-weight:700;letter-spacing:.04em}.entry-card__desc{font-size:13px;color:var(--muted);line-height:1.8}.entry-card__label{font-size:12px;color:var(--gold);letter-spacing:.06em;margin-top:var(--s1);display:flex;justify-content:space-between}.home-privacy{display:flex;align-items:flex-start;justify-content:center;gap:var(--s2);font-size:12px;color:var(--muted);line-height:1.8;text-align:left}.home-privacy svg{flex:none;color:var(--gold);margin-top:4px}.teller-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s3);gap:var(--s3)}@media (max-width:359px){.teller-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.teller-grid{gap:var(--s4)}.teller-grid--home{grid-template-columns:repeat(6,1fr);gap:var(--s3)}}.teller-card{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;background:var(--panel);color:var(--parchment);border:1px solid var(--line);border-radius:999px 999px var(--r-md) var(--r-md);padding:18px 8px 16px;text-align:center;font-family:inherit;cursor:default;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.teller-card--select{cursor:pointer}.teller-card--select:hover{border-color:var(--gold-deep);background:var(--panel-2)}.teller-card.is-selected{border-color:var(--gold);background:var(--panel-2);box-shadow:0 0 0 1px var(--gold)}.teller-card .avatar{width:64px;height:64px;margin:0 auto var(--s2);border-radius:50%;background:var(--night-2);border:1px solid var(--gold-deep);overflow:hidden;display:grid;place-items:center}.teller-card .teller-name{display:block;font-size:15px;font-weight:700;letter-spacing:.04em}.teller-card .teller-type{display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;letter-spacing:.06em;color:var(--muted);margin-top:2px}.type-pictogram{flex:none}.teller-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.teller-card .teller-desc{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:var(--s2)}.teller-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;border:1px solid var(--edge);background:var(--night-2);color:var(--ink);display:grid;place-items:center;opacity:.8}.teller-check svg{opacity:0}.teller-card.is-selected .teller-check{background:var(--gold);border-color:var(--gold);opacity:1}.teller-card.is-selected .teller-check svg{opacity:1}.teller-badge{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.teller-badge .avatar{width:48px;height:48px;border-radius:50%;background:var(--night-2);border:1px solid var(--gold-deep);display:grid;place-items:center;overflow:hidden}.tile-grid{display:flex;flex-direction:column;gap:var(--s2)}.tile{background:var(--panel);color:var(--parchment);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;cursor:pointer;transition:border-color .15s ease}.tile:focus-within,.tile:hover{border-color:var(--gold)}.tile-head{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left}.tile-icon{flex:none;width:38px;height:38px;border-radius:50%;background:var(--night-2);border:1px solid var(--gold-deep);color:var(--gold);display:grid;place-items:center}.tile.is-open .tile-icon{color:var(--gold-soft);border-color:var(--gold)}.tile-text{flex:1 1 auto;min-width:0}.tile-name{font-family:var(--font-shippori-mincho),serif;font-size:14px;font-weight:700;letter-spacing:.02em}.tile-conclusion{font-size:13px;color:var(--gold);margin-left:var(--s3)}@media (max-width:430px){.tile-conclusion{display:block;margin-left:0;margin-top:2px}}.tile-chevron{flex:none;font-size:10px;color:var(--muted);white-space:nowrap}.tile-chevron__hover-only{display:none}.tile-chevron__touch-only{display:inline}@media (hover:hover) and (pointer:fine){.tile-chevron__hover-only{display:inline}.tile-chevron__touch-only{display:none}}.tile-expand{max-height:0;overflow:hidden;transition:max-height .3s ease}.tile.is-open .tile-expand{max-height:2400px}.tile-detail{font-size:12px;line-height:1.8;color:var(--muted)}.tile-categories,.tile-detail{padding-top:var(--s2);text-align:left}.tile-categories{display:flex;flex-direction:column;gap:var(--s3)}.tile-category__label{font-family:var(--font-shippori-mincho),serif;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gold)}.tile-category__text{font-size:13px;line-height:1.85;color:var(--parchment);margin-top:4px}.tile-category__text+.tile-category__text{margin-top:var(--s2)}.period-select{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:center}.period-select__btn{font-size:13px;letter-spacing:.04em;min-height:40px;padding:6px 16px;border:1px solid var(--edge);border-radius:999px;background:var(--night-2);color:var(--parchment);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.period-select__btn:hover{border-color:var(--gold-deep)}.period-select__btn.is-active{border-color:var(--gold);background:var(--gold);color:var(--ink);font-weight:700}.period-select--lg{gap:var(--s3)}.period-select--lg .period-select__btn{font-size:15px;min-height:48px;padding:10px 22px}.ad-slot{min-height:var(--ad-h);display:grid;place-items:center;position:relative;background:var(--night-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:var(--s5)}.ad-slot:before{content:"広告";position:absolute;top:8px;left:12px;font-size:11px;letter-spacing:.16em;color:var(--faint)}.ad-slot .ad-placeholder{font-size:12px;color:var(--faint)}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);max-width:440px;margin:0 auto}.steps__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 4px;font-size:11px;letter-spacing:.02em;color:var(--muted);text-align:center;line-height:1.4}.steps__num{width:30px;height:30px;border-radius:50%;border:1px solid var(--edge);background:var(--night-2);color:var(--muted);display:grid;place-items:center;font-family:Georgia,serif;font-size:13px;position:relative;z-index:1}.steps__item+.steps__item:before{content:"";position:absolute;top:15px;right:50%;width:100%;height:1px;background:var(--edge)}.steps__item.is-current:before,.steps__item.is-done:before{background:var(--gold-deep)}.steps__item.is-done .steps__num{border-color:var(--gold-deep);color:var(--gold)}.steps__item.is-current .steps__num{border-color:var(--gold);background:var(--gold);color:var(--ink);font-weight:700}.steps__item.is-current{color:var(--gold)}.step-indicator{display:flex;gap:6px;justify-content:center}.step-indicator span{display:block;width:30px;height:2px;border-radius:2px;background:var(--edge)}.step-indicator span.is-on{background:var(--gold)}.form-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);padding:var(--s4) var(--s4) var(--s5);min-width:0}.form-card__legend{padding:0 var(--s2);font-size:13px;letter-spacing:.08em;color:var(--parchment);font-weight:700}.form-stack{width:100%;max-width:520px;margin:0 auto}.form-note{text-align:center}.req{color:var(--gold);font-weight:400;margin-left:2px}.field .field-label,.field label{display:block;font-size:13px;letter-spacing:.04em;color:var(--parchment);margin-bottom:8px}.field input[type=email],.field input[type=text],.field input[type=time]{min-width:0;min-height:48px;padding:10px 14px}.field input[type=email],.field input[type=text],.field input[type=time],.field textarea{width:100%;background:var(--night-2);border:1px solid var(--edge);color:var(--parchment);font-family:inherit;font-size:16px;border-radius:var(--r-sm)}.field textarea{padding:12px 14px;line-height:1.8;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:hover,.field textarea:hover{border-color:var(--gold-deep)}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--seal)}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s3);gap:var(--s3)}@media (max-width:400px){.two-col{grid-template-columns:1fr}}.field-error{color:var(--seal);font-size:12px;margin-top:6px;line-height:1.6}.field-error--center{text-align:center}.checkline{display:flex;gap:var(--s3);align-items:center;font-size:14px;cursor:pointer;min-height:44px}.checkline input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--gold);cursor:pointer}.birth-field{isolation:isolate}.birth-card{display:block;width:100%;text-align:left;padding:18px 20px 16px;border:1px solid var(--gold-deep);border-radius:var(--r-md);background:radial-gradient(circle at 93% 0,rgba(185,155,91,.1) 0,transparent 43%),linear-gradient(120deg,#262b40,#1d2234 70%,#25283a);color:var(--parchment);box-shadow:inset 0 0 0 5px rgba(228,199,140,.035);position:relative;overflow:hidden;cursor:pointer;font:inherit;transition:transform .18s ease,border-color .18s ease}.birth-card:after{content:"";position:absolute;right:-10px;top:-50px;width:170px;height:170px;border:1px solid rgba(228,199,140,.15);border-radius:50%;pointer-events:none}.birth-card:hover{transform:translateY(-2px);border-color:var(--gold)}.birth-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.birth-card[aria-invalid=true]{border-color:var(--seal);box-shadow:0 0 0 2px rgba(224,138,138,.2)}.birth-card__top{display:flex;align-items:center;justify-content:space-between;color:var(--gold);font-family:Georgia,serif;font-size:10px;letter-spacing:.18em}.birth-card__flower{font-size:26px;line-height:1;color:var(--gold);letter-spacing:0}.birth-card__date{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:8px 0 12px;position:relative;z-index:1}.birth-card__date>span{display:inline-flex;align-items:baseline;gap:6px}.birth-card__date strong{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:40px;line-height:1.25;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.birth-card__date small{font-size:12px;color:var(--muted)}.birth-card__date>i{font:18px Georgia,serif;color:var(--gold-deep)}.birth-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font-size:11px;color:var(--muted);position:relative;z-index:1}.birth-card__edit{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--gold);background:rgba(228,199,140,.06);border:1px solid rgba(228,199,140,.3);border-radius:999px;padding:6px 12px;white-space:nowrap}.birth-card__edit svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}.birth-field__hint{font-size:11px;color:var(--muted);margin:8px 3px 0;line-height:1.7}@media (max-width:370px){.birth-card{padding:16px 14px 14px}.birth-card__date{gap:2px 8px}.birth-card__date strong{font-size:30px}.birth-card__date small{font-size:10px}}.birth-dialog{color-scheme:dark;width:min(514px,calc(100vw - 24px));margin:auto;padding:0;border:1px solid var(--gold-deep);border-radius:var(--r-lg);background:#191e2e;color:var(--parchment);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 35px 110px rgba(0,0,0,.5);font-family:inherit;line-height:1.6}.birth-dialog::-webkit-backdrop{background:rgba(9,10,20,.74);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.birth-dialog::backdrop{background:rgba(9,10,20,.74);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.birth-dialog button{font-family:inherit;border:0;background:transparent;cursor:pointer;color:inherit}.birth-dialog button:disabled{cursor:default}.birth-dialog :focus-visible{outline:3px solid var(--gold);outline-offset:2px}.birth-dialog__head{text-align:center;position:relative;padding:24px 56px 18px;background:radial-gradient(circle at 10% 15%,rgba(184,154,91,.1) 0,transparent 50%),linear-gradient(120deg,#252b3e,#1c2132);border-bottom:1px solid var(--line-soft)}.birth-dialog__kicker{font:10px/1.8 Georgia,serif;letter-spacing:.17em;color:var(--gold)}.birth-dialog__close{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;font-size:26px;color:var(--muted)}.birth-dialog__close:hover{background:rgba(228,199,140,.08);color:var(--parchment)}.birth-dialog__head>h2{font-size:24px;font-weight:700;letter-spacing:.06em;margin:8px 0 4px;line-height:1.6}.birth-dialog__head>p:not(.birth-dialog__kicker):not(.birth-dialog__selected){font-size:12px;color:var(--muted)}.birth-dialog__selected{margin:12px auto 0;min-height:38px;font:24px/1.5 Georgia,Yu Mincho,serif;letter-spacing:.04em;color:var(--gold-soft)}.birth-dialog__selected.is-empty{font-family:inherit;font-size:14px;color:var(--muted);letter-spacing:0;padding-top:8px}.birth-cal{padding:18px 24px 0}.birth-cal__controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:10px;gap:10px;margin-bottom:14px}.birth-cal__controls>button{height:44px;width:44px;border:1px solid var(--edge);border-radius:var(--r-sm);background:var(--panel-2);color:var(--gold);font:28px/1 Georgia,serif;display:grid;place-items:center;padding:0 0 4px}.birth-cal__controls>button:disabled{opacity:.3}.birth-cal__controls>button:not(:disabled):hover{background:#30384e}.birth-cal__selects{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:8px;gap:8px;min-width:0}.birth-cal__selects select{width:100%;min-width:0;min-height:46px;border:1px solid var(--edge);border-radius:var(--r-sm);background-color:var(--panel-2);color:var(--parchment);font-family:inherit;font-size:16px;padding:8px 10px;line-height:1.4;cursor:pointer}.birth-cal__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;margin-bottom:6px;font-size:11px;color:var(--muted)}.birth-cal__weekdays>span:first-child{color:var(--gold)}.birth-cal__weekdays>span:last-child{color:#c6c3e2}.birth-cal__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px 3px;gap:4px 3px}.birth-cal__days>button{display:grid;place-items:center;min-width:0;height:46px;width:100%;font-size:16px;font-weight:500;color:var(--parchment);border-radius:var(--r-sm);padding:0;position:relative;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.birth-cal__days>button:hover:not(:disabled){background:#2c344a}.birth-cal__days>.is-sun{color:var(--gold)}.birth-cal__days>.is-sat{color:#c6c3e2}.birth-cal__days>button[aria-pressed=true]{background:var(--gold);color:var(--ink)}.birth-cal__days>button[aria-pressed=true]:hover{background:var(--gold-soft)}.birth-cal__days>button[aria-pressed=true]:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:#74603c}.birth-cal__days>button:disabled{color:#5c6274;cursor:default}.birth-cal__range{font-size:11px;color:var(--muted);text-align:center;margin:12px 0 0}.birth-dialog__actions{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:10px;gap:10px;padding:18px 24px 0}.birth-dialog__actions>button{min-height:48px;padding:10px;font-size:13px;border:1px solid var(--edge);border-radius:var(--r-sm);color:var(--parchment);background:var(--panel-2)}.birth-dialog__confirm{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--ink)!important;font-weight:700;display:flex;justify-content:center;align-items:center;gap:12px}.birth-dialog__confirm:not(:disabled):hover{background:var(--gold-soft)!important}.birth-dialog__confirm:disabled{opacity:.45}.birth-dialog__confirm>span{color:#655436;font-size:18px}.birth-dialog__note{font-size:11px;line-height:1.8;color:var(--muted);text-align:center;padding:10px 20px 18px}@media (max-width:700px){.birth-dialog__head{padding:22px 52px 16px}.birth-dialog__head>h2{font-size:21px}.birth-cal{padding:16px 16px 0}.birth-cal__days>button{height:44px}.birth-dialog__actions{padding:16px 16px 0;gap:8px}}@media (max-width:370px){.birth-cal{padding:14px 12px 0}.birth-cal__controls{grid-template-columns:36px 1fr 36px;gap:6px}.birth-cal__controls>button{width:36px}.birth-cal__selects{gap:5px}.birth-cal__selects select{padding:8px 5px;font-size:15px}.birth-dialog__actions{padding-right:12px;padding-left:12px}.birth-dialog__actions>button{font-size:12px}}.disclaimer{border-top:1px solid var(--line-soft);padding-top:var(--s3)}.disclaimer p{font-size:11px;line-height:1.7;color:var(--faint)}.disclaimer p+p{margin-top:var(--s2)}.disclaimer__notice{color:var(--muted)}.celtic{display:flex;flex-direction:column;align-items:center;gap:var(--s4)}.celtic-board{display:grid;grid-template-areas:".    top    .     staff1" "left center right staff2" ".    bottom .     staff3" ".    .      .     staff4";grid-template-columns:repeat(4,40px);grid-auto-rows:60px;grid-gap:8px;gap:8px;justify-content:center}@media (min-width:480px){.celtic-board{grid-template-columns:repeat(4,48px);grid-auto-rows:72px;gap:10px}}.celtic-card{position:relative;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;opacity:0;transform:translateY(10px) scale(.94);transition:opacity .18s ease,transform .18s ease,border-color .18s ease}.celtic-card.is-placed{opacity:1;transform:translateY(0) scale(1);border-color:var(--gold)}.celtic-card-mark{width:10px;height:10px;background:var(--gold);transform:rotate(45deg);opacity:.55}.celtic-card--center{grid-area:center}.celtic-card--top{grid-area:top}.celtic-card--bottom{grid-area:bottom}.celtic-card--left{grid-area:left}.celtic-card--right{grid-area:right}.celtic-card--staff1{grid-area:staff1}.celtic-card--staff2{grid-area:staff2}.celtic-card--staff3{grid-area:staff3}.celtic-card--staff4{grid-area:staff4}.celtic-card--cross{transform:translateY(10px) rotate(90deg) scale(.78);background:var(--night-2);border-color:var(--gold-soft)}.celtic-card--cross.is-placed{transform:rotate(90deg) scale(.84)}.celtic-status{font-size:12px;letter-spacing:.08em;color:var(--muted);min-height:1.6em;text-align:center}@media (prefers-reduced-motion:reduce){.celtic-card{transition:none}}.site-footer{border-top:1px solid var(--line-soft);margin-top:var(--s8);padding:var(--s6) var(--s4) var(--s7);text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);justify-content:center;margin-bottom:var(--s4)}.lang-switch,.site-footer a{color:var(--muted);font-size:12px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.lang-switch:hover,.site-footer a:hover{color:var(--parchment);text-decoration:underline;text-underline-offset:3px}.site-footer p{font-size:11px;letter-spacing:.16em;color:var(--faint)}.site-footer__lang{margin-bottom:var(--s2)}.app-side .lang-switch{font-size:12px}.upload{border:1px dashed var(--gold-deep);border-radius:var(--r-md);background:var(--panel);padding:var(--s5) var(--s4);text-align:center}.upload-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s4)}.upload-actions .cta{padding:8px 6px;font-size:12px;letter-spacing:.04em}.upload-preview{max-width:180px;margin:var(--s4) auto 0;border:1px solid var(--line);border-radius:var(--r-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.prose{width:100%;max-width:62ch;margin:0 auto}.prose>*+*{margin-top:var(--s4)}.prose h1{font-size:24px;line-height:1.5;text-wrap:balance}.prose h1,.prose h2{font-family:var(--font-shippori-mincho),serif;font-weight:700;letter-spacing:.04em}.prose h2{font-size:17px;line-height:1.6;margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--line-soft)}.prose h3{font-family:var(--font-shippori-mincho),serif;font-size:14px;font-weight:700;letter-spacing:.04em;margin-top:var(--s5)}.prose p{font-size:14px;line-height:1.9}.prose ol,.prose ul{padding-left:1.4em}.prose li{font-size:14px;line-height:1.9}.prose li+li{margin-top:var(--s1)}.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.prose a:hover,.prose strong{color:var(--gold-soft)}.prose strong{font-weight:500}.prose .lead{color:var(--muted)}.prose .updated{font-size:12px;letter-spacing:.08em;color:var(--faint)}.prose dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--s2) var(--s5);gap:var(--s2) var(--s5);font-size:14px;line-height:1.8}.prose dt{color:var(--gold);white-space:nowrap}.prose dd{color:var(--parchment)}@media (max-width:480px){.prose dl{grid-template-columns:1fr;gap:2px}.prose dt{margin-top:var(--s3)}}.prose .note{border-left:2px solid var(--gold);padding:var(--s2) 0 var(--s2) var(--s4);font-size:13px;line-height:1.8;color:var(--muted)}.prose .placeholder{color:var(--seal);border-bottom:1px dashed var(--seal)}.consent-box{border:1px solid var(--gold-deep);border-radius:var(--r-md);background:var(--panel);padding:var(--s5) var(--s4)}.consent-row{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer;min-height:44px}.consent-row input[type=checkbox]{width:22px;height:22px;flex:none;margin-top:3px;accent-color:var(--gold);cursor:pointer}.consent-row span{font-size:13px;line-height:1.7}.consent-row a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.breadcrumbs{font-size:12px;letter-spacing:.04em;margin-bottom:var(--s5)}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s2);list-style:none;padding:0;margin:0}.breadcrumbs li+li:before{content:"›";color:var(--faint);margin-right:var(--s2)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.breadcrumbs [aria-current=page]{color:var(--faint);display:inline-block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.column-list{list-style:none;padding:0;margin:var(--s6) auto 0;max-width:62ch;display:grid;grid-gap:var(--s3);gap:var(--s3)}.column-list--home{margin-top:0;max-width:none}@media (min-width:768px){.column-list--home{grid-template-columns:repeat(3,1fr)}}.column-card{display:block;height:100%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;transition:border-color .2s ease,background-color .2s ease}.column-card:focus-visible,.column-card:hover{border-color:var(--gold);background:var(--panel-2)}.column-card .arch-body,.column-card__body{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4);height:100%}.column-card__title{font-size:15px;font-weight:700;line-height:1.6;color:var(--parchment);letter-spacing:.03em}.column-card__desc{font-size:13px;line-height:1.8;color:var(--muted)}.column-card__meta{font-size:11px;letter-spacing:.08em;color:var(--gold);margin-top:auto}.column-cta{max-width:62ch;margin:var(--s7) auto 0}.column-cta__lead{font-size:13px;line-height:1.8;color:var(--muted)}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent);mask-image:linear-gradient(90deg,transparent,black 12px,black calc(100% - 12px),transparent);scrollbar-width:none}.table-scroll::-webkit-scrollbar{display:none}.prose table{border-collapse:collapse;width:100%;min-width:32rem;font-size:13px;line-height:1.7}.prose td,.prose th{border-bottom:1px solid var(--line-soft);padding:var(--s2) var(--s3);text-align:left;vertical-align:top;overflow-wrap:normal;word-break:keep-all}.prose th{color:var(--gold);font-weight:500;white-space:nowrap;border-bottom-color:var(--line)}.prose td{color:var(--parchment)}.prose dl.faq{display:block}.prose dl.faq>div+div{margin-top:var(--s4)}.prose dl.faq dt{color:var(--gold);white-space:normal;font-size:14px;line-height:1.7}.prose dl.faq dd{margin:var(--s2) 0 0;font-size:14px;line-height:1.9;color:var(--muted)}.compat-score{display:flex;align-items:baseline;justify-content:center;gap:2px}.compat-score__num{font-size:56px;line-height:1;font-weight:600;color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compat-score__unit{font-size:16px;color:var(--gold)}.compat-consent{display:flex;gap:var(--s3);align-items:flex-start;cursor:pointer}.compat-consent input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--gold)}.compat-consent span{font-size:13px;line-height:1.8}.deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--s3);gap:var(--s3)}.deck-card{display:flex;flex-direction:column;gap:6px;padding:var(--s5);text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);text-align:center;transition:border-color .15s ease,background-color .15s ease}.deck-card:focus-visible,.deck-card:hover{border-color:var(--gold);background:var(--panel-2)}.deck-card__cat{font-size:11px;letter-spacing:.16em;color:var(--gold)}.deck-card__name{font-size:20px;color:var(--parchment)}.deck-card__lead{font-size:13px;color:var(--muted);line-height:1.7}.deck-card__count{font-size:11px;color:var(--gold)}.oracle-card{width:176px;margin:0 auto;aspect-ratio:100/160}.oracle-card__art,.oracle-card__img{width:100%;height:100%;display:block;object-fit:cover;border-radius:8px}:root{--lilac:#b3a8dc}.byline{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0 var(--s4);border-bottom:1px solid var(--line);margin-bottom:var(--s5)}.byline__icon{flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--night-2)}.byline__icon img,.byline__icon svg{width:100%;height:100%;display:block}.byline__text{display:flex;flex-direction:column;gap:3px;min-width:0}.byline__name{font-size:15px;color:var(--parchment);display:flex;align-items:baseline;gap:var(--s2)}.byline__type{font-size:10px;letter-spacing:.12em;color:var(--gold)}.byline__desc{font-size:12px;color:var(--muted);line-height:1.6}.speech{display:flex;gap:var(--s3);margin:var(--s4) 0;align-items:flex-start}.speech--asker{flex-direction:row-reverse}.speech__icon{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--night-2);border:1px solid var(--line)}.speech__icon-img,.speech__icon-svg{width:100%;height:100%;display:block}.speech__body{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:82%}.speech--asker .speech__body{align-items:flex-end}.speech__name{font-size:11px;letter-spacing:.1em;color:var(--gold)}.speech--asker .speech__name{color:var(--lilac)}.speech__text{position:relative;padding:12px 15px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:14px;line-height:1.9;color:var(--parchment)}.speech--asker .speech__text{background:rgba(179,168,220,.12);border-color:rgba(179,168,220,.4)}@media (max-width:430px){.speech__body{max-width:100%}.speech__icon{width:38px;height:38px}}@media (min-width:900px){.container{max-width:840px}.prose{max-width:640px}.prose>*+*{margin-top:var(--s5)}.prose li,.prose p{font-size:15px;line-height:2.05}.prose h1{font-size:30px;line-height:1.45}.prose h2{font-size:20px}.prose h2,.prose h3{margin-top:var(--s7)}.prose .table-scroll{margin-left:calc(var(--s5) * -1);margin-right:calc(var(--s5) * -1)}.prose .table-scroll table{width:calc(100% - var(--s5) * 2);margin:0 auto}.prose td,.prose th{padding:var(--s3) var(--s4);font-size:14px}.speech{margin:var(--s5) 0}.speech__text{font-size:15px;padding:14px 18px}.speech__icon{width:52px;height:52px}}@media (min-width:1200px){.container{max-width:960px}.prose{max-width:672px}}.spread-line{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s3);gap:var(--s3);max-width:420px;margin:0 auto var(--s4)}.spread-card{margin:0}.spread-card .lenormand-card__art,.spread-card .lenormand-card__img,.spread-card .oracle-card__art,.spread-card .oracle-card__img{width:100%;aspect-ratio:100/160;height:auto;display:block;object-fit:cover;border-radius:8px}.spread-card__cap{margin-top:var(--s2);text-align:center;font-size:.78rem;line-height:1.5;color:var(--muted)}.spread-card__pos{display:block;font-size:.68rem;letter-spacing:.08em;color:var(--gold)}.oracle-spread__reading{font-size:.86rem;line-height:1.9;color:var(--parchment);text-align:left;margin:0 auto var(--s3);max-width:420px}