@import "https://fonts.googleapis.com/css2?family=Yomogi&display=swap";:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#030712;font-family:Yomogi,Hiragino Maru Gothic ProN,Yu Gothic,Meiryo,cursive;font-size:16px;line-height:1.85}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}body.modal-open{overflow:hidden}button{font:inherit}.app-shell{isolation:isolate;min-height:100dvh;position:relative}.background-stack,.background-image,.background-overlay{position:fixed;inset:0}.background-stack{z-index:-1;background:#030712;overflow:hidden}.background-image{opacity:0;background-position:50%;background-size:cover;transition:opacity .36s;transform:scale(1.005)}.background-image.visible{opacity:1}.bg-month{background-image:url(/images/background.jpg)}.bg-week{background-image:url(/images/background-week.jpg)}.bg-stars{background-image:url(/images/background-stars.jpg)}.background-overlay{background:radial-gradient(circle at 50% 14%,#7edcff14,#0000 30rem),linear-gradient(#00040e4d,#00030c80)}.content-panel{width:min(100%,980px);min-height:100dvh;margin:0 auto;padding:28px 18px 118px}.screen{gap:22px;display:grid}.fade-in{animation:.26s both fadeIn}.hero,.page-title{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040c1e6b;border:1px solid #cdf3ff2e;border-radius:24px;padding:28px 20px 24px;position:relative;overflow:hidden;box-shadow:0 18px 54px #00000038,inset 0 1px #ffffff14}.hero:before,.page-title:before{color:#70e7ff;content:"✦";text-shadow:0 0 8px,0 0 18px;font-size:1.8rem;position:absolute;top:16px;right:22px}.eyebrow{color:#ff8de1;letter-spacing:.08em;text-shadow:0 0 6px,0 0 12px;text-transform:uppercase;margin:0 0 8px;font-size:.92rem}.month-label{color:#fff;text-shadow:0 0 8px #70e7ffe6,0 0 14px #ff7ad9b3;background:linear-gradient(135deg,#ff7ad929,#70e7ff24);border:1px solid #70e7ff57;border-radius:999px;align-items:center;margin-bottom:12px;padding:6px 16px;font-size:1.02rem;display:inline-flex}h1,h2,h3,p,dd,dt{overflow-wrap:anywhere}h1,h2,h3{margin-top:0;font-weight:400}h1{color:#fff;text-shadow:0 0 8px #70e7ffcc,0 0 20px #ff7ad95c;margin-bottom:0;font-size:clamp(1.9rem,7vw,3.3rem);font-weight:400;line-height:1.28}.page-title h1{font-size:clamp(1.95rem,6vw,2.9rem)}.hero-message,.birth-line{color:#fffffff0;text-shadow:0 1px 8px #000000b8;max-width:760px;margin:14px 0 0}.hero-message p,.glass-card p,dd p{margin:0}.hero-message p+p,.glass-card p+p,dd p+p{margin-top:.75em}.card-grid,.profile-grid,.detail-grid,.week-list{gap:18px;display:grid}.glass-card,.empty-state{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040c1e70;border:1px solid #daf7ff26;border-radius:20px;box-shadow:0 14px 42px #00000038,inset 0 1px #ffffff14}.glass-card{padding:19px}.empty-state{color:#fffffff0;text-align:center;padding:28px 20px}.card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;margin:0 0 10px;display:flex}.title-meta-row{margin:-2px 0 12px;display:flex}.glass-card h3{color:#70e7ff;text-shadow:0 0 6px,0 0 12px;align-items:baseline;gap:8px;margin:0;font-size:1.24rem;line-height:1.45;display:flex}.glass-card h3:before{color:currentColor;content:"✧"}.title-badge{color:#ffffffeb;text-shadow:0 0 8px #70e7ff99;background:#ffffff14;border:1px solid #70e7ff47;border-radius:999px;flex:none;align-items:center;padding:4px 12px;font-size:.9rem;line-height:1.35;display:inline-flex}.title-action-button{color:#fffffff0;cursor:pointer;text-shadow:0 0 8px #70e7ff8c;white-space:nowrap;background:#030d2380;border:1px solid #70e7ff52;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:6px 12px;font-size:.92rem;line-height:1.2;transition:background .18s,border-color .18s,transform .18s,opacity .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 0 16px #70e7ff14}.title-action-button:hover:not(:disabled){background:#07183a9e;border-color:#70e7ff85}.title-action-button:active:not(:disabled){transform:scale(.98)}.title-action-button:disabled{cursor:not-allowed;opacity:.62}.glass-card:nth-child(2n) h3,.profile-card:nth-child(2n) h2,.detail-grid .glass-card:nth-child(2n) h3{color:#ff8de1}.glass-card:nth-child(3n) h3,.profile-card:nth-child(3n) h2,.detail-grid .glass-card:nth-child(3n) h3{color:#8be9ff}.glass-card p{color:#fff;text-shadow:0 1px 8px #000000b8;font-size:1rem}.accent-card{background:linear-gradient(135deg,#ff7ad926,#70e7ff1c,#040c1e6b);border-color:#ff8de142}.accent-card h3{font-size:1.34rem}.wide-card{grid-column:1/-1}.week-card{gap:16px;display:grid}.current-week{background:linear-gradient(140deg,#ff7ad921,#70e7ff1a,#040c1e75);border-color:#ff8de15c;box-shadow:0 0 0 1px #70e7ff1f,0 18px 50px #00000047}.week-card-header,.profile-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.date-range,.now-badge{color:#8be9ff;text-shadow:0 0 6px,0 0 12px;font-size:.95rem}.now-badge{color:#ff8de1;background:#ff7ad91f;border:1px solid #ff8de15c;border-radius:999px;flex:none;padding:4px 11px}.week-card h2,.profile-card h2{color:#70e7ff;text-shadow:0 0 6px,0 0 12px;margin:4px 0 0;font-size:1.34rem;line-height:1.45}dl{gap:13px;margin:0;display:grid}dt{color:#ff8de1;text-shadow:0 0 6px #ff7ad9bf;font-size:1rem}dd{color:#fff;text-shadow:0 1px 8px #000000b8;margin:3px 0 0;font-size:1rem}.zodiac-symbol{color:#fff;text-shadow:0 0 8px #70e7fff2,0 0 16px #ff7ad9a6;background:#ffffff14;border:1px solid #70e7ff4d;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:2rem;line-height:1;display:grid}.modal-backdrop{z-index:30;padding:max(18px, env(safe-area-inset-top)) 18px max(96px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0004108f;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:#040c1ebd;border:1px solid #daf7ff38;border-radius:22px;width:min(100%,480px);max-height:min(78dvh,640px);padding:22px;overflow-y:auto;box-shadow:0 24px 72px #0000006b,inset 0 1px #ffffff17}.modal-card h2{color:#70e7ff;text-shadow:0 0 6px,0 0 12px;margin:0 0 14px;font-size:clamp(1.35rem,6vw,1.9rem);line-height:1.45}.modal-card p{color:#fffffff0;text-shadow:0 1px 8px #000000b8;margin:0}.modal-card p+p{margin-top:.8em}.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.modal-actions.single{grid-template-columns:1fr}.modal-button{cursor:pointer;border-radius:999px;min-height:46px;font-size:1rem;line-height:1.2;transition:transform .18s,background .18s,border-color .18s}.modal-button:active{transform:scale(.98)}.modal-button.ghost{color:#ffffffe6;background:#ffffff12;border:1px solid #ffffff38}.modal-button.primary{color:#fff;text-shadow:0 0 8px #70e7ff9e;background:linear-gradient(135deg,#70e7ff2e,#ff7ad924);border:1px solid #70e7ff70}.loading-row{color:#fffffff0;align-items:center;gap:10px;margin:12px 0 14px;display:flex}.loading-dot{background:#70e7ff;border-radius:999px;width:12px;height:12px;animation:1.2s ease-in-out infinite softPulse;box-shadow:0 0 8px #70e7ff,0 0 16px #ff7ad96b}.bottom-nav{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#020818ad;border:1px solid #d8e8ff33;border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100% - 20px,560px);margin:0 auto 12px;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 16px 48px #00000057,inset 0 1px #ffffff17}.bottom-nav button{color:#ffffffc2;cursor:pointer;background:0 0;border:0;border-radius:16px;place-items:center;gap:3px;min-width:0;min-height:60px;transition:background .18s,color .18s,transform .18s;display:grid}.bottom-nav button.active{color:#fff;text-shadow:0 0 8px #70e7ffcc;background:linear-gradient(135deg,#ff7ad924,#70e7ff1f);box-shadow:inset 0 0 0 1px #ffffff1a}.bottom-nav button:active{transform:scale(.98)}.bottom-nav span{white-space:nowrap;max-width:100%;font-size:.9rem;line-height:1.2}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes softPulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}@media (width>=720px){.content-panel{padding:44px 28px 124px}.hero,.page-title{padding:38px 36px 34px}.card-grid,.profile-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.glass-card{padding:23px}}@media (width<=420px){.content-panel{padding-left:14px;padding-right:14px}.bottom-nav{gap:5px;width:min(100% - 14px,560px)}.bottom-nav span{font-size:.82rem}.title-action-button{min-height:40px;font-size:.88rem}.modal-card{padding:20px}}
