.step-indicator{width:100%;height:.8rem;background-color:var(--color-border);border-radius:.4rem;margin:0 auto var(--spacing-md) auto;position:relative;overflow:hidden}.step-indicator-progress{height:100%;background-color:var(--color-primary);border-radius:.4rem;transition:width .3s ease}.step-indicator-text{position:absolute;top:-2.5rem;right:0;font-size:1.2rem;color:var(--color-text-secondary);font-weight:500}#toast-container{position:fixed;top:2rem;left:0;right:0;z-index:10001;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-md);box-sizing:border-box}.toast{padding:1.2rem 2.4rem;border-radius:2.4rem;background:#000c;color:#fff;font-size:1.4rem;opacity:0;transform:translateY(2rem);transition:all .3s ease;width:100%;max-width:45rem;box-sizing:border-box;word-wrap:break-word;cursor:pointer;-webkit-user-select:none;user-select:none}.toast:hover{transform:translateY(0) scale(1.02);box-shadow:0 4px 12px #00000026}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:var(--color-success)}.toast-error{background:var(--color-error)}.toast-info{background:var(--color-accent)}.toast-warning{background:#f39c12}#modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}#modal-overlay.show{opacity:1;visibility:visible}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 .8rem 2.4rem #0003;max-width:90%;max-height:90vh;width:45rem;transform:scale(.8);transition:transform .3s ease;overflow:hidden;display:flex;flex-direction:column}#modal-overlay.show .modal{transform:scale(1)}.modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:.1rem solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.8rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:2.4rem;color:var(--color-text-secondary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-radius:var(--radius-full);transition:all .2s ease}.modal-close:hover{background-color:var(--color-secondary);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1;font-size:1.6rem;color:var(--color-text-primary);line-height:1.5}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:.1rem solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-weight:600;transition:all .2s ease;border:none;cursor:pointer;font-size:1.4rem}.modal-btn-cancel{background-color:var(--color-secondary);color:var(--color-text-primary)}.modal-btn-confirm{background-color:var(--color-primary);color:#fff}.modal-btn:hover{opacity:.9}.modal-success .modal-title{color:var(--color-success)}.modal-error .modal-title{color:var(--color-error)}.modal-warning .modal-title{color:#ff9800}.modal-info .modal-title{color:var(--color-accent)}.modal-icon{margin-right:var(--spacing-sm);font-size:2rem}[data-theme=dark] .modal{background:var(--color-surface);box-shadow:0 .8rem 2.4rem #0006}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:var(--color-border)}[data-theme=dark] .modal-close:hover{background-color:var(--color-secondary)}#fortune-cookie-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}#fortune-cookie-overlay.show{opacity:1;visibility:visible}.fortune-cookie{position:relative;width:32rem;height:32rem;perspective:100rem;transform-style:preserve-3d}.cookie-container{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s}.fortune-cookie.open .cookie-container{transform:rotateY(180deg)}.cookie-front,.cookie-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 1rem 3rem #0000004d}.cookie-front{background-color:#f8d0a4;background-image:radial-gradient(circle at 30% 30%,#f8d0a4,#e5a55d);border:.3rem solid #d98c40}.cookie-front:after{content:"🥠";font-size:10rem;position:absolute}.cookie-back{background-color:#fff9e6;background-image:radial-gradient(circle at 30% 30%,#fff9e6,#ffebc1);border:.3rem solid #d98c40;transform:rotateY(180deg);padding:4rem 2rem;text-align:center;overflow:hidden}.fortune-title{margin:0 0 2rem;font-size:2.4rem;color:#d98c40;font-weight:700;text-shadow:.1rem .1rem .2rem rgba(0,0,0,.1)}.fortune-message{font-size:1.9rem;color:#6b5b3f;line-height:1.5;flex-grow:1;display:flex;align-items:center;justify-content:center;margin:0}.cookie-close-btn{background-color:#d98c40;color:#fff;border:none;padding:1rem 2rem;border-radius:2rem;font-size:1.6rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 .4rem .6rem #0000001a}.cookie-close-btn:hover{background-color:#c67d35;box-shadow:0 .6rem .8rem #00000026}.cookie-close-btn:active{transform:translateY(0);box-shadow:0 .2rem .4rem #0000001a}[data-theme=dark] .cookie-front{background-color:#e5a55d;background-image:radial-gradient(circle at 30% 30%,#e5a55d,#c67d35);border-color:#b36a30}[data-theme=dark] .cookie-back{background-color:#ffebc1;background-image:radial-gradient(circle at 30% 30%,#ffebc1,#e5a55d);border-color:#b36a30}[data-theme=dark] .fortune-title{color:#b36a30}[data-theme=dark] .fortune-message{color:#8a7355}[data-theme=dark] .cookie-close-btn{background-color:#b36a30}[data-theme=dark] .cookie-close-btn:hover{background-color:#9a5f29}@media(max-width:48rem){.fortune-cookie{width:28rem;height:28rem}.fortune-title{font-size:2rem;margin-bottom:1.5rem}.fortune-message{font-size:1.4rem}.cookie-back{padding:3rem 1.5rem}}.tarot-reading-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.tarot-reading-overlay.show{opacity:1;visibility:visible}.tarot-reading-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:1.5rem;padding:2.5rem;max-width:50rem;width:90%;box-shadow:0 1.5rem 3rem #0000004d;transform:scale(.9);transition:transform .3s ease;color:#fff}.tarot-reading-overlay.show .tarot-reading-container{transform:scale(1)}.tarot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:.1rem solid rgba(255,255,255,.2);padding-bottom:1.5rem}.tarot-title{font-size:2.2rem;font-weight:700;color:#f1c40f;margin:0;text-shadow:0 .1rem .2rem rgba(0,0,0,.3)}.tarot-close-btn{background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.tarot-close-btn:hover{background-color:#ffffff1a;color:#fff}.tarot-reading-area{display:flex;flex-direction:column;align-items:center;margin-top:4rem;margin-bottom:2rem}.tarot-card{width:18rem;height:28rem;position:relative;margin-bottom:2rem;perspective:100rem;transform-style:preserve-3d;transition:transform .6s}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:1rem;box-shadow:0 .8rem 1.5rem #0006;overflow:hidden}.card-back{background:linear-gradient(45deg,#34495e,#2c3e50);border:.2rem solid #f1c40f;display:flex;align-items:center;justify-content:center;flex-direction:column}.card-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,rgba(241,196,15,.1),rgba(241,196,15,.1) 1rem,transparent 1rem,transparent 2rem)}.card-symbol{font-size:5rem;margin-bottom:1rem;filter:drop-shadow(0 .2rem .4rem rgba(0,0,0,.3))}.card-front{background:linear-gradient(135deg,#fff,#f9f9f9);transform:rotateY(180deg);border:.2rem solid #f1c40f;display:flex;flex-direction:column;padding:1.5rem}.card-image{font-size:8rem;text-align:center;margin-bottom:1rem}.card-info{text-align:center;color:#333}.card-name{font-size:1.8rem;font-weight:700;margin:0 0 .5rem;color:#2c3e50}.card-korean-name{font-size:1.4rem;font-weight:500;margin:0;color:#7f8c8d}.tarot-card.flipped{transform:rotateY(180deg)}.tarot-message-container{width:100%}.tarot-message{font-size:1.6rem;line-height:1.6;text-align:center;color:#ecf0f1;margin:0;height:5.2rem;overflow-y:auto}.tarot-controls{display:flex;justify-content:center;width:100%}.tarot-btn{background:linear-gradient(45deg,#f1c40f,#f39c12);color:#2c3e50;border:none;padding:1rem 2.5rem;border-radius:2rem;font-size:1.6rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 .4rem .8rem #0003}.tarot-btn:hover{box-shadow:0 .6rem 1.2rem #0000004d;background:linear-gradient(45deg,#f39c12,#e67e22)}.tarot-btn:active{transform:translateY(0);box-shadow:0 .2rem .4rem #0003}.tarot-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}[data-theme=dark] .tarot-reading-container{background:linear-gradient(135deg,#0f0f1e,#11112e)}[data-theme=dark] .card-front{background:linear-gradient(135deg,#2c3e50,#34495e)}[data-theme=dark] .card-name{color:#ecf0f1}[data-theme=dark] .card-korean-name{color:#bdc3c7}@media(max-width:48rem){.tarot-reading-container{padding:2rem}.tarot-title{font-size:1.8rem}.tarot-card{width:15rem;height:24rem}.card-image{font-size:6rem}.card-name{font-size:1.5rem}.card-korean-name{font-size:1.2rem}.tarot-message{font-size:1.4rem}.tarot-btn{padding:.8rem 2rem;font-size:1.4rem}}.lucky-number-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.lucky-number-overlay.show{opacity:1;visibility:visible}.lucky-number-container{background:linear-gradient(135deg,#2a2a4e,#1e1e3f);border-radius:1.5rem;padding:2.5rem;max-width:50rem;width:90%;box-shadow:0 1.5rem 3rem #0000004d;transform:scale(.9);transition:transform .3s ease;color:#fff}.lucky-number-overlay.show .lucky-number-container{transform:scale(1)}.lucky-number-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:.1rem solid rgba(255,255,255,.2);padding-bottom:1.5rem}.lucky-number-title{font-size:2.2rem;font-weight:700;color:#f1c40f;margin:0;text-shadow:0 .1rem .2rem rgba(0,0,0,.3)}.lucky-number-close-btn{background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.lucky-number-close-btn:hover{background-color:#ffffff1a;color:#fff}.lucky-number-content{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.lucky-number-description{margin-bottom:2rem;text-align:center}.lucky-number-description p{font-size:1.6rem;margin:0;color:#ecf0f1}.lucky-number-balls-container{width:100%;display:flex;justify-content:center;margin-bottom:2rem}.lucky-number-balls{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.lucky-number-ball{width:5rem;height:5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff;box-shadow:0 .4rem .8rem #0000004d;opacity:0;transform:translateY(2rem) scale(.8);transition:all .5s ease}.lucky-number-ball.show{opacity:1;transform:translateY(0) scale(1)}.ball-yellow{background:linear-gradient(135deg,#f1c40f,#f39c12)}.ball-blue{background:linear-gradient(135deg,#3498db,#2980b9)}.ball-red{background:linear-gradient(135deg,#e74c3c,#c0392b)}.ball-gray{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.ball-green{background:linear-gradient(135deg,#2ecc71,#27ae60)}.lucky-number-date{font-size:1.4rem;color:#ffffffb3;margin-top:1rem}.lucky-number-controls{display:flex;justify-content:center;width:100%;gap:1rem}.lucky-number-btn{padding:1rem 2rem;border-radius:2rem;font-size:1.6rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 .4rem .8rem #0003;border:none}.regenerate-btn{background:linear-gradient(45deg,#9b59b6,#8e44ad);color:#fff}.regenerate-btn:hover{background:linear-gradient(45deg,#8e44ad,#7d3c98);box-shadow:0 .6rem 1.2rem #0000004d}.copy-btn{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff}.copy-btn:hover{background:linear-gradient(45deg,#2980b9,#21618c);box-shadow:0 .6rem 1.2rem #0000004d}.lucky-number-btn:active{transform:translateY(.1rem)}[data-theme=dark] .lucky-number-container{background:linear-gradient(135deg,#1a1a2e,#0f0f1e)}[data-theme=dark] .lucky-number-description p{color:#ecf0f1}[data-theme=dark] .lucky-number-date{color:#fff9}@media(max-width:48rem){.lucky-number-container{padding:2rem}.lucky-number-title{font-size:1.8rem}.lucky-number-ball{width:4rem;height:4rem;font-size:1.6rem}.lucky-number-balls{gap:1rem}.lucky-number-description p{font-size:1.4rem}.lucky-number-date{font-size:1.2rem}.lucky-number-btn{padding:.8rem 1.5rem;font-size:1.4rem}}.depression-check-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.depression-check-overlay.show{opacity:1;visibility:visible}.depression-check-container{background:linear-gradient(135deg,#2a3f5f,#1e2a47);border-radius:1.5rem;padding:2.5rem;max-width:60rem;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 1.5rem 3rem #0000004d;transform:scale(.9);transition:transform .3s ease;color:#fff}.depression-check-overlay.show .depression-check-container{transform:scale(1)}.depression-check-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:.1rem solid rgba(255,255,255,.2);padding-bottom:1.5rem}.depression-check-title{font-size:2.2rem;font-weight:700;color:#7e57c2;margin:0;text-shadow:0 .1rem .2rem rgba(0,0,0,.3)}.depression-check-close-btn{background:none;border:none;color:#ffffffb3;font-size:2rem;cursor:pointer;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.depression-check-close-btn:hover{background-color:#ffffff1a;color:#fff}.depression-check-content{margin-bottom:2rem}.depression-check-intro{text-align:center;margin-bottom:2rem}.depression-check-intro p{font-size:1.6rem;line-height:1.6;color:#ecf0f1;margin:0}.depression-check-questions{margin-bottom:2rem}.depression-question{margin-bottom:2rem;background-color:#ffffff0d;padding:1.5rem;border-radius:1rem}.question-text{display:flex;align-items:flex-start;margin-bottom:1rem}.question-number{font-weight:700;color:#7e57c2;margin-right:1rem;flex-shrink:0}.question-text p{font-size:1.6rem;line-height:1.5;margin:0}.question-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem}.option-label{display:flex;align-items:center;cursor:pointer;font-size:1.5rem;padding:1rem;border-radius:.8rem;transition:all .2s ease;border:.1rem solid transparent}.option-label:hover{background-color:#ffffff1a}.option-label input[type=radio]{margin-right:1rem;width:1.8rem;height:1.8rem;accent-color:#7e57c2}.option-text{flex-grow:1}.depression-check-result{background-color:#ffffff0d;border-radius:1rem;padding:2rem;margin-bottom:2rem;display:none}.result-score{text-align:center;margin-bottom:2rem}.result-score h3{font-size:2rem;margin:0 0 1.5rem;color:#ecf0f1}.score-circle{position:relative;width:10rem;height:10rem;border-radius:50%;background:linear-gradient(135deg,#2c3e50,#34495e);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 .8rem 1.5rem #0000004d}.score-value{font-size:3rem;font-weight:700;line-height:1}.score-max{font-size:1.5rem;opacity:.7}.result-level{font-size:2rem;font-weight:700;margin-bottom:1.5rem}.result-message{margin-bottom:2rem}.result-message p{font-size:1.6rem;line-height:1.6;margin:0}.result-disclaimer{padding:1.5rem;background-color:#e74c3c1a;border-radius:.8rem;border-left:.4rem solid #e74c3c}.result-disclaimer p{font-size:1.4rem;line-height:1.5;margin:0;color:#f8d7da}.depression-check-controls{display:flex;justify-content:center;width:100%;gap:1rem;flex-wrap:wrap}.depression-check-btn{padding:1rem 2rem;border-radius:2rem;font-size:1.6rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 .4rem .8rem #0003;border:none}.submit-btn{background:linear-gradient(45deg,#7e57c2,#6a4c93);color:#fff}.submit-btn:hover{background:linear-gradient(45deg,#6a4c93,#5d3f7b);box-shadow:0 .6rem 1.2rem #0000004d}.retake-btn{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff}.retake-btn:hover{background:linear-gradient(45deg,#2980b9,#21618c);box-shadow:0 .6rem 1.2rem #0000004d}.close-btn{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff}.close-btn:hover{background:linear-gradient(45deg,#c0392b,#a93226);box-shadow:0 .6rem 1.2rem #0000004d}.depression-check-btn:active{transform:translateY(.1rem)}[data-theme=dark] .depression-check-container{background:linear-gradient(135deg,#1a2332,#0f1620)}[data-theme=dark] .depression-question,[data-theme=dark] .depression-check-result{background-color:#ffffff08}@media(max-width:48rem){.depression-check-container{padding:2rem;max-width:95%}.depression-check-title{font-size:1.8rem}.depression-check-intro p{font-size:1.4rem}.depression-question{padding:1rem;margin-bottom:1.5rem}.question-text p{font-size:1.4rem}.option-label{font-size:1.3rem;padding:.8rem}.result-score h3{font-size:1.6rem}.score-circle{width:8rem;height:8rem}.score-value{font-size:2.5rem}.score-max{font-size:1.3rem}.result-level{font-size:1.6rem}.result-message p{font-size:1.4rem}.result-disclaimer p{font-size:1.2rem}.depression-check-btn{padding:.8rem 1.5rem;font-size:1.4rem}}
