:root{--primary-color: #4a90e2;--secondary-color: #555;--text-color: #e0e0e0;--text-color-light: #ffffff;--sidebar-text-color: #e0e0e0;--card-bg-color: #1e1e1e;--sidebar-bg-color: #151515;--body-bg-color: #000000;--border-color: #333;--input-bg-color: #2a2a2a;--font-family: "Gowun Dodum", sans-serif;--box-shadow: 0 4px 12px rgba(0, 0, 0, .5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--body-bg-color);color:var(--text-color);overflow:hidden;position:relative}#root{height:100vh;width:100vw}.app-layout{display:flex;height:100%}.sidebar{width:240px;background-color:var(--sidebar-bg-color);padding:2rem 1rem;border-right:1px solid var(--border-color);flex-shrink:0;display:flex;flex-direction:column;z-index:10;box-shadow:2px 0 10px #00000080}.sidebar-header{text-align:center;margin-bottom:2rem;padding:1rem 0;cursor:pointer}.sidebar-logo{font-size:3.5rem;color:var(--primary-color);display:inline-block;transition:color .3s,text-shadow .3s}.sidebar ul{list-style:none}.sidebar li{margin-bottom:1rem}.sidebar button{width:100%;padding:1rem;background:transparent;border:none;color:var(--sidebar-text-color);text-align:left;font-family:var(--font-family);font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:background-color .3s,color .3s}.sidebar button:hover{background-color:var(--input-bg-color)}.sidebar button.active{background:var(--primary-color);color:var(--text-color-light)}.main-content{flex-grow:1;display:flex;justify-content:center;align-items:center;padding:2rem;overflow-y:auto}.container{background:var(--card-bg-color);padding:2.5rem;border-radius:15px;width:100%;max-width:800px;text-align:center;position:relative;border:1px solid var(--border-color);box-shadow:var(--box-shadow);animation:fade-in-up .7s cubic-bezier(.39,.575,.565,1) both}@keyframes fade-in-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}h1{font-size:2.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--primary-color)}h1 span{background:linear-gradient(45deg,var(--primary-color),#87CEEB);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}p{font-size:1.1rem;margin-bottom:2rem;line-height:1.6;color:var(--text-color)}.container button{background:var(--primary-color);color:var(--text-color-light);border:none;padding:1rem 2rem;border-radius:50px;font-family:var(--font-family);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.container button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #4a90e24d}.container button:disabled{background:#555;color:#999;cursor:not-allowed;transform:translateY(0);box-shadow:none}.result-card{margin-top:2rem;padding:1.5rem;background:var(--input-bg-color);border:1px solid var(--border-color);border-radius:10px;min-height:100px;display:flex;justify-content:center;align-items:center;text-align:left;line-height:1.8;white-space:pre-wrap}.error{color:#e74c3c;font-weight:700}.loader{border:4px solid rgba(255,255,255,.1);border-left-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.input-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.gender-selector{display:flex;gap:1rem;justify-content:center}.gender-selector label{flex:1;max-width:150px;padding:.75rem;border-radius:50px;background-color:transparent;border:1px solid var(--border-color);cursor:pointer;transition:all .3s ease;color:var(--text-color);font-weight:600}.gender-selector label:hover{background-color:var(--input-bg-color);border-color:var(--primary-color)}.gender-selector label.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-color-light);font-weight:700}.gender-selector input[type=radio]{display:none}.date-inputs{display:flex;gap:1rem;justify-content:center}.date-inputs select{flex:1;max-width:150px;padding:.75rem;border-radius:8px;background-color:var(--input-bg-color);border:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-family);font-size:1rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23e0e0e0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .7em top 50%;background-size:.65em auto;transition:border-color .3s ease}.date-inputs select:hover{border-color:var(--primary-color)}.fortune-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.fortune-type-button{padding:1rem .5rem!important;font-size:1.1rem!important;font-weight:700;border-radius:15px!important;background:transparent!important;border:1px solid var(--border-color)!important;color:var(--text-color)!important}.fortune-type-button:not(:disabled):hover{background:var(--input-bg-color)!important;border-color:var(--primary-color)!important;color:var(--primary-color)!important}.tarot-shuffle-container{position:relative;width:150px;height:262px;margin:2rem auto 0;perspective:1000px}.shuffle-card{position:absolute;width:100%;height:100%;border-radius:8px;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid var(--border-color);box-shadow:0 5px 15px #0000004d;transform-origin:center center;opacity:0;animation:card-shuffle 3.2s ease-in-out forwards}.shuffle-card:after{content:"✦";font-size:6rem;color:var(--border-color);display:flex;justify-content:center;align-items:center;width:100%;height:100%;text-shadow:0 0 10px rgba(0,0,0,.5)}.shuffle-card:nth-child(1){animation-delay:0s}.shuffle-card:nth-child(2){animation-delay:.1s}.shuffle-card:nth-child(3){animation-delay:.2s}.shuffle-card:nth-child(4){animation-delay:.3s}.shuffle-card:nth-child(5){animation-delay:.4s}@keyframes card-shuffle{0%{opacity:0;transform:translateY(60px) scale(.9) rotateY(180deg)}20%{opacity:1;transform:translateY(0) scale(1) rotateY(0)}40%{transform:translate(-100px,-20px) rotate(-10deg) rotateY(10deg)}60%{transform:translate(100px,-20px) rotate(10deg) rotateY(-10deg)}85%,to{opacity:1;transform:translateY(0) scale(1) rotateY(0)}}.tarot-container{max-width:90vw;max-height:90vh;overflow-y:auto}.tarot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1.5rem;margin-top:2rem;transition:all .5s ease}.tarot-card-container{aspect-ratio:2 / 3.5;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.tarot-grid.selection-made .tarot-card-container:not(.revealed){opacity:.5;transform:scale(.95)}.tarot-card-container:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 10px 20px #0003}.tarot-card{width:100%;height:100%;position:relative;transition:transform .8s;transform-style:preserve-3d}.tarot-card-container.revealed .tarot-card{transform:rotateY(180deg)}.tarot-card-back,.tarot-card-front{position:absolute;width:100%;height:100%;border-radius:8px;box-shadow:0 5px 15px #0003;backface-visibility:hidden;display:flex;justify-content:center;align-items:center}.tarot-card-back{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid var(--border-color)}.tarot-card-back:after{content:"✦";font-size:5rem;color:var(--border-color)}.tarot-card-front{background-color:var(--card-bg-color);color:var(--text-color);transform:rotateY(180deg);flex-direction:column;justify-content:flex-start;padding:5%}.tarot-card-front img{width:100%;height:auto;border-radius:4px}.card-name{font-size:1rem;width:100%;white-space:pre-wrap;font-weight:700;margin-top:auto;padding-top:.5rem;text-align:center}.drawn-cards-wrapper{display:flex;justify-content:center;gap:2rem;margin:2rem 0}.drawn-cards-wrapper .tarot-card-container{width:180px;height:auto}.container .tarot-reset-btn{margin-top:1.5rem;background:var(--secondary-color)}.tarot-loader-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.tarot-loader-container p{margin:0;font-size:1.1rem}.tarot-card-back-loader{width:120px;aspect-ratio:2 / 3.5;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 5px 20px #0003;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.tarot-card-back-loader:after{content:"✦";font-size:4rem;color:var(--border-color)}.moving-day-input-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.moving-day-input-container input[type=date]{padding:.75rem;border-radius:8px;background-color:var(--input-bg-color);border:1px solid var(--border-color);color:var(--text-color);font-family:var(--font-family);font-size:1.1rem;cursor:pointer;color-scheme:dark;transition:border-color .3s ease}.moving-day-input-container input[type=date]:hover{border-color:var(--primary-color)}.moving-day-input-container button{padding:.85rem 1.5rem;font-size:1.1rem}.moving-advice-content{width:100%;max-height:45vh;overflow-y:auto;padding-right:15px;text-align:left}.moving-advice-content::-webkit-scrollbar{width:8px}.moving-advice-content::-webkit-scrollbar-track{background:#2c2c2c;border-radius:4px}.moving-advice-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.moving-advice-content::-webkit-scrollbar-thumb:hover{background:#777}.advice-section{margin-bottom:1.5rem}.advice-section:last-child{margin-bottom:.5rem}.advice-section h3{font-size:1.25rem;color:var(--primary-color);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.advice-section p{font-size:1rem;line-height:1.7;margin:0;white-space:pre-wrap}.floating-house-loader-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.floating-house-loader-container p{font-size:1.1rem;font-weight:700;margin:0}.floating-house-loader{position:relative;width:200px;height:250px;animation:float-up-down 4s ease-in-out infinite}.house{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px}.house-roof{width:0;height:0;border-left:60px solid transparent;border-right:60px solid transparent;border-bottom:50px solid #c86b53;position:relative;left:-10px}.house-body{width:100px;height:80px;background:#f0e4d7;position:relative;border-radius:0 0 5px 5px}.house-window{position:absolute;top:20px;left:20px;width:25px;height:25px;background:#a0c4ff;border:3px solid #6b4c3b;border-radius:3px}.house-door{position:absolute;bottom:0;right:15px;width:30px;height:50px;background:#6b4c3b;border-radius:5px 5px 0 0}.balloon-cluster{position:absolute;top:0;left:50%;transform:translate(-50%);width:120px;height:120px}.balloon{position:absolute;width:40px;height:50px;background:var(--color);border-radius:50%/60% 60% 40% 40%;transform-origin:bottom center;animation:var(--sway) 3s ease-in-out infinite;animation-delay:var(--delay)}.balloon:before{content:"";position:absolute;bottom:-60px;left:50%;width:1px;height:60px;background:#ccc;transform:translate(-50%)}.balloon:nth-child(1){top:0;left:40px}.balloon:nth-child(2){top:10px;left:0}.balloon:nth-child(3){top:10px;left:80px}.balloon:nth-child(4){top:30px;left:20px}.balloon:nth-child(5){top:30px;left:60px}.balloon:nth-child(6){top:40px;left:40px}@keyframes float-up-down{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes sway1{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes sway2{0%,to{transform:rotate(5deg)}50%{transform:rotate(-10deg)}}@keyframes sway3{0%,to{transform:rotate(-10deg)}50%{transform:rotate(5deg)}}.lotto-result-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.lotto-ball-container{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;align-items:center}.lotto-ball{width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;font-size:1.5rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);position:relative;box-shadow:inset -3px -3px 5px #0003,2px 2px 5px #ffffff1a;animation:pop-in .5s cubic-bezier(.25,.46,.45,.94) both;animation-delay:var(--delay, 0s)}.lotto-ball:before{content:"";position:absolute;top:5%;left:15%;width:80%;height:40%;background:radial-gradient(circle,#fff9,#fff0 80%);border-radius:50%;transform:rotate(45deg);pointer-events:none}@keyframes pop-in{0%{opacity:0;transform:scale(.5) translateY(20px)}80%{transform:scale(1.1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.ball-color-0{background:#fbc400}.ball-color-1{background:#69c8f2}.ball-color-2{background:#ff7272}.ball-color-3{background:#aaa}.ball-color-4{background:#b0d840}.lotto-message{font-size:1.1rem;font-style:italic;margin-top:1rem;text-align:center;white-space:pre-wrap}.container .lotto-button{margin-bottom:1.5rem}.lotto-loader-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.lotto-loader-container p{font-size:1.1rem;font-weight:700;margin:0}.lotto-loader-machine{width:200px;height:200px;border:3px solid var(--border-color);background:#ffffff0d;border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 0 15px #00000080}.lotto-loader-ball-anim{position:absolute;width:30px;height:30px;border-radius:50%;animation:lotto-bounce 2s infinite ease-in-out}.lotto-loader-ball-anim:nth-child(1){animation-delay:-.1s;bottom:10px;left:85px}.lotto-loader-ball-anim:nth-child(2){animation-delay:-.5s;bottom:20px;left:45px}.lotto-loader-ball-anim:nth-child(3){animation-delay:-.9s;bottom:20px;left:125px}.lotto-loader-ball-anim:nth-child(4){animation-delay:-1.3s;bottom:40px;left:70px}.lotto-loader-ball-anim:nth-child(5){animation-delay:-1.7s;bottom:40px;left:100px}@keyframes lotto-bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-80px) translate(10px) scale(1.05) rotate(90deg)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-50px) translate(-10px) scale(.95) rotate(-90deg)}}.mobile-menu-button{display:none;position:fixed;top:15px;left:15px;z-index:1001;background:var(--primary-color);color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.mobile-menu-button{display:block}.sidebar-wrapper{position:fixed;top:0;left:0;height:100%;z-index:1000;transform:translate(-100%);transition:transform .3s ease-in-out;background-color:var(--sidebar-bg-color)}.sidebar-wrapper.open{transform:translate(0)}.sidebar{width:240px;height:100%;border-right:none}.main-content{padding:1rem}}
