:root{--ink:#13231f;--paper:#f4f0e5;--card:#fffdf7;--sun:#f2c96d;--coral:#ef6a4c;--mint:#9ad4bd;--blue:#6d9bb5;--line:#d9d4c6;--muted:#68716c;--wood:#3d8b67;--fire:#e75b46;--earth:#c7943e;--metal:#7b8990;--water:#426f9c;--shadow:0 20px 55px rgba(19,35,31,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.75}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;width:min(1160px,calc(100% - 32px));margin:auto}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em}.brand b{color:var(--coral)}.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--sun);box-shadow:3px 3px 0 var(--sun);font-family:serif}.local-badge{font-size:.78rem;border:1px solid var(--line);border-radius:99px;padding:7px 12px;color:var(--muted)}
.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:24px;padding:18px 0 32px}.hero-copy{background:var(--ink);color:white;border-radius:28px;padding:52px;position:relative;overflow:hidden;min-height:640px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}.hero-copy::before,.hero-copy::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}.hero-copy::before{width:390px;height:390px;right:-170px;top:-130px;box-shadow:0 0 0 55px rgba(242,201,109,.05),0 0 0 110px rgba(154,212,189,.035)}.hero-copy::after{width:120px;height:120px;right:72px;bottom:65px}.kicker{font-size:.76rem;letter-spacing:.16em;font-weight:800;color:var(--sun);margin:0}.hero h1{font-size:clamp(2.55rem,5vw,5rem);line-height:1.06;letter-spacing:-.055em;margin:28px 0 22px;position:relative}.hero h1 em{font-style:normal;color:var(--sun)}.hero-lead{font-size:1.05rem;color:#dbe2df;max-width:640px;margin:0}.feature-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.feature-row span{border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:7px 11px;font-size:.8rem}.privacy-strip{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:13px 15px;border:1px solid rgba(154,212,189,.42);border-radius:14px;background:rgba(154,212,189,.1)}.privacy-strip>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:var(--mint);color:var(--ink);font-weight:900}.privacy-strip b,.privacy-strip small{display:block}.privacy-strip b{font-size:.88rem}.privacy-strip small{margin-top:2px;color:#cfe2db;font-size:.76rem;line-height:1.55}.important-note{position:relative;margin-top:22px;padding:15px 16px;border-left:3px solid var(--coral);background:rgba(255,255,255,.07);color:#d8e0dc;font-size:.82rem}.important-note b{color:white}
.birth-form{background:var(--card);border:1px solid rgba(19,35,31,.12);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.form-title,.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:24px}.form-title>span,.section-heading>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:white;font-weight:800}.form-title small,.section-heading small{font-size:.7rem;letter-spacing:.14em;color:var(--muted);font-weight:800}.form-title h2,.section-heading h3{margin:0;line-height:1.25}.birth-form>label,.two-col label{display:block;font-weight:700;font-size:.9rem;margin-bottom:16px}.birth-form label small{font-weight:500;color:var(--muted)}input,select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);padding:12px 13px;min-height:48px;outline:none}input:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(154,212,189,.3)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings{border:1px solid var(--line);border-radius:14px;padding:11px 14px;margin-bottom:14px}.settings summary{cursor:pointer;font-weight:700;font-size:.9rem}.settings p{font-size:.76rem;color:var(--muted);margin:8px 0 2px}.check{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;font-size:.8rem!important;margin:12px 0!important}.check input{width:18px;min-height:18px;margin:3px 0 0;accent-color:var(--coral);flex:0 0 auto}.consent{background:#edf5f1;border-radius:12px;padding:11px}.primary{width:100%;border:0;background:var(--coral);color:white;border-radius:13px;padding:14px 18px;font-weight:800;box-shadow:0 6px 0 #bd4630;transition:.15s}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 0 #bd4630}.primary:active{transform:translateY(3px);box-shadow:0 3px 0 #bd4630}.primary span{float:right}
.method{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-bottom:70px}.method article{border-top:1px solid var(--line);padding:16px 4px}.method b{display:block;font-size:1.08rem}.method span{font-size:.78rem;color:var(--muted)}
.result{display:none;margin-bottom:72px;background:var(--card);border:1px solid rgba(19,35,31,.12);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.result.active{display:block;animation:rise .45s ease}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.result-banner{background:var(--ink);color:white;padding:46px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.result-banner h2{font-size:clamp(2.1rem,5vw,4.5rem);line-height:1.1;margin:10px 0}.result-banner>div>p:last-child{color:#dbe2df;max-width:760px;margin:0}.cycle-seal{width:150px;height:150px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 18px rgba(242,201,109,.07)}.cycle-seal span{font-size:3.4rem;line-height:1;font-weight:900;color:var(--sun)}.cycle-seal small{letter-spacing:.12em;color:#dbe2df}.result-content{padding:42px}.section-block{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--line)}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pillar{border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;background:white}.pillar>span{font-size:.75rem;color:var(--muted);font-weight:700}.kanji-pair{font-family:"Yu Mincho",serif;font-size:2.7rem;letter-spacing:.08em;line-height:1.2;margin:8px 0}.pillar small{display:block;color:var(--muted);font-size:.76rem}.pillar b{display:block;color:var(--coral);font-size:.8rem}.calc-note{font-size:.77rem;color:var(--muted);margin:14px 0 0}.balance-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.element-bars{display:grid;gap:10px}.element-line{display:grid;grid-template-columns:44px 1fr 40px;gap:10px;align-items:center}.element-line b{font-family:serif;font-size:1.25rem}.bar{height:12px;background:#e8e4d9;border-radius:20px;overflow:hidden}.bar i{height:100%;display:block;border-radius:20px;transition:width .5s}.element-line small{text-align:right;font-weight:800}.balance-copy{background:#edf5f1;border-radius:20px;padding:24px}.mini-label{display:block;font-size:.68rem;letter-spacing:.15em;color:var(--coral);font-weight:900;margin-bottom:7px}.balance-copy h4,.wellness h4{font-size:1.35rem;margin:0 0 9px}.balance-copy p{margin:0;color:#45504b}
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:38px}.insight{border:1px solid var(--line);background:white;border-radius:20px;padding:24px}.insight.dark{background:var(--ink);color:white}.insight h3{margin:0 0 10px}.insight p{margin:0;color:#45504b}.insight.dark p{color:#dbe2df}.wellness{background:#f1ede2;border-radius:24px;padding:28px;margin-bottom:38px}.warning-line{background:#fff9ec;border:1px solid #e6cf98;border-radius:12px;padding:11px 13px;font-size:.78rem;color:#67521f;margin-bottom:18px}.wellness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wellness-grid article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.wellness-grid p{margin:0;color:#45504b}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{border-radius:99px;padding:6px 10px;background:#e9f4ef;color:#315d4d;font-size:.82rem;font-weight:700}.tag-list.caution span{background:#fff0e7;color:#8a4b35}.food-note{font-size:.76rem;color:var(--muted);margin:15px 0 0}
.faces-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.face-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:white;position:relative;overflow:hidden}.face-card::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--paper);right:-30px;top:-35px}.face-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.face-role{font-size:.75rem;font-weight:900;color:var(--coral);letter-spacing:.08em}.animal-icon{font-size:2rem}.face-card h4{font-size:1.05rem;line-height:1.45;margin:13px 0 6px}.face-card p{font-size:.78rem;color:var(--muted);margin:0}.face-code{display:inline-flex;margin-top:12px;border-radius:99px;background:#edf5f1;padding:4px 9px;font-size:.72rem;font-weight:800;color:#315d4d}
.fortune-section{border-radius:24px;background:#e9eef0;padding:28px;margin-bottom:38px}.fortune-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.fortune-head .section-heading{margin-bottom:12px}.fortune-head label{font-size:.78rem;font-weight:800;min-width:180px}.fortune-head input{margin-top:4px;background:white}.fortune-intro{font-size:.8rem;color:var(--muted);margin:0 0 18px}.fortune-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fortune-card{background:var(--card);border:1px solid #cfd8dc;border-radius:18px;padding:21px}.fortune-card>span{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:var(--blue)}.fortune-card h4{font-size:1.25rem;margin:7px 0 2px}.fortune-pillar{font-family:"Yu Mincho",serif;font-size:2.1rem;margin:5px 0}.fortune-character{font-size:.78rem;color:var(--muted);min-height:2.8em}.fortune-tag{display:inline-flex;border-radius:99px;background:#e5f0f4;color:#315d6d;padding:5px 10px;font-size:.76rem;font-weight:900;margin:10px 0}.fortune-card p{font-size:.84rem;margin:0;color:#45504b}
.reiki-card{display:grid;grid-template-columns:180px 1fr;gap:34px;background:#192d34;color:white;border-radius:24px;padding:34px;margin-bottom:24px}.reiki-orbit{width:150px;height:150px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;position:relative;margin:auto;box-shadow:0 0 0 20px rgba(109,155,181,.08)}.reiki-orbit i{position:absolute;inset:17px;border:1px solid rgba(242,201,109,.35);border-radius:50%}.reiki-orbit b{font-family:serif;font-size:2.4rem;color:var(--sun)}.reiki-card h3{font-size:1.6rem;margin:0 0 9px}.reiki-card p{color:#d9e3e4;margin:0}.reiki-card ol{padding-left:1.25rem;margin:14px 0}.evidence-note{font-size:.75rem!important;color:#aebfc2!important;border-top:1px solid rgba(255,255,255,.12);padding-top:12px}.source-card{border:1px solid var(--line);border-radius:18px;padding:22px}.source-card h3{margin:0 0 7px}.source-card p{font-size:.82rem;color:var(--muted);margin:0}.source-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.source-links a{font-size:.78rem;font-weight:700;color:#315d4d}.result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.outline{border:1px solid var(--ink);background:white;color:var(--ink);border-radius:11px;padding:11px 15px;font-weight:800}.outline:hover{background:var(--ink);color:white}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.8rem}footer .wrap{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}footer b{color:var(--ink)}footer p{width:100%;margin:0}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:var(--ink);color:white;border-radius:11px;padding:10px 15px;opacity:0;pointer-events:none;transition:.25s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero-copy{min-height:520px;padding:34px}.method{grid-template-columns:1fr 1fr}.result-content{padding:26px}.pillars,.faces-grid{grid-template-columns:1fr 1fr}.balance-layout,.insight-grid{grid-template-columns:1fr}.wellness-grid,.fortune-grid{grid-template-columns:1fr}.fortune-head{display:block}.reiki-card{grid-template-columns:1fr}.result-banner{grid-template-columns:1fr;padding:32px}.cycle-seal{width:100px;height:100px}.cycle-seal span{font-size:2.4rem}}
@media(max-width:520px){.local-badge{display:none}.hero h1{font-size:2.55rem}.birth-form{padding:24px}.two-col{grid-template-columns:1fr}.method{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.pillar{padding:13px}.kanji-pair{font-size:2.2rem}.result-content{padding:20px}.wellness{padding:20px}.result-banner{padding:25px}}
@media print{.topbar,.hero,.method,.result-actions,footer,.toast{display:none!important}.result{display:block!important;border:0;box-shadow:none}.wrap{width:100%}.result-banner,.reiki-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}.result-content{padding:22px}.section-block{break-inside:avoid}.wellness,.reiki-card{break-inside:avoid}}

/* Integrated chart extensions */
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.three-col label{display:block;font-weight:700;font-size:.9rem;margin-bottom:16px}
.system-section{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid var(--line)}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.system-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:white;min-height:190px}.system-card .system-icon{font-size:1.7rem;float:right}.system-card h4{font-size:1.05rem;margin:5px 0 8px}.system-card strong{display:block;font-size:1.18rem;line-height:1.45;margin-bottom:7px}.system-card p{font-size:.79rem;color:var(--muted);margin:0}.system-detail{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.system-detail span,.signal-row span{font-size:.72rem;font-weight:800;border-radius:99px;padding:4px 9px;background:#edf5f1;color:#315d4d}.integration-card{margin-top:14px;border-radius:22px;background:linear-gradient(135deg,#13231f,#243f3a);color:white;padding:28px}.integration-card h3{font-size:1.55rem;margin:0 0 8px}.integration-card p{color:#dbe2df;margin:0}.signal-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.signal-row span{background:rgba(242,201,109,.14);color:var(--sun);border:1px solid rgba(242,201,109,.25)}
@media(max-width:820px){.system-grid{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.system-grid,.three-col{grid-template-columns:1fr}}

/* Individual readings and 10-rhythm guidance */
.system-card{min-height:0}.system-reading,.system-advice{margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.system-reading b,.system-advice b,.fortune-advice b,.fortune-caution b{display:block;font-size:.74rem;letter-spacing:.06em;color:var(--coral);margin-bottom:4px}.system-reading p,.system-advice p{font-size:.82rem!important;line-height:1.7}.system-advice{background:#f2f7f4;border:0;border-radius:12px;padding:11px 12px}.system-advice b{color:#315d4d}
.fortune-title-row{display:flex;align-items:center;gap:15px;margin:8px 0}.fortune-title-row small{display:block;font-size:.7rem;color:var(--muted);font-weight:800}.fortune-title-row h4{font-size:1.55rem;margin:0;color:var(--coral)}.fortune-title-row .fortune-pillar{margin:0;padding-right:14px;border-right:1px solid var(--line)}.fortune-meaning{font-weight:700;color:var(--ink)!important;min-height:5em}.fortune-advice,.fortune-caution{margin-top:12px;border-radius:12px;padding:12px}.fortune-advice{background:#e9f4ef}.fortune-advice b{color:#315d4d}.fortune-caution{background:#fff3ea}.fortune-caution b{color:#99523a}.fortune-advice p,.fortune-caution p{font-size:.79rem!important;line-height:1.65}.fortune-sub{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.fortune-sub span{font-size:.68rem;font-weight:800;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:3px 7px}
