*{box-sizing:border-box} :root{
--bg:#f3f0ea;--paper:#fffdfa;--paper2:#f8f4ee;--ink:#181614;--muted:#777069;--line:#e8e0d6;
--red:#a74032;--red2:#7c2d24;--gold:#c9a15b;--forest:#364e40;--navy:#26384d;--shadow:0 18px 54px rgba(47,36,26,.09);
--radius:24px
}
html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;background:
radial-gradient(circle at 0 0,rgba(201,161,91,.13),transparent 27%),radial-gradient(circle at 100% 8%,rgba(167,64,50,.08),transparent 23%),var(--bg)}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}
.site-shell{width:min(780px,100%);margin:auto;min-height:100vh;background:rgba(255,255,255,.18);border-inline:1px solid rgba(0,0,0,.025)}
.topbar{position:sticky;top:0;z-index:40;height:70px;padding:11px 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(243,240,234,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.045)}
.brand{border:0;background:transparent;padding:0;display:flex;align-items:center;gap:10px;text-align:left}.seal{width:42px;height:42px;border-radius:14px;background:#171513;color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px;box-shadow:0 7px 16px rgba(0,0,0,.12)}
.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:15px;letter-spacing:-.02em}.brand-copy small{font-size:10px;color:var(--muted);margin-top:2px}
.top-actions{display:flex;gap:8px;align-items:center}.icon-btn,.share-icon{border:1px solid var(--line);background:rgba(255,255,255,.75);border-radius:12px;width:38px;height:38px}
.engine-badge{height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;background:#edf5ee;color:#46614d;font-size:9px;font-weight:800;letter-spacing:.02em}.engine-badge i{width:6px;height:6px;border-radius:99px;background:#62946d}.engine-badge.loading{background:#f2eee7;color:#8b8177}.engine-badge.loading i{background:#b1a79d;animation:pulse 1s infinite}.engine-badge.fallback{background:#fff0dc;color:#8b5b27}.engine-badge.fallback i{background:#d38a38}@keyframes pulse{50%{opacity:.35}}
main{padding:18px 18px 104px}.page{display:none;animation:pageIn .24s ease}.page.active{display:block}@keyframes pageIn{from{opacity:.35;transform:translateY(6px)}}
.hero{position:relative;overflow:hidden;padding:34px 25px 26px;border-radius:30px;background:#171513;color:#fff;box-shadow:0 24px 60px rgba(24,19,15,.22)}
.hero:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-90px;top:-80px;background:radial-gradient(circle,rgba(201,161,91,.22),transparent 70%)}.hero-symbol{position:absolute;right:14px;bottom:-38px;font:700 180px/1 Georgia,serif;color:rgba(255,255,255,.035)}
.hero-orbit{position:absolute;border:1px solid rgba(201,161,91,.18);border-radius:50%}.orbit-a{width:310px;height:310px;right:-150px;top:-135px}.orbit-b{width:230px;height:230px;right:-110px;top:-95px}
.eyebrow{font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.18em;color:var(--red);text-transform:uppercase}.eyebrow.light{color:#deb972}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(33px,8.8vw,54px);line-height:1.08;letter-spacing:-.052em;margin:12px 0 15px}h1 em{font-style:normal;color:#ddb56d;font-family:Georgia,"Noto Serif KR",serif}.hero p{position:relative;z-index:2;max-width:580px;color:#c7c0b8;font-size:13px;line-height:1.75;margin-bottom:17px}
.trust-row{display:flex;flex-wrap:wrap;gap:8px 13px;color:#a9a198;font-size:10px}.hero-cta{position:relative;z-index:2;width:100%;margin-top:23px;border:0;border-radius:16px;background:#f7f0e5;color:#201b17;padding:16px 17px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.preview-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 22px}.preview-card{min-width:0;padding:14px 10px;border-radius:17px;background:rgba(255,253,250,.76);border:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:8px}.preview-icon{font-family:Georgia,serif;font-size:20px;color:var(--red)}.preview-card div{min-width:0}.preview-card small,.preview-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-card small{font-size:9px;color:var(--muted)}.preview-card strong{font-size:11px;margin-top:3px}
.feature-intro{padding:14px 2px}.section-heading{margin:10px 0 15px}.section-heading h2,.section-title-row h2{font-size:23px;letter-spacing:-.04em;margin:5px 0}.section-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feature-grid article{padding:18px;border-radius:19px;background:var(--paper);border:1px solid var(--line)}.feature-grid article>span{font:700 18px Georgia,serif;color:#c7b69d}.feature-grid h3{margin:16px 0 6px;font-size:15px}.feature-grid p{font-size:11px;color:var(--muted);line-height:1.6;margin:0}
.member-greeting{padding:9px 2px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.member-greeting h1{font-size:31px;margin:7px 0 5px}.member-greeting h1 em{color:var(--red);font-family:inherit}.member-greeting p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.streak-pill{flex:0 0 auto;display:flex;gap:6px;align-items:center;padding:8px 11px;border-radius:15px;background:#fff;border:1px solid var(--line)}.streak-pill>span{font-size:17px}.streak-pill strong,.streak-pill small{display:block;text-align:center}.streak-pill strong{font-size:16px}.streak-pill small{font-size:8px;color:var(--muted)}
.daily-hero-card{position:relative;overflow:hidden;padding:23px;border-radius:28px;background:linear-gradient(145deg,#822f28,#b04936);color:#fff;box-shadow:0 18px 40px rgba(126,45,36,.2)}.daily-hero-card:after{content:"今日";position:absolute;right:-14px;bottom:-30px;font:700 110px Georgia,serif;color:rgba(255,255,255,.045)}.daily-top{display:flex;justify-content:space-between;align-items:flex-start}.daily-top h2{font-size:18px;margin:6px 0}.daily-date{font-size:10px;color:#d8bcb4}.score-line{display:flex;align-items:baseline;margin-top:18px}.score-line strong{font:700 58px/1 Georgia,serif}.score-line span{font-size:11px;color:#e1c8c2;margin-left:4px}.score-track{height:7px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden;margin:12px 0}.score-track i{display:block;height:100%;width:0;background:#f2d79f;border-radius:inherit;transition:width .7s ease}.daily-hero-card>p{position:relative;z-index:2;font-size:12px;line-height:1.7;color:#f1dfdb;margin:12px 0 16px}.daily-mini-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.daily-mini-scores div{padding:10px;border-radius:12px;background:rgba(255,255,255,.09)}.daily-mini-scores small,.daily-mini-scores strong{display:block}.daily-mini-scores small{font-size:8px;color:#d9beb7}.daily-mini-scores strong{font-size:13px;margin-top:3px}.white-link{position:relative;z-index:2;margin-top:16px;border:0;background:transparent;color:#fff;padding:0;font-size:11px;font-weight:800}
.ad-slot{height:102px;margin:17px 0;border:1px dashed #cfc5b9;border-radius:19px;background:rgba(255,255,255,.38);display:grid;place-content:center;text-align:center;color:#aaa095;gap:2px}.ad-slot small{font-size:8px;letter-spacing:.18em}.ad-slot strong{font-size:12px;color:#8d8379}.ad-slot span{font-size:9px}
.daily-draw,.section-card{margin-top:16px;padding:20px;border-radius:24px;background:var(--paper);border:1px solid rgba(0,0,0,.045);box-shadow:0 8px 32px rgba(47,36,26,.045)}.daily-draw{position:relative;overflow:hidden;background:linear-gradient(145deg,#f8f2e7,#fffdfa)}.daily-draw:after{content:"籤";position:absolute;right:7px;top:-15px;font:700 92px Georgia,serif;color:rgba(167,64,50,.04)}.draw-copy h2{font-size:21px;margin:6px 0}.draw-copy p{font-size:11px;color:var(--muted)}.ink-btn{position:relative;z-index:2;border:0;border-radius:13px;background:#1c1917;color:#fff;padding:12px 15px;font-size:11px;font-weight:900}.draw-result{position:relative;z-index:2;padding:15px;margin:12px 0;border-radius:16px;background:#fff;border:1px solid #eadfce}.draw-result strong{display:block;font-size:16px;line-height:1.5}.draw-result small{display:block;margin-top:7px;color:var(--muted)}
.section-card.soft{background:#ede7dd}.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:14px}.text-btn{border:0;background:transparent;color:var(--red);font-size:10px;font-weight:900}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.service-card{position:relative;text-align:left;min-height:118px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:15px}.service-card strong,.service-card small{display:block}.service-card strong{margin-top:16px;font-size:14px}.service-card small{margin-top:4px;color:var(--muted);font-size:9px}.service-symbol{font:700 23px Georgia,serif;color:var(--red)}.service-card.wide{grid-column:1/-1;min-height:auto;display:grid;grid-template-columns:40px 1fr 22px;align-items:center}.service-card.wide strong{margin:0}.service-card.wide small{margin-top:3px}.service-card.wide i{grid-column:3;grid-row:1/3;font-style:normal}.service-card.wide .service-symbol{grid-row:1/3}
.week-flow{height:150px;display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end}.week-day{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.week-bar-wrap{height:82px;width:100%;display:flex;align-items:flex-end;justify-content:center}.week-bar{width:min(26px,75%);min-height:10px;border-radius:999px 999px 5px 5px;background:linear-gradient(#caa463,#9c4233)}.week-day strong{font-size:9px}.week-day small{font-size:8px;color:var(--muted)}.week-day.today strong{color:var(--red)}
.lucky-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.lucky-item{padding:14px;border-radius:15px;background:rgba(255,255,255,.75)}.lucky-item small,.lucky-item strong{display:block}.lucky-item small{font-size:9px;color:var(--muted)}.lucky-item strong{font-size:14px;margin-top:5px}
.page-head{display:grid;grid-template-columns:42px 1fr 42px;gap:10px;align-items:center;margin:4px 0 17px}.page-head h2{font-size:23px;letter-spacing:-.04em;margin:4px 0}.back{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.75)}.page-head .share-icon{grid-column:3}.form-card{padding:21px;border-radius:24px;background:var(--paper);border:1px solid rgba(0,0,0,.045);box-shadow:var(--shadow);display:grid;gap:14px}.form-note{display:flex;gap:9px;padding:13px;border-radius:14px;background:#f2eee7}.form-note p{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.form-note strong{color:#4e4944}.field{display:grid;gap:6px}.field>span,.field-label{font-size:11px;font-weight:900;color:#5f5953}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px;outline:none}.field input:focus,.field select:focus{border-color:#b96b5e;box-shadow:0 0 0 3px rgba(167,64,50,.07)}.seg-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg-row input{display:none}.seg-row span{display:block;text-align:center;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:11px;font-weight:800;color:var(--muted)}.seg-row input:checked+span{background:#1c1917;color:#fff;border-color:#1c1917}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-line{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.advanced-options{border-top:1px solid var(--line);padding-top:11px}.advanced-options summary{font-size:10px;font-weight:900;color:#615a53;cursor:pointer}.advanced-body{display:grid;gap:12px;margin-top:12px}.primary-btn,.secondary-btn{border:0;border-radius:14px;padding:14px;font-weight:900}.primary-btn{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 8px 18px rgba(167,64,50,.16)}.secondary-btn{background:#eee8df}.form-footnote{font-size:9px;color:#969089;line-height:1.55;text-align:center;margin:0}
.result-hero{position:relative;overflow:hidden;padding:24px;border-radius:27px;background:#1c1917;color:#fff}.result-hero:after{content:attr(data-symbol);position:absolute;right:-7px;bottom:-34px;font:700 130px Georgia,serif;color:rgba(255,255,255,.035)}.result-hero .eyebrow{color:#d9b36e}.result-hero h3{font-size:29px;letter-spacing:-.045em;margin:10px 0}.result-hero p{font-size:12px;line-height:1.7;color:#cfc7bf;margin:0}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.chip{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;color:#ddd3ca}
.score-hero{padding:25px;border-radius:27px;background:linear-gradient(145deg,#1b1a18,#302a25);color:#fff;text-align:center}.score-hero .big-score{font:700 66px/1 Georgia,serif;color:#e1bc77}.score-hero .big-score small{font:400 15px system-ui;color:#938b84}.score-hero h3{margin:12px 0 6px;font-size:20px}.score-hero p{color:#bbb3ab;font-size:11px;line-height:1.6;margin:0}
.reading-card{margin-top:14px;padding:20px;border-radius:22px;background:var(--paper);border:1px solid var(--line)}.reading-card h3{font-size:18px;margin:7px 0 10px}.reading-card>p{font-size:12px;line-height:1.8;color:#69635d}.quote{padding:14px 15px;border-left:3px solid var(--red);background:#f8f2eb;border-radius:0 13px 13px 0;font-size:12px;line-height:1.7}
.meter-list{display:grid;gap:11px}.meter-row{display:grid;grid-template-columns:63px 1fr 38px;gap:8px;align-items:center}.meter-row>span{font-size:10px;font-weight:800}.meter-row>b{text-align:right;font-size:10px}.meter{height:8px;border-radius:99px;background:#ede7df;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#c69e58,#a84132);border-radius:inherit}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-box{padding:15px;border-radius:16px;border:1px solid var(--line);background:#fff}.detail-box small,.detail-box strong{display:block}.detail-box small{font-size:9px;color:var(--muted)}.detail-box strong{font-size:15px;margin-top:5px}.detail-box p{font-size:10px;line-height:1.55;color:var(--muted);margin:7px 0 0}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.pillar{padding:14px 6px;border-radius:17px;background:#fff;border:1px solid var(--line);text-align:center}.pillar small{display:block;font-size:8px;color:var(--muted)}.pillar .hanja{font:700 26px/1.1 Georgia,serif;margin:8px 0 3px}.pillar strong{font-size:10px}.pillar .ten-god{font-size:8px;color:var(--red);margin-top:5px;min-height:12px}
.element-layout{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.donut{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";width:82px;height:82px;border-radius:50%;background:var(--paper);position:absolute}.donut-center{position:relative;z-index:2;text-align:center}.donut-center small,.donut-center strong{display:block}.donut-center small{font-size:8px;color:var(--muted)}.donut-center strong{font-size:15px;margin-top:3px}.element-legend{display:grid;gap:7px}.element-legend div{display:grid;grid-template-columns:18px 1fr 31px;gap:6px;align-items:center;font-size:9px}.element-legend i{width:8px;height:8px;border-radius:50%}.element-legend b{text-align:right}.year-chart{height:170px;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;align-items:end}.month-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.month-col .bar-wrap{height:110px;width:100%;display:flex;align-items:flex-end;justify-content:center}.month-col .bar{width:70%;max-width:24px;border-radius:999px 999px 4px 4px;background:linear-gradient(#ccb071,#9d4435)}.month-col strong{font-size:8px}.month-col small{font-size:7px;color:var(--muted)}.month-col.best .bar{background:linear-gradient(#485f4d,#7f9a80)}.month-col.best strong{color:#49624e}
.timeline-list{display:grid;gap:8px}.timeline-item{display:grid;grid-template-columns:42px 1fr 33px;gap:9px;align-items:start;padding:13px;border-radius:14px;background:#f7f3ed}.timeline-item>strong{font-size:11px;color:var(--red)}.timeline-item p{font-size:10px;line-height:1.55;color:var(--muted);margin:0}.timeline-item>b{font-size:10px;text-align:right}
.insight-list{display:grid;gap:8px}.insight{padding:15px;border-radius:15px;background:#f8f4ef}.insight strong{display:block;font-size:12px}.insight p{font-size:10px;color:var(--muted);line-height:1.65;margin:7px 0 0}
.compat-form{margin-bottom:16px}.compat-person{position:relative;padding:16px;border:1px solid var(--line);border-radius:17px;display:grid;gap:10px}.person-index{position:absolute;top:-8px;left:14px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1d1a18;color:#fff;font-size:9px;font-weight:900}.compat-heart{text-align:center;color:var(--red);font-size:19px}.compat-score{font:700 66px Georgia,serif;color:#d6b16a}.compat-bars{display:grid;gap:11px;margin-top:14px}.compat-bar{display:grid;grid-template-columns:62px 1fr 34px;gap:7px;align-items:center;font-size:9px}.compat-bar b{text-align:right}.share-result-btn{width:100%;margin-top:10px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;font-size:10px;font-weight:900}
.note{margin-top:15px;padding:12px 13px;border-radius:13px;background:#f0ebe4;color:#807870;font-size:9px;line-height:1.6}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:45;width:min(780px,100%);display:grid;grid-template-columns:repeat(4,1fr);padding:8px 12px max(9px,env(safe-area-inset-bottom));background:rgba(255,253,250,.93);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.065)}.bottom-nav button{border:0;background:transparent;display:grid;justify-items:center;gap:2px;color:#9d968e}.bottom-nav button span{font:600 17px Georgia,serif}.bottom-nav button small{font-size:8px}.bottom-nav button.active{color:var(--red);font-weight:900}
.menu-popover{position:fixed;z-index:70;right:max(calc((100vw - 780px)/2 + 18px),18px);top:62px;width:160px;padding:7px;border-radius:14px;background:#fff;box-shadow:0 15px 45px rgba(0,0,0,.16);border:1px solid var(--line)}.menu-popover button{width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:9px;font-size:10px}.menu-popover .danger{color:#b83a32}.toast{position:fixed;z-index:100;left:50%;bottom:82px;transform:translate(-50%,15px);padding:10px 14px;border-radius:11px;background:#191715;color:#fff;font-size:10px;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap;max-width:calc(100vw - 34px);overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;z-index:90}.modal-backdrop{position:absolute;inset:0;background:rgba(14,11,9,.55);backdrop-filter:blur(5px)}.modal-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,100%);max-height:94vh;overflow:auto;background:#f6f2ec;border-radius:26px 26px 0 0;padding:13px 18px max(22px,env(safe-area-inset-bottom))}.modal-handle{width:40px;height:4px;border-radius:99px;background:#c9c1b8;margin:0 auto 12px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.modal-head h2{font-size:20px;margin:4px 0}.modal-head button{border:0;background:transparent;font-size:24px}.modal canvas{display:block;width:100%;border-radius:17px;box-shadow:0 10px 30px rgba(0,0,0,.1)}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
@media(max-width:520px){.engine-badge span{display:none}.engine-badge{width:28px;padding:0;justify-content:center}.preview-card{display:block}.preview-icon{display:block;margin-bottom:5px}.feature-grid{grid-template-columns:1fr 1fr}.element-layout{grid-template-columns:125px 1fr}.donut{width:120px;height:120px}.donut:after{width:70px;height:70px}.two-fields{grid-template-columns:1fr 1fr}}
@media(min-width:680px){main{padding-inline:28px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card.wide{grid-column:1/-1}.feature-grid{grid-template-columns:repeat(4,1fr)}}

/* ===== v0.3 Deep Rule Engine ===== */
.strength-panel{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;padding:15px;border-radius:17px;background:#f7f3ed}
.strength-score{display:flex;align-items:baseline;justify-content:center}.strength-score strong{font:700 38px/1 Georgia,serif;color:var(--red)}.strength-score small{font-size:9px;color:var(--muted)}
.strength-panel b{font-size:13px}.strength-panel p{margin:6px 0 0;font-size:10px;line-height:1.65;color:var(--muted)}
.family-bars{display:grid;gap:10px}.family-row{display:grid;grid-template-columns:43px 1fr 38px;gap:8px;align-items:center}.family-row span{font-size:10px;font-weight:800}.family-row b{text-align:right;font-size:9px}
.focus-family{margin-top:15px;padding:15px;border-radius:16px;background:#f5efe7}.focus-family small,.focus-family strong{display:block}.focus-family small{font-size:8px;color:var(--muted)}.focus-family strong{margin-top:5px;font-size:14px}.focus-family p{font-size:10px;line-height:1.65;color:var(--muted);margin:7px 0 0}
.evidence-box{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.evidence-box summary{cursor:pointer;font-size:10px;font-weight:900;color:var(--red)}.evidence-body{display:grid;gap:7px;margin-top:11px}.evidence-body div{display:flex;gap:7px;align-items:flex-start;padding:9px 10px;border-radius:11px;background:#f7f3ee}.evidence-body i{font-style:normal;color:#6f8c73;font-weight:900}.evidence-body span{font-size:9px;line-height:1.5;color:#6d665f}
.pattern-list{display:grid;gap:8px}.pattern{display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:start;padding:13px;border-radius:14px;background:#f7f3ee}.pattern>span{font-size:9px;font-weight:900;padding:5px 6px;border-radius:8px;background:#e9ded1;text-align:center}.pattern p{font-size:10px;line-height:1.55;color:var(--muted);margin:2px 0 0}.pattern.combine>span{background:#e5eee6;color:#49624e}.pattern.clash>span{background:#f4e4df;color:#9b4438}

/* =========================================================
   v0.4 Readability & Plain-language UI
   작은 글씨 최소화 / 큰 제목 과도한 크기 완화 / 명암 개선
   ========================================================= */
:root{--muted:#635d57;--line:#ded6cc}
body{font-size:14px;line-height:1.65}
main{padding-top:20px}
.eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.4}
h1{font-size:clamp(34px,7.4vw,45px);line-height:1.13}
h2,.section-heading h2,.section-title-row h2{font-size:23px;line-height:1.3}
.hero p{font-size:14px;line-height:1.8}
.trust-row{font-size:12px}
.brand-copy strong{font-size:16px}.brand-copy small{font-size:11px}
.preview-card small{font-size:11px}.preview-card strong{font-size:13px}
.feature-grid h3{font-size:16px}.feature-grid p{font-size:13px;line-height:1.7}
.member-greeting p{font-size:13px}
.streak-pill small{font-size:10px}
.daily-date{font-size:12px}.score-line span{font-size:13px}
.daily-hero-card>p{font-size:14px;line-height:1.8}
.daily-mini-scores small{font-size:11px}.daily-mini-scores strong{font-size:15px}
.white-link{font-size:13px}
.ad-slot small{font-size:10px}.ad-slot strong{font-size:13px}.ad-slot span{font-size:11px}
.draw-copy p{font-size:13px}.ink-btn{font-size:13px}
.service-card strong{font-size:15px}.service-card small{font-size:12px;line-height:1.45}
.week-day strong{font-size:11px}.week-day small{font-size:10px}
.lucky-item small{font-size:11px}.lucky-item strong{font-size:15px}
.page-head h2{font-size:24px}
.form-note p{font-size:12px}.field>span,.field-label{font-size:13px}
.field input,.field select{font-size:14px}
.seg-row span{font-size:13px}
.check-line,.advanced-options summary{font-size:12px}
.form-footnote{font-size:11px}
.result-hero h3{font-size:26px;line-height:1.35}.result-hero p{font-size:14px;line-height:1.8}
.chip{font-size:11px;padding:7px 9px}
.score-hero p{font-size:13px;line-height:1.75}
.reading-card{padding:21px}.reading-card h3{font-size:20px;line-height:1.45}
.reading-card>p,.section-desc{font-size:14px!important;line-height:1.8!important;color:#5c5650!important}
.quote{font-size:14px;line-height:1.8}
.meter-row>span,.meter-row>b{font-size:12px}
.detail-box small{font-size:11px}.detail-box strong{font-size:16px}.detail-box p{font-size:13px;line-height:1.65}
.pillar-grid{gap:9px}
.pillar{padding:16px 8px}.pillar small{font-size:11px}.pillar .hanja{font-size:29px}.pillar strong{font-size:13px}
.pillar .ten-god{font-size:11px}
.donut-center small{font-size:10px}.donut-center strong{font-size:15px}
.element-legend div{font-size:12px;grid-template-columns:16px 1fr 38px}.element-legend span strong,.element-legend span small{display:block}.element-legend span strong{font-size:12px}.element-legend span small{font-size:10px;color:var(--muted)}
.month-col strong{font-size:10px}.month-col small{font-size:9px}
.timeline-item{grid-template-columns:50px 1fr 28px}.timeline-item>strong{font-size:13px}.timeline-item p{font-size:13px;line-height:1.7}.timeline-item>b{font-size:12px}
.insight strong{font-size:14px}.insight p{font-size:13px;line-height:1.75}
.person-index{font-size:11px}.compat-bar{font-size:12px}.share-result-btn{font-size:13px}
.note{font-size:12px;line-height:1.7;color:#6a635c}
.bottom-nav button small{font-size:10px}
.menu-popover button,.toast{font-size:12px}

.strength-score strong{font-size:40px}.strength-score small{font-size:11px}
.strength-panel b{font-size:14px}.strength-panel p{font-size:13px;line-height:1.75}
.family-row{grid-template-columns:88px 1fr 42px}.family-label strong,.family-label small{display:block}.family-label strong{font-size:12px}.family-label small{font-size:10px;color:var(--muted)}
.family-row>b{font-size:11px}
.focus-family small{font-size:11px}.focus-family strong{font-size:16px}.focus-family p{font-size:13px;line-height:1.75}
.technical-term{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.evidence-box summary{font-size:13px;padding:4px 0}
.evidence-intro{font-size:12px;line-height:1.65;color:var(--muted);margin:9px 0}
.evidence-body span{font-size:12px;line-height:1.65}
.pattern{grid-template-columns:55px 1fr;padding:14px}.pattern>span{font-size:11px}.pattern div>strong{display:block;font-size:13px}.pattern p{font-size:12px;line-height:1.7;margin:4px 0}.pattern small{display:block;font-size:11px;line-height:1.55;color:#8a8178}
.intro-explain>p{font-size:14px;line-height:1.8}
.plain-summary{display:grid;gap:9px;margin-top:15px}
.plain-summary>div{padding:15px;border-radius:15px;background:#f6f1eb}
.plain-summary small,.plain-summary strong,.plain-summary span{display:block}
.plain-summary small{font-size:11px;color:var(--muted)}
.plain-summary strong{font-size:15px;margin-top:4px}
.plain-summary span{font-size:12px;line-height:1.6;color:var(--muted);margin-top:5px}
.pillar-meaning{font-size:11px;line-height:1.5;color:var(--muted);margin-top:8px}
.main-pillar{border:2px solid rgba(167,64,50,.35);background:#fffaf5}
.main-badge{display:inline-block;margin-top:8px;padding:5px 7px;border-radius:999px;background:#a74032;color:#fff;font-size:9px;font-weight:800}
.term-help,.plain-reading{margin-top:14px;padding:14px 15px;border-radius:14px;background:#f3eee7}
.term-help strong,.plain-reading strong{display:block;font-size:13px}
.term-help p,.plain-reading p{font-size:12px;line-height:1.7;color:#625c56;margin:6px 0 0}
.inline-term{display:block;margin-top:5px;font-size:11px;color:#80776f}
.important-note strong{color:#8d3a2e}

@media(max-width:520px){
  .feature-grid{grid-template-columns:1fr}
  .pillar-grid{grid-template-columns:repeat(2,1fr)}
  .element-layout{grid-template-columns:120px 1fr;gap:13px}
  .year-chart{gap:3px}
  .month-col strong{font-size:9px}
}

/* =========================================================
   v0.5 UX polish
   ========================================================= */
:root{--text:#211e1b;--muted:#5f5953;--soft:#f6f1ea}
body{font-size:16px;color:var(--text);line-height:1.65}
main{padding-inline:20px}.topbar{height:72px}
.brand-copy strong{font-size:17px}.brand-copy small{font-size:12px}
.engine-badge{font-size:11px;height:32px}
.hero{padding:35px 26px 28px}.hero h1{font-size:clamp(34px,7vw,46px);line-height:1.16}.hero p{font-size:15px;line-height:1.8}.hero-cta{font-size:15px;padding:17px 18px}.trust-row{font-size:12px}
.eyebrow{font-size:12px;letter-spacing:.08em}
h2,.section-heading h2,.section-title-row h2{font-size:24px;line-height:1.35}
.section-subcopy{font-size:13px;color:var(--muted);margin:5px 0 0;line-height:1.55}
.feature-grid article{padding:20px}.feature-grid h3{font-size:17px}.feature-grid p{font-size:14px}.preview-card small{font-size:12px}.preview-card strong{font-size:14px}
.member-greeting h1{font-size:32px}.member-greeting p{font-size:14px}.streak-pill{padding:9px 12px}.streak-pill strong{font-size:18px}.streak-pill small{font-size:11px}
.daily-hero-card{padding:24px}.daily-top h2{font-size:20px}.daily-date{font-size:13px}.score-line strong{font-size:60px}.score-line span{font-size:14px}.daily-hero-card>p{font-size:15px}.daily-mini-scores small{font-size:12px}.daily-mini-scores strong{font-size:16px}.white-link{font-size:14px}
.today-action-card{margin-top:17px;padding:21px;border-radius:24px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 30px rgba(47,36,26,.045)}
.day-pillar-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eee5d9;color:#7d5545;font-size:12px;font-weight:800}
.action-guide{display:grid;gap:10px}.action-item{padding:16px;border-radius:17px}.action-item span,.action-item strong{display:block}.action-item span{font-size:12px;font-weight:900;margin-bottom:7px}.action-item strong{font-size:15px;line-height:1.65}.action-item.good{background:#edf4ee}.action-item.good span{color:#52705a}.action-item.caution{background:#f8eee9}.action-item.caution span{color:#9c4e40}
.daily-draw{padding:21px}.draw-copy h2{font-size:22px}.draw-copy p{font-size:14px}.ink-btn{font-size:14px;padding:13px 16px}.draw-result strong{font-size:17px}.draw-result small{font-size:12px}
.section-card{padding:21px}.service-card{min-height:128px;padding:17px}.service-card strong{font-size:16px}.service-card small{font-size:13px;line-height:1.55}.service-symbol{font-size:25px}
.week-day strong{font-size:12px}.week-day small{font-size:11px}.week-day.best-day .week-bar{background:linear-gradient(#54725d,#76927c)}.week-day.best-day strong{color:#45614d}
.home-ad-slot{margin-top:18px}.ad-slot{min-height:96px}.ad-slot small{font-size:11px}.ad-slot strong{font-size:14px}.ad-slot span{font-size:12px}
.page-head h2{font-size:26px}.form-card{padding:23px}.form-note p{font-size:13px}.field>span,.field-label{font-size:14px}.field input,.field select{font-size:15px;padding:14px}.seg-row span{font-size:14px;padding:13px}.check-line,.advanced-options summary{font-size:13px}.primary-btn,.secondary-btn{font-size:15px;padding:15px}.form-footnote{font-size:12px}
.result-hero{padding:25px}.result-hero h3{font-size:27px;line-height:1.4}.result-hero p{font-size:15px;line-height:1.85}.chip{font-size:12px}
.reading-card{padding:22px;margin-top:16px}.reading-card h3{font-size:21px;line-height:1.45}.reading-card>p,.section-desc{font-size:15px!important;line-height:1.85!important}
.score-hero{padding:26px}.score-hero h3{font-size:22px;line-height:1.45}.score-hero p{font-size:14px;line-height:1.8}.score-help{font-size:13px;line-height:1.7;color:var(--muted);margin:15px 0 0}
.meter-row{grid-template-columns:58px 1fr 38px}.meter-row>span,.meter-row>b{font-size:13px}
.today-do-list{display:grid;gap:10px}.do-card{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:start;padding:16px;border-radius:17px}.do-card>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:900}.do-card small,.do-card strong{display:block}.do-card small{font-size:12px;color:var(--muted);margin-bottom:5px}.do-card strong{font-size:15px;line-height:1.7}.do-card.good{background:#edf4ee}.do-card.good>span{background:#56745e;color:#fff}.do-card.caution{background:#f8eee9}.do-card.caution>span{background:#ad5849;color:#fff}
.simple-detail summary{cursor:pointer;font-size:14px;font-weight:800;color:var(--red);padding:4px 0}
.consultation-list{display:grid;gap:0;border-top:1px solid var(--line);margin-top:8px}.consultation-item{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.consultation-no{font:700 14px Georgia,serif;color:#b59671;padding-top:2px}.consultation-item h4{font-size:16px;margin:0 0 7px}.consultation-item p{font-size:15px;line-height:1.82;color:#5b554f;margin:0}
.family-row{grid-template-columns:100px 1fr 42px;gap:10px}.family-label strong{font-size:13px}.family-label small{font-size:11px}.focus-family small{font-size:12px}.focus-family strong{font-size:17px}.focus-family p{font-size:14px}
.element-legend span strong{font-size:13px}.element-legend span small{font-size:11px}.element-legend div{font-size:13px}.plain-reading strong,.term-help strong{font-size:14px}.plain-reading p,.term-help p{font-size:14px}
.evidence-box{padding:16px;border:1px solid var(--line);border-radius:16px;background:#faf7f2}.evidence-box summary{font-size:14px}.evidence-intro{font-size:13px}.evidence-body span{font-size:13px}
.technical-accordion{display:block}.technical-accordion>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.technical-accordion>summary::-webkit-details-marker{display:none}.technical-accordion>summary span b,.technical-accordion>summary span small{display:block}.technical-accordion>summary span b{font-size:16px}.technical-accordion>summary span small{font-size:13px;line-height:1.55;color:var(--muted);margin-top:3px}.technical-accordion>summary i{font-style:normal;font-size:24px;color:#8c8176;transition:.2s}.technical-accordion[open]>summary i{transform:rotate(45deg)}.accordion-content{padding-top:18px}
.pillar{padding:17px 10px}.pillar small{font-size:12px}.pillar .hanja{font-size:32px}.pillar strong{font-size:14px}.pillar-meaning{font-size:12px}.pattern div>strong{font-size:14px}.pattern p{font-size:13px}.pattern small{font-size:12px}.timeline-item p{font-size:14px}
.lucky-item small{font-size:12px}.lucky-item strong{font-size:16px}.note{font-size:13px;line-height:1.75}.bottom-nav button span{font-size:19px}.bottom-nav button small{font-size:12px}.bottom-nav{padding-top:9px}.menu-popover button,.toast{font-size:13px}

@media(max-width:520px){
  main{padding-inline:16px}.topbar{padding-inline:15px}.hero{padding:31px 21px 24px}.hero h1{font-size:35px}.feature-grid{grid-template-columns:1fr}.preview-strip{gap:7px}.preview-card{padding:13px 9px}.preview-card small{font-size:11px}.preview-card strong{font-size:13px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:124px}.pillar-grid{grid-template-columns:1fr 1fr}.element-layout{grid-template-columns:115px 1fr}.member-greeting{align-items:center}.member-greeting h1{font-size:28px}
  .year-chart{overflow-x:auto;min-width:560px}
}

/* =========================================================
   v0.6 Navigation / Brand / Today-first UX
   ========================================================= */
.seal{position:relative;overflow:hidden}
.seal b{font:700 21px/1 Georgia,serif}
.seal i{position:absolute;right:3px;bottom:2px;font:700 8px/1 Georgia,serif;color:#d9b46e;font-style:normal}
.engine-badge.verified{background:#e8f2ea;color:#395a42;border:1px solid rgba(74,113,83,.16)}
.engine-badge.verified i{background:#4f7b5a;box-shadow:0 0 0 3px rgba(79,123,90,.12)}

.bottom-nav{
  gap:8px;
  padding:9px 10px max(10px,env(safe-area-inset-bottom));
  background:rgba(250,247,242,.96);
  border-top:1px solid #d8d0c6;
  box-shadow:0 -8px 28px rgba(45,36,28,.08)
}
.bottom-nav .nav-btn{
  min-width:0;
  min-height:56px;
  border:1px solid transparent;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  color:#716a63;
  transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease
}
.bottom-nav .nav-btn:active{transform:scale(.97)}
.bottom-nav .nav-btn .nav-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:24px;
  font:700 21px/1 Georgia,serif
}
.bottom-nav .nav-btn .nav-text{
  font-size:12px;
  line-height:1.1;
  font-weight:800;
  white-space:nowrap
}
.bottom-nav .nav-btn.active{
  color:#fff;
  background:#211d1a;
  border-color:#211d1a;
  box-shadow:0 7px 16px rgba(33,29,26,.18)
}
.bottom-nav .nav-btn.active .nav-icon{color:#e1ba73}
.bottom-nav .nav-btn:not(.active):hover{background:#f0eae2;border-color:#e1d7cb}

.saju-entry-cta{
  margin-top:16px;
  padding:20px;
  border-radius:24px;
  background:linear-gradient(145deg,#fffaf3,#f2e9dc);
  border:1px solid #dfd2c1;
  box-shadow:0 10px 28px rgba(62,45,30,.07);
  display:grid;
  grid-template-columns:50px 1fr;
  gap:13px;
  align-items:start
}
.saju-entry-symbol{
  width:50px;height:50px;border-radius:16px;background:#211d1a;color:#e4bd74;
  display:grid;place-items:center;font:700 25px/1 Georgia,serif
}
.saju-entry-copy span,.saju-entry-copy strong,.saju-entry-copy p{display:block}
.saju-entry-copy span{font-size:12px;color:#8a6c4f;font-weight:900}
.saju-entry-copy strong{font-size:17px;line-height:1.5;margin-top:5px}
.saju-entry-copy p{font-size:13px;line-height:1.7;color:#665f58;margin:6px 0 0}
.saju-entry-button{
  grid-column:1/-1;
  width:100%;
  border:0;
  border-radius:14px;
  padding:14px 16px;
  background:#a74032;
  color:#fff;
  font-size:14px;
  font-weight:900;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.saju-entry-button b{font-size:18px}

@media(max-width:420px){
  .bottom-nav{gap:5px;padding-inline:7px}
  .bottom-nav .nav-btn{min-height:54px;border-radius:14px}
  .bottom-nav .nav-btn .nav-text{font-size:11px}
  .bottom-nav .nav-btn .nav-icon{font-size:20px}
}

/* v0.6.1 form clarity */
.optional-label{
  display:inline-block;
  margin-left:5px;
  padding:2px 6px;
  border-radius:999px;
  background:#eee8df;
  color:#756d65;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  vertical-align:1px
}
.field-help{
  display:block;
  margin-top:1px;
  font-size:12px;
  line-height:1.6;
  color:#777069;
  font-weight:400
}
