/* 既存の館を保ち、二つの部屋と個別相談室にそれぞれの情景を添える。 */
@font-face{font-family:Runic;src:url('fonts/NotoSansRunic-Regular.ttf') format('truetype');font-display:swap}
.oracle-page{--room-accent:#87c8b1;--room-deep:#183b3e}.runes-page{--room-accent:#a5d7cf;--room-deep:#203e43}
.oracle-hero{height:420px;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #d9bc7c25}.oracle-scenery{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.oracle-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111a30b0,transparent 80%),linear-gradient(0deg,#171e36,transparent 45%);z-index:-1}.oracle-heading{padding-block:35px;position:relative}.oracle-heading h1{font-size:58px;font-weight:500;letter-spacing:.15em;margin:13px 0 20px}.oracle-heading>p:not(.soft-label){white-space:pre-line;line-height:2.1;color:#eee9df;margin-bottom:18px}.oracle-heading .soft-label{margin-top:27px}.oracle-heading .back-link{font-size:12px}.oracle-mist{position:absolute;inset:40% -15% -30%;background:radial-gradient(ellipse at 55% 70%,#a7dbc522,transparent 65%);filter:blur(20px);animation:forest-mist 16s ease-in-out infinite alternate;z-index:-2}
.oracle-page .reading-stage{margin-top:32px;grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr);align-items:start;gap:32px}.oracle-page .character-portrait{height:590px;border-radius:130px 8px 0 0}.oracle-page .character-portrait>img{object-position:center 25%}.oracle-page .character-guide{border-color:#87c8b12b;box-shadow:0 20px 90px #0004}.oracle-page .guide-dialogue{background:linear-gradient(125deg,#223644,#1b2a3d)}.oracle-experience{background:radial-gradient(ellipse at top,#2b484350,transparent 70%),#1c263ce8!important;border-color:#87c8b12e!important;overflow:hidden}.oracle-experience h2{font-size:28px;line-height:1.6;font-weight:500}.oracle-experience .theme-picker{margin:25px 0 20px}.oracle-experience .theme-picker span{font-size:12px;padding:10px 13px}.oracle-experience .card-instruction{font-size:13px;line-height:2}.oracle-experience #oracle-start{text-align:center}.oracle-page .gold{background:#d8c794;color:#182733}.oracle-page .gold:hover{background:#efdcad}.oracle-page .theme-picker input:checked+span{border-color:var(--room-accent);color:var(--room-accent);background:#87c8b110}.oracle-page .portrait-light{background:radial-gradient(ellipse,#9bedbf20,transparent 66%)}
.coin-table{height:220px;position:relative;display:flex;justify-content:center;align-items:center;gap:16px;perspective:600px;margin:15px 0}.bagua-ring{position:absolute;width:240px;height:185px;border:1px solid #d9bc7c32;border-radius:50%;top:18px;color:#d9bc7c88;font-size:21px;padding:8px;transform:rotate(-12deg)}.bagua-ring:after{content:'';position:absolute;inset:9px;border:1px dashed #d9bc7c29;border-radius:50%}.bagua-ring span{position:absolute;bottom:8px;left:calc(50% - 12px)}.bronze-coin{width:70px;height:70px;border-radius:50%;border:4px ridge #b69a55;background:radial-gradient(circle at 30% 25%,#e3c485,#7b612e 80%);box-shadow:inset 0 0 0 4px #3d2d1f55,0 13px 18px #0007;position:relative;transform:rotateX(28deg) rotate(-18deg)}.bronze-coin:before{content:'';position:absolute;inset:7px;border:1px solid #eddbaa80;border-radius:50%}.bronze-coin:after{content:'';position:absolute;inset:23px;background:#182233;border:2px inset #c3a060}.bronze-coin:nth-last-child(2){transform:translateY(-12px) rotateX(28deg) rotate(22deg)}
.hexagram-result{display:grid;grid-template-columns:155px minmax(0,1fr);gap:27px;align-items:start}.hexagram-seal{text-align:center;padding-top:14px}.hexagram-lines{display:flex;flex-direction:column-reverse;gap:12px;width:115px;margin:0 auto 23px}.hex-line{display:flex;gap:10px;height:9px;position:relative}.hex-line i{background:var(--room-accent,#d9bc7c);height:100%;flex:1;box-shadow:0 0 12px #87c8b126}.hex-line.yang{gap:0}.hex-line>span{position:absolute;right:-16px;top:-7px;font:12px sans-serif;color:var(--gold)}.hex-line.moving i{background:var(--gold)}.hexagram-seal .soft-label{font-size:11px}.hexagram-seal h3{font-size:19px;font-weight:500;line-height:2}.oracle-reading h2{font-size:25px;margin-top:4px}.oracle-reading>p{font-size:14px;line-height:2.05}.oracle-reading .action-box{margin-top:21px}.oracle-reading .theme-hint{font-size:12px}.changing-reading{border-top:1px solid #87c8b12e;margin-top:28px;padding-top:24px}.changing-reading>h3{font-size:17px;font-weight:500}.changing-reading>p{font-size:13px;line-height:1.9}.changed-hex{display:grid;grid-template-columns:72px minmax(0,1fr);gap:25px;align-items:center;margin-top:21px;padding:22px 18px;background:#87c8b108;border:1px solid #87c8b122}.changed-hex .hexagram-lines{width:63px;gap:7px;margin:0}.changed-hex .hex-line{height:5px;gap:6px}.changed-hex .yang{gap:0}.changed-hex p{font-size:12px;line-height:1.9}.changed-hex h4{font-size:17px;margin:12px 0}.oracle-page rt{font-size:9px}.oracle-again{margin-top:14px}.oracle-page .calculation{font-size:12px}.oracle-page .calculation li{margin:6px 0}.ritual-iching{background:radial-gradient(ellipse,#345d4aee,#141e32fa)}.ritual-coins{display:flex;gap:13px;justify-content:center}.ritual-coins .bronze-coin{width:54px;height:54px;animation:coin-toss .58s ease-in-out 6}.ritual-coins .bronze-coin:after{inset:17px}.ritual-coins .bronze-coin:nth-child(2){animation-delay:.05s}.ritual-coins .bronze-coin:nth-child(3){animation-delay:.1s}.ritual-hexagram{display:flex;flex-direction:column-reverse;gap:12px;width:120px;margin-top:25px}.ritual-hexagram .hex-line{opacity:0;animation:line-ink .45s ease-out calc(var(--step)*.58s + .3s) forwards}
.rune-stones{display:flex;justify-content:center;align-items:center;gap:12px;min-height:235px;padding:30px 0}.rune-stone{width:76px;height:106px;flex-shrink:0;border-radius:44% 49% 41% 45%;border:1px solid #778a7c65;background:radial-gradient(ellipse at 30% 20%,#586262 0%,#343e42 36%,#18272d 78%);box-shadow:inset 3px 5px 8px #bac3ac15,inset -5px -9px 13px #080e1d99,0 15px 18px #0007;display:inline-grid;place-items:center;position:relative;transform:rotate(calc((var(--stone,0) - 2)*7deg));transition:transform .45s,box-shadow .45s,border-color .45s;color:#e6dfc3;font-size:48px}.rune-stone:after{content:'';position:absolute;inset:8px;border:1px solid #859d8c15;border-radius:43% 49% 41% 48%;pointer-events:none}.rune-stone>span{font-family:Runic,'Segoe UI Historic','Segoe UI Symbol',sans-serif;text-shadow:0 0 12px #a5e3ca55}.rune-stones .rune-stone:nth-child(even){translate:0 -16px}.rune-stones .rune-stone:hover,.rune-stones .rune-stone:focus-visible{transform:translateY(-14px) rotate(0);border-color:#c4e7d3;box-shadow:0 0 28px #85d3b130,0 15px 18px #0006}.rune-stones .rune-stone.selected{border-color:#c4e7d3;box-shadow:0 0 36px #a4e1c47a}.rune-result{display:grid;grid-template-columns:145px minmax(0,1fr);gap:27px}.rune-seal{text-align:center;padding-top:14px}.rune-seal .opened{width:115px;height:163px;font-size:82px;transform:rotate(-4deg);box-shadow:0 0 65px #91d1b527,inset 0 0 20px #9fc69d15,0 18px 25px #0005;animation:rune-awake 1.3s ease-out}.rune-english{font:19px Georgia,serif;letter-spacing:.09em;color:var(--gold);margin-top:22px}.rune-seal h3{font-size:15px;font-weight:400}.ritual-runes{background:radial-gradient(ellipse,#33514ddd,#152332fa)}.ritual-rune{width:150px;height:200px;font-size:100px;animation:stone-rise 2.7s ease-in-out both}.ritual-rune>span{animation:rune-light 2.7s ease-in-out both}.runes-page .ritual-glow{background:radial-gradient(ellipse,#93d4bf30,transparent 70%)}
.rooms .iching-room,.rooms .runes-room{border-color:#87c8b137}.iching-room .room-picture{background:#203b3c}.runes-room .room-picture{background:#1c373b}.consult-invitation{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 280px;gap:35px;align-items:center;border:1px solid #b7a1de45;background:radial-gradient(ellipse at 65% 50%,#70558b33,transparent 65%),#1e253c;margin-top:65px;padding:45px 60px;overflow:hidden}.consult-invitation h2{font-size:32px;line-height:1.6;font-weight:500}.consult-invitation p{font-size:13px;line-height:2}.consult-invitation>img{width:100%;height:340px;object-fit:cover;object-position:50% 20%;border-radius:140px 140px 5px 5px;border:1px solid #d9bc7c40}.consult-orbit{position:absolute;left:34%;top:-90px;font:500px Georgia,serif;opacity:.035;z-index:-1}.consult-invitation .soft-label{color:#cdb9e9}
.consult-hero{display:grid;grid-template-columns:1.1fr .85fr;align-items:center;gap:50px;padding-block:50px}.consult-hero h1{font-size:44px;line-height:1.6;font-weight:500;letter-spacing:.07em}.consult-hero .soft-label{margin-top:25px}.consult-hero p{line-height:2.2}.consult-hero .fineprint{font-size:12px}.consult-portrait{position:relative;height:510px;border-radius:160px 160px 8px 8px;overflow:hidden;border:1px solid #d9bc7c55;box-shadow:0 0 120px #b7a1de12}.consult-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 17%}.consult-portrait:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#182039)}.consult-portrait>span{position:absolute;bottom:25px;left:30px;font-size:32px;z-index:1}.consult-portrait small{font-size:12px;margin-left:12px}.consult-content{padding-bottom:60px}.consult-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:25px 0;border-block:1px solid var(--line);margin-bottom:45px}.consult-steps li{font-size:13px;display:flex;gap:14px;align-items:center}.consult-steps span{font:30px Georgia,serif;color:var(--gold)}.consult-layout{display:grid;grid-template-columns:1.3fr .8fr;gap:45px;align-items:start}.consult-panel{padding:36px;background:#222b44;border:1px solid var(--line)}.consult-panel h2,.consult-promise h2,.consult-example>h2{font-size:26px;font-weight:500;line-height:1.7}.consult-panel label{display:block;font-size:13px;margin:25px 0 12px}.consult-panel textarea{width:100%;resize:vertical;min-height:170px;background:#151e32;color:var(--paper);border:1px solid #bbb7d355;padding:16px;font:14px/1.9 'Yu Gothic',sans-serif;border-radius:3px}.consult-panel textarea:focus{outline:2px solid var(--gold);outline-offset:3px}.consult-panel textarea::placeholder{color:#aaaac0}.question-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.question-meta>p{margin-top:8px}.question-meta>span{white-space:nowrap;margin-top:8px}.consult-promise{padding:25px 0}.consult-promise p{font-size:14px;line-height:2}.purchase-summary>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.purchase-summary dd{margin:0;max-width:64%;text-align:right}.consult-panel button:disabled{opacity:.65;cursor:not-allowed}.consult-panel [hidden]{display:none!important}.consult-example{margin-top:70px;border-top:1px solid var(--line);padding-top:40px}.question-quote{padding:20px 23px;border-left:2px solid var(--gold);background:#d9bc7c08;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.sample-spread{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px auto;max-width:730px}.sample-spread article{padding:23px 12px;border:1px solid #d9bc7c55;background:linear-gradient(150deg,#37344d,#1d2942);text-align:center;box-shadow:0 10px 30px #0002}.sample-spread img{display:block;margin:20px auto;width:110px;height:130px}.sample-spread article>span{font-size:12px;color:var(--gold)}.sample-spread h3{font:22px Georgia,serif;color:var(--paper);font-weight:400}.sample-spread p{font-size:12px}.sample-letter{max-width:760px;margin:auto}.sample-letter>p{font-size:15px;line-height:2.3}.consult-example>.fineprint{max-width:760px;margin:25px auto}.consultation-page a,.oracle-page a{scroll-margin-top:20px}
@keyframes forest-mist{to{transform:translateX(6%) scale(1.1);opacity:.5}}@keyframes coin-toss{0%,100%{transform:translateY(0) rotateX(20deg)}45%{transform:translateY(-25px) rotateX(200deg)}80%{transform:translateY(0) rotateX(380deg)}}@keyframes line-ink{from{opacity:0;transform:scaleX(.2);filter:blur(3px)}to{opacity:1;transform:scaleX(1);filter:blur(0)}}@keyframes stone-rise{0%{transform:translateY(45px) rotate(-35deg) scale(.6);opacity:0}35%{opacity:1}75%,100%{transform:translateY(0) rotate(0) scale(1)}}@keyframes rune-light{0%,25%{opacity:0}75%,100%{opacity:1;text-shadow:0 0 12px #d9f4d8,0 0 35px #83e6b5}}@keyframes rune-awake{from{filter:brightness(1.7);transform:translateY(12px) rotate(-9deg)}to{filter:brightness(1);transform:translateY(0) rotate(-4deg)}}
@media(max-width:1100px){.oracle-page .reading-stage{gap:22px;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr)}.oracle-page .character-portrait{height:470px}.hexagram-result,.rune-result{grid-template-columns:1fr}.hexagram-seal,.rune-seal{margin-bottom:16px}.hexagram-seal h3{margin-bottom:0}.rune-stone{width:65px;height:91px}.rune-stones{gap:9px}.consult-invitation{padding:35px}.consult-layout{gap:25px}.consult-panel{padding:25px}.consult-hero h1{font-size:36px}}
@media(max-width:800px){.oracle-page .reading-stage{grid-template-columns:1fr;max-width:650px}.oracle-page .character-portrait{height:360px}.oracle-page .character-portrait>img{object-position:center 22%}.oracle-hero{height:365px}.oracle-heading h1{font-size:45px}.oracle-heading>p:not(.soft-label){font-size:14px}.oracle-hero:after{background:linear-gradient(90deg,#111a30b0,#111a3010),linear-gradient(0deg,#171e36,transparent 40%)}.hexagram-result,.rune-result{grid-template-columns:140px minmax(0,1fr);gap:25px}.rune-stone{width:76px;height:106px}.consult-layout{grid-template-columns:1fr}.consult-promise{padding:5px 12px}.consult-hero{gap:25px}.consult-portrait{height:430px}.consult-hero h1{font-size:30px}.consult-hero p{font-size:13px}.consult-invitation{grid-template-columns:1fr 210px;gap:25px}.consult-invitation>img{height:310px}.consult-invitation h2{font-size:27px}}
@media(max-width:560px){.oracle-hero{height:350px}.oracle-heading{padding-top:21px}.oracle-heading h1{font-size:39px}.oracle-heading .soft-label{margin-top:22px;font-size:11px}.oracle-heading>p:not(.soft-label){font-size:12px}.oracle-scenery{object-position:60% center}.oracle-page .reading-stage{margin-top:20px;gap:20px}.oracle-page .character-portrait{height:330px;border-radius:80px 6px 0 0}.oracle-page .reading-stage .experience{padding:27px 20px}.oracle-experience h2{font-size:25px}.oracle-experience .theme-picker span{padding:9px 10px;font-size:11px}.oracle-experience .fineprint{font-size:10px}.hexagram-result,.rune-result{grid-template-columns:1fr}.oracle-reading h2{font-size:24px}.oracle-reading>p{font-size:13px}.rune-stones{gap:10px;min-height:195px}.rune-stone{width:calc((100% - 40px)/5);height:89px}.rune-seal .opened{width:105px;height:145px}.coin-table{height:200px}.bronze-coin{width:60px;height:60px}.bronze-coin:after{inset:19px}.changed-hex{gap:17px;padding:20px 14px}.consult-invitation{grid-template-columns:1fr 100px;padding:28px 20px;gap:15px;margin-top:35px}.consult-invitation h2{font-size:23px}.consult-invitation p{font-size:11px}.consult-invitation p br{display:none}.consult-invitation>img{height:210px;object-position:50% 12%;border-radius:65px 65px 5px 5px}.consult-invitation .button{font-size:11px;padding:11px 12px}.consult-invitation .soft-label{font-size:10px}.consult-hero{grid-template-columns:1fr;gap:27px;padding-block:25px}.consult-hero h1{font-size:32px}.consult-portrait{height:330px;max-width:300px;width:100%;margin:auto;border-radius:100px 100px 6px 6px}.consult-steps{gap:7px;margin-top:10px}.consult-steps li{display:block;font-size:10px;text-align:center}.consult-steps span{display:block;margin-bottom:8px;font-size:25px}.consult-panel{padding:23px 19px}.consult-panel h2{font-size:22px}.question-meta{font-size:10px}.question-meta p{max-width:72%}.sample-spread{gap:9px}.sample-spread article{padding:16px 6px}.sample-spread img{width:75px;height:100px}.sample-spread h3{font-size:17px;min-height:40px}.sample-spread p,.sample-spread article>span{font-size:10px}.sample-letter>p{font-size:13px}.purchase-summary>div{font-size:12px}.question-quote{font-size:13px;padding:15px}.consult-example>.soft-label{font-size:10px}.consult-example>h2{font-size:25px}.oracle-page .ritual-message{font-size:16px}}
@media(prefers-reduced-motion:reduce){.oracle-page *,.consultation-page *{animation:none!important;transition:none!important}.ritual-hexagram .hex-line{opacity:1}.rune-stones .rune-stone:hover{transform:none}}
@media print{.oracle-hero,.oracle-again,.consult-portrait{display:none}.oracle-reading,.changing-reading{color:#111}.hex-line i{background:#111!important}.consult-layout{display:block}}
