/* A warm, playful skin. Calendar values and explanations keep their existing structure. */
:root{--gyeol-ink:#3f304d;--gyeol-muted:#76647e;--gyeol-purple:#7250ad;--gyeol-purple-deep:#573382;--gyeol-line:#e8deef;--gyeol-lilac:#f1eafa;--gyeol-peach:#fff0e6;--gyeol-cream:#fffaf6;--gyeol-shadow:0 6px 22px #72508709}
body{color:var(--gyeol-ink);background:var(--gyeol-cream);background-image:radial-gradient(ellipse at 12% 0,#f3eafb 0,transparent 35rem);line-height:1.7}
button,a,input,select,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #7750ab;outline-offset:4px}
button:disabled{cursor:default}
button,input,select{letter-spacing:inherit}
.site-header{height:auto;min-height:84px;background:#fffdfaf2;border-bottom:1px solid #ede4f0}
.header-inner{max-width:1280px;min-height:84px;height:auto;padding:12px 34px;gap:20px;flex-wrap:wrap}
.brand{gap:9px;min-height:48px;flex-shrink:0}
.brand-mascot{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0}
.brand-mascot img{display:block;width:48px;height:48px;object-fit:contain}
.brand-name{color:#4b375a;font-size:2rem;font-weight:850;letter-spacing:-.07em}
.brand-dot{color:#a282d4}
.brand-caption{font-size:.875rem;color:var(--gyeol-muted);border-color:#e8dced;padding-left:13px;margin-left:9px}
.header-right{gap:20px;margin-left:auto;font-size:.875rem;color:var(--gyeol-muted);flex-wrap:wrap}
.text-button{min-height:44px;padding:9px 2px;color:#705982;font-size:.875rem;font-weight:550}
.text-button:hover{color:#542b81}
.header-right .text-button{font-size:.875rem}
.header-right #open-compat,.header-right #open-meeting{color:#735095}
.header-right .text-button span{margin-left:3px}
.journey-nav{max-width:1280px;margin:0 auto;padding:26px 34px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.journey-card{border:1px solid #e5dcea;border-radius:22px;background:#fffdfb;box-shadow:0 3px 0 #eadfed55;display:flex;align-items:center;justify-content:center;gap:14px;padding:17px 16px;min-width:0;min-height:88px;text-align:left;color:var(--gyeol-ink);transition:border-color .18s,background .18s,box-shadow .18s}
.journey-card>span:first-child{font-size:1.8rem;line-height:1.2;flex-shrink:0;background:#f4eef9;border-radius:16px;display:grid;place-items:center;width:48px;height:48px}
.journey-card:nth-child(2)>span:first-child{background:#ffede2}
.journey-card:nth-child(3)>span:first-child{background:#ffeaf0}
.journey-card>span:last-child{min-width:0}
.journey-card strong,.journey-card small{display:block;word-break:keep-all;overflow-wrap:anywhere}
.journey-card strong{font-size:1rem;font-weight:750;line-height:1.55}
.journey-card small{font-size:.875rem;line-height:1.55;color:var(--gyeol-muted);margin-top:3px}
.journey-card:hover{background:#f9f4fe;border-color:#bb9ed4}
.journey-card.active{border:2px solid #aa89cd;background:#f5effc;box-shadow:0 3px 0 #dac7ee;padding:16px 15px}
.journey-card.active strong{color:#65408d}
.journey-card:nth-child(2).active{background:#fff2e9;border-color:#d9a28b;box-shadow:0 3px 0 #f2d6c8}
.journey-card:nth-child(3).active{background:#fff0f4;border-color:#d59ab2;box-shadow:0 3px 0 #f2d4e0}
.app-layout{max-width:1280px;grid-template-columns:330px minmax(0,1fr);gap:34px;padding:30px 34px 36px;align-items:start}
.input-panel{background:#f4effb;border:1px solid #e5d8f1;border-radius:28px;padding:26px 23px;box-shadow:var(--gyeol-shadow)}
.input-welcome{display:flex;align-items:center;gap:6px;margin-bottom:23px;flex-direction:row-reverse}
.welcome-mascot{width:92px;height:108px;max-width:34%;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 7px 5px #866eaa13)}
.input-welcome>div{min-width:0;flex:1}
.section-eyebrow{font-size:.875rem;color:#785d87;font-weight:650;letter-spacing:.03em}
.input-panel .section-eyebrow{font-size:.875rem;color:#775c8c;letter-spacing:0}
.input-panel h1{font-size:1.75rem;font-weight:800;letter-spacing:-.045em;line-height:1.38;margin:9px 0 12px;word-break:keep-all;overflow-wrap:anywhere}
.input-panel h1 br{display:block}
.input-intro{font-size:1rem;line-height:1.75;color:#746184;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.form-group{margin-bottom:23px}
.form-group legend{font-size:1rem;font-weight:700;color:#51405e;margin-bottom:10px}
.label-hint{color:#766183;font-size:.875rem;line-height:1.6;display:block;margin:3px 0 0;font-weight:400}
.segmented{border-radius:16px;padding:5px;background:#e9dff3;gap:5px}
.segmented span{min-height:44px;padding:10px 8px;font-size:1rem;border-radius:12px;color:#756186;display:flex;align-items:center;justify-content:center;line-height:1.5}
.segmented input:checked+span{color:#68418f;background:#fff;box-shadow:0 2px 5px #77529512;font-weight:750}
.segmented input:focus-visible+span{outline:3px solid #7750ab;outline-offset:2px}
.date-fields{gap:7px;grid-template-columns:1.5fr 1fr 1fr}
.date-fields input,.compat-field>input,.meeting-form input{border:1px solid #dfd1e9;border-radius:13px;min-height:50px;height:auto;padding:12px 25px 12px 11px;font-size:1rem;line-height:1.5;box-shadow:0 2px 0 #e9dcf133;background:#fff;color:#493652}
.date-fields>div>span{top:50%;transform:translateY(-50%);right:10px;color:#75637d;font-size:.875rem}
select{min-height:50px;height:auto;border-color:#dfd1e9;border-radius:13px;background-color:#fff;font-size:1rem;padding:12px 11px;line-height:1.5;color:#493652}
.time-fields select,.form-group input{font-size:1rem}
.check-label{min-height:44px;font-size:.875rem;color:#746084;line-height:1.7;gap:9px;margin-top:6px}
.check-label input{width:18px;height:18px;flex-shrink:0;accent-color:#8056af}
.advanced{border-color:#dfd1e8;padding:8px 0 17px;margin-top:2px}
.advanced summary{min-height:44px;font-size:.875rem;color:#715482;gap:12px}
.advanced-content{padding-top:10px;gap:10px}
.advanced-content label,.advanced-content select,.advanced-content p{font-size:.875rem;color:#745c83}
.advanced-content p{line-height:1.85;overflow-wrap:anywhere}
.primary-button{background:#7853ad;border:1px solid #6b479e;border-radius:17px;min-height:56px;box-shadow:0 4px 0 #6640931f;padding:14px 19px;font-size:1rem;font-weight:750;line-height:1.6;gap:12px}
.primary-button:hover{background:#69449f;transform:none;box-shadow:0 4px 0 #5d37852b}
.primary-button:active{background:#5d3a8e;transform:none;box-shadow:0 1px 0 #5d37852b}
.primary-button:disabled{cursor:default;opacity:.55}
.privacy-note{font-size:.875rem;line-height:1.75;color:#735f7f;gap:6px;margin:15px 0 0;text-align:center;align-items:flex-start}
.privacy-note svg{flex-shrink:0;margin-top:5px}
.input-foot{border-color:#e0d2e9;margin-top:25px;padding-top:20px}
.input-foot>span,.input-foot p{color:#755e83;font-size:.875rem}
.form-error{border-color:#ecc8c8;background:#fff2ef;color:#923d42;border-radius:14px;font-size:1rem;line-height:1.75}
.character-card{display:flex;align-items:center;gap:20px;padding:22px 26px;border:1px solid #f1d9c8;border-radius:25px;background:#fff0e3;box-shadow:0 4px 0 #e9cdb31c;margin-bottom:23px;min-width:0}
.character-symbol{display:grid;place-items:center;flex-shrink:0;width:72px;height:72px;font-size:2.35rem;line-height:1;background:#fff9e9;border:1px solid #f0dec3;border-radius:24px;transform:rotate(-4deg)}
.character-copy{min-width:0}
.character-copy .section-eyebrow{color:#87614d;font-size:.875rem}
.character-copy h3{font-size:1.5rem;line-height:1.45;font-weight:800;color:#674b47;margin:5px 0;word-break:keep-all;overflow-wrap:anywhere}
.character-copy p{font-size:1rem;color:#7c605b;line-height:1.7;margin:5px 0 0;word-break:keep-all;overflow-wrap:anywhere}
.result-top{align-items:center;gap:14px;scroll-margin-top:100px}
.result-top h2{font-size:1.65rem;font-weight:800;line-height:1.4;color:#4e375e;margin:7px 0 9px}
.result-top .section-eyebrow{font-size:.875rem;color:#7a5f89}
.sample-badge,.sample-badge.calculated{border-radius:999px;padding:6px 12px;font-size:.875rem;background:#eee5f7;color:#795592;border-color:#decdea}
.birth-summary{font-size:.875rem;line-height:1.8;color:#74607d;margin-bottom:18px}
.birth-summary .summary-divider{color:#b9a8c5}
.tabs{position:sticky;top:0;z-index:12;gap:6px;justify-content:flex-start;padding:9px 0 12px;border:0;margin-bottom:12px;background:var(--gyeol-cream);box-shadow:0 6px 7px #fffaf6;scroll-padding-inline:4px;overflow-y:hidden}
.tab{min-height:44px;border:1px solid #e7dbef;background:#fffdfb;border-radius:999px;padding:9px 14px;color:#746082;font-size:.875rem;font-weight:600;line-height:1.55;flex-shrink:0;max-width:none}
.tab.active{background:#7853ad;color:#fff;border-color:#7853ad;font-weight:700;box-shadow:0 2px 3px #76509216}
.tab.active:after{display:none}
.tab:hover{border-color:#ac8acb}
.tab:focus-visible{outline-offset:-3px;outline-color:#b99ad8}
.card{border-color:#e7ddec;border-radius:24px;padding:26px;background:#fff;box-shadow:var(--gyeol-shadow);overflow:visible}
.card-heading{gap:15px;margin-bottom:20px;flex-wrap:wrap}
.card-heading h3{font-size:1.0625rem;color:#574162;font-weight:750;line-height:1.65}
.card-heading span,.muted{font-size:.875rem;color:#72617a}
.pillars{grid-template-columns:repeat(4,minmax(3.4rem,1fr));overflow-x:auto;padding:8px 5px 2px;margin:-8px -5px 0}
.element-overview{flex-wrap:wrap}
.pillar-title,.pillar-subtitle,.pillar-relation,.pillar-meta,.pillar-meta strong,.pillars-footnote,.pillar-ko{font-size:.875rem;color:#75617d}
.pillar-block{border-radius:15px;padding:15px 4px 13px;min-height:100px}
.pillar-block .pillar-ko{color:var(--element)}
.pillar-subtitle{letter-spacing:.015em;margin-bottom:15px}
.pillar-relation{min-height:24px;line-height:1.65}
.pillar-meta{margin-top:15px;padding-top:13px;line-height:1.75}
.pillar-meta strong{line-height:1.7;font-weight:500}
.day-pillar{background:#f3eafa;border-radius:19px;box-shadow:inset 0 0 0 1px #e7d6f1}
.unknown-block{border-radius:15px;background:#f2eef5;color:#73647d;min-height:100px}
.element-0{--element:#277b69;--element-bg:#e8f6ec;--element-bar:#79b69a}.element-1{--element:#b15b50;--element-bg:#fff0e9;--element-bar:#eaa18a}.element-2{--element:#8e722b;--element-bg:#fff6d9;--element-bar:#dfc178}.element-3{--element:#587791;--element-bg:#eaf3f9;--element-bar:#8bb1c9}.element-4{--element:#626eb0;--element-bg:#edeefa;--element-bar:#a1a7d5}
.element-row{font-size:.875rem;color:#725f81}
.element-label,.element-count{color:#746082}
.element-dot{width:9px;height:9px}
.donut-inner span,.tiny-note{font-size:.875rem;color:#75617f}
.master-card{background:#f1eafb;border-color:#e0cfee;color:#594367}
.master-card .card-heading h3{color:#624373}
.master-card .card-heading span,.master-kicker{color:#7a5c89;font-size:.875rem}
.master-glyph{color:#7d58a0}
.master-card p{color:#755f82;font-size:1rem}
.master-link{min-height:44px;border-color:#deceeb;color:#76568d;font-size:.875rem;gap:14px}
.calendar-context{border-radius:18px;background:#f5effb;border-color:#e6d9ef;font-size:.875rem;line-height:1.85;color:#775e85;padding:16px 19px}
.calendar-context strong{color:#785489}
.notice,.scope-note{border-radius:16px;font-size:.875rem;line-height:1.85;overflow-wrap:anywhere}
.notice{background:#fff7e5;border-color:#ecd7a6;color:#82642c}
.scope-note{color:#786185;background:#f6f0fb}
.reading-hero,.detailed-hero,.fortune-hero{background:#f0e7fa;border-color:#deccee;color:#4f3663;padding:29px}
.reading-hero .section-eyebrow,.detailed-hero .section-eyebrow,.fortune-hero .section-eyebrow{color:#7d5995;font-size:.875rem;letter-spacing:.02em}
.reading-hero h3,.detailed-hero h3,.fortune-hero h3{font-size:1.65rem;line-height:1.5;color:#523865;font-weight:800;margin:11px 0 15px;word-break:keep-all;overflow-wrap:anywhere}
.reading-hero p,.detailed-hero p,.fortune-hero p{font-size:1rem;color:#755e82;line-height:1.9}
.tag-row{gap:8px}
.tag{background:#fffafc;border:1px solid #e2d2ee;color:#7c5b8f;font-size:.875rem;padding:5px 12px}
.quick-reading>div{border-color:#e7d9ef;border-radius:20px;background:#fffdfb;padding:22px 19px}
.quick-reading>div:nth-child(2){background:#fff5ec;border-color:#efddcd}
.quick-reading>div:nth-child(3){background:#edf6f0;border-color:#dbe9df}
.quick-reading h4,.quick-reading p{color:#74607d;font-size:.875rem}
.quick-reading strong{color:#594568;font-size:1rem;line-height:1.7}
.quick-number{color:#775c8e}
.reading-orientation{font-size:.875rem;color:#766081}
.reading-nav button{border-color:#e2d4ec;color:#765389;background:#fffdfb;padding:10px 15px}
.reading-nav button:hover{background:#f3eaf9;border-color:#b793d1}
.reading-toolbar{gap:17px}
.reading-toolbar button,.reading-toolbar [role=status]{color:#7f5897;font-size:.875rem}
.reading-chapter{border-color:#e7d9ed;border-radius:23px;box-shadow:0 3px 12px #79529605;margin-bottom:16px}
.reading-chapter>summary{padding:23px;gap:16px}
.reading-chapter>summary strong{color:#574062;font-size:1.125rem;line-height:1.6}
.chapter-number{display:grid;place-items:center;min-width:35px;min-height:35px;padding:4px;border-radius:12px;background:#f2eafa;color:#7a5b8d;font-size:.875rem}
.chapter-preview{color:#776181;line-height:1.7;font-size:.875rem}
.chapter-toggle{color:#796089;font-size:1.5rem}
.reading-chapter[open]>summary{background:#fbf7ff;border-color:#eddfF4}
.reading-prose,.reading-prose p,.reading-action p,.combination-card p{color:#695673;font-size:1rem;line-height:1.95}
.reading-prose h4,.reading-prose h5,.insight-title{color:#60426e}
.reading-example{background:#fff2e8;border:1px solid #f0dac9;border-left:3px solid #dcaf8d;border-radius:16px;padding:18px 20px}
.reading-example>span{color:#826049;font-size:.875rem}
.reading-example p{color:#806252;font-size:1rem}
.reading-action{border-color:#e7d9ef}
.reading-action strong,.reading-evidence,.reading-evidence summary{color:#785e85;font-size:.875rem}
.reading-evidence{border-color:#dcc8e9}
.section-description,.insight-text{color:#766184;font-size:1rem}
.element-chips>span{border-radius:13px;background:#fcf9ff;border-color:#e5d8ee;color:#745f82;font-size:.875rem}
.relation-badge,.flow-badge{border-radius:999px;background:#f0e5fa;color:#805799;font-size:.875rem;padding:5px 11px}
.fortune-controls{gap:10px}
.fortune-controls input{border-color:#dfd0eb;border-radius:13px;min-height:48px;font-size:1rem;color:#6e547d}
.icon-button{min-width:44px;min-height:44px;width:44px;height:44px;border-color:#e1d2ed;border-radius:14px;background:#fff;color:#795a91}
.secondary-button{min-height:44px;border-color:#d9c4eb;border-radius:13px;background:#f3eafb;color:#795292;font-size:.875rem;padding:10px 16px;line-height:1.65}
.secondary-button:hover{background:#ebdef7;border-color:#ba9bd2}
.fortune-seal{background:#fff9ff;border-color:#d9c5e9;color:#795b8e;border-radius:40px}
.fortune-seal span{font-size:.875rem}
.fortune-suggestion{border-color:#f1d9c6;background:#fff1e5;border-radius:20px;padding:21px;gap:16px}
.suggestion-label{color:#826147;font-size:.875rem}
.fortune-suggestion p{color:#7f6350;font-size:1rem}
.daily-actions>div{border-radius:21px;border-color:#e6d5ed;background:#fff}
.daily-actions>div:nth-child(2){background:#f6effb}
.daily-actions p{color:#765e84}
.cycle-card{border-radius:16px;border-color:#e7d8ef;padding:15px 7px}
.cycle-card.current,.cycle-card.selected{background:#f2e8fa;border-color:#a07cbd}
.cycle-card.selected{outline-color:#9a72b8}
.cycle-intro p,.cycle-card .cycle-year,.cycle-card .current-text{font-size:.875rem;color:#7b5c8d}
.cycle-intro h3,.selected-period>h3{color:#654677}
.annual-detail>summary{color:#79578e}
.annual-detail>summary strong{color:#664779}
.annual-detail .annual-god{border-radius:999px;background:#f6effb;border-color:#e4d2f0;padding:5px 10px;color:#7c5990}
.annual-detail,.selected-period,.calculation-details{border-color:#e7d8ef}
.calculation-details summary,.period-label,.selected-period>p,.period-dates{color:#7d5d90;font-size:.875rem;line-height:1.8}
.compat-mode{display:block;max-width:1080px}
.compat-mode .character-card{display:none}
.compat-modes span{border-radius:18px;background:#fffdfb;border-color:#e5d3ed;padding:16px 8px;color:#795d86}
.compat-modes input:checked+span{background:#f5eafa;border-color:#b490cf;box-shadow:inset 0 0 0 1px #b490cf;color:#7b5094}
.compat-inputs{border-radius:24px;background:#f7f0fc;border-color:#e5d4f0}
.compat-inputs>summary{font-size:1rem;min-height:70px;color:#7c5691}
.compat-person{border-radius:22px;border-color:#e5d4ef;padding:24px;background:#fffdfd}
.compat-person>legend{font-weight:750;color:#825797;font-size:1.125rem}
.compat-person-index{color:#795f89}
.compat-person-result{border-radius:24px;border-color:#e6d4ed;background:#fbf7ff}
.compat-person-result:nth-child(2){background:#fff5ee;border-color:#efddcd}
.compat-person-result h4{color:#79548c}
.compat-person-result p{color:#795e84}
.compat-import-note,.compat-privacy,.compat-field small,.compat-edit-label,.compat-status{color:#795d86;font-size:.875rem}
.compat-person .check-label{min-height:44px}
.meeting-intro .meeting-scope{border-left-color:#c4a5db;color:#795b88;padding:12px 16px;background:#f6effa;border-radius:0 15px 15px 0}
.meeting-form input{padding:12px}
.meeting-form label{color:#79578d}
.meeting-summary>div{border-radius:21px;border-color:#e6d2ef;background:#f8f0ff;padding:22px 19px}
.meeting-summary>div:nth-child(2){background:#fff2e8;border-color:#efdbcc}
.meeting-summary>div:nth-child(3){background:#edf6f0;border-color:#d8e9df}
.meeting-summary span,.meeting-summary p{color:#795e89;font-size:.875rem}
.meeting-summary strong{color:#6e4b83;font-size:1.0625rem}
.meeting-month{border-radius:17px;padding:15px 7px;background:#fffcff;border-color:#e2d0ec;color:#785d87}
.meeting-month span{font-size:.875rem}
.meeting-month.selected{background:#efe1fa;border-color:#b58acc;box-shadow:inset 0 0 0 1px #b58acc}
.meeting-month strong{color:#80529c}
.meeting-selected{border-color:#e7d6f0}
.meeting-places article+article{border-color:#e7d6f0}
.app-layout.social-mode{display:block;max-width:970px;margin-inline:auto}
.social-mode>.input-panel,.social-mode .result-top,.social-mode #birth-summary,.social-mode #calculation-notice,.social-mode .character-card,.social-mode .tabs{display:none}
.reading-note{font-size:.875rem;line-height:1.85;color:#776182;margin:26px 4px 28px}
.result-footer{border-color:#e6d5ee;font-size:.875rem;color:#755e81;padding-top:15px;gap:12px;flex-wrap:wrap}
.footer-logo{font-size:1.5rem;color:#795d88}
.result-footer .text-button{font-size:.875rem;color:#795b8a;line-height:1.75}
dialog{border-radius:26px;border-color:#e2ceef;background:#fffdfb;box-shadow:0 18px 70px #6543732b}
.dialog-header{background:#fffdfb;border-color:#e8d6f0;gap:15px}
.dialog-header h2{color:#6e4781;line-height:1.5}
.dialog-header .icon-button{background:#f2e8f9;flex-shrink:0}
.dialog-content{color:#7c5d8a;font-size:1rem;line-height:1.95}
.dialog-content h3,.dialog-content dt{color:#6f467f}
.source-links a{color:#7b598f;min-height:44px;padding:9px 0;overflow-wrap:anywhere}
@media(min-width:1151px){.input-panel{position:relative}.chart-bottom{grid-template-columns:1fr}.element-overview{max-width:440px;margin-inline:auto}.element-list{max-width:none}.meeting-form{grid-template-columns:1fr 1fr}.meeting-form>.secondary-button{grid-column:1/-1}.meeting-summary{gap:10px}.meeting-summary>div{padding:19px 15px}}
@media(max-width:1150px) and (min-width:821px){.app-layout{grid-template-columns:300px minmax(0,1fr);gap:26px;padding-inline:26px}.header-inner,.journey-nav{padding-inline:26px}.input-panel{padding:23px 19px}.input-panel h1{font-size:1.6rem}.welcome-mascot{width:82px}.card{padding:23px}.pillars{gap:7px}.pillar-block{padding-inline:3px}.hanja{font-size:2.2rem}.quick-reading{grid-template-columns:1fr}.quick-reading>div{padding:18px 20px}.quick-reading h4{margin-top:5px}.reading-hero,.detailed-hero,.fortune-hero{padding:25px}.tabs{gap:6px}.tab{padding-inline:13px}.journey-card{padding:16px 13px;gap:12px}.journey-card.active{padding:15px 12px}.journey-card>span:first-child{width:44px;height:44px}.character-card{padding:21px;gap:14px}.character-symbol{width:60px;height:60px}.compat-mode,.app-layout.social-mode{display:block}}
@media(max-width:820px){
 .header-inner{min-height:78px;padding:11px 24px;row-gap:4px}.site-header{min-height:78px}.header-right>span{display:none}.header-right{gap:15px}.brand-caption{font-size:.875rem}
 .journey-nav{padding:20px 24px 0;gap:12px}.journey-card{padding:15px 11px;min-height:88px;gap:10px;border-radius:20px}.journey-card.active{padding:14px 10px}.journey-card>span:first-child{width:42px;height:42px;font-size:1.6rem;border-radius:14px}
 .app-layout{display:block;padding:25px 24px 32px}.input-panel{padding:25px;border-radius:27px;margin-bottom:28px}.input-welcome{justify-content:space-between;gap:20px;margin-bottom:25px}.input-welcome>div{flex:initial}.welcome-mascot{width:116px;height:120px;max-width:35%}.input-panel h1{font-size:2rem;margin-top:8px;line-height:1.35}.input-intro{font-size:1rem;max-width:350px;margin:0;line-height:1.75}.input-panel .section-eyebrow{font-size:.875rem}
 #birth-form{grid-template-columns:1fr 1fr;gap:0 24px}.form-group legend{font-size:1rem}.input-toggle{padding:0 0 18px;min-height:44px;color:#7d5d8d;font-size:1rem;line-height:1.7}.input-toggle strong{font-size:.875rem;color:#7d5796}.input-panel.input-collapsed{border-radius:19px;padding:14px 20px;margin-bottom:23px}.input-collapsed .input-toggle{padding:0}
 .chart-bottom{grid-template-columns:1fr 1fr}.card{padding:25px;border-radius:24px}.tabs{gap:7px;justify-content:flex-start;box-shadow:0 6px 7px #fffaf6}.tab{padding:10px 14px;font-size:.875rem;min-height:44px}.result-top h2{font-size:1.65rem}.result-top .section-eyebrow,.birth-summary{font-size:.875rem}.character-card{padding:22px 25px}.quick-reading>div{padding:20px 17px}.hanja{font-size:2.6rem}.pillar-block{min-height:106px}.unknown-block{min-height:106px}
 .compat-mode,.app-layout.social-mode{padding-top:25px}.compat-person{padding:22px 18px}
}
@media(max-width:600px){
 .header-inner{padding:10px 18px;gap:6px 12px;min-height:74px}.site-header{min-height:74px}.brand{gap:5px}.brand-name{font-size:1.85rem}.brand-mascot,.brand-mascot img{width:44px;height:44px}.brand-caption{display:none}.header-right{gap:10px}.header-right .text-button{font-size:.875rem;padding:8px 0}.header-right .text-button span{margin-left:0}
 .journey-nav{padding:16px 18px 0;gap:9px}.journey-card{flex-direction:column;text-align:center;gap:7px;padding:13px 6px 12px;border-radius:19px;justify-content:flex-start;min-height:122px}.journey-card.active{padding:12px 5px 11px}.journey-card>span:first-child{width:39px;height:39px;border-radius:13px;font-size:1.5rem}.journey-card strong{font-size:.9375rem;line-height:1.5}.journey-card small{font-size:.875rem;margin-top:2px;line-height:1.45}.journey-card>span:last-child{width:100%}
 .app-layout{padding:23px 18px 28px}.input-panel{padding:24px 21px;margin-bottom:27px;border-radius:25px}.input-welcome{gap:10px;margin-bottom:24px;align-items:center}.welcome-mascot{width:108px;height:124px;max-width:34%}.input-panel h1{font-size:1.85rem;margin:7px 0 12px;line-height:1.4}.input-intro{font-size:1rem;max-width:270px}.input-panel .section-eyebrow{font-size:.875rem}
 #birth-form{grid-template-columns:1fr;gap:0}.form-group{margin-bottom:21px}.form-group legend{font-size:1rem}.label-hint{display:inline;margin-left:5px;font-size:.875rem}.date-fields{gap:10px;grid-template-columns:1.55fr 1fr 1fr}.date-fields input{font-size:1rem;min-height:52px;padding:12px 30px 12px 14px}.date-fields>div>span{right:13px}.time-fields{gap:11px}.segmented span{min-height:45px;padding:11px 10px;font-size:1rem}.advanced{padding-bottom:18px}.privacy-note{font-size:.875rem;margin-top:17px}.primary-button{min-height:57px;padding:14px 19px;border-radius:17px}
 .result-top h2{font-size:1.45rem;line-height:1.45}.result-top .section-eyebrow{font-size:.875rem}.sample-badge{padding:5px 10px;font-size:.875rem;white-space:normal;text-align:center}.birth-summary{font-size:.875rem;margin-bottom:15px}.card{padding:23px 20px;border-radius:23px;margin-bottom:18px}.card-heading{gap:6px 12px;align-items:flex-start}.card-heading h3{font-size:1.0625rem}.card-heading span{font-size:.875rem}
 .character-card{padding:21px 20px;gap:15px;align-items:flex-start;border-radius:23px}.character-symbol{width:58px;height:58px;border-radius:20px;font-size:2rem;margin-top:5px}.character-copy h3{font-size:1.3rem;line-height:1.55}.character-copy p{font-size:1rem}.character-copy .section-eyebrow{font-size:.875rem}
 .chart-bottom{grid-template-columns:1fr;gap:16px}.chart-bottom .card{padding:23px}.element-overview{gap:26px}.element-row{font-size:.875rem}.master-card p{font-size:1rem}.master-kicker{font-size:.875rem}.pillar-block{min-height:94px;border-radius:13px;padding:13px 3px}.unknown-block{min-height:94px;border-radius:13px}.hanja{font-size:2.3rem}.pillar-title,.pillar-subtitle,.pillar-relation,.pillar-ko,.pillar-meta,.pillar-meta strong,.pillars-footnote{font-size:.875rem}.pillar-subtitle{margin-bottom:13px}.pillars{gap:8px}.pillar-meta{margin-top:13px}.day-pillar{margin-inline:-3px;padding-inline:3px;border-radius:16px}.calendar-context{padding:15px;font-size:.875rem;gap:10px}
 .reading-hero,.detailed-hero,.fortune-hero{padding:25px 22px}.reading-hero h3,.detailed-hero h3,.fortune-hero h3{font-size:1.5rem;line-height:1.55}.reading-hero p,.detailed-hero p,.fortune-hero p{font-size:1rem;line-height:1.9}.quick-reading{gap:11px;grid-template-columns:1fr}.quick-reading>div{padding:18px 20px;border-radius:20px;grid-template-columns:24px minmax(0,1fr);column-gap:11px}.quick-reading h4{font-size:.875rem}.quick-reading strong{font-size:1rem}.quick-reading p{font-size:.875rem;line-height:1.75}
 .reading-chapter{border-radius:21px}.reading-chapter>summary{padding:21px 18px;gap:13px}.reading-chapter>summary strong{font-size:1.0625rem}.chapter-number{min-width:31px;min-height:33px;border-radius:11px;font-size:.875rem}.chapter-preview{font-size:.875rem}.chapter-body{padding:22px 20px}.reading-example{padding:17px 18px}.reading-prose,.reading-prose p,.reading-action p,.combination-card p{font-size:1rem}.reading-nav{gap:8px}.reading-nav button{padding:9px 13px;min-height:44px}.daily-actions>div{padding:21px}.fortune-suggestion{flex-direction:column;gap:7px;padding:19px}.fortune-suggestion p{font-size:1rem}.fortune-controls .icon-button{min-width:44px;width:44px;height:44px}.fortune-controls .secondary-button{min-height:44px;font-size:.875rem;padding:9px 12px}.fortune-controls input{font-size:1rem;min-height:46px}
 .compat-inputs{border-radius:22px}.compat-person{border-radius:19px;padding:21px 17px}.compat-inputs>summary{padding:18px;gap:8px;font-size:1rem}.compat-modes{gap:8px}.compat-modes span{font-size:1rem;border-radius:16px;padding:14px 6px;line-height:1.65}.compat-person .date-fields{gap:8px}.compat-person .date-fields input{min-height:50px;padding-left:10px;padding-right:26px}.compat-person .date-fields>div>span{right:10px}.compat-person-result{padding:22px;border-radius:22px}.compat-person-result p{font-size:1rem}.compat-privacy{text-align:left}.compat-result-top h3{font-size:1.3rem}
 .meeting-form{gap:14px;grid-template-columns:1fr}.meeting-summary{gap:11px}.meeting-summary>div{padding:20px;border-radius:20px}.meeting-summary strong{font-size:1.0625rem}.meeting-month{padding:14px 7px;border-radius:15px}.meeting-month span{font-size:.875rem}.meeting-actions{gap:12px}.meeting-actions .text-button{min-height:44px}.meeting-actions .secondary-button{width:100%}
 .reading-note{font-size:.875rem;margin:24px 5px;color:#786082}.result-footer{font-size:.875rem;gap:8px 12px}.result-footer .text-button{font-size:.875rem;margin-left:0}.dialog-header{padding:20px;align-items:flex-start}.dialog-content{padding:8px 21px 25px;font-size:1rem}.dialog-header h2{font-size:1.25rem}.dialog-content .muted{font-size:.875rem}
}
@media(max-width:380px){
 .header-inner{padding-inline:14px;gap:3px 8px}.brand-name{font-size:1.7rem}.brand-mascot,.brand-mascot img{width:40px;height:40px}.header-right{gap:8px}.header-right .text-button{font-size:.875rem}.journey-nav{padding-inline:13px;gap:7px}.journey-card{padding:12px 4px 11px;border-radius:17px}.journey-card.active{padding:11px 3px 10px}.journey-card strong{font-size:.875rem}.journey-card small{font-size:.875rem}.app-layout{padding-inline:13px}.input-panel{padding:23px 18px}.input-panel h1{font-size:1.75rem}.input-intro{font-size:1rem}.welcome-mascot{width:85px;height:112px;max-width:32%}.label-hint{display:block;margin-left:0}.date-fields{gap:7px}.date-fields input{padding-left:11px;padding-right:26px}.date-fields>div>span{right:9px}.card{padding:21px 17px}.card-heading{flex-direction:column;gap:4px}.character-card{padding:20px 17px;gap:12px}.character-symbol{width:49px;height:49px;font-size:1.75rem;border-radius:16px}.character-copy h3{font-size:1.2rem}.result-top{align-items:flex-start;flex-wrap:wrap;gap:5px 10px}.result-top h2{font-size:1.4rem}.pillars{gap:6px}.hanja{font-size:2rem}.pillar-block{padding-inline:2px;min-height:88px}.pillar-title,.pillar-subtitle,.pillar-relation,.pillar-ko,.pillar-meta,.pillar-meta strong{font-size:.875rem}.pillar-subtitle{letter-spacing:0}.unknown-block{min-height:88px}.element-overview{gap:18px}.donut{width:112px;height:112px}.donut:before{width:80px;height:80px}.chapter-number{display:none}.reading-chapter>summary{gap:9px;padding:20px 17px}.chapter-body{padding:21px 17px}.detailed-relation{grid-template-columns:105px minmax(30px,1fr) 20px;gap:8px}.compat-person{padding:20px 13px}.compat-people{padding-inline:12px}.compat-modes span{font-size:.9375rem}.tab{font-size:.875rem}.dialog-header{padding:19px 17px}.dialog-content{padding-inline:17px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.journey-nav{display:none!important}.app-layout{display:block;max-width:none;padding:0}.card,.reading-chapter,.character-card{box-shadow:none}.character-card{break-inside:avoid}body{background:#fff}.social-mode .tabs{display:none}}

.character-launch{display:flex;align-items:center;gap:14px;width:calc(100% - 68px);max-width:1212px;margin:20px auto 0;padding:17px 24px;border:1px solid #d6bfdf;border-radius:20px;background:linear-gradient(115deg,#f1e5fa,#fff0e5);color:#4c355c;text-decoration:none}.character-launch>span:first-child{font-size:28px}.character-launch>span:nth-child(2){flex:1;min-width:0}.character-launch strong{display:block;font-size:17px}.character-launch small{display:block;font-size:14px;margin-top:3px}.character-launch b{font-size:24px}.character-launch:focus-visible{outline:3px solid #755394;outline-offset:3px}@media screen{.character-launch+.app-layout{padding-top:24px}}@media(max-width:1150px){.character-launch{width:calc(100% - 52px)}}@media(max-width:820px){.character-launch{width:calc(100% - 48px)}}@media(max-width:600px){.character-launch{width:calc(100% - 36px);padding:14px 17px;gap:11px}}@media(max-width:380px){.character-launch{width:calc(100% - 26px)}}

[hidden]{display:none!important}.journey-nav[hidden]{display:none!important}
.birth-import-panel{margin:18px 0 24px;padding:18px;border:1px solid #c8aed6;border-radius:18px;background:#f1e7f7;color:#553969}
.birth-import-panel p{margin:0 0 12px;font-size:15px;line-height:1.8;word-break:keep-all}
.birth-import-panel .secondary-button{width:100%;min-height:48px;background:#fff;border:1px solid #a88aba;color:#604274;font-size:15px;font-weight:700}
.birth-input-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 14px;color:#705a7e;font-size:14px}
.birth-input-tools .text-button{min-height:44px;padding:10px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.birth-empty{padding:30px 24px}
.birth-empty h3{font-size:19px;line-height:1.6;word-break:keep-all}
.birth-empty p{font-size:16px;line-height:1.85;color:#776580}
