/* 자동 생성: node scripts/build-modal-css.mjs — 직접 고치지 말 것 (옛 CSS에서 팝업·오늘의 세계수 규칙만 뽑아 #modal·#garden 안으로 가둠) */
#modal{--ink:#25232b;--muted:#83818c;--accent:#7856d5;--line:#ecebf0;--paper:#fff;--shell-w:480px;--purple:#71519e}
#modal,#garden{--s-panel:#15131c;--s-panel2:#1c1926;--s-line:#26222f;--s-ink:#f3eee6;--s-mute:#9a92a6;--s-gold:#d9bd78;--s-violet:#8d6fd1}
#modal{font:16px/1.65 'Noto Sans KR',sans-serif;color:var(--ink);word-break:keep-all}
#modal *{box-sizing:border-box}
#modal button{font:inherit;border:0;background:none;color:inherit;cursor:pointer;padding:0}
#modal input,#modal select,#modal textarea{font:inherit}
#modal a{color:inherit}
/* ── style.css ── */
#modal .section-head p:not(.eyebrow){color:#8d8894;font-size:14px;margin:9px 0 0}
#modal .eyebrow{font:11px Georgia,serif;letter-spacing:2px;color:#9a8fa8;margin:0 0 10px}
#modal .primary{background:#71519e;color:#fff;padding:11px 20px;border-radius:6px;font-size:14px;text-align:center;display:inline-block}
#modal .primary:disabled{background:#c7c1cf;cursor:not-allowed}
#modal{border:0;padding:0;color:var(--ink);background:#fff;border-radius:16px;width:min(680px,calc(100% - 32px));max-height:90dvh;box-shadow:0 30px 100px #0005}
#modal::backdrop{background:#15111dd9;backdrop-filter:blur(8px)}
#modal .close{position:sticky;float:right;top:15px;right:15px;margin:15px 15px -51px 0;background:#fffe;color:#342c3e;border-radius:50%;width:36px;height:36px;z-index:8;font-size:26px;line-height:1}
#modal .content{padding:45px 38px 35px}
#modal h2{font:28px/1.65 'Gowun Batang',serif;margin:0 0 20px;letter-spacing:-.6px}
#modal h3{font-size:19px;font-weight:500}
#modal p{font-size:15px;line-height:1.9;color:#83788c}
#modal .wide{width:100%;margin-top:15px}
#modal .outline{border:1px solid #dad3e0;padding:12px 18px;border-radius:6px;font-size:14px}
#modal .notice{background:#f7f4f9;border-radius:7px;padding:13px 17px;font-size:12px!important;margin:21px 0}
#modal .modal-grid{display:grid;gap:12px}
#modal .search-input{width:100%;padding:14px;background:#faf9fc;border:1px solid #e0dbe7;border-radius:6px;margin:12px 0 20px;color:var(--ink)}
#modal .saved-row{display:flex;gap:14px;border-bottom:1px solid #ece8f0;padding:15px 0;width:100%;align-items:center;text-align:left}
#modal .saved-row img{width:50px;height:60px;object-fit:cover;border-radius:4px}
#modal .saved-row strong{display:block;font-size:14px}
#modal .saved-row small{font-size:12px;color:#968aa0}
#modal .saved-row>button{margin-left:auto}
#modal .subnav{display:flex;gap:10px;margin:20px 0}
#modal .subnav button{padding:8px 14px;background:#f6f3fa;border-radius:5px;font-size:13px}
#modal .subnav .active{background:#77608f;color:#fff}
#modal .empty{text-align:center;padding:25px 0}
#modal .muted{font-size:13px!important;color:#a196a9}
#modal .result-leaf{font-size:50px;color:#9d84b0;text-align:center;margin:20px 0}
#modal .result-block{border-top:1px solid #eae4f0;padding-top:20px;margin-top:20px}
#modal .result-block h3{font-size:17px}
#modal .result-block p{font-size:14px}
#modal.game-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;background:#0b1010;overflow:hidden;color:white}
#modal .game-modal>.close{display:none}
#modal .game-dialogue{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);width:min(820px,calc(100% - 60px));z-index:3}
#modal .dialogue-panel{background:linear-gradient(110deg,#0b1916e8,#142e26ab);border:1px solid #d7c49080;box-shadow:0 12px 50px #0005,inset 0 0 20px #fff04;backdrop-filter:blur(17px);padding:27px 34px;border-radius:3px;position:relative}
#modal .moon .dialogue-panel{background:linear-gradient(110deg,#1c1026f2,#321f3bbb);border-color:#c69abe90}
#modal .dialogue-panel:before,#modal .dialogue-panel:after{content:'';position:absolute;width:7px;height:7px;border:1px solid #d8cda3;transform:rotate(45deg);background:#16251e;top:-4px}
#modal .dialogue-panel:before{left:-4px}
#modal .dialogue-panel:after{right:-4px}
#modal .game-dialogue p{font:22px/1.9 'Gowun Batang',serif;color:#fff3dd;margin:0;min-height:84px;white-space:pre-line;letter-spacing:.3px}
#modal .game-dialogue .next-line{width:100%;display:flex;justify-content:space-between;align-items:center;color:#d3ccb8;font-size:12px;text-align:right;margin-top:16px;padding:0}
@media(max-width:750px){#modal .section-head p:not(.eyebrow){font-size:12px;margin-top:7px}
#modal .eyebrow{font-size:10px;letter-spacing:1.5px}
#modal .free-banner .primary{font-size:12px}
#modal .content .eyebrow{font-size:11px}
#modal .content{padding:43px 23px 30px}
#modal h2{font-size:25px}
#modal .game-dialogue{width:calc(100% - 32px);bottom:27px}
#modal .dialogue-panel{padding:24px 21px 19px}
#modal .game-dialogue p{font-size:18px;line-height:1.85;min-height:100px;letter-spacing:0}
#modal .game-dialogue .next-line{font-size:10px}
#modal .game-stage:has(.game-options) .game-dialogue p{min-height:50px}
#modal .game-stage:has(.game-options) .game-dialogue{bottom:22px}
#modal .game-stage:has(.game-options) .dialogue-panel{padding-top:20px}
}
@media(max-width:370px){#modal .game-dialogue p{font-size:16px}
}
#modal .eyebrow,#modal .hero-label,#modal .character-caption,#modal .hero-signature small,#modal .slider-controls>span,#modal .small-label,#modal .world-copy>small,#modal .world-number i,#modal .review-card small,#modal .sample-label,#modal .product small,#modal .product .price,#modal .badge,#modal .tag,#modal .article-grid small,#modal footer>small,#modal .mobile-nav span{font-size:12px}
#modal .game-hint,#modal .game-stage .scene-number,#modal .game-dialogue .next-line,#modal .game-hud>span{font-size:12px}
@media(max-width:750px){#modal .free-banner .primary{font-size:14px}
#modal .game-dialogue .next-line{font-size:12px}
}
@media(max-width:750px){#modal .lore-navigation .primary{padding:12px 14px}
}
#modal.roster-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;overflow:auto;background:#0b1616}
#modal .roster-modal>.close{display:none}
#modal.webtoon-modal{width:min(100vw,780px);max-width:100vw;max-height:100dvh;height:100dvh;margin:0 auto;border:0;border-radius:0;padding:0;background:#101119}
#modal.webtoon-modal>.close{display:none}
#modal .webtoon-caption.dialogue{background:#fff;color:#242b29;border:1px solid #dce4dd;border-radius:28px;padding:22px 28px;width:calc(100% - 56px);position:relative;box-sizing:border-box}
#modal .webtoon-caption.dialogue:before{content:'';position:absolute;top:-11px;left:50%;width:19px;height:19px;background:#fff;border-top:1px solid #dce4dd;border-left:1px solid #dce4dd;transform:rotate(45deg)}
#modal .webtoon-modal #modal-content{padding:0}
#modal .primary:disabled{opacity:.55;cursor:not-allowed}
#modal.guide-select-modal{width:min(760px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;margin:0 auto;border-radius:0;background:#10251c;color:#faf7e8;overflow:auto}
#modal .guide-select-modal>.close{display:none}
#modal .select-inner>.eyebrow{margin-top:34px;color:#d7c897;font-size:12px}
#modal .select-action .primary{min-height:54px;background:#ede2b9;color:#263528;border:0}
@media(max-width:500px){#modal .select-inner>.eyebrow{margin-top:22px}
}
#modal .today-copy .primary{margin-top:auto}
#modal .field-label{display:block;font-size:13px;color:#877f8e;margin:18px 0 -4px}
#modal .lead-row .search-input{margin:0;flex:1;background:#fff}
#modal .lead-row .primary{white-space:nowrap;padding:11px 18px}
@media(max-width:750px){#modal .lead-row .primary{width:100%}
}
#modal .login-view h2{margin-bottom:14px}
#modal .kakao-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#fee500;color:#191600;border-radius:8px;padding:15px 18px;font-size:16px;font-weight:600;margin:24px 0 10px}
#modal .google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:8px;padding:14px 18px;font-size:16px;font-weight:600;margin:0 0 18px}
#modal .google-button span{display:flex}
#modal .email-login{border-top:1px solid #eee9f2;padding-top:16px}
#modal .email-row{display:flex;gap:8px}
#modal .email-row .search-input{margin:0;flex:1;min-width:0}
#modal .email-row .outline{white-space:nowrap;flex-shrink:0}
#modal .member-consent .consent-check.all{border-color:#cdb8e6;background:#faf6fe}
#modal .kakao-mark svg{width:21px;height:21px;display:block}
#modal .inline-link{padding:0;text-decoration:underline;color:#7b619b;font-size:inherit}
#modal .my-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 22px}
#modal .my-summary>div{background:#faf9fc;border:1px solid #efeaf3;border-radius:12px;padding:15px 14px;text-align:center}
#modal .my-summary small{display:block;font-size:12px;color:#968aa0;margin-bottom:7px}
#modal .my-summary strong{font-size:17px;font-weight:600}
#modal .my-links{display:flex;gap:18px;justify-content:center;margin:22px 0 4px;flex-wrap:wrap}
#modal .my-links button{font-size:13px;color:#87808c;text-decoration:underline;padding:0}
@media(max-width:750px){#modal .my-summary{gap:8px}
#modal .my-summary strong{font-size:15px}
#modal .kakao-button{font-size:15px}
}
#modal .free-result .result-block:first-of-type{border-top:0;padding-top:4px;margin-top:0}
#modal .free-result .result-block h3{font-size:14px;color:#9a8fa8;font-weight:500;margin:0 0 8px;letter-spacing:.5px}
#modal .free-result .result-block p{font-size:16px;line-height:1.9;color:#5d5565;margin:0}
#modal .exit-stack .outline{width:100%;margin:0}
#modal .exit-stack .primary{margin-top:0}
@media(max-width:750px){#modal .free-result .result-block p{font-size:15px}
}
@media(max-width:1024px) and (pointer:coarse){#modal .footer-links button,#modal .my-links button,#modal .text-button{min-height:44px;display:inline-flex;align-items:center}
#modal .inline-link{min-height:auto}
}
#modal .talisman-art,#modal .tarot-art{margin:0 auto 18px;display:grid;justify-items:center;gap:12px}
#modal .talisman-art img{width:236px;height:auto;border-radius:4px;box-shadow:0 14px 34px #29163833;display:block}
#modal .talisman-art figcaption,#modal .tarot-art figcaption{font:14px 'Gowun Batang',serif;color:#6b5a76;letter-spacing:.04em;text-align:center}
@media(max-width:750px){#modal .talisman-art img{width:200px}
}
#modal .primary,#modal .outline,#modal .choice,#modal .concern-list button{transition:transform .18s cubic-bezier(.22,.68,0,1),box-shadow .18s,background .2s,border-color .2s}
#modal .primary:active,#modal .outline:active,#modal .choice:active{transform:scale(.978)}
#modal .primary{position:relative;overflow:hidden}
#modal .primary:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff38 48%,transparent 62%);transform:translateX(-120%)}
#modal .primary:hover:after{animation:sheen .85s ease}
@media(prefers-reduced-motion:reduce){#modal .primary:hover:after{animation:none}
}
#modal .pick-copy .primary{margin-top:auto}
#modal .talisman-art img,#modal .tarot-art img{box-shadow:0 12px 30px #2916381a}
#modal #bgm-toggle{position:fixed;right:22px;bottom:22px;z-index:9999}
@media(max-width:750px){#modal #bgm-toggle{right:14px;bottom:20px}
}
#modal .consent-box{margin:22px 0 0;padding:22px 20px;border:1px solid #e6dff0;border-radius:14px;background:#faf7fd}
#modal .consent-badge{display:inline-block;font-size:11px;letter-spacing:1px;color:#7b5aa8;background:#efe6fa;border-radius:100px;padding:4px 11px;margin-bottom:12px}
#modal .consent-badge.done{color:#4e8a5e;background:#e7f4ea}
#modal .consent-box strong{display:block;font-size:15.5px;font-weight:600;line-height:1.65;margin-bottom:7px;word-break:keep-all}
#modal .consent-box>p{font-size:13px!important;color:#877f8e!important;margin:0 0 16px!important;line-height:1.75!important}
#modal .consent-field{display:block;font-size:12.5px;color:#7e7688;margin-bottom:7px}
#modal .consent-box .search-input{margin:0 0 14px;background:#fff}
#modal .consent-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 11px;cursor:pointer;line-height:1.65}
#modal .consent-check input{margin:3px 0 0;width:17px;height:17px;flex-shrink:0;accent-color:#71519e}
#modal .consent-check span{font-size:13px;color:#5f5869;word-break:keep-all}
#modal .consent-check b{font-weight:600;color:#71519e}
#modal .consent-check small{display:block;font-size:11.5px;color:#9a92a4;margin-top:3px}
#modal .consent-box .primary.wide{margin-top:16px}
#modal .consent-fine{display:block;font-size:11.5px;line-height:1.7;color:#9c94a6;margin-top:12px;word-break:keep-all}
@media(hover:hover) and (pointer:fine){#modal .cursor-on input,#modal .cursor-on textarea,#modal .cursor-on select,#modal .cursor-on [contenteditable],#modal .cursor-on .search-input{cursor:auto!important}
#modal,#modal *{cursor:auto!important}
#modal button,#modal a,#modal summary,#modal label,#modal [role="button"],#modal .choice,#modal .tarots button{cursor:pointer!important}
#modal input,#modal textarea,#modal select{cursor:auto!important}
}
#modal .enter-head .eyebrow{margin-bottom:12px}
@keyframes moteRise{0%{transform:translateY(0);opacity:.15}45%{opacity:.9}100%{transform:translateY(-52px);opacity:0}}
#modal .funnel-head .eyebrow{margin:0 0 9px}
@media(hover:hover) and (pointer:fine){#modal input,#modal textarea,#modal select,#modal [contenteditable],#modal .cursor-on input,#modal .cursor-on textarea,#modal .cursor-on select,#modal .cursor-on [contenteditable]{cursor:auto!important}
#modal>#cur,#modal>#cur-ring{position:fixed;z-index:2147483647}
}
@keyframes introMote{18%{opacity:.85}62%{opacity:.6}100%{opacity:0;transform:translateY(-92px)}}
#modal .consent-check{position:relative;display:flex;gap:11px;align-items:flex-start;
 margin:0 0 10px;padding:12px 13px;border:1px solid #e8e1f0;border-radius:11px;
 background:#fff;cursor:pointer;line-height:1.6;transition:border-color .2s,background .2s}
#modal .consent-check:hover{border-color:#c3addd;background:#fdfbff}
#modal .consent-check input{position:absolute;opacity:0;width:0;height:0;margin:0}
#modal .consent-check>span{position:relative;padding-left:30px;font-size:13.5px;color:#4f4859;word-break:keep-all;flex:1}
#modal .consent-check>span:before{content:'';position:absolute;left:0;top:1px;width:20px;height:20px;
 border:1.5px solid #c4bbd2;border-radius:6px;background:#fff;
 transition:background .18s,border-color .18s,transform .12s}
#modal .consent-check>span:after{content:'';position:absolute;left:7px;top:5px;width:5px;height:10px;
 border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(.4);opacity:0;
 transition:opacity .18s,transform .18s}
#modal .consent-check input:checked+span:before{background:#71519e;border-color:#71519e}
#modal .consent-check input:checked+span:after{opacity:1;transform:rotate(45deg) scale(1)}
#modal .consent-check input:focus-visible+span:before{outline:3px solid #8f69e3;outline-offset:3px}
#modal .consent-check:has(input:checked){border-color:#b79ad8;background:#faf6fe}
#modal .consent-check b{font-weight:600;color:#71519e;margin-right:3px}
#modal .consent-check small{display:block;font-size:11.5px;color:#9a92a4;margin-top:3px}
#modal .consent-check.need{border-color:#e0a79c;background:#fff8f6;animation:needShake .4s ease}
@media(max-width:600px){#modal .consent-check>span{font-size:13px}
}
#modal .waitlist-view .consent-field{display:block;font-size:13px;color:#877f8e;margin:20px 0 6px}
#modal .waitlist-view .search-input{margin:0 0 14px}
#modal .auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ece6f3;margin:4px 0 20px}
#modal .auth-tabs button{padding:11px 0;font-size:15px;color:#9a92a4;border-bottom:2px solid transparent;margin-bottom:-1px}
#modal .auth-tabs button.on{color:#3d3149;font-weight:700;border-bottom-color:#71519e}
#modal .auth-view h2{font-size:22px}
#modal .auth-view .kakao-button,#modal .auth-view .google-button{margin-bottom:9px}
#modal .auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;font-size:12.5px;color:#9a92a4}
#modal .auth-divider::before,#modal .auth-divider::after{content:"";flex:1;height:1px;background:#ece6f3}
#modal .auth-form{display:grid;gap:12px}
#modal .auth-field label,#modal .auth-field .auth-label{display:block;font-size:13px;color:#5f5869;margin-bottom:6px;font-weight:500}
#modal .auth-field label small{font-weight:400;color:#9a92a4;margin-left:4px}
#modal .auth-field input:not([type=radio]){width:100%;height:46px;border:1px solid #e1dae9;border-radius:10px;padding:0 13px;background:#fff;font-size:15px}
#modal .auth-field input:focus-visible{outline:2px solid #8f69e3;outline-offset:1px}
#modal .auth-field.need input:not([type=radio]),#modal .auth-field.need .auth-radios{border-color:#d4574e;box-shadow:0 0 0 1px #d4574e}
#modal .consent-check.need span{color:#b3413a}
#modal .auth-radios{display:flex;gap:10px;border:1px solid transparent;border-radius:10px}
#modal .auth-radios label{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:46px;border:1px solid #e1dae9;border-radius:10px;margin:0;cursor:pointer;font-size:15px;color:#3d3149}
#modal .auth-radios label:has(input:checked){border-color:#71519e;background:#faf6fe;font-weight:600}
#modal .auth-radios input{accent-color:#71519e}
#modal .auth-consent{margin-top:6px}
#modal .auth-note{font-size:12px;color:#9a92a4;margin:4px 0 0}
#modal .auth-links{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px 0 4px;font-size:13px;color:#87808c}
#modal .auth-later{margin-top:14px}
#modal .my-title{font-size:17px;margin:26px 0 12px}
#modal .my-actions{display:grid;gap:9px}
#modal .my-static{margin:0;font-size:14px;color:#3d3149;word-break:break-all}
#modal .my-pw{margin-top:14px;border-top:1px solid #efeaf3;padding-top:12px}
#modal .my-pw summary{cursor:pointer;font-size:14px;color:#71519e;margin-bottom:12px}
#modal .email-toggle{display:flex;align-items:center;justify-content:center;gap:8px}
#modal .email-toggle-mark{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
#modal .email-toggle[aria-expanded=true] .email-toggle-mark{transform:rotate(-135deg) translateY(-1px)}
#modal .email-box{margin-top:16px}
/* ── refinements.css ── */
#modal .section-head>div,#modal .offering-copy,#modal .world-copy,#modal .today-copy,#modal .choice>span){min-width:0}
#modal .fine-print,#modal .notice,#modal .consent-fine,#modal .personal-question,#modal .pw-user-words){overflow-wrap:anywhere}
#modal .page-index .section-head>div>p:not(.eyebrow){max-width:640px;line-height:1.8}
#modal .page-index .content>h2{margin-bottom:18px}
@media(max-width:760px){#modal .page-index .section-head>div>p:not(.eyebrow){font-size:14px}
}
@media(max-width:540px){#modal .page-index .content{padding-inline:22px}
#modal .page-index .content h2{font-size:23px;line-height:1.55}
#modal .page-index .content p,#modal .page-index .detail-row{font-size:14px;line-height:1.85}
}
#modal .page-hilda :is(.story-copy,#modal .dialogue-text,#modal .question-title,#modal .title,#modal .sky-text),#modal .page-seoryeong :is(.dialogue,#modal .form-title,#modal .threshold-hook,#modal .pw-question,#modal .chapter-quote),#modal .page-webtoon :is(.caption,#modal .bubble,#modal .intro p){word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}
@media(max-width:480px){#modal .page-hilda :is(.question-content,#modal .result-intro,#modal .report-card){min-width:0}
#modal .page-hilda :is(.report-card p,#modal .result-intro p){font-size:15px;line-height:1.9}
}
/* ── mobile.css ── */
@media(min-width:481px){#modal .page-index dialog{max-width:var(--shell-w)}
#modal .page-index dialog:is(.game-modal,#modal .roster-modal,#modal .webtoon-modal,#modal .guide-select-modal){width:var(--shell-w);margin:0 auto}
}
#modal .page-index .eyebrow{font-size:10px;margin-bottom:4px}
@keyframes drops{0%{opacity:0;transform:translateY(-14px)}25%{opacity:1}100%{opacity:0;transform:translateY(96px)}}
@keyframes mote{0%,100%{opacity:.2;transform:translateY(0)}50%{opacity:.9;transform:translateY(-6px)}}
#modal .page-index .today-copy .primary{margin-top:auto;padding:10px 6px;font-size:13px;border-radius:10px}
#modal .page-index .concern-section .eyebrow{display:none}
/* ── studio.css ── */
#modal .studio .eyebrow{color:var(--s-gold)}
@media(min-width:1024px){#modal .studio dialog{max-width:min(560px,calc(100% - 32px))!important}
#modal .studio dialog:is(.game-modal,#modal .roster-modal,#modal .webtoon-modal,#modal .guide-select-modal){width:480px!important;max-width:100vw!important}
}
