:root{--py-ink:#3a2818;--py-soft:#75583d;--py-line:#dbc8a8;--py-paper:#fffaf1;--py-wash:#f2e5d4;--py-accent:#8b2f2f;--py-gold:#c59358}
.personal-hero{position:relative;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.9) 0 6%,transparent 6.5%),linear-gradient(135deg,#f8e8cf,#ead4c5 55%,#d9c9df);padding:clamp(28px,6vw,54px);margin-bottom:22px}.personal-hero:after{content:'1  2  3  4  5  6  7  8  9';position:absolute;right:-18px;bottom:-15px;color:rgba(90,50,70,.1);font:700 clamp(2.2rem,7vw,5.6rem)/1 'Yuji Syuku',serif;white-space:nowrap;transform:rotate(-5deg)}.personal-kicker{color:var(--py-accent);font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.personal-hero h1{position:relative;z-index:1;margin:.25em 0;font-size:clamp(2rem,6vw,3.5rem);line-height:1.25}.personal-hero .lead{position:relative;z-index:1;max-width:670px}.personal-form{background:var(--py-paper);border:1px solid var(--py-line);border-radius:18px;padding:22px;margin:22px 0}.personal-form h2{margin-top:0}.personal-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.personal-fields label{display:grid;gap:6px;color:var(--py-soft);font-weight:800}.personal-fields select{width:100%;border:1px solid #b89870;border-radius:12px;background:#fff;padding:11px;color:var(--py-ink);font:inherit}.personal-submit{width:100%;border:0;border-radius:999px;background:linear-gradient(135deg,var(--py-accent),#c37659);color:#fff;padding:13px 20px;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(139,47,47,.18)}.personal-note{color:var(--py-soft);font-size:.9rem}.personal-error{display:none;color:#9b2c2c;font-weight:800}.personal-error.visible{display:block}.personal-result{display:none;margin:24px 0;border:1px solid var(--py-line);border-radius:22px;background:linear-gradient(180deg,#fffaf1,#f4e7d6);padding:clamp(20px,5vw,34px);box-shadow:0 16px 34px rgba(100,60,30,.13)}.personal-result.visible{display:block}.personal-result-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.personal-number{display:grid;place-items:center;width:94px;height:94px;border-radius:50%;background:linear-gradient(135deg,var(--py-accent),#d29462);color:#fff;font:400 3.5rem/1 'Yuji Syuku',serif;box-shadow:0 10px 24px rgba(139,47,47,.2)}.personal-cycle{color:var(--py-soft);font-size:.85rem;font-weight:800}.personal-result h2{margin:2px 0}.personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.personal-panel{display:grid;gap:6px;border:1px solid var(--py-line);border-radius:15px;background:rgba(255,255,255,.62);padding:15px}.personal-panel strong{color:var(--py-accent)}.personal-action{border-left:4px solid var(--py-gold);border-radius:10px;background:#fff;padding:15px 17px}.personal-action strong,.personal-action span{display:block}.personal-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.personal-share button{border:1px solid var(--py-line);border-radius:999px;background:#fffaf1;color:var(--py-accent);padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}.cycle-strip{display:grid;grid-template-columns:repeat(9,1fr);gap:7px;margin:16px 0}.cycle-step{border:1px solid var(--py-line);border-radius:12px;background:var(--py-paper);padding:10px 5px;text-align:center}.cycle-step strong{display:block;color:var(--py-accent);font-size:1.2rem}.cycle-step small{display:block;color:var(--py-soft);font-size:.7rem}.source-list{padding-left:1.25em}.callout{background:#fffaf1;border:1px solid var(--py-line);border-radius:14px;padding:15px}.personal-result:focus{outline:3px solid rgba(139,47,47,.2);outline-offset:3px}@media(max-width:680px){.personal-fields,.personal-grid{grid-template-columns:1fr}.personal-result-head{grid-template-columns:72px 1fr}.personal-number{width:72px;height:72px;font-size:2.7rem}.cycle-strip{grid-template-columns:repeat(3,1fr)}}
