@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#253343;--muted:#727d81;--navy:#101e2a;--navy-mid:#1d3040;--gold:#d3b580;--gold-dark:#ab8854;--paper:#f8f6f1;--line:#e6e3db;--white:#fff;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Meiryo',sans}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.85 var(--sans);-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.095;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' seed='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}a,button,select{outline-offset:4px}a:focus-visible,button:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid #b98a45}p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.065em;margin:0}h1{font-size:clamp(34px,4vw,65px);line-height:1.5}h2{font-size:clamp(29px,3vw,42px);line-height:1.6}h3{font-size:24px;line-height:1.5}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-100px;z-index:100;display:block;padding:12px 18px;background:var(--navy);color:white}.skip:focus{top:12px}.site-header{height:92px;padding:0 clamp(24px,5vw,86px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:4;background:var(--navy);color:#f0eee6;border-bottom:1px solid #ffffff21;gap:24px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-symbol{width:38px;height:38px;border:1px solid #bca777aa;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:29px;font-weight:300}.brand-title{font-family:var(--serif);font-size:21px;letter-spacing:.15em;line-height:1.1}.brand-title small{font:9px/1.7 var(--sans);display:block;letter-spacing:.22em;opacity:.58;margin-top:5px}.site-nav{display:flex;gap:34px;align-items:center}.site-nav a{font-size:12px;letter-spacing:.05em;opacity:.75;transition:opacity .2s}.site-nav a:hover,.site-nav a.current{opacity:1;color:var(--gold)}.nav-action{border:1px solid #bca7778a;padding:11px 21px;font-size:12px;color:#e9d5aa;white-space:nowrap}.nav-action span{margin-left:18px}.footer{padding:60px clamp(26px,6vw,100px) 42px;background:#0f1b26;color:#d2d6d5;display:grid;grid-template-columns:1fr 1fr;gap:24px 80px}.footer-brand{font-family:var(--serif);font-size:24px;color:#e7d5b5}.footer p{font-size:12px;color:#a4aaa9;letter-spacing:.025em;margin-top:8px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 26px;align-content:start;justify-content:end;font-size:12px}.footer-links a:hover{color:var(--gold)}.footer .footnote{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:22px;font-size:11px;line-height:2}.eyebrow{color:var(--gold-dark);letter-spacing:.21em;font-size:11px;font-weight:600;text-transform:uppercase}.hero{background:var(--navy);color:#f7f6f1;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;width:820px;height:820px;right:-230px;top:-250px;border-radius:50%;background:radial-gradient(circle,#33495e6e,transparent 66%)}.hero-stars{position:absolute;inset:0;opacity:.55;pointer-events:none;background-image:radial-gradient(circle at 22% 15%,#c9bfab 1px,transparent 2px),radial-gradient(circle at 61% 24%,#d4c4a5 1px,transparent 2px),radial-gradient(circle at 85% 69%,#a0b3bb 1px,transparent 2px),radial-gradient(circle at 32% 72%,#a0b3bb 1px,transparent 2px);background-size:220px 190px,310px 265px,285px 245px,360px 335px}.hero-inner{max-width:1440px;margin:auto;min-height:675px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);align-items:center;padding:50px clamp(24px,7.1vw,108px) 60px;gap:26px;position:relative}.hero-content{z-index:1}.hero .eyebrow,.result-hero .eyebrow{color:#d7b783}.hero h1{margin:24px 0 30px;font-size:clamp(37px,4.7vw,68px);line-height:1.48}.hero h1 em,.diagnostic-main h1 em{color:#d5b785;font-weight:400;font-style:normal}.hero-lead{font-family:var(--serif);font-size:14px;letter-spacing:.065em;line-height:2.6;color:#c6cbd0}.hero-actions,.result-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:40px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:52px;padding:12px 24px;font-size:13px;font-weight:600;letter-spacing:.04em;border:1px solid transparent;transition:transform .2s,background-color .2s,color .2s;border-radius:2px}.button:hover{transform:translateY(-2px)}.button span{font-size:17px;font-weight:400}.button-gold{background:#d8bb87;color:#1a2835}.button-gold:hover{background:#e9d1a6}.button-ghost{border-color:#a7afb47c;background:transparent;color:inherit}.button-ghost:hover{border-color:#d4b786}.button-solid{background:var(--navy);color:#fff}.button-solid:hover{background:#284257}.hero-note{font-size:10px;color:#86949c;margin-top:27px;letter-spacing:.06em}.hero-note span{color:var(--gold);margin:0 10px}.hero-art{position:relative;justify-self:center;max-width:590px;width:100%}.art-caption{text-align:center;font:10px/1.5 Georgia,serif;letter-spacing:.3em;color:#b0ab9e}.art-caption.bottom{font-family:var(--serif);font-size:11px;letter-spacing:.12em;margin-top:-1px}.art-caption.top{margin-bottom:-15px}.wheel-svg{width:100%;display:block;overflow:visible}.wheel-dark{color:#d6bb8c}.wheel-rim{stroke:currentColor;stroke-width:1;fill:none;opacity:.52}.wheel-orbit{stroke:currentColor;stroke-width:.65;fill:none;opacity:.45}.wheel-inner{stroke-dasharray:2 8;opacity:.35}.wheel-tick{stroke:currentColor;stroke-width:1;opacity:.28}.wheel-hand{stroke-width:1.6;stroke-linecap:round}.wheel-hand-a{stroke:#d1ae74}.wheel-hand-b{stroke:#8bb1bd}.wheel-point{color:var(--gold);transition:opacity .2s}.wheel-point-bg{fill:#172a39;stroke:#cfbc90;stroke-width:.65;opacity:.86}.wheel-point text{font-family:var(--serif);font-size:18px;fill:#d5c8ad}.wheel-point.is-a .wheel-point-bg{fill:#c8aa74;stroke:#faf3de;stroke-width:1.5}.wheel-point.is-a text{fill:#142635}.wheel-point.is-b .wheel-point-bg{fill:#83aaba;stroke:#f1f6f6;stroke-width:1.5}.wheel-point.is-b text{fill:#10232f}.wheel-center-ring{stroke:#b5a48388;stroke-width:.8;fill:#152633}.wheel-moon{fill:#bd9d68;opacity:.1}.wheel-small-label{font:12px var(--serif);fill:#c3b5a0;letter-spacing:.1em}.wheel-center-text{font:500 30px var(--serif);fill:#f2e6ce}.wheel-paper{color:#aa8e62}.wheel-paper .wheel-point-bg{fill:#f8f6f1;stroke:#a9a190}.wheel-paper .wheel-point text{fill:#4b5960}.wheel-paper .wheel-point.is-a .wheel-point-bg{fill:#ac8552}.wheel-paper .wheel-point.is-b .wheel-point-bg{fill:#668ca3}.wheel-paper .wheel-point.is-a text,.wheel-paper .wheel-point.is-b text{fill:white}.wheel-paper .wheel-center-ring{fill:#f5f1e8;stroke:#d2c6af}.wheel-paper .wheel-small-label{fill:#827463}.wheel-paper .wheel-center-text{fill:#293948}.hero-index{height:55px;display:flex;justify-content:center;gap:18px;font:9px Georgia,serif;letter-spacing:.28em;color:#87939a;align-items:center;border-top:1px solid #ffffff18}.hero-index span{font-size:17px;color:#d2b580}.section{padding:105px clamp(24px,7vw,110px);max-width:1500px;margin:0 auto}.section-heading{text-align:center;max-width:770px;margin:0 auto 54px}.section-heading h2,.section-heading h1{margin:13px 0 22px}.section-heading p{color:var(--muted);line-height:2.4;font-size:14px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{padding:39px 34px 33px;border:1px solid var(--line);background:#fffdf9;min-height:357px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px #17222d0d}.feature-number{color:#93866e;font-size:11px;letter-spacing:.11em}.feature-icon{color:#ba975c;font:48px/1.6 var(--serif);margin:8px 0}.feature-card h3{font-size:22px}.feature-card p{font-size:13px;color:#798085;margin:18px 0 26px;line-height:2.2}.feature-link{margin-top:auto;color:#9a7442;font-size:12px;font-weight:600}.quote-section{background:#eae6dd;padding:65px 20px;text-align:center}.quote-ornament{font-size:25px;color:#ab8954}.quote-section p{font-family:var(--serif);font-size:clamp(23px,2.7vw,36px);line-height:2;letter-spacing:.08em;margin:10px 0 18px}.quote-section p span{color:#a27d47}.quote-section>span{font-size:11px;color:#918f88;letter-spacing:.11em}.feature-bottom{display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:50px;min-height:550px}.feature-bottom h2{margin:13px 0 27px}.feature-bottom p{max-width:500px;color:#738087;line-height:2.5}.text-link{color:#9d7641;display:inline-block;margin-top:22px;border-bottom:1px solid #b5a07d;padding-bottom:5px;font-size:13px;font-weight:600}.mini-constellation{max-width:430px;justify-self:center;width:100%}.diagnostic-section{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(300px,.83fr);min-height:760px;background:#faf9f5}.diagnostic-main{padding:60px clamp(25px,6vw,96px) 95px max(26px,calc((100vw - 1340px)/2));}.crumb{font-size:11px;color:#8d8d85;letter-spacing:.04em;margin-bottom:55px}.crumb span{padding:0 10px;opacity:.5}.crumb a:hover{color:var(--gold-dark)}.diagnostic-main h1{font-size:clamp(30px,3vw,49px);margin:18px 0 20px}.diagnostic-description{color:#727b80;max-width:630px;font-size:13px;line-height:2.55;margin-bottom:44px}.diagnostic-form{max-width:650px;background:white;border:1px solid var(--line);padding:34px 34px 30px;box-shadow:0 24px 50px #202f3406}.date-field{border:0;margin:0;padding:0}.date-field legend{font-size:13px;font-weight:600;color:#56626a;margin-bottom:15px}.date-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px}.date-row select,.wheel-select select{background:#fdfcf8;border:1px solid #dadbd7;border-radius:2px;height:52px;width:100%;padding:0 12px;color:#283a45;font-size:14px}.diagnostic-form>.button{margin-top:25px;width:100%}.privacy-caption{font-size:10px;color:#8a9497;line-height:2;margin:15px 0 0}.form-error{padding:13px 16px;margin:17px 0 0;color:#982f2f;background:#fff3f1;border-left:3px solid #c65c55;font-size:12px}.form-error[hidden]{display:none}.pair-inputs{display:flex;align-items:stretch;gap:15px}.person-form{flex:1;min-width:0}.person-marker{display:flex;align-items:center;gap:10px;font:600 18px Georgia,serif;color:#ad8854;margin-bottom:16px}.person-marker span{font:600 12px var(--sans);color:#536169}.person-marker.alt{color:#5e899f}.pair-divider{display:flex;justify-content:center;align-items:center;color:#ad9774;font-size:25px}.pair-inputs .date-row{grid-template-columns:1.15fr 1fr 1fr;gap:6px}.pair-inputs .date-row select{font-size:12px;padding:0 4px}.diagnostic-aside{background:var(--navy);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 38px}.aside-art{max-width:430px;width:100%}.aside-message{margin-top:10px;text-align:center;font:24px/1.8 var(--serif);letter-spacing:.12em;color:#e3d8c4}.aside-sub{margin-top:14px;font-size:10px;color:#a4aaa9;letter-spacing:.08em}.result-hero{background:var(--navy);color:white;position:relative;overflow:hidden}.result-hero::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#2e4757aa,transparent 65%);right:1%;top:30px}.result-inner{max-width:1400px;margin:auto;padding:55px clamp(25px,7vw,110px) 70px;position:relative}.crumb.pale{margin-bottom:31px;color:#aab3b8}.result-layout{display:grid;grid-template-columns:1fr .85fr;gap:30px;align-items:center}.result-copy{position:relative;z-index:1}.result-prefix{font:17px var(--serif);color:#d3ccba;margin-top:23px}.mansion-big,.relation-big{font:500 clamp(65px,8vw,118px)/1.4 var(--serif);letter-spacing:.09em;color:#e0c18a}.mansion-big small,.relation-big small{font:15px var(--serif);display:inline-block;color:#b7bbba;vertical-align:middle;margin-left:15px;letter-spacing:.06em}.result-lead{font:clamp(19px,2.2vw,28px)/1.9 var(--serif);color:#f1ece1;max-width:590px;margin:15px 0 20px}.result-sub{color:#bac5c7}.keyword-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.keyword-list span{padding:6px 15px;border:1px solid #c6b28e88;color:#dfcda9;font-size:12px}.result-wheel{max-width:560px;justify-self:center;width:100%}.result-details{padding-top:76px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-card{background:#fffdf9;border:1px solid var(--line);padding:35px}.detail-title{border-bottom:1px solid #e2dfd6;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:#95774b;padding-bottom:16px;margin-bottom:27px;font-weight:600}.detail-title span{font:11px Georgia,serif;color:#a09e94;letter-spacing:.04em}.detail-card h3{font-size:26px;margin-bottom:22px}.detail-card p{font-size:13px;color:#6e7b80;line-height:2.4}.detail-card .reading{font-size:15px;color:#40535c;font-family:var(--serif);line-height:2.2}.fact-list{margin:0}.fact-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eeece6;padding:10px 0}.fact-list dt{font-size:12px;color:#899192}.fact-list dd{margin:0;font:600 14px var(--serif)}.warning{border-left:3px solid #b49a6c;background:#f2ece0;padding:14px 16px;margin-top:20px;font-size:12px;color:#5b5145}.warning p{font-size:12px;margin:4px 0 0;line-height:1.9}.daily-panel{max-width:100%;margin-top:22px;background:#e9e6dd;padding:30px 34px}.daily-panel h3{font-size:26px}.daily-panel p{font-size:14px;color:#51606a;margin:10px 0}.daily-meta{font-size:11px;color:#8b857b}.daily-meta span{margin:0 12px}.muted-center{text-align:center;margin-top:39px;font-size:12px;color:#939998}.pair-labels{display:flex;align-items:center;gap:25px;margin:32px 0 10px}.pair-label{min-width:112px}.pair-label span{display:block;font-size:11px;color:#97a6a9}.pair-label strong{font:500 27px var(--serif);color:#ebdfc8;letter-spacing:.08em}.pair-connector{color:#c2a777}.context-tabs{display:flex;gap:8px;margin:34px 0 22px;justify-content:center;flex-wrap:wrap}.context-tabs button{padding:10px 24px;border:1px solid #dad7cd;background:transparent;border-radius:50px;font-size:12px;color:#606c71}.context-tabs button.selected{background:#243749;color:#fff;border-color:#243749}.perspective-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.perspective-heading h3{margin:0;font-size:21px}.relation-chip{display:grid;place-items:center;flex:0 0 53px;height:53px;background:#c4a16d;color:#fff;border-radius:50%;font:24px var(--serif)}.relation-chip.warm{background:#668ea2}.direction-detail{border-top:1px solid #e9e6de;padding-top:15px;margin-top:25px;font-size:11px;color:#8a8780}.direction-detail span{color:#aa8956}.foot-caption{font-size:11px;color:#899498;text-align:center;margin-top:25px}.explore-page{max-width:1400px;margin:auto;padding:55px clamp(24px,6vw,90px) 110px}.explore-page .crumb{margin-bottom:35px}.explore-page .section-heading{margin-bottom:34px}.explore-layout{display:grid;grid-template-columns:1fr minmax(320px,.75fr);gap:55px;align-items:center}.explore-wheel{max-width:650px;margin:auto;width:100%}.small-kicker{text-align:center;letter-spacing:.2em;font:11px Georgia,serif;color:#a28a67}.wheel-help{text-align:center;color:#8f9390;font-size:11px;margin-top:-7px}.wheel-paper .wheel-point[role=button]{cursor:pointer}.wheel-point[role=button]:hover .wheel-point-bg,.wheel-point[role=button]:focus .wheel-point-bg{stroke-width:3;stroke:#bd905b}.explore-controls{border:1px solid var(--line);padding:33px;background:#fffdfa}.wheel-select{margin-bottom:18px}.wheel-select label{font-size:12px;font-weight:600;display:block;margin-bottom:7px}.explore-result{background:#f3eee5;padding:25px;margin-top:25px}.explore-micro{font-size:11px;color:#8c866f}.explore-result h2{font-size:44px;color:#9b7849;margin:8px 0}.explore-result h2 small{font-size:14px;margin-left:12px;color:#8b918e}.explore-result p{margin-bottom:0;font:13px/2 var(--serif)}.direction-two{display:flex;justify-content:space-between;margin:18px 0 12px;font-size:12px;color:#67747a;gap:12px}.direction-two strong{font:700 20px var(--serif);margin-left:8px;color:#9b7849}.explore-controls .context-tabs{margin:14px 0}.small-reading{font:13px/2 var(--serif);color:#68757c}.small-reading p{margin-bottom:6px}.explore-controls>.button{width:100%;margin-top:18px}.explore-index{margin-top:88px}.mansion-index{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.mansion-index a{border:1px solid var(--line);background:white;padding:12px 6px;text-align:center;transition:background .2s}.mansion-index a:hover{background:#e9e5d9}.index-number{display:block;font-size:9px;color:#b6a993}.mansion-index strong{font:600 20px var(--serif);display:block}.mansion-index small{font-size:10px;color:#929b9c}.about-page{max-width:840px;padding-top:80px;padding-bottom:120px}.about-page .crumb{margin-bottom:30px}.about-page h1{font-size:48px;margin:20px 0}.about-page h2{font-size:26px;margin:35px 0 10px}.about-page p{font-size:14px;color:#66757b;line-height:2.5}.empty-state{min-height:450px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state h1{font-size:32px;margin:20px 0}.empty-state p{color:#748188}.empty-state .button{margin-top:25px}.pillar-icon{width:73px;color:#a68b60}.toast{position:fixed;right:25px;bottom:25px;z-index:1200;background:#172d3c;color:white;padding:14px 22px;border-left:3px solid #dbb777;box-shadow:0 14px 40px #0002;font-size:13px}
@media (max-width:1100px){.site-header{padding:0 25px}.site-nav{gap:16px}.hero-inner{padding:50px 35px;grid-template-columns:1fr .88fr}.hero h1{font-size:45px}.hero-lead{font-size:12px}.hero-actions .button{padding:11px 15px;gap:8px}.diagnostic-main{padding:50px 30px}.pair-inputs{flex-direction:column}.pair-divider{line-height:1}.mansion-index{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media (max-width:770px){.site-header{height:73px;padding:0 19px}.brand-title{font-size:18px}.brand-symbol{width:32px;height:32px;font-size:23px}.brand-title small{font-size:7px}.site-nav,.nav-action{display:none}.hero-inner{display:flex;flex-direction:column;min-height:0;padding:71px 25px 38px;gap:25px}.hero-content{width:100%}.hero h1{font-size:clamp(38px,9vw,51px);margin:16px 0 21px}.hero-lead{font-size:12px;line-height:2.5}.hero-lead br{display:none}.hero-actions{flex-direction:column;max-width:360px;margin-top:31px}.hero-actions .button{justify-content:space-between}.hero-art{max-width:450px;margin-top:5px}.hero-index{height:40px}.section{padding:70px 23px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:29px}.section-heading p{font-size:12px}.feature-grid,.detail-grid,.feature-bottom{grid-template-columns:1fr}.feature-card{min-height:0;padding:25px}.feature-icon{font-size:35px;margin:6px 0}.feature-card h3{font-size:21px}.feature-card p{margin:12px 0 19px}.quote-section{padding:52px 18px}.quote-section p{font-size:24px}.feature-bottom{gap:10px}.mini-constellation{max-width:310px}.diagnostic-section{grid-template-columns:1fr}.diagnostic-main{padding:35px 22px 65px}.diagnostic-main .crumb{margin-bottom:30px}.diagnostic-main h1{font-size:32px}.diagnostic-aside{padding:30px 25px}.aside-art{max-width:330px}.aside-message{font-size:19px}.diagnostic-form{padding:24px 19px}.pair-inputs{gap:10px}.date-row{grid-template-columns:1.4fr 1fr 1fr;gap:6px}.date-row select{font-size:12px;padding:0 5px}.result-inner{padding:35px 22px 40px}.result-layout{display:flex;flex-direction:column;gap:10px}.result-copy{width:100%}.result-wheel{max-width:450px}.mansion-big,.relation-big{font-size:68px}.result-lead{font-size:19px}.result-actions{margin-top:28px}.result-actions .button{flex:1;gap:5px;min-width:180px;padding:12px}.result-details{padding-top:50px}.detail-card{padding:25px}.pair-labels{gap:13px}.pair-label strong{font-size:23px}.explore-page{padding:35px 20px 70px}.explore-layout{grid-template-columns:1fr;gap:20px}.explore-wheel{max-width:540px}.explore-controls{padding:26px 20px}.mansion-index{grid-template-columns:repeat(4,minmax(0,1fr))}.footer{grid-template-columns:1fr;padding:45px 24px;gap:20px}.footer-links{justify-content:start}.footer .footnote{grid-column:1}.about-page{padding-top:65px}.about-page h1{font-size:38px}}
@media(max-width:375px){.hero h1{font-size:36px}.result-actions .button{min-width:0;width:100%;flex-basis:100%}.mansion-index{grid-template-columns:repeat(3,minmax(0,1fr))}.context-tabs button{padding:8px 15px}.date-row select{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.mobile-nav{display:none}@media(max-width:770px){.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fdfbf5;border-top:1px solid #ded9ce;display:flex;justify-content:space-around;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:100;box-shadow:0 -8px 25px #101e2a0e}.mobile-nav a{min-width:80px;display:flex;flex-direction:column;align-items:center;gap:0;font-size:10px;color:#3c515c}.mobile-nav a span{font:23px/1.2 var(--serif);color:#ae8851}.footer{padding-bottom:110px}.toast{bottom:85px;right:12px;left:12px;text-align:center}}

.relation-directory{padding-top:75px;padding-bottom:45px}.relation-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.relation-links a{padding:21px 24px;border:1px solid var(--line);background:#fffdf8;display:flex;align-items:center;gap:12px;transition:background .2s}.relation-links a:hover{background:#ebe6da}.relation-links a span{font:24px var(--serif)}.relation-links a small{font:11px var(--serif);color:#9d9889}.relation-links a i{margin-left:auto;font-style:normal;color:#b79b6d}@media(max-width:770px){.relation-links{grid-template-columns:repeat(2,minmax(0,1fr))}.relation-links a{padding:15px}.relation-links a span{font-size:21px}}

/* V0.3 - cinematic result entrance and export dialog */
.result-hero .result-copy{animation:result-reveal .75s cubic-bezier(.2,.8,.3,1) both}
.result-hero .result-wheel{animation:wheel-reveal 1.12s cubic-bezier(.21,.68,.3,1) .13s both}
.result-hero .result-actions{animation:result-reveal .7s ease .28s both}
@keyframes result-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes wheel-reveal{from{opacity:0;transform:scale(.9) rotate(-9deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}
.poster-open{overflow:hidden}
.poster-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px}
.poster-backdrop{position:absolute;inset:0;background:#071520de;backdrop-filter:blur(10px)}
.poster-panel{position:relative;z-index:2;width:min(95vw,700px);max-height:calc(100vh - 36px);overflow:auto;background:#fcf9f1;box-shadow:0 26px 110px #0008;padding:24px;border:1px solid #dacba9}
.poster-panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:14px}
.poster-panel-title h2{font:28px var(--serif);margin:6px 0 0}
.poster-close{border:1px solid #d8d1c2;background:transparent;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:27px;line-height:1;color:#354e5a}
.poster-canvas-frame{display:grid;place-items:center;max-height:55vh;overflow:hidden;background:#122b3b;padding:9px}
.poster-canvas-frame canvas{width:auto;max-width:100%;height:auto;max-height:calc(55vh - 18px);aspect-ratio:4/5;box-shadow:0 8px 22px #0005}
.poster-modal-actions{display:flex;gap:12px;margin-top:16px}
.poster-modal-actions .button{flex:1;justify-content:center}
.button-paper{background:#f6f0e5;color:#344f5c;border:1px solid #d7c8af}
.poster-modal-help{font-size:11px;color:#77858a;line-height:1.7;margin:12px 0 0}
.share-landing{min-height:100vh;background:#f3eee5}
.share-stage{max-width:1100px;margin:auto;padding:65px 24px 95px;text-align:center}
.share-stage-inner{max-width:900px;margin:auto}
.share-stage h1{font:clamp(26px,3.5vw,45px)/1.5 var(--serif);margin:17px 0}
.share-stage-lead{font:15px/2 var(--serif);color:#71818a;max-width:740px;margin:0 auto 30px}
.share-display{position:relative;isolation:isolate;min-height:460px;overflow:hidden;background:radial-gradient(circle at 65% 35%,#335767,#112b3b 57%,#122633);border:9px solid #1e3b4b;box-shadow:0 20px 70px #111f2e38;color:#f9f0dd;padding:78px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.share-display:before{content:'';position:absolute;inset:14px;border:1px solid #cdb18177;pointer-events:none;z-index:-1}
.share-display .share-orbit{position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid #ccb18a77;right:-65px;top:35px;z-index:-1}
.share-display .orbit-two{width:305px;height:305px;right:-18px;top:81px;opacity:.5}
.share-glow{position:absolute;right:81px;top:134px;font-size:90px;color:#d5b98488;z-index:-1}
.share-subject{font:clamp(21px,3vw,34px) var(--serif);color:#d9c6a4;position:relative;margin:0 0 12px}
.share-subject span{color:#e3c895;margin:0 11px}
.share-value{font:clamp(83px,14vw,148px) var(--serif);letter-spacing:.07em;text-shadow:0 9px 30px #0019}
.share-directions{display:flex;gap:60px;margin:14px 0 35px;color:#d2cbbf}
.share-directions strong{display:inline-block;color:#e3bb78;font:26px var(--serif);margin-left:12px}
.share-simple{font:20px var(--serif);margin:15px 0 36px}
.share-watermark{position:absolute;bottom:26px;left:0;right:0;letter-spacing:.18em;font:11px Georgia,serif;color:#d6c6a0a8}
.share-stage-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:29px}
.share-privacy,.share-disclaimer{font-size:12px;color:#7c8788;margin:23px auto 0}
.share-disclaimer{font-size:11px;margin-top:7px}
@media(max-width:700px){.poster-modal{padding:8px}.poster-panel{padding:16px;max-height:calc(100vh - 16px)}.poster-panel-title h2{font-size:21px}.poster-canvas-frame{max-height:53vh}.poster-canvas-frame canvas{max-height:calc(53vh - 18px)}.poster-modal-actions{flex-direction:column}.share-stage{padding-top:38px}.share-display{min-height:365px;padding:55px 12px}.share-directions{gap:25px}.share-display .share-orbit{right:-220px}}
@media(prefers-reduced-motion:reduce){.result-hero .result-copy,.result-hero .result-wheel,.result-hero .result-actions{animation:none!important}.poster-backdrop{backdrop-filter:none}}

/* V0.4 — daily ritual and calendar; restrained editorial UI */
.daily-experience{max-width:1320px;margin:0 auto;padding-top:56px;padding-bottom:100px}
.daily-intro{margin:42px 0 48px;max-width:860px}.daily-intro h1{font:500 clamp(33px,4.6vw,59px)/1.5 var(--serif);margin:14px 0 15px}.daily-intro h1 em{font-style:normal;color:#a47e48}.daily-intro p{max-width:700px;color:#62747d;line-height:2.05}
.daily-onboard{display:grid;grid-template-columns:170px 1fr;gap:42px;border:1px solid #d9d3c7;background:#fffcf5;padding:56px;max-width:920px;box-shadow:0 16px 40px #19252c0a}.onboard-mark{font:110px var(--serif);color:#b49b78;text-align:center}.daily-onboard h2{font-size:29px;margin:0 0 15px}.daily-onboard p,.daily-manual p{color:#6d7a80;max-width:650px}.daily-birth-form{margin-top:26px}.daily-birth-form .date-row{max-width:630px}.daily-birth-form .button{margin:20px 0}.daily-manual{max-width:920px;padding:40px 0}.daily-manual h3{font-size:23px}.daily-manual-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.daily-manual-controls .button{min-height:49px}
.daily-topbar{background:#fffdf8;border:1px solid #e0dacf;padding:22px 28px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.daily-topbar>div:first-child{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.profile-mansion{display:flex;gap:14px;align-items:center}.profile-mark{font-size:38px;color:#a58d65}.profile-mansion span:not(.profile-mark){display:block;color:#78828b;font-size:11px}.profile-mansion strong{font:24px var(--serif);letter-spacing:.06em}.daily-select-label{display:flex;flex-direction:column;font-size:11px;color:#738087;gap:5px}.daily-select-label select{padding:8px 31px 8px 10px;min-width:170px;background:#f9f6ee;border:1px solid #d8d1c5;color:#263e4b;min-height:40px}.daily-preference{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:445px}.daily-preference .button{font-size:11px;padding:10px 13px;min-height:40px}.daily-preference button:disabled{opacity:.57;cursor:default}.daily-preference small{display:block;width:100%;font-size:10px;color:#87919a}.text-delete{border:0;background:transparent;color:#7c8383;text-decoration:underline;font-size:11px;padding:8px}
.daily-today-strip{margin:30px 0;min-height:110px;display:flex;align-items:center;gap:19px;color:#f6f1e8;background:linear-gradient(116deg,#183041,#243f4f);padding:20px 32px}.today-moon{font:51px var(--serif);color:#e0c895}.daily-today-strip>div{display:flex;flex-direction:column}.daily-today-strip strong{font:22px var(--serif)}.daily-today-strip small{font-size:11px;color:#b0c0c7}.strip-eyebrow{font-size:9px;color:#dbbe84;letter-spacing:.15em}.daily-today-strip a{margin-left:auto;color:#e4cc99;font-size:12px}
.month-summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:35px 0 14px}.month-summary>span{font:28px var(--serif)}.month-summary small{color:#87909a}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.95fr);gap:24px;align-items:start}.calendar-card{background:#fffdfa;border:1px solid #e2dcd0;padding:26px 25px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center;margin-bottom:25px}.calendar-toolbar strong{font:24px var(--serif)}.calendar-toolbar small{display:block;font-size:11px;color:#89939b;margin-top:5px}.month-arrow{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #dcd6cd;color:#4d6673}.month-arrow.disabled{opacity:.25;pointer-events:none}
.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays>span{display:grid;place-items:center;font-size:11px;color:#8e9294;min-height:27px}.calendar-weekdays>span:first-child{color:#b78072}.calendar-weekdays>span:last-child{color:#6c859a}.calendar-week{margin-bottom:5px}.calendar-day,.day-outside,.day-unsupported{position:relative;display:flex;min-width:0;min-height:86px;flex-direction:column;align-items:center;justify-content:center;background:#f7f6f2;border:1px solid transparent;color:#344b56;border-radius:2px}.calendar-day{font:inherit;transition:border-color .15s,background .15s,transform .15s}.calendar-day .day-num{position:absolute;left:8px;top:5px;font:11px var(--sans);opacity:.72}.calendar-day strong{font:24px var(--serif);line-height:1.25}.calendar-day small{font:11px var(--serif);opacity:.75;margin-top:4px}.calendar-day.bright{background:#f0eade;color:#90714d}.calendar-day.soft{background:#e7eee9;color:#496a65}.calendar-day.quiet{background:#edf0f3;color:#687b88}.calendar-day.special{background:#e9e4ef;color:#766483}.calendar-day:hover,.calendar-day.selected{border:2px solid #ac8657;transform:translateY(-1px)}.calendar-day.selected{box-shadow:0 0 0 1px #ac865742}.calendar-day.is-today .day-num{font-weight:700}.calendar-day .day-today{position:absolute;bottom:1px;color:#fff;background:#987951;border-radius:3px;font:9px var(--sans);padding:0 4px}.day-outside{opacity:.25;background:transparent}.day-unsupported{background:#f6f4f0;color:#aaa;font:12px var(--sans)}.day-unsupported small{font-size:9px}
.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:22px 0 0}.calendar-legend span{font-size:11px;color:#718089}.calendar-legend .bright{color:#b29668}.calendar-legend .soft{color:#6f9990}.calendar-legend .quiet{color:#8b9ba9}.calendar-legend .special{color:#997fa2}.daily-small{margin:15px 0 0;font-size:11px;color:#849198}
.calendar-reading{border:1px solid #ddd8ce;background:#faf8f2;padding:34px 33px;position:relative;overflow:hidden}.reading-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline}.reading-heading>span:last-child{color:#75848b;font-size:12px}.reading-lunar{font-size:12px;color:#8a8d89;margin-top:7px}.reading-body{display:flex;align-items:flex-start;gap:18px;margin:38px 0}.reading-symbol{display:grid;place-items:center;width:90px;height:90px;flex-shrink:0;border:1px solid #c6b08c;border-radius:50%;font:52px var(--serif);color:#a4875d}.reading-kicker{font-size:11px;color:#899396}.reading-body h2{font:clamp(23px,2.6vw,33px)/1.5 var(--serif);margin:8px 0 12px}.reading-lead{color:#526a75;line-height:2}.reading-foot{padding-top:21px;border-top:1px solid #e5ded1;display:flex;flex-wrap:wrap;gap:10px 22px;color:#72818b;font-size:12px}.reading-foot strong{color:#3d5662;font-size:14px}.daily-tools{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.daily-tools button{padding:12px 16px;font-size:11px;flex:1;min-width:200px}.daily-note{font-size:11px;color:#859198;line-height:1.8;margin:21px 0 0}.daily-return{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:65px;padding:43px 45px;background:#eae6dc}.daily-return h2{font-size:28px;margin:10px 0}.daily-return p{color:#788085;margin:0}.daily-return .button{flex-shrink:0}.daily-bottom-disclaimer{margin:23px 0 0;font-size:11px;color:#859197}
@media(max-width:1050px){.calendar-layout{grid-template-columns:1fr}.calendar-reading{max-width:none}.site-nav{gap:17px}.daily-experience{padding-left:25px;padding-right:25px}}
@media(max-width:700px){.daily-experience{padding:28px 16px 110px}.daily-intro{margin:25px 0}.daily-intro h1{font-size:33px}.daily-onboard{grid-template-columns:1fr;padding:24px;gap:0}.onboard-mark{font-size:56px;text-align:left}.daily-onboard h2{font-size:24px}.daily-topbar{padding:17px;gap:18px}.daily-topbar>div:first-child{gap:13px}.daily-preference{width:100%}.daily-today-strip{padding:20px 16px;gap:12px;flex-wrap:wrap}.daily-today-strip a{margin-left:0;width:100%}.today-moon{font-size:38px}.month-summary{flex-direction:column;gap:0}.calendar-card{padding:13px 9px}.calendar-week,.calendar-weekdays{gap:3px}.calendar-day,.day-outside,.day-unsupported{min-height:70px}.calendar-day strong{font-size:20px}.calendar-day small{font-size:9px}.calendar-day .day-num{font-size:10px;left:5px;top:3px}.calendar-reading{padding:25px 19px}.reading-body{gap:14px}.reading-symbol{width:66px;height:66px;font-size:35px}.reading-body h2{font-size:23px}.daily-return{padding:25px;display:block}.daily-return .button{margin-top:23px}.daily-manual-controls{display:block}.daily-manual-controls .button{margin-top:12px}.daily-manual-controls select{width:100%}.daily-onboard .date-row select{font-size:12px}}
@media(prefers-reduced-motion:reduce){.calendar-day{transition:none}.calendar-day:hover,.calendar-day.selected{transform:none}}
.daily-week-wrap{margin-top:45px}.daily-week-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:15px}.daily-week-heading strong{font:23px var(--serif)}.daily-week-heading span{color:#829097;font-size:12px}.daily-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.daily-week-day{min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;background:#fffefa;border:1px solid #e3ded3;padding:16px 5px 13px}.daily-week-day span{font-size:11px;color:#8b9394}.daily-week-day strong{font:36px/1.6 var(--serif);color:#796e77}.daily-week-day small{font:11px/1.6 var(--serif);color:#879293}.daily-week-day.bright strong{color:#b29467}.daily-week-day.soft strong{color:#699187}.daily-week-day.quiet strong{color:#8b9ba9}.daily-week-day.special strong{color:#947d9f}@media(max-width:700px){.daily-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.daily-week-day{padding:10px 2px}.daily-week-day span{font-size:9px}.daily-week-day strong{font-size:24px}.daily-week-day small{font-size:9px;line-height:1.3;min-height:3em}}

/* V0.6 original Japanese story and share-composer components. */
.narrative-feature{max-width:990px;margin:42px auto 30px;padding:clamp(26px,4vw,58px);background:#f7f4ed;border:1px solid #d9cfbb;color:#344650}
.narrative-feature .eyebrow{color:#a18355}.narrative-feature h2{font:500 clamp(27px,3vw,39px)/1.6 var(--serif);margin:12px 0 22px;color:#2b4654}
.narrative-feature h3{font:500 23px/1.6 var(--serif);margin:25px 0 8px;color:#34515a}
.narrative-feature p{font:15px/2.25 var(--serif);color:#4e6269;margin:14px 0}
.narrative-question{padding:22px 26px;background:#fffdfa;border-left:3px solid #bc9861;display:flex;flex-direction:column;gap:8px;margin:29px 0}
.narrative-question span{font:12px var(--sans);color:#8c806b}.narrative-question strong{font:500 clamp(17px,2.1vw,22px)/1.65 var(--serif);color:#2c4958}
.narrative-feature .narrative-disclaimer{font:11px/2 var(--sans);color:#899293;margin-top:25px}
.pair-story-distance{border-top:1px solid #d9d2c3;border-bottom:1px solid #d9d2c3;padding:18px 0;display:flex;gap:22px;align-items:start;margin-top:30px}
.pair-story-distance strong{white-space:nowrap;font:500 20px var(--serif);color:#ad8950}.pair-story-distance span{font:13px/2 var(--serif);color:#576971}
.compose-modal{position:fixed;z-index:2100;inset:0;display:grid;place-items:center;padding:16px}
.compose-backdrop{position:absolute;inset:0;background:#0c1e2dd9;backdrop-filter:blur(5px)}
.compose-panel{position:relative;background:#fffdf8;max-width:620px;width:100%;max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(20px,3vw,40px);box-shadow:0 25px 90px #0005}
.compose-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.compose-head h2{font:500 clamp(24px,3vw,32px)/1.45 var(--serif);color:#233b49;margin:8px 0 16px}
.compose-panel .poster-close{position:static;flex:0 0 auto}.compose-intro{font:13px/2 var(--serif);color:#64737a}
.compose-modes{display:flex;gap:8px;margin:23px 0 20px;flex-wrap:wrap}.compose-modes button{border:1px solid #d5cdbc;padding:10px 15px;background:transparent;color:#556972;font-size:12px;cursor:pointer}
.compose-modes button[aria-selected=true]{background:#1b3747;color:#fff;border-color:#1b3747}
.compose-label{display:block;font:600 12px var(--sans);color:#485a63;margin-bottom:9px}
#post-draft-text{box-sizing:border-box;display:block;width:100%;min-height:160px;resize:vertical;padding:18px;background:#fbfaf6;border:1px solid #c9c2b4;color:#243b48;font:15px/1.9 var(--sans)}
#post-draft-text:focus-visible,.compose-modes button:focus-visible{outline:3px solid #a18455;outline-offset:2px}
.compose-count{font:11px var(--sans);text-align:right;color:#849196;margin:9px 0 22px}
.compose-actions{display:flex;flex-wrap:wrap;gap:9px}.compose-actions .button{flex:1 1 160px;justify-content:center;min-height:45px;padding:12px}
.compose-help{font:11px/2 var(--sans);color:#899196;margin:20px 0 0}
@media(max-width:700px){.narrative-feature{margin:25px 0;padding:25px 19px}.pair-story-distance{display:block}.pair-story-distance span{display:block;margin-top:9px}.compose-modal{padding:8px}.compose-panel{max-height:calc(100dvh - 16px);padding:22px 17px}.compose-actions{flex-direction:column}.compose-actions .button{flex-basis:auto}.narrative-feature p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.compose-backdrop{backdrop-filter:none}}

.share-story-line{font:16px/2.1 var(--serif);color:#c5ad82;margin:0 auto 20px;max-width:760px;text-align:center}

/* V0.7 — result-first hierarchy and one mobile-friendly share studio */
.result-hero .result-inner{padding-top:32px;padding-bottom:48px}
.result-hero .crumb.pale{margin-bottom:20px}
.result-hero .result-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.78fr);gap:26px}
.result-hero .result-prefix{font-size:15px;margin:11px 0 5px;color:#c4cbd0}
.result-hero .mansion-big,.result-hero .relation-big{font-size:clamp(67px,7vw,106px);line-height:1.32;letter-spacing:.07em;margin-bottom:0}
.result-hero .result-lead{font-size:clamp(17px,1.8vw,24px);line-height:1.7;margin:8px 0 13px;max-width:620px}
.result-hero .keyword-list{margin-top:12px;gap:7px}
.result-hero .keyword-list span{padding:5px 13px;font-size:11px}
.result-hero .result-wheel{max-width:455px}
.result-trust{display:flex;flex-wrap:wrap;gap:8px 18px;color:#d3be9a;font-size:11px;margin-top:22px;letter-spacing:.03em}
.result-trust span+span{color:#9fafb8}
.result-hero .result-actions-v07{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}
.result-hero .result-actions-v07 .button{min-width:190px;min-height:56px;padding:14px 20px;gap:12px;flex:none}
.result-hero .result-actions-v07 .result-primary{color:#172b39;background:#e8c994;font-weight:700}
.result-hero .result-actions-v07 .result-secondary{border-color:#8c949c8c}
.result-links{display:flex;flex-wrap:wrap;gap:9px 24px;margin-top:16px}
.result-links>a,.result-links>button{font:12px/1.6 var(--sans);color:#b5c6c9;background:transparent;border:0;border-bottom:1px solid #a1afba80;padding:4px 0;text-align:left;cursor:pointer}
.result-links>a:hover,.result-links>button:hover{color:#e7c58c}
.result-hero.pair-result .pair-labels{margin:15px 0 10px}
.result-hero.pair-result .pair-label strong{font-size:24px}
.result-direction-peek{display:flex;align-items:stretch;max-width:425px;gap:10px;margin-top:10px;padding:12px 16px;border:1px solid #d9c49155;background:#102c3b8a;border-radius:3px}
.result-direction-peek>div{min-width:0;flex:1;display:flex;justify-content:space-between;align-items:center;gap:6px}
.result-direction-peek>div span{font-size:10px;color:#a9c0c5;white-space:nowrap}
.result-direction-peek strong{font:29px var(--serif);color:#f0d5a4}
.result-direction-peek .result-direction-center{font-size:18px;color:#9db1b9}
.result-notice{margin:8px 0 0;color:#afc0c6;font:11px/1.65 var(--sans);max-width:510px}
body.studio-open{overflow:hidden}
.share-studio.compose-modal{z-index:6000;padding:20px;place-items:center}
.share-studio .compose-backdrop{background:#081a24eb;backdrop-filter:blur(12px)}
.share-studio .studio-panel{position:relative;z-index:1;background:#faf7f0;border:1px solid #d7c4a5;box-shadow:0 32px 95px #0009;width:min(1030px,100%);max-height:min(92dvh,890px);display:flex;flex-direction:column;overflow:hidden;color:#273e49;border-radius:7px}
.studio-header{padding:22px 30px 17px;border-bottom:1px solid #e6ded0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex:none}
.studio-header .eyebrow{font-size:10px}
.studio-header h2{font:500 clamp(23px,2.5vw,32px)/1.4 var(--serif);margin:3px 0 4px}
.studio-header p{margin:0;color:#7f8b8c;font-size:12px}
.share-studio .studio-content{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);min-height:0;flex:1;overflow:auto}
.studio-visual{min-width:0;padding:22px;background:radial-gradient(circle at 50% 45%,#254557,#0e2330 75%);display:flex;flex-direction:column;align-items:center;justify-content:center}
.studio-preview{display:grid;place-items:center;width:100%;height:min(51vh,530px);min-height:250px}
.studio-preview canvas{height:auto;width:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 12px 35px #0007}
.studio-privacy{font-size:10px;text-align:center;color:#ccd6d4;margin:12px 0 0;line-height:1.7}
.studio-tools{padding:23px 27px 20px;min-width:0}
.studio-views{display:flex;border-bottom:1px solid #ddd2be;margin-bottom:22px;gap:8px}
.studio-views button{flex:1;padding:11px 4px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:13px;color:#7d8786;cursor:pointer}
.studio-views button[aria-pressed=true]{border-bottom-color:#af8b4a;color:#243e4b;font-weight:700}
.studio-pane[hidden]{display:none!important}
.studio-formats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 23px}
.studio-formats button{padding:13px 10px;border:1px solid #d6c7b0;background:#fffcf6;color:#344a55;display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer}
.studio-formats button[aria-pressed=true]{border:2px solid #a78345;background:#f1e6d3;padding:12px 9px}
.studio-formats button strong{font:600 18px var(--sans)}
.studio-formats button span{font-size:11px;color:#6d7f85}
#studio-caption{width:100%;box-sizing:border-box;border:1px solid #c8baa2;background:#fffdf8;padding:13px 14px;font:14px/1.5 var(--sans);color:#233b48;border-radius:2px}
.studio-field-note{font:11px/1.75 var(--sans);color:#7b878a;margin:8px 0 0}
.studio-switch-note{background:none;border:0;padding:9px 0 2px;color:#466173;font:12px var(--sans);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.studio-tools .compose-modes{margin:8px 0 19px;gap:6px}
.studio-tools .compose-modes button{flex:1;padding:9px 7px}
.studio-tools #post-draft-text{min-height:148px;max-height:210px;font-size:14px;padding:13px;line-height:1.8}
.studio-tools .compose-count{margin:8px 0 10px}
.studio-tools .compose-count.over-limit{color:#a12d31;font-weight:700}
.studio-explain{font:11px/1.8 var(--sans);color:#73848a;background:#f0ece5;padding:11px;margin-top:20px}
.studio-footer{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:9px;padding:14px 24px 8px;border-top:1px solid #e5d9c7;flex:none}
.studio-footer .button{min-height:49px;padding:10px 8px;gap:5px;white-space:nowrap}
.studio-footer .button-solid{background:#1d394a;color:#fff}
.studio-footer-note{font:10px/1.7 var(--sans);color:#829091;text-align:center;margin:0 14px 13px}
.share-studio button:focus-visible,.share-studio input:focus-visible,.share-studio textarea:focus-visible{outline:3px solid #b9954f;outline-offset:2px}
@media(max-width:780px){
 .result-hero .result-inner{padding:22px 20px 40px}
 .result-hero .crumb.pale{margin-bottom:13px}
 .result-hero .result-layout{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .result-hero .result-prefix{font-size:13px;margin:10px 0 0}
 .result-hero .mansion-big,.result-hero .relation-big{font-size:clamp(61px,17vw,85px);line-height:1.24;margin:0}
 .result-hero .mansion-big small,.result-hero .relation-big small{font-size:11px;margin-left:8px}
 .result-hero .result-lead{font-size:17px;line-height:1.65;margin:11px 0 12px}
 .result-hero .result-wheel{order:2;max-width:245px;align-self:center;margin-top:0}
 .result-hero .result-wheel .wheel-svg{max-height:220px}
 .result-hero .result-actions-v07{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .result-hero .result-actions-v07 .button{width:100%;min-width:0;flex:none;min-height:50px;font-size:12px;line-height:1.3;padding:9px 10px;gap:5px}
 .result-hero .result-links{gap:7px 16px;margin-top:10px}
 .result-trust{font-size:10px;margin-top:14px;gap:5px 13px}
 .result-hero .keyword-list{margin-top:9px}
 .result-hero.pair-result .pair-labels{margin:11px 0 5px}
 .result-hero.pair-result .pair-label strong{font-size:20px}
 .result-direction-peek{margin:8px 0 0;padding:9px 10px;gap:7px}
 .result-direction-peek>div span{font-size:9px}
 .result-direction-peek strong{font-size:24px}
 .result-notice{font-size:10px;margin:7px 0 0}
 .share-studio.compose-modal{padding:0;place-items:stretch}
 .share-studio .studio-panel{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .studio-header{padding:15px 17px 12px;gap:10px}
 .studio-header h2{font-size:21px;margin:0}
 .studio-header p{font-size:10px}
 .studio-header .poster-close{width:35px;height:35px;font-size:23px;flex:0 0 35px}
 .share-studio .studio-content{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
 .studio-visual{flex:none;padding:10px 15px 6px}
 .studio-preview{height:min(30dvh,300px);min-height:150px}
 .studio-privacy{font-size:9px;margin:5px 0 0}
 .studio-tools{padding:12px 17px 15px}
 .studio-views{margin-bottom:14px}
 .studio-views button{font-size:12px;padding:8px}
 .studio-formats{margin-bottom:14px}
 .studio-formats button{padding:9px}
 .studio-formats button[aria-pressed=true]{padding:8px}
 .studio-formats button strong{font-size:16px}
 .studio-formats button span{font-size:10px}
 .studio-explain{display:none}
 #studio-caption{padding:9px 11px;font-size:12px}
 .studio-field-note{font-size:10px}
 .studio-footer{grid-template-columns:1.08fr .95fr .85fr;gap:7px;padding:10px 12px 6px}
 .studio-footer .button{font-size:11px;min-height:44px;white-space:normal;letter-spacing:0;line-height:1.3}
 .studio-footer-note{font-size:9px;padding:0 8px;margin:0 0 max(8px,env(safe-area-inset-bottom))}
 .studio-tools #post-draft-text{min-height:120px;max-height:160px;font-size:12px}
}
@media(max-width:370px){.result-hero .result-actions-v07{grid-template-columns:1fr}.studio-footer{gap:3px}.studio-footer .button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.share-studio .compose-backdrop{backdrop-filter:none}}
/* Intrinsic canvas dimensions must not stretch the preview grid. */
.share-studio .studio-preview{overflow:hidden;min-height:0}
.share-studio .studio-preview canvas{display:block;height:100%!important;width:auto!important;min-width:0;min-height:0;max-height:100%!important;max-width:100%!important;object-fit:contain}
.share-studio .studio-enlarge{margin-top:10px;background:none;border:1px solid #e0c58f7d;color:#eddeb9;font-size:11px;padding:8px 13px;border-radius:20px;cursor:pointer}
.share-studio .studio-zoom[hidden]{display:none!important}
.share-studio .studio-zoom{position:absolute;inset:0;z-index:50;background:#081825f5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.share-studio .studio-zoom img{display:block;max-width:min(90%,620px);max-height:calc(100% - 110px);width:auto;height:auto;object-fit:contain;box-shadow:0 5px 30px #0009}
.share-studio .studio-zoom-close{position:absolute;right:18px;top:16px;background:#e9dfcc;border:0;color:#203745;padding:10px 15px;font-size:14px;cursor:pointer;z-index:1}
.share-studio .studio-zoom p{font-size:11px;color:#d5dddb;margin:14px auto 0;text-align:center}
@media(max-width:780px){.share-studio .studio-enlarge{font-size:10px;padding:5px 10px;margin-top:6px}.share-studio .studio-zoom{padding:12px}.share-studio .studio-zoom img{max-height:calc(100% - 135px);max-width:95%}}

/* Homepage essay: in the initial HTML, hidden on other hash routes. */
html[data-route="app"] #home-view{display:none}
main:has(#home-view) ~ .seo-home-directory{display:none}
.hero h1.home-title{font-size:clamp(26px,3.4vw,44px);line-height:1.4;letter-spacing:.03em;margin:16px 0 12px}
.hero h1.home-title span{display:block;margin-top:.12em}.hero h1.home-title .keep{display:inline;white-space:nowrap}
.hero-poem{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);line-height:1.7;letter-spacing:.08em;color:#e3c895;margin:0 0 14px}
.hero-copy p{font-size:14px;line-height:1.95;color:#d5dbe0;margin:0 0 12px;max-width:40em}
.hero-copy strong{color:#e3c895;font-weight:600}
.hero .home-note{font-size:12px;letter-spacing:.03em;color:#c5d0d4;line-height:1.7}
.hero-actions .button{gap:12px}
.home-wheel:empty{aspect-ratio:1;border-radius:50%;border:1px solid rgba(214,187,140,.45);background:radial-gradient(circle at 50% 50%,transparent 28%,rgba(189,157,104,.16) 29% 46%,transparent 47%)}
.home-block{border-top:1px solid var(--line)}
.home-copy{max-width:760px;margin:0 auto}
.home-copy p,.home-relations p,.home-steps p{font-size:15px;line-height:2.05;color:#4e5c63}
.home-copy h3,.home-steps h3,.home-relations h3{font-size:22px;margin:0 0 10px}
.home-copy h3{margin-top:28px}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:28px}
.home-actions .text-link{margin-top:0}
.home-steps,.home-relations{list-style:none;padding:0;margin:28px auto 18px;display:grid;gap:14px}
.home-steps li,.home-relations article{background:#fffdf9;border:1px solid var(--line);padding:22px 24px}
.home-steps span{display:block;color:#93866e;font-size:12px;letter-spacing:.14em;margin-bottom:8px}
.home-relations{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1080px}
.home-mansion-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-width:1080px;margin:22px auto 0}
.home-mansion-index a{display:block;background:#fffdf9;border:1px solid var(--line);padding:12px 6px;text-align:center;font-family:var(--serif);font-size:16px;color:#172a35}
.home-relations h3 a{border-bottom:1px solid #d7c4a2}
.home-faq{display:grid;margin-top:8px}
.home-faq details{border-bottom:1px solid var(--line);background:#fffdf9}
.home-faq summary{cursor:pointer;padding:16px 18px;font-family:var(--serif);font-size:17px;line-height:1.6;list-style:none;display:flex;gap:12px;align-items:baseline}
.home-faq summary::-webkit-details-marker{display:none}
.home-faq summary span{flex:none;color:#9a7442;font-size:12px;letter-spacing:.08em}
.home-faq details p{margin:0;padding:0 18px 18px;color:#4e5c63;font-size:14px;line-height:1.95}
.home-faq-more{margin-top:14px}
.home-faq-more>summary{background:#fffdf9;border:1px solid var(--line);padding:16px 18px;cursor:pointer;font-family:var(--serif);list-style:none}
.home-faq-more>summary::-webkit-details-marker{display:none}
.home-disclaimer{margin-top:28px;font-size:12px;line-height:1.9;color:#7b868a}
@media(max-width:770px){.home-relations{grid-template-columns:1fr}.home-faq summary{font-size:16px}.hero h1.home-title{font-size:clamp(24px,6.4vw,34px)}}

/* V0.9.2 personality: readable cards; source labels never used as moral scores. */
.personality-section{max-width:1140px;margin:20px auto 60px;padding:32px 24px;color:var(--ink,#20303d)}
.personality-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.personality-facts>div{display:grid;gap:6px;background:#f4f0e8;border:1px solid #ded6c6;border-radius:14px;padding:17px 20px}
.personality-facts span{color:#796f60;font-size:12px}.personality-facts strong{color:#263848;font-size:17px;font-weight:650}
.personality-intro{background:#f7f3eb;border-left:3px solid #bc9e68;border-radius:0 14px 14px 0;padding:22px 26px;margin:26px 0}
.personality-intro h3,.personality-weekday h3,.personality-palace h3{font-size:21px;color:#263848;margin:0 0 14px}
.personality-intro p,.personality-tile p,.personality-weekday p,.personality-palace p{line-height:1.95}
.personality-caution,.personality-note{font-size:13px;color:#6f655a}
.personality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}
.personality-tile{background:#fffdfa;border:1px solid #e6ddcc;border-radius:16px;padding:22px 23px}
.personality-tile h3{font-size:16px;margin:0 0 9px;color:#243645}
.personality-tile p{margin:0;color:#544f49}
.personality-weekday,.personality-palace{background:#f7f2e9;border:1px solid #e4d8bf;border-radius:16px;padding:25px;margin:18px 0}
.personality-weekday strong{font-size:15px;font-weight:600}
.personality-combination{background:#fffdfa}
.personality-peek{color:#dbc9a4;font-size:14px;letter-spacing:.05em}
.personality-note a,.personality-palace a{color:#76603c;text-decoration:underline}
.personality-source{font-size:13px;line-height:1.8;color:#6f655a}
@media(max-width:650px){.personality-section{padding:26px 17px;margin-bottom:40px}.personality-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.personality-facts>div{padding:14px}.personality-grid{grid-template-columns:1fr}.personality-tile{padding:19px}.personality-weekday{padding:19px}}

/* V0.9.3: modern editorial example, restrained and readable on mobile. */
.personality-scene{margin:clamp(18px,3vw,34px) 0;padding:clamp(20px,4vw,38px);background:rgba(234,221,194,.12);border:1px solid rgba(170,144,103,.25);border-radius:16px}
.personality-scene h3{font-size:clamp(1.1rem,2vw,1.5rem);margin:0 0 12px}
.personality-scene p{max-width:68ch;line-height:1.95;margin:0 0 12px}
.personality-scene small{opacity:.7}
