:root{--bg:#0d0811;--panel:#1c1121;--line:rgba(255,239,247,.13);--text:#fff8fc;--muted:#c9b9c7;--faint:#927e90;--pink:#f29abb;--gold:#e6c46d;--violet:#a68cff;--radius:28px;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at 8% 8%,rgba(140,49,105,.28),transparent 31rem),radial-gradient(circle at 88% 14%,rgba(91,72,164,.2),transparent 29rem),linear-gradient(180deg,#110a17,#09070c);font-family:Inter,"Hiragino Sans","Yu Gothic UI","Yu Gothic",system-ui,sans-serif;line-height:1.75}a{color:inherit}.site-header,main,.site-footer{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(230,196,109,.48);border-radius:50%;color:var(--gold);font-family:"Yu Mincho",serif}.brand strong,.brand small{display:block}.brand strong{font-family:"Yu Mincho",Georgia,serif;letter-spacing:.23em;font-size:1rem}.brand small{color:var(--muted);font-size:.58rem;letter-spacing:.13em}.site-nav{display:flex;gap:22px}.site-nav a,.site-footer nav a{color:var(--muted);font-size:.75rem;text-decoration:none}.site-nav a:hover,.site-footer nav a:hover{color:var(--pink)}.hero{min-height:520px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;padding:clamp(34px,6vw,78px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(140deg,rgba(38,19,43,.94),rgba(18,12,25,.89));box-shadow:0 28px 90px rgba(0,0,0,.33);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,#000,transparent)}.hero-copy{position:relative;z-index:1}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.22em}.hero h1,.intro h2,.principles h2,.guide-panel h2,.app-card h2,.article-page h1,.article-page h2{margin:0;font-family:"Yu Mincho",Georgia,serif;font-weight:500}.hero h1{font-size:clamp(3rem,6vw,5.25rem);line-height:1.13;letter-spacing:-.05em}.hero h1 span{color:var(--pink)}.hero-copy>p:not(.eyebrow):not(.local-note){max-width:630px;margin:24px 0 0;color:var(--muted);font-size:1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:0 21px;border-radius:14px;font-weight:800;font-size:.82rem;text-decoration:none;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{color:#2b0e1d;background:linear-gradient(135deg,#f3abc5,#e6c46d);box-shadow:0 14px 35px rgba(242,154,187,.17)}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text)}.local-note{margin:15px 0 0;color:var(--faint);font-size:.67rem}.hero-orbit{min-height:330px;display:grid;place-items:center;position:relative;z-index:1}.orbit{position:absolute;border:1px solid rgba(230,196,109,.2);border-radius:50%;animation:spin 25s linear infinite}.orbit i{position:absolute;top:-14px;left:50%;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#201126;color:var(--gold);font-style:normal;font-size:.7rem}.orbit-a{width:310px;height:310px}.orbit-b{width:238px;height:238px;border-style:dashed;animation-duration:19s;animation-direction:reverse}.orbit-c{width:168px;height:168px;animation-duration:13s}.orbit-core{width:130px;height:130px;display:grid;place-content:center;text-align:center;border:1px solid rgba(242,154,187,.45);border-radius:50%;background:radial-gradient(circle,rgba(242,154,187,.18),rgba(27,14,34,.94));box-shadow:0 0 65px rgba(242,154,187,.14)}.orbit-core span{color:var(--pink);font-size:1.8rem}.orbit-core b{font-family:Georgia,serif;letter-spacing:.15em;font-size:.78rem}.orbit-core small{color:var(--faint);font-size:.5rem;letter-spacing:.15em}@keyframes spin{to{transform:rotate(360deg)}}.intro{max-width:780px;padding:112px 0 64px}.intro h2,.principles h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.25}.intro>p:not(.eyebrow){margin:23px 0 0;color:var(--muted)}.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.app-card{min-height:500px;padding:clamp(27px,4vw,44px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(37,20,44,.9),rgba(18,12,25,.9));position:relative;overflow:hidden}.app-card:after{content:"";width:250px;height:250px;position:absolute;right:-110px;bottom:-130px;border-radius:50%;filter:blur(12px);opacity:.26}.tarot-card:after{background:#d94d90}.kotsuduri-card:after{background:#7259e8}.app-card-label{display:flex;justify-content:space-between;color:var(--faint);font-size:.63rem;letter-spacing:.15em}.app-card-label b{color:var(--gold);font-family:Georgia,serif}.card-symbol{margin:40px 0 13px;color:var(--gold);font-size:2rem}.kotsuduri-card .card-symbol{font-family:"Yu Mincho",serif}.app-card h2{font-size:2.45rem}.card-subtitle{margin:0;color:var(--pink);font-size:.72rem;letter-spacing:.1em}.app-card>p:not(.card-symbol):not(.card-subtitle){max-width:430px;margin:22px 0 0;color:var(--muted);font-size:.86rem}.app-card ul{margin:24px 0;padding:0;list-style:none}.app-card li{margin:7px 0;color:#e9dce5;font-size:.76rem}.app-card li:before{content:"✦";margin-right:9px;color:var(--gold)}.text-link{position:relative;z-index:1;color:var(--text);font-weight:800;font-size:.83rem;text-decoration:none}.text-link span{margin-left:8px;color:var(--gold)}.principles{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;padding:110px 0}.principle-list{display:grid;gap:12px}.principle-list article{padding:21px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.principle-list span{color:var(--gold);font-size:.62rem;letter-spacing:.12em}.principle-list h3{margin:5px 0;font-family:"Yu Mincho",serif;font-weight:500;font-size:1.15rem}.principle-list p{margin:0;color:var(--muted);font-size:.78rem}.guide-panel{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:100px;padding:34px 38px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,rgba(64,30,58,.65),rgba(31,22,55,.75))}.guide-panel h2{font-size:2rem}.guide-panel p:not(.eyebrow){max-width:630px;margin:10px 0 0;color:var(--muted);font-size:.82rem}.site-footer{padding:32px 0 48px;border-top:1px solid var(--line)}.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0}.site-footer p{max-width:680px;margin:0;color:var(--faint);font-size:.68rem}.site-footer>small{display:block;margin-top:19px;color:var(--faint);font-size:.63rem}.article-page{max-width:790px;padding:66px 0 100px}.article-page h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.22}.article-page .lead{margin:21px 0 45px;color:var(--muted);font-size:1rem}.article-page section{margin:18px 0;padding:25px 27px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.026)}.article-page h2{font-size:1.42rem}.article-page section p{margin:11px 0 0;color:var(--muted);font-size:.86rem}.article-page section a{color:var(--pink)}.updated{color:var(--faint);font-size:.7rem}.error-page{min-height:100vh;display:grid;align-content:center;justify-items:start}@media(max-width:800px){.hero,.principles{grid-template-columns:1fr}.hero-orbit{display:none}.app-grid{grid-template-columns:1fr}.principles{gap:32px;padding:72px 0}.guide-panel{align-items:flex-start;flex-direction:column}.site-nav{gap:14px}.site-nav a:last-child{display:none}}@media(max-width:560px){.site-header,main,.site-footer{width:min(calc(100% - 22px),var(--max))}.site-header{height:74px}.brand-mark{width:37px;height:37px}.brand strong{font-size:.9rem}.site-nav a{font-size:.68rem}.hero{min-height:460px;padding:34px 23px}.hero h1{font-size:3rem}.hero-actions{display:grid}.button{width:100%}.intro{padding:72px 0 38px}.app-card{min-height:auto}.guide-panel{margin-bottom:65px;padding:27px 23px}.article-page{padding:40px 0 70px}.article-page section{padding:22px 20px}}
