/* An original cookie illustration and a small paper note, using the site's old blue window frame. */
.fortune-cookie-overlay { position:fixed; inset:0; z-index:2300; display:flex; align-items:center; justify-content:center; box-sizing:border-box; padding:12px; background:rgba(30,48,57,.32); }
.fortune-cookie-dialog { box-sizing:border-box; width:430px; max-width:100%; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; border:2px solid #66c6de; border-radius:0; background:#fffdf6; color:#333; box-shadow:3px 3px 0 rgba(30,48,57,.15); font:12px/1.65 var(--nuda-font,"굴림",sans-serif); }
.fortune-cookie-heading { display:flex; align-items:center; gap:10px; min-height:32px; padding:5px 8px 5px 12px; border-bottom:1px solid #66c6de; background:#c2e8f2; }
.fortune-cookie-heading h2 { flex:1; min-width:0; margin:0; padding:0; border:0; font:700 14px/1.5 var(--nuda-font,"굴림",sans-serif); }
.fortune-cookie-dialog .fortune-cookie-close { flex:0 0 26px; width:26px; height:26px; min-height:26px; padding:0; border:1px solid #91b8c5; background:#faffff; color:#1a4a88; font:18px/22px var(--nuda-small,"돋움",sans-serif); }
.fortune-cookie-date { margin:10px 12px 3px; color:#777; text-align:center; font:11px/1.6 var(--nuda-small,"돋움",sans-serif); }
.fortune-cookie-note { margin:5px 12px 0; text-align:center; overflow-wrap:anywhere; }
.fortune-cookie-dialog .fortune-cookie-stage { display:block; box-sizing:border-box; width:260px; max-width:100%; min-height:0; height:auto; margin:0 auto; padding:0; border:0; background:none; color:inherit; cursor:pointer; }
.fortune-cookie-dialog .fortune-cookie-stage:disabled { opacity:1; cursor:default; }
.fortune-cookie-illustration { display:block; width:100%; height:auto; overflow:visible; }
.fortune-cookie-dialog:not(.is-open) .fortune-cookie-illustration { animation:fortune-cookie-shake .3s ease-in-out infinite; }
.fortune-cookie-half-left,.fortune-cookie-half-right { transform-box:view-box; transform-origin:130px 80px; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.is-open .fortune-cookie-half-left { transform:translate(-16px,6px) rotate(-12deg); }
.is-open .fortune-cookie-half-right { transform:translate(16px,6px) rotate(12deg); }
.fortune-cookie-spark { opacity:0; transform-box:view-box; transform-origin:130px 30px; }
.is-open .fortune-cookie-spark { animation:fortune-cookie-spark .55s ease-out both; }
.fortune-cookie-hint { margin:0 12px 8px; color:#94713c; text-align:center; font:11px/1.5 var(--nuda-small,"돋움",sans-serif); }
.fortune-cookie-paper { margin:0 12px 12px; padding:10px; border:1px solid #d8c79d; border-left:3px solid #c8aa6d; background:#fff; text-align:center; animation:fortune-cookie-paper-in .25s ease-out both; }
.fortune-cookie-paper[hidden] { display:none; }
.fortune-cookie-lines p { margin:4px 0; font:12px/1.8 var(--nuda-font,"굴림",sans-serif); overflow-wrap:anywhere; }
.fortune-cookie-recommendations { margin-top:12px; padding-top:10px; border-top:1px dashed #dfd4b9; text-align:left; }
.fortune-cookie-dialog .fortune-cookie-recommendations-title { margin:0 0 8px; padding:0; border:0; color:#795c2f; font:700 12px/1.6 var(--nuda-font,"굴림",sans-serif); text-align:center; }
.fortune-cookie-recommendations-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; margin:0; }
.fortune-cookie-recommendation { min-width:0; }
.fortune-cookie-recommendation dt { color:#777; font:11px/1.7 var(--nuda-small,"돋움",sans-serif); }
.fortune-cookie-recommendation dd { margin:1px 0 0; color:#333; overflow-wrap:anywhere; }
.fortune-cookie-color-value { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.fortune-cookie-color-swatch { display:inline-block; flex:0 0 13px; box-sizing:border-box; width:13px; height:13px; border:1px solid #a5a5a5; }
.fortune-cookie-color-code { color:#777; font:10px/1.5 monospace; }
.fortune-cookie-actions { display:flex; justify-content:center; padding:8px 12px 12px; }
.fortune-cookie-coins { margin:8px 12px 12px; padding:10px 12px; border:1px solid #b8d9e3; background:#f0faff; text-align:center; overflow-wrap:anywhere; }
.fortune-cookie-coins h3 { margin:0 0 5px; color:#315c75; font:700 12px/1.6 var(--nuda-font,"굴림",sans-serif); }
.fortune-cookie-coins p { margin:0 0 5px; }
.fortune-cookie-coins small { color:#63717a; }
.fortune-cookie-coins[hidden] { display:none; }
.fortune-cookie-dialog .fortune-cookie-continue { min-height:30px; padding:4px 14px; font:12px/1.5 var(--nuda-small,"돋움",sans-serif); }
@keyframes fortune-cookie-shake { 0%,100% { transform:rotate(0); } 25% { transform:rotate(-3deg); } 75% { transform:rotate(3deg); } }
@keyframes fortune-cookie-spark { 0% { opacity:0; transform:translateY(8px) scale(.6); } 30% { opacity:1; } 100% { opacity:0; transform:translateY(-9px) scale(1.15); } }
@keyframes fortune-cookie-paper-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:760px) { .fortune-cookie-overlay { padding:10px; } .fortune-cookie-dialog { max-height:calc(100dvh - 20px); } .fortune-cookie-heading { padding-left:10px; } .fortune-cookie-note { margin-inline:10px; } .fortune-cookie-dialog .fortune-cookie-close { width:30px; height:30px; min-height:30px; flex-basis:30px; } .fortune-cookie-dialog .fortune-cookie-continue { min-height:34px; } }
@media (prefers-reduced-motion:reduce) { .fortune-cookie-illustration,.fortune-cookie-spark,.fortune-cookie-paper { animation:none !important; } .fortune-cookie-half-left,.fortune-cookie-half-right { transition:none; } }
@media print { .fortune-cookie-overlay { display:none !important; } }
