:root{--paper:#f6f4ee;--ink:#223b3b;--muted:#6c7772;--line:#dcded4;--gold:#af8f52;--night:#182f32;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation;min-height:44px}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #a6803a;outline-offset:5px}a{color:inherit}p,h1,h2,h3{margin:0}button{transition:background .2s,border-color .2s,box-shadow .2s}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}
.site-header{max-width:1256px;margin:auto;padding:30px 36px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font:25px var(--serif);letter-spacing:.17em;display:flex;align-items:center;gap:13px}.brand-mark{font:45px Georgia,serif;color:var(--gold);line-height:1;transform:rotate(-20deg)}.brand small{display:block;font:8px var(--sans);letter-spacing:.23em;margin-top:5px}.site-header nav{display:flex;gap:36px;align-items:center;font-size:12px;letter-spacing:.06em}.site-header nav a{text-decoration:none;border-bottom:1px solid transparent;padding:12px 0}.site-header nav a:hover{border-color:var(--gold)}.ai-label{display:flex;gap:8px;align-items:center;color:var(--muted)}.ai-label>span{color:var(--gold);font-size:24px}
main{max-width:1184px;margin:0 auto;padding:0 0 20px}.room-layout{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fbfaf6;box-shadow:0 16px 60px #263b2910}.welcome{position:relative;isolation:isolate;overflow:hidden;min-width:0;background:var(--night);color:#f0ebdf;display:flex;flex-direction:column;padding:48px 48px 32px}.welcome::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 10% 10%,#41615a40,transparent 65%)}.eyebrow{font:9px var(--sans);letter-spacing:.22em;color:var(--gold)}.welcome .eyebrow{color:#c4b288}.welcome h1{font:400 46px/1.65 var(--serif);letter-spacing:.1em;margin:24px 0 18px}.intro{font:13px/2.2 var(--sans);letter-spacing:.055em;color:#c4d0c8}.night-art{width:calc(100% + 64px);height:auto;margin:-5px -32px -22px;display:block;flex:1;min-height:0;object-fit:contain}.welcome-foot{position:relative;display:flex;align-items:center;gap:14px;margin-top:auto;border-top:1px solid #adbcaf35;padding-top:24px;font:12px/1.9 var(--serif)}.welcome-foot p span{font:10px var(--sans);color:#b1c0b8}.fine-star{font-size:28px;color:#c4aa72}.edition{font:8px var(--sans);letter-spacing:.12em;writing-mode:vertical-rl;margin-left:auto;color:#b5ba9f}.stars{position:absolute;inset:0;pointer-events:none;z-index:-1}.stars span{position:absolute;width:1px;height:1px;background:#d1cfac;opacity:.2;border-radius:50%}
.consultation{padding:40px 40px 24px;min-width:0}.room-heading{display:flex;justify-content:space-between;align-items:center}.room-heading h2{font:400 23px/1.6 var(--serif);letter-spacing:.055em;margin-top:10px}.room-seal{font:40px var(--serif);color:var(--gold);margin-left:8px}.section-note{font-size:11px;color:var(--muted);margin:9px 0 24px;line-height:1.7}.chars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.char-chip{position:relative;background:transparent;border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:14px 4px 13px;text-align:center}.char-chip[aria-pressed="true"]{border-color:#587367;background:#edf0e8;box-shadow:0 0 0 1px #587367}.char-chip[aria-pressed="true"]::after{content:"✓";position:absolute;right:6px;top:4px;font-size:10px;color:#587367}.char-chip span{display:block}.char-chip .emoji{margin:0 auto 9px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font:25px Georgia,serif;color:#ab8742;background:#e9e0cf}.char-chip[data-key="shion"] .emoji{color:#985d64;background:#eededf}.char-chip[data-key="souma"] .emoji{color:#5c7d8b;background:#dce7e8}.char-chip .cname{font:15px var(--serif);letter-spacing:.03em}.char-chip .tag{font:9px var(--sans);color:var(--muted);margin-top:5px;white-space:nowrap}
.profile{margin-top:26px;padding:0 1px}.profile-top{display:flex;align-items:center;gap:15px}#avatar{position:relative;isolation:isolate;display:grid;place-items:center;flex-shrink:0;width:65px;height:65px;border:1px solid #c6bc9e;border-radius:50%;background:radial-gradient(circle at 35% 28%,#405a53,#1e3838);color:#dbc290;box-shadow:0 0 0 5px #efede4;transition:background .5s}.celestial-symbol{font:40px Georgia,serif}#avatar[data-character="shion"]{background:radial-gradient(circle at 35% 28%,#9c757b,#533f56)}#avatar[data-character="souma"]{background:radial-gradient(circle at 35% 28%,#678692,#273f52)}#avatar::after{content:"";position:absolute;inset:-5px;border:1px solid transparent;border-radius:50%}#avatar[data-state="speaking"]::after{border-color:#829c88;animation:ripple 1.8s ease-in-out infinite}.profile-label{font-size:9px;color:var(--muted);letter-spacing:.04em}#profileName{font:400 23px var(--serif);letter-spacing:.09em;margin:4px 0 7px}#profileGenres{font:10px var(--sans);color:var(--muted)}#profileText{font:13px/1.9 var(--serif);margin-top:18px;min-height:50px}#activity{font-size:10px;color:#5f796a;min-height:18px;text-align:right;margin-top:2px}.voice-wave{margin-left:auto;display:flex;gap:3px;align-items:center;height:25px;padding-right:3px}.voice-wave i{width:2px;height:5px;background:#9aad9c;border-radius:2px}.voice-wave i:nth-child(2),.voice-wave i:nth-child(4){height:12px}.voice-wave i:nth-child(3){height:20px}body[data-speaking="true"] .voice-wave i{animation:voice .7s ease-in-out infinite alternate}.voice-wave i:nth-child(2){animation-delay:.2s!important}.voice-wave i:nth-child(3){animation-delay:.4s!important}
.call-area{margin-top:10px;text-align:center}#callBtn{position:relative;width:100%;height:58px;padding:0 20px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:#fffdf4;font:16px var(--serif);letter-spacing:.18em;box-shadow:0 4px 10px #263b2910}#callBtn::before{content:"";display:inline-block;width:18px;height:18px;vertical-align:-3px;margin-right:12px;background:currentColor;mask:url('assets/phone.svg') center/contain no-repeat}#callBtn::after{content:"→";position:absolute;right:22px;font:19px var(--sans);opacity:.75}#callBtn.active{background:#edf0e8;color:var(--ink);border-color:#8b9e8a;opacity:1}#callBtn.active::after{content:"•••"}#trialInfo{font-size:10px;letter-spacing:.04em;color:#747e66;line-height:1.8;margin:10px 0 17px}#quickBtn{background:transparent;width:100%;min-height:47px;border:1px solid #d4d6c9;border-radius:6px;font:12px var(--sans);color:var(--ink)}#quickBtn::before{content:"✧";font:19px Georgia,serif;margin-right:10px;vertical-align:-1px}.connection-info{margin-top:12px;min-height:22px}#status{font:10px/1.7 var(--sans);color:var(--muted)}#timer{font:12px var(--sans);font-variant-numeric:tabular-nums;color:#47675a;margin-top:5px}#timer:empty{display:none}.controls{display:none;gap:9px;margin-top:13px}.controls.show{display:flex}.controls button{flex:1;border:1px solid #c9d1c5;border-radius:6px;background:#edf0e8;color:var(--ink);font-size:12px}.controls #endBtn{background:#8d4d4b;border-color:#8d4d4b;color:white}.controls #muteBtn[aria-pressed="true"]{background:#d7dfd1;border-color:#6b8168}#playAudio{margin-top:12px;border:1px solid var(--gold);background:transparent;border-radius:6px;color:var(--ink);padding:8px 20px}.privacy{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font:10px/1.8 var(--sans);color:var(--muted)}.privacy label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#56645b;font-size:11px;min-height:30px}.privacy input{margin:0;accent-color:#3f6152;width:15px;height:15px;flex-shrink:0}.privacy p{font-size:9px;line-height:1.85;margin-top:3px}.memory-row{display:flex;align-items:center;gap:6px;font-size:9px}.memory-row #memoryHint:empty{display:none}#forget{margin-left:auto;border:0;background:none;padding:0 0 0 8px;min-height:30px;font:9px var(--sans);color:#727b6c;text-decoration:underline;text-underline-offset:3px}
.reading-results{max-width:730px;margin:auto}.reading-results:has(#summary:not([hidden])){margin-top:40px}#cards{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;perspective:800px}#cards:not(:empty){margin:36px 0 28px}.tarot{width:132px;height:212px;position:relative;transform-style:preserve-3d;transition:transform 1s;transform:rotateY(180deg)}.tarot.flipped{transform:rotateY(0deg)}.tarot .face{position:absolute;inset:0;border-radius:7px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #bca66e;padding:12px}.tarot .front{background:linear-gradient(150deg,#edf0e6,#faf7ed);box-shadow:0 6px 18px #2d442a10}.tarot .front::after{content:"";position:absolute;inset:6px;border:1px solid #c3af7945;border-radius:3px;pointer-events:none}.tarot .num{font:10px var(--sans);color:var(--muted);letter-spacing:.1em}.tarot .symbol{font-size:44px;margin:16px 0}.tarot .name{font:15px var(--serif);color:var(--ink)}.tarot .pos{font:10px var(--sans);color:var(--muted);margin-top:10px}.tarot .reversed .symbol{transform:rotate(180deg)}.tarot .back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,transparent 0 8px,#b4a57012 8px 9px),#213c3b}.tarot .back::after{content:"☽";font:44px Georgia,serif;color:#d0ba84}#summary{padding:30px 36px;background:#edeee5;border:1px solid #d6dacb;border-radius:7px}#summary h2{font:400 23px var(--serif);margin-top:14px}#summaryTheme{font:11px var(--sans);color:var(--muted);margin:14px 0}#summaryText{font:15px/2 var(--serif)}#shareBar{display:none;text-align:center;margin-top:24px}#shareBar.show{display:block}#shareImg{width:100%;max-width:460px;border-radius:6px;border:1px solid var(--line)}.share-btns{display:flex;justify-content:center;gap:10px;margin-top:12px}.share-btns button{padding:8px 23px;border:1px solid #b7bda9;background:transparent;border-radius:5px;font:11px var(--sans);color:var(--ink)}.transcript-details{margin:24px auto 0;max-width:730px;border-bottom:1px solid var(--line)}details summary{cursor:pointer;font:11px var(--sans);padding:17px 0;color:var(--muted)}#transcript{font:13px/1.9 var(--sans);max-height:260px;overflow:auto;padding:10px 0}#transcript p{margin:0 0 14px}#transcript .luna{color:var(--ink)}#transcript .luna::before{content:"☽ ";color:var(--gold)}#transcript .user{color:var(--muted)}#transcript .user::before{content:"◦ "}
.about{margin:74px 0 42px}.about-title{text-align:center}.about h2{font:400 25px var(--serif);letter-spacing:.04em;margin:15px 0}.about-title>p:last-child{font-size:11px;color:var(--muted);line-height:1.9}.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}.steps li{display:flex;gap:19px;padding:10px 25px;border-right:1px solid var(--line);justify-content:center}.steps li:last-child{border:0}.steps li>span{font:italic 25px Georgia,serif;color:#a38d61}.steps h3{font:400 16px var(--serif);margin:1px 0 12px}.steps p{font:11px/1.9 var(--sans);color:var(--muted)}footer{max-width:1184px;margin:auto;padding:25px 0 32px;border-top:1px solid var(--line);color:var(--muted);font:9px/1.9 var(--sans)}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font:11px var(--serif)}.footer-brand{font-size:18px;color:var(--ink);letter-spacing:.1em}.footer-top>span:last-child{color:#889080}footer small{display:block;font-size:8px;letter-spacing:.15em;margin-top:16px}
@keyframes ripple{50%{transform:scale(1.11);opacity:.4}}@keyframes voice{to{transform:scaleY(.35)}}
@media(min-width:1500px){.site-header{padding-top:40px;padding-bottom:40px}.welcome{padding-top:52px}.consultation{padding-top:45px}}
@media(max-width:1256px){main,footer{margin-left:36px;margin-right:36px}.welcome{padding:38px 32px 30px}.consultation{padding:34px 30px 22px}.welcome h1{font-size:42px}.room-heading h2{font-size:21px}}
@media(max-width:900px) and (min-width:701px){.site-header{padding:24px}.site-header nav{gap:18px}main,footer{margin-left:24px;margin-right:24px}.room-layout{grid-template-columns:.85fr 1fr}.welcome{padding:30px 24px 26px}.welcome h1{font-size:34px}.intro{font-size:11px}.welcome-foot{gap:9px}.edition{display:none}.consultation{padding:28px 22px 20px}.room-heading h2{font-size:19px}.room-seal{display:none}.char-chip .cname{font-size:13px}.char-chip .tag{font-size:8px}.steps li{padding:10px 12px;gap:10px}.steps h3{font-size:14px}}
@media(max-width:700px){.site-header{padding:21px 22px}.brand{font-size:20px;gap:9px}.brand-mark{font-size:36px}.brand small{font-size:6px}.site-header nav a{display:none}.ai-label{font-size:9px;gap:4px}.ai-label>span{font-size:18px}main{margin:0 16px;padding-bottom:8px}.room-layout{grid-template-columns:1fr;border-radius:8px}.welcome{padding:27px 25px 24px;min-height:254px}.welcome .eyebrow{font-size:7px;letter-spacing:.15em}.welcome h1{font-size:32px;line-height:1.55;margin:15px 0 11px;letter-spacing:.07em}.intro{font-size:10px;line-height:1.95;letter-spacing:0}.welcome-copy{z-index:1;position:relative}.night-art{position:absolute;width:255px;height:235px;right:-63px;bottom:-4px;margin:0;opacity:.65;z-index:0;mask-image:linear-gradient(90deg,transparent,#000 35%)}.welcome-foot{display:none}.consultation{padding:26px 23px 18px}.room-heading .eyebrow{font-size:8px}.room-heading h2{font-size:21px;margin-top:9px;letter-spacing:.03em}.room-seal{font-size:30px}.section-note{font-size:10px;margin:7px 0 19px}.char-chip{padding:12px 3px 11px}.char-chip .cname{font-size:14px}.char-chip .tag{font-size:8px;letter-spacing:-.02em}.char-chip .emoji{width:31px;height:31px;font-size:23px;margin-bottom:7px}.profile{margin-top:24px}.profile-top{gap:13px}#avatar{width:56px;height:56px}.celestial-symbol{font-size:35px}.profile-label{font-size:8px}#profileName{font-size:21px}#profileText{font-size:12px;margin-top:17px;min-height:46px}#activity{font-size:9px;min-height:16px}#callBtn{height:56px;font-size:15px}#trialInfo{font-size:9px;margin:9px 0 14px}#quickBtn{font-size:11px}#status{font-size:9px}.privacy{margin-top:16px;padding-top:14px}.privacy label{font-size:10px}.privacy p{font-size:8px}.reading-results{margin:0 8px}.tarot{width:94px;height:164px}#cards{gap:10px}.tarot .symbol{font-size:32px;margin:12px 0}.tarot .name{font-size:12px}.tarot .num,.tarot .pos{font-size:9px}#summary{padding:24px}#summaryText{font-size:14px}#summary h2{font-size:21px}.about{margin:47px 8px 34px}.about h2{font-size:21px;line-height:1.7;margin:12px 0}.about .eyebrow{font-size:8px}.about-title>p:last-child{font-size:10px}.steps{grid-template-columns:1fr;margin-top:25px;padding:0 14px;gap:0}.steps li{justify-content:flex-start;border:0;border-bottom:1px solid var(--line);padding:19px 0;gap:22px}.steps li>span{width:28px;font-size:25px}.steps h3{font-size:15px;margin-bottom:7px}.steps p{font-size:10px}.steps p br{display:none}footer{margin:0 24px;padding:22px 0 25px;font-size:8px}.footer-top{font-size:9px;gap:8px}.footer-brand{font-size:15px}}
@media(max-width:360px){.site-header{padding:18px}.ai-label{font-size:8px}.consultation{padding-left:18px;padding-right:18px}.room-heading h2{font-size:19px}.char-chip .tag{font-size:7px}.char-chip .cname{font-size:13px}.tarot{width:84px;height:156px}#cards{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep essential instructions comfortable to read on small screens. */
.section-note{font-size:12px}.char-chip .tag{font-size:10px}#profileText{font-size:14px}.profile-label{font-size:10px}#profileGenres{font-size:11px}#trialInfo{font-size:11px}#status{font-size:11px}.privacy p{font-size:10px}.privacy label{font-size:12px}#forget{font-size:10px}.steps p{font-size:12px}footer{font-size:10px}
@media(max-width:700px){.intro{font-size:11px}.section-note{font-size:11px}.char-chip .tag{font-size:9px}#profileText{font-size:13px}.profile-label{font-size:9px}#trialInfo{font-size:10px}#status{font-size:10px}.privacy label{font-size:11px}.privacy p{font-size:10px}.about-title>p:last-child{font-size:11px}.steps p{font-size:12px}footer{font-size:9px}.profile{scroll-margin-top:24px}}
@media(max-width:360px){.char-chip .tag{font-size:8px}.privacy label{font-size:10px}}
