:root{--color-bg-deep:#060211;--color-bg-card:#120a248c;--color-bg-card-hover:#1c1036b3;--color-border:#d4af3733;--color-border-glow:#d4af3780;--color-gold:#d4af37;--color-gold-bright:gold;--color-gold-pale:khaki;--color-text-light:#f5f2eb;--color-text-muted:#bdaebf;--color-love:#ff6584;--color-career:#4dabf7;--color-wealth:#ffd43b;--font-heading:"Cinzel", serif;--font-sans:"Outfit", sans-serif;--font-jp-serif:"Sawarabi Mincho", serif;--transition-smooth:all .4s cubic-bezier(.25, .8, .25, 1);--shadow-mystical:0 8px 32px 0 #0006;--shadow-gold-glow:0 0 20px #d4af3773}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-deep);color:var(--color-text-light);font-family:var(--font-sans), sans-serif;min-height:100vh;line-height:1.6;position:relative;overflow-x:clip}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{background:#d4af374d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}.stars,.twinkling,.nebula{z-index:-1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stars{background:#000 url(https://www.script-tutorials.com/demos/360/images/stars.png) top;position:fixed}.twinkling{background:url(https://www.script-tutorials.com/demos/360/images/twinkling.png) top;animation:200s linear infinite move-twink-back;position:fixed}.nebula{background:radial-gradient(circle at 30% 20%,#551a8b40 0%,#0000 40%),radial-gradient(circle at 80% 70%,#d4af3714 0%,#0000 35%),radial-gradient(circle,#0d0a30e6 0%,#0000 100%);position:fixed}@keyframes move-twink-back{0%{background-position:0 0}to{background-position:-10000px 5000px}}.app-container{flex-direction:column;max-width:1000px;min-height:100vh;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.sticky-header{text-align:center;z-index:100;-webkit-backdrop-filter:blur(12px);background:#060211d9;border-bottom:1px solid #d4af3726;margin:-2.5rem -1.5rem 1rem;padding:1rem 1rem .5rem;position:sticky;top:0}.logo{align-items:center;gap:1.5rem;margin-bottom:.5rem;display:inline-flex}.header-top-actions{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;width:100%;padding:.5rem 1rem 0;display:flex}.lang-select-wrapper{color:var(--color-gold);background:#ffffff0d;border:1px solid #d4af3733;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.lang-select{color:var(--color-text-light);cursor:pointer;appearance:none;background:0 0;border:none;outline:none;font-family:inherit;font-size:.8rem}.lang-select option{background:var(--color-bg-deep);color:var(--color-text-light)}.header-share-area{text-align:right;z-index:10}.header-share-area p{color:var(--color-gold);font-size:.75rem;font-family:var(--font-jp-serif);margin:0 0 .3rem}.header-share-buttons{justify-content:flex-end;gap:.4rem;display:flex}.share-btn{color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.7rem;transition:opacity .2s;display:flex}.share-btn:hover{opacity:.8}.share-btn.line{background:#06c755}.share-btn.insta{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.share-btn.copy{background:#ffffff26;border:1px solid #ffffff4d}.logo-title{font-family:var(--font-heading);letter-spacing:.35em;background:linear-gradient(135deg, #fff 0%, var(--color-gold) 60%, var(--color-gold-bright) 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 15px #d4af3740;-webkit-background-clip:text;font-size:2.8rem;font-weight:800}.logo i{color:var(--color-gold);font-size:1.4rem}.tagline{font-family:var(--font-jp-serif);color:var(--color-text-muted);letter-spacing:.12em;margin-top:.6rem;font-size:1.05rem}.glass-nav{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-mystical);background:#ffffff05;border:1px solid #ffffff0d;border-radius:50px;justify-content:center;gap:1.5rem;margin-bottom:3.5rem;padding:.6rem;display:flex}.nav-btn{color:var(--color-text-muted);font-family:var(--font-sans), sans-serif;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #0000;border-radius:30px;align-items:center;gap:.75rem;padding:.75rem 2.2rem;font-size:1.1rem;font-weight:500;display:flex}.nav-btn:hover{color:var(--color-text-light);background:#ffffff0d}.nav-btn.active{border:1px solid var(--color-border-glow);color:var(--color-gold-bright);box-shadow:var(--shadow-gold-glow);text-shadow:0 0 10px #d4af374d;background:linear-gradient(135deg,#d4af3726 0%,#120a2499 100%)}.main-content{flex:1}.tab-pane{animation:.8s forwards fadeIn;display:none}.tab-pane.active{display:block}.section-header{text-align:center;max-width:700px;margin:0 auto 3rem}.section-header h2{font-family:var(--font-heading), var(--font-jp-serif);letter-spacing:.12em;color:var(--color-gold);text-shadow:0 0 10px #d4af3726;margin-bottom:1rem;font-size:2.2rem}.section-header p{font-family:var(--font-jp-serif);color:var(--color-text-muted);font-size:.95rem;line-height:1.8}.btn{font-family:var(--font-sans), sans-serif;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:30px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2.2rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-gold{background:linear-gradient(135deg, var(--color-gold) 0%, #b28d22 100%);color:#060211;box-shadow:var(--shadow-gold-glow)}.btn-gold:hover{background:linear-gradient(135deg, var(--color-gold-bright) 0%, var(--color-gold) 100%);transform:translateY(-2px);box-shadow:0 0 25px #ffd70099}.btn-gold:active{transform:translateY(0)}.w-full{width:100%}.horoscope-subtabs{justify-content:center;gap:2rem;margin-bottom:2.5rem;display:flex}.subtab-btn{color:var(--color-text-muted);font-family:var(--font-jp-serif), sans-serif;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:.5rem 1.5rem;font-size:1.05rem;font-weight:600;position:relative}.subtab-btn:hover{color:#fff}.subtab-btn:after{content:"";background:var(--color-gold);width:70%;height:2px;transition:var(--transition-smooth);position:absolute;bottom:0;left:15%;transform:scaleX(0)}.subtab-btn.active{color:var(--color-gold-bright)}.subtab-btn.active:after{transform:scaleX(1)}.horoscope-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;max-width:800px;margin:0 auto 3rem;animation:.6s forwards fadeIn;display:grid}.h-item{background:var(--color-bg-card);border:1px solid var(--color-border);text-align:center;cursor:pointer;transition:var(--transition-smooth);border-radius:15px;padding:1.5rem 1.2rem}.h-item:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-glow);transform:translateY(-8px);box-shadow:0 8px 25px #d4af3726}.zodiac-symbol{color:var(--color-gold);transition:var(--transition-smooth);margin-bottom:.8rem;font-family:Cinzel,serif;font-size:2.2rem;line-height:1;display:inline-block}.h-item:hover .zodiac-symbol{color:var(--color-gold-bright);transform:scale(1.15)}.h-name{font-family:var(--font-jp-serif);margin-bottom:.3rem;font-size:1rem;font-weight:600;display:block}.h-date{color:var(--color-text-muted);font-size:.75rem}.horoscope-result-card{border:1px solid var(--color-border);max-width:700px;box-shadow:var(--shadow-mystical);background:#ffffff05;border-radius:20px;margin:0 auto;padding:2.2rem;animation:.6s cubic-bezier(.25,.8,.25,1) forwards slideUp}.h-result-header{border-bottom:1px solid #ffffff14;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.2rem;display:flex}.h-result-icon{border:1px solid var(--color-border);width:60px;height:60px;color:var(--color-gold-bright);box-shadow:var(--shadow-gold-glow);background:#d4af371a;border-radius:50%;justify-content:center;align-items:center;display:flex}.h-result-icon .zodiac-symbol{margin-bottom:0;font-size:2.5rem}.h-result-title{font-family:var(--font-jp-serif);color:#fff;font-size:1.5rem}.h-result-date{color:var(--color-text-muted);font-size:.85rem}.h-result-body{flex-direction:column;gap:1.8rem;display:flex}.h-result-content{font-family:var(--font-jp-serif);color:var(--color-text-light);font-size:1rem;line-height:1.8}.lucky-items{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;gap:1rem;padding:1.2rem;display:flex}.lucky-item{text-align:center;flex-direction:column;flex:1;gap:.4rem;display:flex}.lucky-item:not(:last-child){border-right:1px solid #ffffff14}.lucky-label{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.lucky-value{font-family:var(--font-jp-serif);color:var(--color-gold-pale);font-size:.95rem;font-weight:600}.saju-container{flex-direction:column;gap:2.2rem;max-width:720px;margin:0 auto;display:flex}.saju-form-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-shadow:var(--shadow-mystical);border-radius:20px;padding:2.2rem}.card-header-small{align-items:center;gap:.8rem;margin-bottom:1.2rem;display:flex}.card-header-small i{font-size:1.25rem}.card-header-small h3{font-family:var(--font-jp-serif);color:var(--color-gold-bright);font-size:1.25rem}.api-config-card{background:#120a2459;border:1px dashed #d4af374d}.config-desc{color:var(--color-text-muted);margin-bottom:1.2rem;font-size:.85rem;line-height:1.6}.api-key-input-wrapper{gap:.8rem;margin-bottom:.8rem;display:flex}.api-key-input-wrapper input{border:1px solid var(--color-border);color:#fff;font-family:var(--font-sans);transition:var(--transition-smooth);background:#06021180;border-radius:8px;outline:none;flex:1;padding:.75rem 1rem}.api-key-input-wrapper input:focus{border-color:var(--color-gold);box-shadow:0 0 10px #d4af3733}.btn-api-save{background:var(--color-gold);color:#060211;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:8px;padding:0 1.5rem;font-weight:600}.btn-api-save:hover{background:var(--color-gold-bright);box-shadow:0 0 15px #ffd70066}.api-key-status{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.api-key-status.status-set{color:#4df782}.api-key-status.status-unset{color:#ff6584}.api-link{color:var(--color-gold-pale);transition:var(--transition-smooth);margin-top:.4rem;font-size:.8rem;text-decoration:none;display:inline-block}.api-link:hover{color:var(--color-gold-bright);text-decoration:underline}.saju-form{flex-direction:column;gap:1.8rem;display:flex}.form-group{flex-direction:column;gap:.6rem;display:flex}.form-group label{font-family:var(--font-jp-serif);color:var(--color-text-light);font-size:.95rem;font-weight:600}.form-group label .required{color:#ff6584;margin-left:2px}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time]{border:1px solid var(--color-border);color:#fff;font-family:var(--font-sans), sans-serif;transition:var(--transition-smooth);background:#06021199;border-radius:8px;outline:none;padding:.8rem 1rem;font-size:1rem}.form-group input[type=text]:focus,.form-group input[type=date]:focus,.form-group input[type=time]:focus{border-color:var(--color-gold-bright);box-shadow:0 0 12px #d4af3740}.label-with-checkbox{justify-content:space-between;align-items:center;display:flex}.checkbox-wrapper{align-items:center;gap:.4rem;display:flex}.checkbox-wrapper input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-gold);cursor:pointer}.checkbox-wrapper label{color:var(--color-text-muted);cursor:pointer;font-size:.85rem}.gender-selector{grid-template-columns:repeat(3,1fr);gap:.8rem;display:grid}.gender-btn{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-jp-serif);cursor:pointer;transition:var(--transition-smooth);background:#06021166;border-radius:8px;padding:.8rem;font-size:.95rem}.gender-btn:hover{color:#fff;background:#ffffff0d}.gender-btn.active{border-color:var(--color-gold-bright);color:var(--color-gold-bright);background:linear-gradient(135deg,#d4af371f 0%,#120a2480 100%);box-shadow:0 0 10px #d4af3733}.saju-loading-container{text-align:center;padding:3rem 1.5rem;animation:.5s forwards fadeIn}.cosmic-loader{width:140px;height:140px;margin:0 auto 2.5rem;position:relative}.orbit-ring{border:2px solid #0000;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-1{border-top-color:#d4af37cc;border-bottom-color:#d4af371a;width:130px;height:130px;animation:2.5s linear infinite spin-clockwise}.ring-2{border-left-color:#8b5cf6cc;border-right-color:#8b5cf626;width:100px;height:100px;animation:1.8s linear infinite spin-counter-clockwise}.ring-3{border-top-color:#06b6d4b3;border-bottom-color:#06b6d41a;width:70px;height:70px;animation:1.2s linear infinite spin-clockwise}.yinyang-center{color:var(--color-gold-bright);font-size:1.8rem;animation:2s ease-in-out infinite pulse-mystical,20s linear infinite spin-clockwise;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin-clockwise{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes spin-counter-clockwise{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes pulse-mystical{0%,to{opacity:.7;scale:.95}50%{opacity:1;filter:drop-shadow(0 0 10px #ffd70099);scale:1.1}}#loader-title{font-family:var(--font-jp-serif);color:var(--color-gold);letter-spacing:.1em;margin-bottom:.6rem;font-size:1.2rem}#loader-subtitle{font-family:var(--font-jp-serif);color:var(--color-text-muted);font-size:.85rem}.saju-result-card{background:var(--color-bg-card);border:2px solid var(--color-gold);box-shadow:0 20px 50px #0009, var(--shadow-gold-glow);border-radius:20px;padding:4rem 2.2rem 3rem;animation:.8s cubic-bezier(.25,.8,.25,1) forwards slideUp;position:relative}.result-actions-wrapper{gap:.6rem;display:flex;position:absolute;top:20px;right:20px}.btn-action{border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-sans), sans-serif;cursor:pointer;transition:var(--transition-smooth);background:#ffffff0d;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.8rem;font-weight:500;display:inline-flex}.btn-action:hover{color:var(--color-gold-bright);border-color:var(--color-border-glow);background:#d4af371a;transform:translateY(-1px)}.btn-action:active{transform:translateY(0)}.result-header{border-bottom:1px solid #d4af374d;justify-content:center;align-items:center;gap:.8rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.result-header i{font-size:1.6rem}.result-header h3{font-family:var(--font-jp-serif);letter-spacing:.2em;color:var(--color-gold-bright);text-shadow:0 0 10px #ffd7004d;font-size:1.6rem}.result-footer{border-top:1px solid #ffffff14;justify-content:center;margin-top:2.5rem;padding-top:2rem;display:flex}.result-text-body{font-family:"Kiwi Maru", var(--font-jp-serif), serif;color:var(--color-text-light);font-size:1.05rem;line-height:1.9}.result-text-body strong{color:var(--color-gold-bright);vertical-align:middle;text-shadow:0 0 5px #ffd7001a;background:#d4af3714;border:1px solid #d4af3740;border-radius:4px;margin:0 .15rem;padding:.15rem .45rem;font-weight:600;display:inline-block}.saju-card-box{transition:var(--transition-smooth);background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 4px 15px #00000026}.saju-card-box:hover{border-color:var(--color-border);box-shadow:0 8px 25px #d4af3714}.card-box-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-smooth);background:#ffffff03;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.card-box-header:hover{background:#d4af370d}.card-box-header h2{border:none!important;margin:0!important;padding:0!important;font-size:1.2rem!important}.accordion-icon{color:var(--color-gold);font-size:1rem;transition:transform .3s cubic-bezier(.4,0,.2,1)}.saju-card-box.collapsed .accordion-icon{transform:rotate(0)}.saju-card-box:not(.collapsed) .accordion-icon{transform:rotate(180deg)}.card-box-body{background:#06021126;border-top:1px solid #ffffff0d;padding:1.5rem;animation:.4s forwards fadeIn}.saju-card-box.collapsed .card-box-body{display:none}@media print{.saju-card-box.collapsed .card-box-body{display:block!important}.saju-card-box .accordion-icon{display:none!important}body,html,.app-container,.section-content,.saju-result-card,.saju-card-box,.result-text-body,.result-text-body table{height:auto!important;max-height:none!important;overflow:visible!important}.saju-card-box{page-break-inside:auto!important}body{color:#000!important;background:#fff!important}}.luck-good{color:#bbfccb;background:#4df78212;border:1px solid #4df78233;border-left:4px solid #4df782;border-radius:4px 8px 8px 4px;margin:1rem 0;padding:.8rem 1.2rem;font-size:.95rem;line-height:1.7;box-shadow:0 4px 10px #0000001a}.luck-bad{color:#ffcbd5;background:#ff658412;border:1px solid #ff658433;border-left:4px solid #ff6584;border-radius:4px 8px 8px 4px;margin:1rem 0;padding:.8rem 1.2rem;font-size:.95rem;line-height:1.7;box-shadow:0 4px 10px #0000001a}.luck-good i{color:#4df782;margin-right:.6rem;font-size:1.05rem}.luck-bad i{color:#ff6584;margin-right:.6rem;font-size:1.05rem}.result-text-body h1,.result-text-body h2,.result-text-body h3,.result-text-body h4{color:var(--color-gold);letter-spacing:.05em;margin-top:2.2rem;margin-bottom:1rem;font-weight:700}.result-text-body h1{border-bottom:1px solid #d4af3733;padding-bottom:.6rem;font-size:1.8rem}.result-text-body h2{border-left:4px solid var(--color-gold);padding-left:.75rem;font-size:1.45rem}.result-text-body h3{font-size:1.2rem}.result-text-body h4{color:var(--color-gold-pale);font-size:1.05rem}.result-text-body p{text-align:justify;margin-bottom:1.2rem}.result-text-body ul,.result-text-body ol{margin-bottom:1.5rem;padding-left:1.5rem}.result-text-body li{margin-bottom:.6rem}.result-text-body blockquote{border-left:3px solid var(--color-gold-pale);color:var(--color-text-muted);background:#ffffff08;border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1rem 1.5rem;font-style:italic}.result-text-body table{border-collapse:collapse;background:#ffffff03;border:1px solid #ffffff14;border-radius:8px;width:100%;margin:2rem 0;overflow:hidden}.result-text-body th,.result-text-body td{text-align:center;border-bottom:1px solid #ffffff14;padding:.8rem 1rem}.result-text-body th{color:var(--color-gold-bright);background:#d4af371a;font-weight:600}.result-text-body tr:last-child td{border-bottom:none}.result-text-body tr:hover td{background:#ffffff05}footer{text-align:center;border-top:1px solid #ffffff0d;flex-direction:column;gap:.6rem;margin-top:5rem;padding-top:2.2rem;display:flex}footer p{color:var(--color-text-muted);font-size:.85rem}.footer-note{font-family:var(--font-jp-serif);opacity:.6;font-size:.75rem!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.cosmic-spin{animation:20s linear infinite spin}.cosmic-pulse{animation:4s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@media (max-width:768px){.logo-title{font-size:2.2rem}.header-top-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:0;margin-bottom:.5rem;padding:0 .5rem}.header-share-area{justify-content:center;align-items:center;gap:.5rem;margin-bottom:0;display:flex;position:relative}.header-share-area p{margin:0}.header-share-buttons{justify-content:center}.glass-nav{border-radius:20px;flex-wrap:wrap;gap:.5rem}.nav-btn{justify-content:center;width:100%;padding:.6rem 1.2rem}.horoscope-grid{grid-template-columns:repeat(3,1fr)}.lucky-items{flex-direction:column;gap:1rem}.lucky-item:not(:last-child){border-bottom:1px solid #ffffff14;border-right:none;padding-bottom:.8rem}.gender-selector{grid-template-columns:1fr;gap:.5rem}.saju-form-card,.saju-result-card{padding:1.5rem}.result-header h3{font-size:1.3rem}}@media (max-width:480px){.horoscope-grid{grid-template-columns:repeat(2,1fr)}.api-key-input-wrapper{flex-direction:column}.btn-api-save{padding:.75rem 0}}.saju-divider{background:linear-gradient(90deg,#0000,#d4af3740,#0000);border:0;height:1px;margin:2rem 0}.person-title-badge{font-family:var(--font-jp-serif);color:var(--color-gold);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.1rem;display:flex}.saju-select{border:1px solid var(--color-border);color:#fff;font-family:var(--font-sans), sans-serif;transition:var(--transition-smooth);cursor:pointer;background:#06021199;border-radius:8px;outline:none;width:100%;padding:.8rem 1rem;font-size:1rem}.saju-select option{color:#fff;background:#120a24}.saju-select:focus{border-color:var(--color-gold-bright);box-shadow:0 0 12px #d4af3740}.saju-person-section{flex-direction:column;gap:1.2rem;display:flex}.calendar-container{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:2rem}.calendar-header{text-align:center;margin-bottom:1.5rem}.calendar-header h3{font-family:var(--font-jp-serif);color:var(--color-gold);margin-bottom:.5rem;font-size:1.4rem}.calendar-months-wrapper{flex-direction:column;gap:2rem;display:flex}@media (min-width:768px){.calendar-months-wrapper{flex-direction:row;justify-content:center;gap:1.5rem}}.calendar-month{background:#06021166;border:1px solid #d4af3726;border-radius:12px;flex:1;min-width:0;padding:1.2rem}.calendar-month h4{text-align:center;color:var(--color-gold-pale);margin-bottom:1rem;font-size:1.1rem}.calendar-grid-inner{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.calendar-day-header{text-align:center;color:var(--color-text-muted);border-bottom:1px solid #ffffff1a;margin-bottom:.5rem;padding-bottom:.5rem;font-size:.75rem}.calendar-day-cell{background:#ffffff08;border:1px solid #ffffff0d;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:.2rem 0;font-size:.8rem;transition:all .2s;display:flex;position:relative}.calendar-day-cell.empty{background:0 0;border:none}.calendar-day-cell:not(.empty):hover{background:#d4af371a;transform:translateY(-2px)}.calendar-day-date{margin-bottom:.2rem;font-weight:600}.calendar-day-rank{font-size:.7rem;font-family:var(--font-jp-sans);margin-top:auto}.calendar-day-cell.rank-1{border-color:var(--color-gold);background:#d4af3733;box-shadow:0 0 10px #d4af374d}.calendar-day-cell.rank-1 .calendar-day-rank{color:var(--color-gold-bright);font-weight:800}.calendar-day-cell.rank-1 .calendar-day-rank:before{content:"👑 "}.calendar-day-cell.rank-2{background:#c0c0c026;border-color:silver}.calendar-day-cell.rank-2 .calendar-day-rank{color:#e0e0e0;font-weight:700}.calendar-day-cell.rank-2 .calendar-day-rank:before{content:"✨ "}.calendar-day-cell.rank-3{background:#cd7f3226;border-color:#cd7f32}.calendar-day-cell.rank-3 .calendar-day-rank{color:#df9e5c;font-weight:700}.calendar-day-cell.rank-3 .calendar-day-rank:before{content:"💫 "}.calendar-day-cell.rank-bad{background:#dc35451a;border-color:#dc354580}.calendar-day-cell.rank-bad .calendar-day-rank{color:#ff6b6b;font-size:.65rem;font-weight:700}.calendar-day-cell.rank-bad .calendar-day-rank:before{content:"⚠️ "}.today-highlight{position:relative;box-shadow:inset 0 0 10px #d4af3766;border:2px solid var(--color-gold-bright)!important}.today-highlight:after{content:"今日";background:var(--color-gold-bright);color:#000;font-size:.55rem;font-weight:700;font-family:var(--font-jp-sans);border-radius:4px;padding:2px 4px;position:absolute;top:-8px;right:-8px}@media (max-width:768px){.calendar-nav{gap:.5rem!important}.calendar-nav button{padding:.4rem .6rem!important;font-size:.75rem!important}.calendar-nav span{min-width:90px!important;font-size:1rem!important}.lucky-items{flex-direction:column;gap:1rem}.h-result-header{text-align:center;flex-direction:column;gap:1rem}.form-group input,.saju-select{padding:.9rem 1rem}.btn{padding:.9rem 1.5rem}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#060211d9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;animation:.3s forwards fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background:linear-gradient(135deg,#ffffff0d 0%,#d4af370d 100%);border:1px solid #d4af374d;border-radius:24px;width:100%;max-width:500px;padding:2.5rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards slideUp;position:relative;box-shadow:0 10px 40px #00000080,inset 0 0 20px #d4af371a}.modal-close{color:var(--color-text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;font-size:1.5rem;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--color-gold-bright);transform:rotate(90deg)}.modal-icon{color:var(--color-gold-bright);filter:drop-shadow(0 0 10px #d4af3766);margin-bottom:1rem;font-size:3.5rem;display:inline-block}.modal-title{font-family:var(--font-jp-serif);color:#fff;margin-bottom:.5rem;font-size:1.8rem}.modal-date{color:var(--color-gold-pale);margin-bottom:1.5rem;font-size:.85rem;display:block}.modal-body{color:var(--color-text-light);text-align:left;margin-bottom:2rem;font-size:1rem;line-height:1.8}.modal-lucky-grid{background:#0003;border:1px solid #ffffff0d;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.2rem;display:grid}.modal-lucky-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.modal-lucky-label{color:var(--color-text-muted);font-size:.7rem}.modal-lucky-value{color:#fff;text-align:center;font-size:.85rem;font-weight:600}.survey-card{text-align:center;background:#ffffff05;border:1px dashed #d4af3766;border-radius:16px;margin-top:2rem;padding:2rem;animation:.6s forwards fadeIn}.survey-card h4{color:var(--color-gold);font-family:var(--font-jp-serif);margin-bottom:.5rem;font-size:1.3rem}.survey-card p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.9rem}.survey-grid{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.survey-btn{color:#fff;cursor:pointer;width:40px;height:40px;transition:var(--transition-smooth);background:#0000004d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.survey-btn:hover{border-color:var(--color-gold);background:#d4af3733;transform:translateY(-2px)}.survey-btn.active{background:var(--color-gold);color:#000;border-color:var(--color-gold-bright);transform:scale(1.1);box-shadow:0 0 10px #d4af3780}.promo-banner{text-align:center;color:var(--color-gold-bright);background:linear-gradient(90deg,#d4af371a 0%,#d4af3733 50%,#d4af371a 100%);border-bottom:1px solid #d4af374d;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700}.counter-display{justify-content:center;gap:2rem;margin-top:1rem;margin-bottom:1rem;display:flex}.counter-item{flex-direction:column;align-items:center;display:flex}.counter-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.counter-value{font-family:var(--font-sans);color:#fff;text-shadow:0 0 8px #d4af3766;font-size:1.4rem;font-weight:700}.legal-container{max-width:800px;margin:0 auto;padding:2rem 1.5rem}.legal-content{background:var(--color-bg-card);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:3rem 2rem}.legal-content h1{font-family:var(--font-heading);color:var(--color-gold);text-align:center;margin-bottom:2rem;font-size:2rem}.legal-content h2{color:var(--color-gold-pale);border-bottom:1px solid #d4af3733;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.3rem}.legal-content p,.legal-content ul{color:var(--color-text-light);margin-bottom:1rem;line-height:1.8}.legal-content ul{padding-left:1.5rem}.legal-content li{margin-bottom:.5rem}.legal-content a{color:var(--color-love);text-decoration:underline}.last-updated{text-align:right;color:var(--color-text-muted);margin-top:3rem;font-size:.9rem}.info-list{margin-bottom:2rem;padding:0;list-style:none}.info-list li{border-left:3px solid var(--color-gold);color:var(--color-text-light);margin-bottom:.8rem;padding-left:1rem}.contact-btn-container{text-align:center;margin-top:2rem}.contact-btn{background:linear-gradient(135deg, var(--color-gold) 0%, var(--color-gold-bright) 100%);transition:var(--transition-smooth);box-shadow:var(--shadow-mystical);border-radius:30px;padding:1rem 2rem;font-size:1.1rem;font-weight:700;display:inline-block;color:var(--color-bg-deep)!important;text-decoration:none!important}.contact-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #d4af3799}.contact-btn i{margin-right:.5rem}.birth-date-inputs{align-items:center;gap:.5rem;display:flex}.birth-date-inputs input{text-align:center;flex:1;min-width:0;padding:.8rem .2rem}@media (max-width:480px){.birth-date-inputs{gap:.3rem}.birth-date-inputs input{padding:.7rem .1rem}.birth-date-inputs span{white-space:nowrap;font-size:.85rem}}
