:root{color-scheme:dark;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;background:#080e1f;color:#f7f3ff}*{box-sizing:border-box}body{margin:0}.shell{width:min(100%,520px);height:100dvh;margin:auto;background:linear-gradient(160deg,#111c39,#23163e 62%,#111c39);display:flex;flex-direction:column;box-shadow:0 0 45px #0008}header,footer{flex:none;background:#10172deF;text-align:center;z-index:2}header{padding:13px 8px;border-bottom:1px solid #7c6c9b55}h1{font-size:1.25rem;margin:0;color:#f5d58b}h2{font-size:1.13rem}h3{font-size:1rem}main{flex:1;min-height:0;overflow-y:auto;position:relative;scroll-behavior:smooth;padding:16px 16px 40px}.screen{max-width:100%}.hidden{display:none!important}.welcome{text-align:center;padding:15px 8px}.welcome h2{color:#f5d58b}.welcome p{line-height:1.8;color:#d8d4ea;font-size:.92rem}.date{text-align:center;color:#d5c8e5;font-size:.87rem}.zodiac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zodiac-btn,.card,.lucky,.rank{border:1px solid #46547e;background:#222d50;border-radius:13px;color:#fff}.zodiac-btn{padding:12px 6px;min-height:90px;cursor:pointer}.zodiac-btn .symbol{display:block;color:#f5d58b;font-size:1.9rem}.zodiac-btn.selected{border:2px solid #f5d58b;background:#35446d}.selected-label{display:block;font-size:.72rem;color:#f5d58b}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #f5d58b;outline-offset:2px}.primary,.secondary{border-radius:11px;padding:13px 15px;font-weight:700;width:100%;margin-top:10px}.primary{background:#e6c777;border:0;color:#17213b}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#29375c;color:#fff;border:1px solid #9a90bd}.birthday{margin:24px 0 14px;padding:12px;background:#17213e;border-radius:12px}.birthday h3{margin:0 0 10px}.birthday-controls{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.birthday-controls label{flex:1;min-width:70px;font-size:.85rem}.birthday-controls select{display:block;width:100%;padding:9px 5px;background:#29375c;border:1px solid #8b87ab;border-radius:8px;color:white}.birthday-controls button{width:auto;margin:0;font-size:.8rem;padding:10px}.hint{font-size:.75rem;color:#c4bfd9;line-height:1.6}.section-heading{color:#f5d58b;text-align:center;margin:26px 0 14px}.sign-title{text-align:center;color:#f5d58b}.sign-title .big{font-size:2.8rem;display:block}.card{margin:10px 0;padding:13px;transition:background .25s,border-color .25s}.card.open{background:#35446d;border-color:#f5d58b}.card.overall{border-color:#e6c777;background:#2e315b}.card-head{display:flex;justify-content:space-between;align-items:center;gap:5px;width:100%;padding:0;background:none;border:0;color:inherit;text-align:left}.card-head strong{font-size:1rem}.stars{color:#f5d58b;letter-spacing:1px;white-space:nowrap}.advice{margin:12px 0 2px;color:#e7e4f4;line-height:1.8;font-size:.92rem}.four-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.four-grid .card{margin:0;min-width:0}.four-grid .card-head{display:block}.four-grid .stars{font-size:.83rem;letter-spacing:0}.four-grid .advice{overflow-wrap:anywhere}.lucky-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lucky{text-align:center;padding:13px 6px;overflow-wrap:anywhere}.lucky small{display:block;color:#c9c5de;margin-bottom:8px}.lucky strong{color:#f5d58b}.rank{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:12px;margin:7px 0;cursor:pointer}.rank .rank-num{font-weight:800;color:#f5d58b;width:2em}.rank .rank-icon{font-size:1.5rem}.rank .rank-name{flex:1}.rank .stars{font-size:.75rem}.rank.mine{border:2px solid #f5d58b;background:#3c4267}.result-actions{margin:20px 0}.ad-slot{border:1px dashed #687394;border-radius:10px;text-align:center;padding:22px 10px;color:#9da7c2;min-height:80px}.animation{text-align:center;padding:80px 10px}.orb{font-size:5rem;color:#f5d58b;animation:pulse 1.2s infinite alternate}@keyframes pulse{from{transform:scale(.8);opacity:.5}to{transform:scale(1.2);opacity:1}}.error-box{padding:25px 8px;text-align:center;line-height:1.8}.notice{position:relative;background:#334469;border:1px solid #e6c777;padding:10px 30px 10px 10px;border-radius:9px;margin-bottom:10px;font-size:.82rem}.notice button{position:absolute;right:5px;top:4px;background:transparent;border:0;color:white;font-size:1.2rem}.scroll-top{position:sticky;bottom:12px;left:100%;border:1px solid #e6c777;background:#29375c;color:#f5d58b;border-radius:50%;height:44px;width:44px;font-size:1.4rem;z-index:1}footer{border-top:1px solid #7c6c9b55;padding:7px 6px 9px}footer nav{display:flex;gap:5px}footer nav button{flex:1;padding:8px 3px;background:#253253;border:1px solid #4d5b82;color:#fff;border-radius:8px;font-size:.8rem}footer small{display:block;margin-top:7px;color:#c0bbd0;font-size:.64rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
