:root{--color-main:#f8c8dc;--color-surface:#fff;--color-accent:#a11b1b;--color-accent-light:#a11b1b14;--color-accent-border:#a11b1b40;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;overflow-x:hidden}body{font-family:var(--font-serif);background-color:var(--color-main);color:var(--color-accent);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;transition:background-color .35s,color .35s;overflow-x:hidden}body.error-mode{color:#fff;background-color:#a11b1b}body.error-mode .quiz-title,body.error-mode .quiz-subtitle,body.error-mode .error-hint,body.error-mode .asia-meter-title,body.error-mode .asia-meter-badge{color:#fff}body.error-mode .quiz-image,body.error-mode .quiz-option-card,body.error-mode .color-option-card{border-color:#fff;box-shadow:0 14px 35px #00000059}body.error-mode .name-input,body.error-mode .submit-btn{color:#a11b1b;background-color:#fff;border-color:#fff}#root{flex-direction:column;width:100%;min-height:100dvh;display:flex}.page-container{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:520px;min-height:100dvh;margin:0 auto;padding:2rem 1.5rem;display:flex}.asia-meter-container{width:100%;max-width:440px;margin-bottom:1.75rem;animation:.8s forwards fadeIn}.asia-meter-header{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;padding:0 .25rem;display:flex}.asia-meter-title{font-family:var(--font-serif);letter-spacing:-.3px;color:var(--color-accent);font-size:1.35rem;font-weight:700}.asia-meter-badge{font-family:var(--font-serif);color:var(--color-accent);font-size:1.25rem;font-weight:700}.asia-meter-track{border:2.5px solid var(--color-accent);background:#ffffffb3;border-radius:9999px;width:100%;height:20px;position:relative;overflow:hidden;box-shadow:0 4px 14px #a11b1b1f}.asia-meter-fill{background:var(--color-accent);border-radius:9999px;height:100%;transition:width .7s cubic-bezier(.16,1,.3,1)}.asia-meter-ticks{pointer-events:none;justify-content:space-evenly;display:flex;position:absolute;inset:0}.asia-meter-tick{background:#a11b1b40;width:2px;height:100%}.quiz-content{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;width:100%;transition:opacity .4s,transform .4s;display:flex}.fade-in{animation:.9s cubic-bezier(.16,1,.3,1) forwards fadeIn}.fade-out{opacity:0;pointer-events:none;transform:scale(.97)translateY(-8px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.quiz-title{font-family:var(--font-serif);letter-spacing:-.5px;color:var(--color-accent);font-size:2.2rem;font-weight:700;line-height:1.25;transition:color .35s}@media (width<=520px){.quiz-title{font-size:1.75rem}}.quiz-image-wrapper{justify-content:center;align-items:center;width:auto;max-width:260px;margin:0 auto;display:inline-flex;position:relative}.quiz-image{border:3px solid var(--color-accent);object-fit:cover;border-radius:18px;width:100%;max-width:260px;height:auto;transition:transform .3s,border-color .35s;display:block;box-shadow:0 12px 30px #a11b1b2e}.quiz-image:hover{transform:scale(1.02)}.quiz-options-grid{grid-template-columns:1fr 1fr;gap:1.25rem;width:100%;max-width:440px;margin-top:.25rem;display:grid}.quiz-option-card{box-sizing:border-box;border:3px solid var(--color-accent);isolation:isolate;background:var(--color-surface);cursor:pointer;border-radius:18px;outline:none;flex-direction:column;padding:0;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #a11b1b26}.quiz-option-card:hover:not(:disabled){transform:translateY(-4px)scale(1.02);box-shadow:0 14px 34px #a11b1b40}.quiz-option-card:active:not(:disabled){transform:translateY(0)scale(.98)}.quiz-option-card:disabled{cursor:default}.quiz-option-img{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .3s;display:block}.color-option-card{box-sizing:border-box;border:3px solid var(--color-accent);isolation:isolate;cursor:pointer;border-radius:18px;outline:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:145px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #a11b1b26}.color-option-card:hover:not(:disabled){transform:translateY(-4px)scale(1.02);box-shadow:0 14px 34px #a11b1b40}.color-option-card:active:not(:disabled){transform:translateY(0)scale(.98)}.color-option-card:disabled{cursor:default}.color-option-label{font-family:var(--font-serif);letter-spacing:-.3px;font-size:1.35rem;font-weight:700}.flag-options-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.15rem;width:100%;max-width:440px;margin-top:.5rem;display:flex}.flag-btn{box-sizing:border-box;border:3px solid var(--color-accent);isolation:isolate;cursor:pointer;background:0 0;border-radius:14px;outline:none;width:94px;height:64px;padding:0;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 22px #a11b1b29}.flag-btn:hover:not(:disabled){transform:translateY(-4px)scale(1.05);box-shadow:0 12px 30px #a11b1b47}.flag-btn:active:not(:disabled){transform:translateY(0)scale(.97)}.flag-btn:disabled{cursor:default}.flag-btn .flag-svg{width:100%;height:100%;display:block}.quiz-option-card.is-correct-choice,.color-option-card.is-correct-choice,.flag-btn.is-correct-choice{transform:scale(1.04);box-shadow:0 0 0 3px #a11b1b59,0 14px 34px #a11b1b4d}.quiz-option-card.is-wrong-choice,.color-option-card.is-wrong-choice,.flag-btn.is-wrong-choice{opacity:.7;animation:.5s both shake}.quiz-option-card:after,.color-option-card:after,.flag-btn:after{content:"";border:3px solid var(--color-accent);border-radius:inherit;pointer-events:none;z-index:10;transition:border-color .3s;position:absolute;inset:-3px}body.error-mode .quiz-option-card:after,body.error-mode .color-option-card:after,body.error-mode .flag-btn:after{border-color:#fff}.option-badge-overlay{pointer-events:none;-webkit-backdrop-filter:blur(3.5px);border-radius:inherit;z-index:5;background:#ffffff6b;justify-content:center;align-items:center;animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeIn;display:flex;position:absolute;inset:0}.option-badge-icon{z-index:6;font-size:3.8rem;font-weight:800;line-height:1;animation:.35s cubic-bezier(.175,.885,.32,1.275) forwards popIn}.option-badge-icon.check{color:#1b873f;filter:drop-shadow(0 4px 12px #1b873f59)}.option-badge-icon.cross{color:#c62828;filter:drop-shadow(0 4px 12px #c6282859)}.flag-btn .option-badge-icon{font-size:2.2rem}.translate-card{background:var(--color-surface);border:3px solid var(--color-accent);border-radius:20px;flex-direction:column;width:100%;max-width:460px;margin-top:.5rem;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 12px 32px #a11b1b24}.translate-header{background:#f8c8dc59;border-bottom:2px solid #a11b1b26;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.translate-lang{font-family:var(--font-serif);color:var(--color-accent);letter-spacing:.5px;font-size:.95rem;font-weight:700}.translate-swap{color:var(--color-accent);opacity:.7;font-size:1.2rem}.translate-body{flex-direction:column;display:flex}.translate-source-box{text-align:left;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem .85rem;display:flex}.translate-source-text{font-family:var(--font-serif);color:var(--color-accent);letter-spacing:-.3px;font-size:1.85rem;font-weight:700}.translate-icons{opacity:.55;-webkit-user-select:none;user-select:none;gap:.75rem;font-size:1rem;display:flex}.translate-divider{background:#a11b1b1f;height:1.5px;margin:0 1.25rem}.translate-target-box{text-align:left;flex-direction:column;gap:.9rem;padding:1rem 1.5rem 1.25rem;display:flex}.translate-input{font-family:var(--font-serif);color:var(--color-accent);background:0 0;border:none;outline:none;width:100%;font-size:1.5rem;font-weight:600}.translate-input::placeholder{color:#a11b1b59;font-size:1.25rem;font-style:italic;font-weight:400}.translate-actions{justify-content:flex-end;display:flex}.translate-btn{padding:.65rem 1.6rem;font-size:1.05rem}.translate-error{color:var(--color-accent);font-family:var(--font-serif);padding:0 1rem .75rem;font-size:.95rem;font-style:italic;animation:.3s fadeIn}.shake-animation{animation:.55s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{0%,to{transform:translate(0,0)rotate(0)}15%{transform:translate(-14px)rotate(-4deg)}30%{transform:translate(12px)rotate(4deg)}45%{transform:translate(-10px)rotate(-2deg)}60%{transform:translate(8px)rotate(2deg)}75%{transform:translate(-4px)rotate(-1deg)}90%{transform:translate(4px)rotate(1deg)}}.image-emote-overlay{pointer-events:none;z-index:10;border-radius:18px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.image-emote-overlay.happy{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffedfd80;animation:.35s cubic-bezier(.175,.885,.32,1.275) forwards popIn}.image-emote-overlay.angry{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#a11b1b73;animation:.25s cubic-bezier(.175,.885,.32,1.275) forwards popIn}.emote-icon{filter:drop-shadow(0 6px 14px #00000059);font-size:4.8rem;line-height:1}@keyframes popIn{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.quiz-subtitle{font-family:var(--font-serif);color:var(--color-accent);margin-top:.25rem;font-size:1.35rem;font-style:italic;font-weight:500;line-height:1.4;transition:color .35s;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.error-hint{font-family:var(--font-serif);color:#fff;font-size:1.15rem;font-style:italic;animation:.3s fadeIn}.skip-hint{font-family:var(--font-serif);color:var(--color-accent);opacity:.5;cursor:pointer;-webkit-user-select:none;user-select:none;margin-top:.25rem;font-size:.9rem;font-style:italic}.name-form{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;margin-top:.5rem;display:flex}.name-input{width:100%;font-size:1.2rem;font-family:var(--font-serif);text-align:center;color:var(--color-accent);background-color:var(--color-surface);border:2.5px solid var(--color-accent);border-radius:9999px;outline:none;padding:.95rem 1.5rem;font-weight:600;transition:all .25s;box-shadow:0 4px 16px #a11b1b14}.name-input::placeholder{color:#a11b1b73;font-style:italic;font-weight:400}.name-input:focus{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 0 0 4px #a11b1b29}.submit-btn{background:var(--color-accent);color:var(--color-surface);border:2.5px solid var(--color-accent);font-size:1.15rem;font-family:var(--font-serif);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2.4rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 6px 20px #a11b1b40}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #a11b1b59}.submit-btn:active{transform:translateY(0)}.mirror-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;flex-direction:column;justify-content:center;align-items:center;margin:1rem auto;display:flex;position:relative}.mirror-frame{box-sizing:border-box;border:4.5px solid var(--color-accent);background:var(--color-surface);isolation:isolate;border-radius:110px 110px 80px 80px;justify-content:center;align-items:center;width:220px;height:300px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #a11b1b38,inset 0 0 15px #a11b1b14}.mirror-frame:hover:not(.revealed){transform:translateY(-4px)scale(1.02);box-shadow:0 20px 48px #a11b1b52}.mirror-glass{background:linear-gradient(135deg,#ffedfdf2 0%,#fffffff2 50%,#f8c8dcd9 100%);flex-direction:column;justify-content:center;align-items:center;transition:all .5s;display:flex;position:absolute;inset:0}.mirror-mist{flex-direction:column;align-items:center;gap:.75rem;display:flex}.mirror-silhouette{opacity:.5;filter:blur(1.5px);font-size:3.8rem;animation:2.2s ease-in-out infinite pulseGhost}@keyframes pulseGhost{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.65;transform:scale(1.05)}}.mirror-tap-hint{font-family:var(--font-serif);color:var(--color-accent);opacity:.85;border:1px dashed var(--color-accent);background:#ffffffd9;border-radius:9999px;padding:.35rem .9rem;font-size:.95rem;font-style:italic;font-weight:600;animation:2s ease-in-out infinite bounceHint}@keyframes bounceHint{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mirror-sheen{pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffffa6 50%,#0000 60%);width:200%;height:200%;animation:3.5s linear infinite sheenSlide;position:absolute;top:-50%;left:-150%}@keyframes sheenSlide{0%{transform:translate(-30%,-30%)}to{transform:translate(60%,60%)}}.goat-reflection{background:radial-gradient(circle,#fff 40%,#ffedfd 95%);flex-direction:column;justify-content:center;align-items:center;animation:.65s cubic-bezier(.175,.885,.32,1.275) forwards goatPop;display:flex;position:absolute;inset:0}@keyframes goatPop{0%{opacity:0;transform:scale(.2)rotate(-12deg)}70%{opacity:1;transform:scale(1.18)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.goat-emoji-display{filter:drop-shadow(0 10px 20px #a11b1b47);font-size:7rem;line-height:1;animation:3s ease-in-out .65s infinite goatWiggle}@keyframes goatWiggle{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-6deg)scale(1.05)}75%{transform:rotate(6deg)scale(1.05)}}.sparkles{pointer-events:none;font-size:1.5rem;animation:2s ease-in-out infinite sparkleFloat;position:absolute}.sparkle-1{animation-delay:.2s;top:20px;left:24px}.sparkle-2{animation-delay:.7s;top:25px;right:24px}.sparkle-3{animation-delay:1.2s;bottom:25px;left:35px}.sparkle-4{animation-delay:1.7s;bottom:25px;right:35px}@keyframes sparkleFloat{0%,to{opacity:.6;transform:scale(.8)translateY(0)}50%{opacity:1;transform:scale(1.2)translateY(-4px)}}.serio-reaction{font-family:var(--font-serif);color:var(--color-accent);margin-top:.75rem;font-size:2.3rem;font-weight:700;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards popIn}.deck-wrapper{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;margin:1.5rem auto 1rem;display:flex;position:relative}.deck-container{cursor:pointer;perspective:1000px;width:180px;height:260px;transition:transform .2s;position:relative}.deck-container:hover{transform:translateY(-4px)scale(1.02)}.card-layer{box-sizing:border-box;border:3.5px solid var(--color-accent);background:var(--color-surface);border-radius:18px;justify-content:center;align-items:center;transition:transform .25s,opacity .25s;display:flex;position:absolute;inset:0;box-shadow:0 10px 24px #a11b1b29}.card-layer-back-1{z-index:1;transform:translate(-9px,6px)rotate(-6deg)}.card-layer-back-2{z-index:2;transform:translate(9px,3px)rotate(5deg)}.card-layer-top{z-index:3;transform:translate(0)rotate(0)}.card-back-pattern{background:radial-gradient(circle,#f8c8dc73 30%,#0000 70%);border:2px dashed #a11b1b59;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:8px}.card-back-icon{color:var(--color-accent);font-size:2.4rem}.deck-container.shuffling .card-layer-top{animation:.32s cubic-bezier(.25,.46,.45,.94) forwards cutToBottom}@keyframes cutToBottom{0%{z-index:10;transform:translate(0)rotate(0)}45%{z-index:10;transform:translate(95px,-18px)rotate(16deg)}52%{z-index:0;transform:translate(95px,-18px)rotate(16deg)}to{z-index:0;transform:translate(-9px,6px)rotate(-6deg)}}.drawn-card{box-sizing:border-box;border:4px solid var(--color-accent);background:var(--color-surface);text-align:center;border-radius:22px;flex-direction:column;justify-content:space-between;align-items:center;width:240px;min-height:330px;padding:1.75rem 1.4rem;animation:.7s cubic-bezier(.175,.885,.32,1.275) forwards cardDrawPop;display:flex;position:relative;box-shadow:0 16px 44px #a11b1b40}@keyframes cardDrawPop{0%{opacity:0;transform:translateY(45px)scale(.6)rotate(-10deg)}70%{opacity:1;transform:translateY(-8px)scale(1.05)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.drawn-card-corner{opacity:.8;justify-content:space-between;width:100%;padding:0 .25rem;font-size:1.3rem;display:flex}.drawn-card-body{flex-direction:column;align-items:center;gap:.6rem;margin:1.25rem 0;display:flex}.drawn-card-main-text{font-family:var(--font-serif);color:var(--color-accent);font-size:1.8rem;font-weight:700;line-height:1.25}.drawn-card-time{font-family:var(--font-serif);color:var(--color-accent);opacity:.9;letter-spacing:-.2px;font-size:1.35rem;font-weight:600}.deck-tap-prompt{font-family:var(--font-serif);color:var(--color-accent);opacity:.85;margin-top:1rem;font-size:.95rem;font-style:italic;font-weight:600;animation:2s ease-in-out infinite pulseGhost}.destiny-actions{justify-content:center;align-items:center;gap:2.75rem;width:100%;min-height:85px;margin-top:1.75rem;display:flex;position:relative}.btn-yes{background:var(--color-accent);color:var(--color-surface);z-index:2;min-width:110px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s}.btn-yes.growing{animation:1.4s ease-in-out infinite heartPulse;box-shadow:0 10px 30px #a11b1b73}@keyframes heartPulse{0%,to{transform:scale(var(--yes-scale,1.2))}50%{transform:scale(calc(var(--yes-scale,1.2) * 1.08))}}.btn-no{background:var(--color-surface);color:var(--color-accent);border:2.5px solid var(--color-accent);z-index:5;white-space:nowrap;min-width:110px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),background-color .2s,opacity .2s}.btn-no.transformed-to-yes{background:var(--color-accent);color:var(--color-surface);border-color:var(--color-accent);animation:.3s forwards popIn;box-shadow:0 8px 25px #a11b1b59}.destiny-hint-msg{font-family:var(--font-serif);color:var(--color-accent);margin-top:.75rem;font-size:1.05rem;font-style:italic;font-weight:600;animation:.35s forwards fadeIn}.agreement-card{background:var(--color-surface);border:3.5px solid var(--color-accent);text-align:left;border-radius:22px;flex-direction:column;gap:.9rem;width:100%;max-width:380px;margin:1.25rem 0;padding:1.6rem 1.8rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) forwards popIn;display:flex;box-shadow:0 16px 40px #a11b1b2e}.agreement-item{font-family:var(--font-serif);color:var(--color-accent);border-bottom:1.5px dashed #a11b1b2e;justify-content:space-between;align-items:center;padding-bottom:.65rem;font-size:1.15rem;display:flex}.agreement-item:last-child{border-bottom:none;padding-bottom:0}.agreement-item-label{opacity:.8;font-weight:600}.agreement-item-val{font-weight:700}
