/* Daily fortune only. Shared header, drawer, dialogs and analytics remain unchanged. */
/* Use the existing shell variable so sticky navigation/dialog scrollbar fixes stay aligned. */
body[data-page="free"]{--shell:450px}
.fortune-page{--fortune-ink:#1c2345;--fortune-muted:#686779;--fortune-pink:#a95374;--fortune-line:#eddee4;max-width:450px;margin:auto;padding:24px 40px 44px;background:#fffdfd;color:var(--fortune-ink);overflow-wrap:anywhere}
.fortune-topline{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--fortune-muted);padding-bottom:21px;border-bottom:1px solid var(--fortune-line)}
.fortune-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:center;gap:48px;padding:48px 0 58px}
.fortune-hero-copy{min-width:0}
.fortune-eyebrow{font-size:12px;font-weight:650;letter-spacing:.06em;color:var(--fortune-pink);margin-bottom:14px}
.fortune-page h1{font-family:'Noto Serif KR','Nanum Myeongjo',serif;font-size:44px;line-height:1.35;letter-spacing:-1.5px;font-weight:750;text-wrap:balance;word-break:keep-all}
.fortune-summary{font-size:16px;line-height:1.95;color:#55576c;margin-top:22px;word-break:keep-all}
.fortune-primary{display:flex;justify-content:center;align-items:center;gap:12px;min-height:52px;width:100%;padding:14px 18px;background:#1c2345;color:#fff;border:1px solid #1c2345;border-radius:12px;font-size:15px;font-weight:650;margin-top:28px;text-align:center;line-height:1.5;box-shadow:0 5px 14px #1c234514}
.fortune-primary:hover{background:#30395f}
.fortune-primary .icon{width:19px;height:19px}
.fortune-primary:disabled{opacity:.65}
.fortune-fine{font-size:12px;line-height:1.8;color:var(--fortune-muted);margin-top:16px}
.fortune-card{width:100%;max-width:320px;margin:0 auto;position:relative;min-width:0}
.fortune-card img{width:100%;aspect-ratio:2/3;height:auto;object-fit:cover;border-radius:100px 100px 15px 15px;box-shadow:0 12px 36px #50334f24;border:1px solid #e7d6de;background:#f6eaf0}
.fortune-card figcaption{font-family:'Noto Serif KR',serif;font-size:12px;line-height:1.8;color:#736275;text-align:center;max-width:270px;margin:16px auto 0;word-break:keep-all}
.fortune-draw{padding-top:40px}
.fortune-draw .fortune-card img{border-radius:16px}
.fortune-draw h1{font-size:38px}
.fortune-form{margin-top:24px}
.fortune-consent{display:flex;align-items:flex-start;gap:11px;background:#fbf4f7;border:1px solid var(--fortune-line);border-radius:12px;padding:16px;font-size:13px;line-height:1.8;color:#51546a;cursor:pointer}
.fortune-consent input{flex:0 0 19px;width:19px;height:19px;margin:3px 0 0;accent-color:#1c2345}
.fortune-privacy{display:inline-block;text-decoration:underline;text-underline-offset:3px;font-size:12px;color:#68556b;margin:10px 0 0 2px;padding:4px 0}
.fortune-form .fortune-primary{margin-top:16px}
.fortune-section-heading{margin-bottom:22px}
.fortune-section-heading .fortune-eyebrow{margin-bottom:8px}
.fortune-section-heading h2{font-size:23px;line-height:1.5;letter-spacing:-.8px}
.fortune-section-heading>p:last-child:not(.fortune-eyebrow){margin-top:7px;color:var(--fortune-muted);font-size:13px;line-height:1.8}
.fortune-types{padding:34px 0 40px;border-top:1px solid var(--fortune-line)}
.fortune-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.fortune-type{min-width:0}
.fortune-type img{width:100%;aspect-ratio:2/3;height:auto;object-fit:cover;border-radius:60px 60px 9px 9px;background:#f4eaf0}
.fortune-type h3{font-size:14px;margin-top:13px;text-align:center}
.fortune-type p{font-size:11px;color:var(--fortune-muted);text-align:center;line-height:1.7;margin-top:5px;word-break:keep-all}
.fortune-badge{display:inline-flex;padding:6px 13px;border:1px solid #e7c6d4;background:#fff1f6;color:#99506e;font-size:13px;border-radius:22px;margin-bottom:17px}
.fortune-result h1{font-size:36px;line-height:1.5}
.fortune-result{padding-bottom:36px}
.fortune-card-revealed img{animation:fortune-reveal .65s ease-out both}
@keyframes fortune-reveal{from{opacity:.2;transform:perspective(900px) rotateY(-24deg)}to{opacity:1;transform:perspective(900px) rotateY(0)}}
.fortune-keepsakes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 48px}
.fortune-hint{padding:24px 18px;border:1px solid var(--fortune-line);border-radius:14px;text-align:center;background:linear-gradient(145deg,#fff,#fcf4f7)}
.fortune-hint h2{font-size:13px;font-weight:650}
.fortune-swatch{display:block;width:42px;height:42px;border-radius:50%;background:var(--fortune-color);border:1px solid #1c23451f;margin:20px auto 12px;box-shadow:inset 0 0 0 4px #ffffff55}
.fortune-hint h3{font-size:14px}
.fortune-hint p{font-size:13px;line-height:1.85;color:var(--fortune-muted);margin-top:10px;word-break:keep-all}
.fortune-number{display:block;font-size:42px;font-weight:500;line-height:1.3;margin:17px 0 8px;font-variant-numeric:tabular-nums}
.fortune-hint blockquote{margin:24px 0 0;font-family:'Noto Serif KR',serif;font-size:17px;line-height:1.95;word-break:keep-all}
.fortune-details{scroll-margin-top:92px;margin-bottom:36px}
.fortune-detail{border:1px solid var(--fortune-line);border-radius:14px;background:#fff;margin-bottom:12px}
.fortune-detail summary{padding:20px 23px;min-height:60px;cursor:pointer;font-size:16px;font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}
.fortune-detail summary::-webkit-details-marker{display:none}
.fortune-detail summary span{font-size:23px;font-weight:400;color:#ab6a87;line-height:1}
.fortune-detail[open] summary span{transform:rotate(45deg)}
.fortune-detail[open] summary{border-bottom:1px solid #f4e9ef}
.fortune-detail>div{padding:20px 23px 24px}
.fortune-detail p{font-size:15px;line-height:2;color:#53566c;word-break:keep-all;white-space:normal}
.fortune-detail summary:focus-visible,.fortune-handoff summary:focus-visible{outline:3px solid #8764c8;outline-offset:3px;border-radius:12px}
.fortune-complete{text-align:center;border:1px solid #e9dbe6;border-radius:20px;background:radial-gradient(ellipse at 50% 0,#f9edf4,transparent 65%),#fff;padding:36px 24px;margin-bottom:30px}
.fortune-complete-symbol{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e2c7d6;border-radius:50%;color:#ac718c;margin:0 auto 15px}
.fortune-complete h2{font-family:'Noto Serif KR',serif;font-size:23px;line-height:1.6;letter-spacing:-.7px}
.fortune-complete>p{color:var(--fortune-muted);line-height:1.85;font-size:14px;margin-top:12px}
.fortune-complete .fortune-count-label{font-size:12px;margin-top:26px}
.fortune-count{font-variant-numeric:tabular-nums;font-size:32px;line-height:1.6;letter-spacing:2px;font-weight:600}
.fortune-complete .fortune-fine{font-size:12px;margin-top:4px}
.fortune-text-link{display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px;margin-top:17px;color:#57536d}
.fortune-text-link .icon{width:16px;height:16px}
.fortune-new-day a{text-decoration:underline;text-underline-offset:4px;font-weight:650}
.fortune-disclaimer{border-left:2px solid #dfc4d1;padding:3px 0 3px 15px;margin:8px 0 44px}
.fortune-disclaimer p{font-size:12px;line-height:1.9;color:var(--fortune-muted);word-break:keep-all}
.fortune-other{border-top:1px solid var(--fortune-line);padding-top:32px}
.fortune-other .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fortune-other .catalog-art{aspect-ratio:4/5}
.fortune-handoff{margin-top:32px;border-top:1px solid var(--fortune-line);padding-top:16px;color:#777382;font-size:12px}
.fortune-handoff summary{cursor:pointer;padding:8px 0}
.fortune-handoff p{margin:8px 0;line-height:1.8}
.fortune-handoff a{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.fortune-handoff .icon{width:14px;height:14px}
.fortune-error{padding:60px 10px;text-align:center;max-width:480px;margin:0 auto}
.fortune-error h1{font-size:36px}
.fortune-error>p:not(.fortune-eyebrow){margin-top:24px;font-size:15px;line-height:1.9;color:var(--fortune-muted)}
/* The detail layout uses the 450px shell on desktop and mobile alike. */
.fortune-page{padding:22px 22px 34px}
.fortune-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding:34px 0 40px}
.fortune-hero-copy{text-align:center}
.fortune-page h1{font-size:38px;letter-spacing:-1.3px;line-height:1.4}
.fortune-eyebrow{font-size:11px;letter-spacing:.03em}
.fortune-summary{font-size:15px;margin-top:19px;line-height:1.9}
.fortune-primary{max-width:400px;margin:24px auto 0;min-height:52px;font-size:14px}
.fortune-card{max-width:300px}
.fortune-card img{border-radius:90px 90px 14px 14px}
.fortune-draw .fortune-card{max-width:280px}
.fortune-draw .fortune-hero-copy{display:contents}
.fortune-draw .fortune-eyebrow{grid-row:1;margin-bottom:-20px;text-align:center}
.fortune-draw h1{grid-row:2;text-align:center;font-size:32px}
.fortune-draw .fortune-summary{grid-row:3;text-align:center;margin-top:-12px}
.fortune-draw .fortune-card{grid-row:4}
.fortune-draw .fortune-form,.fortune-draw .fortune-hero-copy>.fortune-primary{grid-row:5;margin-top:0;width:100%}
.fortune-draw .fortune-hero-copy>.fortune-fine{grid-row:6;text-align:center;margin-top:-10px}
.fortune-consent{text-align:left;padding:15px;font-size:12px}
.fortune-privacy{text-align:left}
.fortune-types{padding-top:27px}
.fortune-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 12px}
.fortune-type p{font-size:11px}
.fortune-type h3{font-size:13px}
.fortune-section-heading h2{font-size:22px}
.fortune-keepsakes{gap:8px;margin-bottom:34px}
.fortune-hint{padding:17px 9px}
.fortune-hint h2{font-size:12px;word-break:keep-all}
.fortune-hint p{font-size:12px;line-height:1.8}
.fortune-hint h3{font-size:12px}
.fortune-hint blockquote{font-size:13px;line-height:1.9;margin-top:18px}
.fortune-swatch{width:34px;height:34px;margin-top:17px}
.fortune-number{font-size:35px}
.fortune-detail summary{padding:18px;font-size:15px}
.fortune-detail>div{padding:18px}
.fortune-detail p{font-size:15px;line-height:1.95}
.fortune-result{gap:18px}
.fortune-result .fortune-hero-copy{display:contents}
.fortune-result .fortune-hero-copy>.fortune-eyebrow{display:none}
.fortune-result .fortune-badge{grid-row:1;justify-self:center;margin:0}
.fortune-result h1{grid-row:2;font-size:32px;text-align:center}
.fortune-result .fortune-card{grid-row:3;max-width:280px}
.fortune-result .fortune-summary{grid-row:4;margin-top:0;text-align:center}
.fortune-result .fortune-hero-copy>.fortune-primary{grid-row:5;margin-top:0;width:100%}
.fortune-result .fortune-hero-copy>.fortune-fine{grid-row:6;margin-top:0;text-align:center}
.fortune-complete{padding:28px 16px}
.fortune-complete h2{font-size:20px}
.fortune-count{font-size:29px}
.fortune-other .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.fortune-error{padding:44px 0}
.fortune-error h1{font-size:32px}
@media(max-width:380px){.fortune-page{padding-inline:18px}.fortune-topline{font-size:11px}.fortune-page h1{font-size:34px}.fortune-result h1,.fortune-draw h1,.fortune-error h1{font-size:32px}.fortune-card{max-width:280px}.fortune-hint{padding-inline:7px}.fortune-hint h2{font-size:11px}.fortune-type-grid{gap:20px 10px}}
@media(prefers-reduced-motion:reduce){.fortune-card-revealed img{animation:none}.fortune-detail summary span{transition:none}}

.fortune-policy-links{display:flex;flex-wrap:wrap;gap:0 15px;text-align:left}

/* Free collection and daily detail share the site's 450px mobile layout. */
.free-collection{padding:28px 20px 38px;min-height:530px;background:#fff}
.free-collection-heading{margin-bottom:26px}
.free-eyebrow{color:#a4768b;font-size:11px;letter-spacing:.04em;margin-bottom:8px}
.free-collection-heading h1{font-size:25px;letter-spacing:-.8px;line-height:1.4}
.free-collection-heading>p:last-child{font-size:12px;color:#817b89;line-height:1.8;margin-top:9px;word-break:keep-all}
.free-collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;font-size:12px;color:#938793}
.free-collection-toolbar strong{color:#6d5476;font-weight:600}
.free-collection-toolbar a{display:inline-flex;align-items:center;gap:6px;min-height:32px}
.free-collection-toolbar .icon{width:15px;height:15px}
.free-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
.free-content-card{display:block;min-width:0;border-radius:14px}
.free-content-art{position:relative;overflow:hidden;border-radius:14px;background:#eee3ee;aspect-ratio:4/5;isolation:isolate}
.free-content-art::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#29223d70);z-index:0}
.free-content-art img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .2s ease}
.free-content-card:hover img{transform:scale(1.025)}
.free-content-badge{position:absolute;top:10px;left:10px;padding:4px 8px;border-radius:6px;background:#fff9;color:#655070;font-size:10px;font-weight:600;backdrop-filter:blur(8px)}
.free-content-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;z-index:1;color:#fff;font-size:9px;letter-spacing:.17em}
.free-content-card h2{margin:13px 0 5px;font-size:16px;font-weight:650;letter-spacing:-.4px;line-height:1.6}
.free-content-card>p{font-size:12px;color:#8c8290;line-height:1.8;word-break:keep-all}
.free-content-frequency{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:10px;color:#9a7696;background:#f7f1f8;border-radius:20px;padding:4px 8px}
.free-content-frequency .icon{width:12px;height:12px}
.fortune-page{padding:20px 20px 34px}
.fortune-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#978694;margin-bottom:20px;line-height:1.8}
.fortune-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;color:#786581}
.fortune-breadcrumb span{color:#a99aa7}
.fortune-topline{font-size:11px;line-height:1.8;flex-wrap:wrap;padding-bottom:17px}
.fortune-hero{gap:25px;padding:30px 0 36px}
.fortune-page h1{font-size:34px;line-height:1.45;letter-spacing:-1px}
.fortune-summary{font-size:14px;line-height:1.95;margin-top:17px}
.fortune-card{max-width:252px}
.fortune-card img{border-radius:78px 78px 14px 14px}
.fortune-draw .fortune-card{max-width:240px}
.fortune-draw h1,.fortune-result h1{font-size:29px;line-height:1.55}
.fortune-primary{max-width:100%;font-size:14px;min-height:50px}
.fortune-fine{font-size:11px;line-height:1.9}
.fortune-section-heading h2{font-size:21px}
.fortune-section-heading>p:last-child:not(.fortune-eyebrow){font-size:12px}
.fortune-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 16px}
.fortune-type img{border-radius:60px 60px 10px 10px}
.fortune-type h3{font-size:14px}
.fortune-type p{font-size:12px;line-height:1.8}
.fortune-keepsakes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fortune-hint{padding:20px 14px}
.fortune-hint:last-child{grid-column:1/-1;text-align:left;padding:21px}
.fortune-hint blockquote{margin-top:12px;font-size:15px;line-height:1.9}
.fortune-hint p{font-size:12px}
.fortune-detail p{font-size:14px;line-height:1.95}
.fortune-details{scroll-margin-top:125px}
.fortune-disclaimer{margin-bottom:24px}
.fortune-disclaimer p{font-size:11px}
.fortune-back-list{border-top:1px solid var(--fortune-line);padding-top:18px;text-decoration:none}
@media(max-width:360px){.free-collection{padding-inline:16px}.free-content-grid{gap:20px 12px}.free-content-card h2{font-size:15px}.fortune-page{padding-inline:16px}.fortune-topline{gap:4px 10px}.fortune-page h1{font-size:31px}.fortune-result h1,.fortune-draw h1{font-size:27px}.fortune-type-grid{gap:20px 12px}.fortune-count{font-size:26px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.free-content-art img{transition:none}.free-content-card:hover img{transform:none}}
