/* One phone-width canvas everywhere (like 사주아이): on wide screens the app stays a 480px column. */
@media (min-width:481px){
html{background:#efe8df}
body{max-width:480px;margin:0 auto!important;min-height:100dvh;box-shadow:0 0 0 1px #00000008,0 12px 48px #0000000f}
body.sf-body{background:#fff}
#flow-dialog,#flow-dialog.is-product-flow{width:480px;max-width:480px;height:100dvh;max-height:100dvh;margin:0 auto;border-radius:0;box-shadow:none}
#flow-dialog::backdrop{background:#efe8df}
.sf-bottom-nav{max-width:480px}
}

/* Home polish (all widths) */
.shop-products{align-items:stretch}
.shop-product{display:flex;flex-direction:column;height:100%}
.shop-product-copy{flex:1;grid-template-columns:1fr!important;gap:2px!important;padding-top:8px}
.shop-product-copy h3{font-family:Jua,sans-serif;font-size:16px!important;font-weight:400!important;line-height:1.35!important;margin:0}
.shop-product-price strong{font-size:13px!important;font-weight:700!important;color:#b0604f}
.shop-product-scope{font-size:11.5px!important;line-height:1.45!important}
.shop-cover-word{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 16px)}
.sf-filters{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap!important}
.sf-filters::-webkit-scrollbar{display:none}
.sf-filters button{min-height:40px;flex:0 0 auto;white-space:nowrap}
.sf-price-note{font-size:12px;line-height:1.6}
.home-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 16px}
.home-tools button{min-height:44px;padding:0 14px;border:1.5px solid #ece2d8;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:#5e524c}
.home-tools>span{display:none}
.sf-faq details summary{min-height:48px;display:flex;align-items:center;font-size:14px}
.sf-faq details p{font-size:13px;line-height:1.7}
.sf-footer-links{display:flex;flex-wrap:wrap;gap:4px 14px}.sf-footer-links a{min-height:36px;display:inline-flex;align-items:center}
.pass-offer{margin:18px 16px 6px}
.seed-pack-card{min-height:64px;padding:12px 14px!important;border:1.5px solid #f0d9c6!important;border-radius:16px!important;align-content:center}
.seed-pack-card b{font-family:Jua,sans-serif;font-weight:400;font-size:16px}
.seed-pack-card span{font-size:14px;color:#b0604f}
.seed-chip{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#fff4df;font-size:12px;font-weight:700}
.seed-card{display:grid!important;grid-template-columns:56px 1fr;gap:10px 12px;padding:16px!important}
.seed-card-art{width:56px!important;height:56px!important}
.seed-card .seed-packs{grid-column:1/-1;margin:4px 0 0}
.seed-headline{font-family:Jua,sans-serif;font-size:18px;margin:0}
.seed-sub{font-size:12.5px;line-height:1.55;color:#6a5d56;margin:2px 0 0}
.seed-screen{padding:18px 18px 28px}
.seed-screen h2{font-family:Jua,sans-serif;font-weight:400;font-size:24px}
.seed-terms{margin:14px 0;padding:14px 16px;border-radius:16px;background:#fff8e9;font-size:12.5px;line-height:1.75;color:#5e524c}
.seed-terms li{margin:2px 0}
.seed-login-links{display:grid;gap:8px}
.seed-login-links a{min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:15px;font-weight:800;text-decoration:none}
.seed-login-links a[href*=kakao]{background:#fee500;color:#191600}
.seed-login-links a[href*=google]{background:#fff;border:1.5px solid #e3d5c9;color:#3f3531}
.seed-pack-dock .button{min-height:52px;border-radius:15px}
.sf-filters{padding-top:3px;padding-bottom:3px}
.sf-filters button{position:relative}.sf-filters button::after{content:"";position:absolute;inset:-3px -2px}
.sf-footer-links a{position:relative}.sf-footer-links a::after{content:"";position:absolute;inset:-4px -4px}
/* One button/field language across the old dialog flows (무료 명식, 풀이함, 해바라기씨) and the new pages. */
#flow-dialog .button{min-height:52px;border-radius:16px;font-weight:700}
#flow-dialog .button.primary{background:#d4553f;border-color:#d4553f;color:#fff}
#flow-dialog .button.primary:hover{background:#c24a36}
#flow-dialog .button.secondary{border-color:#eadfd3;background:#fff;color:#382f2b}
#flow-dialog .field input:not([type=checkbox]),#flow-dialog .field select{height:52px;border-color:#eadfd3;border-radius:14px;background:#fffdf9}
#flow-dialog .field input:focus,#flow-dialog .field select:focus{outline:2px solid #ffc8ad;border-color:#ef816c}
#flow-dialog h2,#flow-dialog h3{font-family:Jua,'Apple SD Gothic Neo',sans-serif;font-weight:400}
#flow-title:focus,[tabindex="-1"]:focus{outline:none}
/* Same soft body type everywhere (reader and legal pages already use it). */
@font-face{font-family:"Gowun Dodum";src:url("fonts/GowunDodum-subset.woff") format("woff");font-display:swap}
body{font-family:"Gowun Dodum",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}

/* Segmented toggles (양력/음력, 성별) in dialog forms, matching the reading page. */
#flow-dialog .seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:16px;background:#f7efe6}
#flow-dialog .seg.seg-3{grid-template-columns:1fr 1fr 1.3fr}
#flow-dialog .seg label{position:relative;display:block;margin:0}
#flow-dialog .seg input{position:absolute;opacity:0;inset:0;margin:0}
#flow-dialog .seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;font-size:15px;color:#6f625b;cursor:pointer}
#flow-dialog .seg input:checked+span{background:#fff;color:#382f2b;font-weight:700;box-shadow:0 1px 3px #0000001a}
#flow-dialog .seg input:focus-visible+span{outline:2px solid #ef816c}
#flow-dialog .field-row{align-items:end}
#flow-dialog .pf-time-row{grid-template-columns:1fr!important}
#flow-dialog .seg span{white-space:nowrap}
/* Login buttons keep their brand colors in every state (hover/active/focus/visited). Generic .primary:hover rules turned Kakao black. */
a[href*="provider=kakao"],a[href*="provider=kakao"]:link,a[href*="provider=kakao"]:visited,a[href*="provider=kakao"]:hover,a[href*="provider=kakao"]:focus,a[href*="provider=kakao"]:active{background:#fee500!important;border-color:#fee500!important;color:#191600!important;box-shadow:none!important;text-decoration:none}
a[href*="provider=kakao"]:hover,a[href*="provider=kakao"]:active{background:#f4dc00!important;border-color:#f4dc00!important}
a[href*="provider=google"],a[href*="provider=google"]:link,a[href*="provider=google"]:visited,a[href*="provider=google"]:hover,a[href*="provider=google"]:focus,a[href*="provider=google"]:active{background:#fff!important;border:1px solid #e3d9ce!important;color:#382f2b!important;box-shadow:none!important;text-decoration:none}
a[href*="provider=google"]:hover,a[href*="provider=google"]:active{background:#f8f3ed!important}
a[href*="provider="]:focus-visible{outline:2px solid #ef816c!important;outline-offset:2px}
.submit-button:not(:disabled):hover,.pay-box #pay-seed:not(:disabled):hover{background:#c24a36!important;color:#fff!important}

/* Home, 사주아이-style: title, big 2-col cards with one hook, seed packs, one FREE card. No helper microcopy. */
#collection .sf-section-heading{margin:22px 0 14px}
#collection-title{margin:0;font-family:Jua,sans-serif;font-weight:400;font-size:24px;color:#302c38}
.shop-product-copy{display:flex;flex-direction:column;gap:4px}
.shop-product-copy h3{margin:0;font-size:17px}
.shop-product-hook{font-size:14px;line-height:1.4;color:#6f6670;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.shop-product-price{margin-top:2px}
.shop-product-price strong{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#fff4e2;color:#8a5a12;font-size:13px;font-weight:700}
.seed-card{display:block;padding:18px;border-radius:22px;background:#fff8ec;border:1px solid #f1e3cc}
.seed-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.seed-card-head h2{margin:0;font-family:Jua,sans-serif;font-weight:400;font-size:20px}
.seed-have{margin-left:auto;font-size:14px;color:#8a5a12;font-weight:700}
.seed-card .seed-packs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seed-card .seed-pack-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:72px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #eadfd3}
.seed-card .seed-pack-card b{font-family:Jua,sans-serif;font-weight:400;font-size:19px;color:#302c38}
.seed-card .seed-pack-card span{font-size:15px;font-weight:700;color:#d4553f}
.seed-sale{position:absolute;top:10px;right:10px;padding:2px 8px;border-radius:999px;background:#d4553f;color:#fff;font-size:12px;font-style:normal;font-weight:700}
.free-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;width:100%;margin:18px 0 6px;padding:16px 18px;border:1px solid #e6e0f2;border-radius:20px;background:#f6f3fd;text-align:left;font:inherit;color:#302c38;cursor:pointer}
.free-tag{grid-row:1/3;padding:5px 10px;border-radius:10px;background:#6950b7;color:#fff;font-size:13px;font-weight:700}
.free-card strong{font-family:Jua,sans-serif;font-weight:400;font-size:18px}
.free-card span:not(.free-tag):not(.free-arrow){font-size:14px;color:#6f6670}
.free-arrow{grid-row:1/3;grid-column:3;font-size:22px;color:#9a90b0}
.sf-bottom-nav span{font-size:11px}

/* Reading page: no helper microcopy; readable product header; compact pay sheet. */
.hero-copy h1{font-size:26px}
#product-description{font-size:15px;line-height:1.55}
.form-card .card-title{margin:0 0 12px;font-family:Jua,sans-serif;font-weight:400;font-size:18px}
.pay-box h3{font-family:Jua,sans-serif;font-weight:400;font-size:20px;margin:0 0 8px}
.pay-box>p{font-size:15px;color:#5f5550}
.seed-have-line{margin:8px 0 0;text-align:center;font-size:14px;color:#8a5a12}
.seed-shop{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.seed-shop .seed-pack{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:76px;padding:14px 16px;border-radius:16px;border:1px solid #eadfd3;background:#fff;font:inherit;text-align:left;cursor:pointer}
.seed-shop .seed-pack b{font-family:Jua,sans-serif;font-weight:400;font-size:20px;color:#302c38}
.seed-shop .seed-pack span{font-size:15px;font-weight:700;color:#d4553f}
.seed-shop .seed-pack:hover{border-color:#d4553f}
.hero #product-description,.hero-copy p{font-size:15px!important;line-height:1.55}
.sf-footer-links a{font-size:13px!important}
.sf-library-link{font-size:14px!important}

.seed-screen h2{font-family:Jua,sans-serif;font-weight:400;font-size:24px;margin:14px 0 18px;text-align:center}
.seed-screen .seed-row{display:flex;justify-content:center;margin-top:18px}
.seed-sheet-packs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seed-sheet-pack{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:92px;padding:18px;border-radius:18px;border:1.5px solid #eadfd3;background:#fff;font:inherit;text-align:left;cursor:pointer}
.seed-sheet-pack.is-selected{border-color:#d4553f;background:#fff7f3}
.seed-sheet-pack b{font-family:Jua,sans-serif;font-weight:400;font-size:24px;color:#302c38}
.seed-sheet-pack span{font-size:17px;font-weight:700;color:#d4553f}
.seed-terms-link{margin:18px 0 0;text-align:center;font-size:14px}
.seed-terms-link a{color:#8a7e76}
.seed-total{text-align:center;font-size:16px;color:#8a5a12;margin:-8px 0 16px}
.seed-login .seed-login-links{display:grid;gap:10px;margin-top:8px}
.seed-login>svg{display:block;margin:24px auto 0}

/* 무료 명식 result: keep the chart, drop explanatory/meta microcopy. */
.professional-report .report-notice,.professional-report .report-mode,.professional-report .br-caption,.professional-report .br-module-heading p,.professional-report .br-helper,.professional-report .calculation-details,.professional-report .report-disclaimer{display:none!important}
.professional-report .report-end h3{font-family:Jua,sans-serif;font-weight:400;font-size:20px}
.professional-report .br-module-heading h2,.professional-report .br-module-heading h3{font-family:Jua,sans-serif;font-weight:400}
/* 내 풀이함: no storage/meta notes. */
.sf-library .pf-storage-label,.sf-library .sf-library-note,.bokbok-account .ba-note{display:none!important}
.sf-library h2{font-family:Jua,sans-serif;font-weight:400;font-size:24px}
.sf-saved-mode{font-size:13px!important}
/* Reader 명식: chart and glyph labels only; readable label sizes; explanations stay in the optional "뜻 알아보기" fold. */
.cute-chart .chart-kicker,.cute-chart .chart-heading>p:not(.chart-kicker),.cute-chart .chart-howto,.cute-chart .day-master-note,.cute-chart .pillar-role{display:none!important}
.cute-chart .glyph-kind,.cute-chart .glyph-god,.cute-chart .pillar-grid [class*="label"],.cute-chart .element-key span{font-size:12px!important}
.cute-chart .glyph-god{font-weight:700}
.cute-chart .pillar-grid :is(h3,h4,h5,span,p,small,b,em,i){font-size:max(12px,1em)!important}
.seed-card{display:block!important;grid-template-columns:none!important}
.seed-card-head{display:flex!important;width:100%;align-items:center}
.seed-card-head .seed-card-art{flex:0 0 auto;width:auto!important;height:auto!important;padding:0!important;background:none!important}
.seed-card-head h2{white-space:nowrap;writing-mode:horizontal-tb}

/* Home hero: greeting + hamster only (no sample button). */
.home-play{height:auto!important;padding:20px 20px 30px!important}
.home-play .home-hero-art{position:static!important;inset:auto!important;visibility:visible!important;display:flex;justify-content:center;margin:12px auto 0;pointer-events:none;background:none;border:0;padding:0}
.home-hero-art .shop-box{display:block;margin:0 auto}
