:root{--paper:#f3f4f1;--surface:#fff;--ink:#1a1d24;--muted:#5b616c;--line:#d9dcd5;--wood:#2f6b5a;--fire:#c23b2e;--earth:#b8862a;--metal:#7c838d;--water:#243259;--seal:#b52f26;--seal-ink:#fff;--lock:#e6e8e3;--focus:#243259;--serif:"Noto Serif KR", "Songti SC", "Hiragino Mincho ProN", Georgia, serif;--sans:"IBM Plex Sans KR", "Hiragino Sans", "PingFang TC", system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#10131a;--surface:#171b24;--ink:#ecedef;--muted:#9ba1ab;--line:#2a303c;--wood:#5fa98f;--fire:#e0645a;--earth:#d9a94a;--metal:#aeb4bd;--water:#8c9dd6;--seal:#c9463c;--lock:#222733;--focus:#8c9dd6}}:root[data-theme=dark]{--paper:#10131a;--surface:#171b24;--ink:#ecedef;--muted:#9ba1ab;--line:#2a303c;--wood:#5fa98f;--fire:#e0645a;--earth:#d9a94a;--metal:#aeb4bd;--water:#8c9dd6;--seal:#c9463c;--lock:#222733;--focus:#8c9dd6}:root:lang(ja){--sans:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo", system-ui, sans-serif;--serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "MS PMincho", serif}:root:lang(zh-Hans){--sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei", system-ui, sans-serif;--serif:"Noto Serif SC", "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif}:root:lang(zh-Hant){--sans:"Noto Sans TC", "PingFang TC", "PingFang HK", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC", system-ui, sans-serif;--serif:"Noto Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Noto Serif CJK TC", serif}:root{--hanja:"Noto Serif KR", "Songti SC", "Hiragino Mincho ProN", "PMingLiU", Georgia, serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}img,svg{max-width:100%}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{max-width:440px;margin:0 auto;padding:24px 20px 64px}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:700;line-height:1.25}h1{letter-spacing:-.01em;font-size:34px}h2{font-size:24px}h3{font-size:18px}p{margin:0}.lede{color:var(--muted);max-width:34ch;margin-top:10px;font-size:16px}.small{color:var(--muted);font-size:13px}.stack>*+*{margin-top:12px}.brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.seal{background:var(--seal);color:var(--seal-ink);font-family:var(--serif);border-radius:6px;place-items:center;font-weight:900;display:inline-grid}.brand .seal{width:36px;height:36px;font-size:20px}.brand .word{font-family:var(--serif);font-size:20px;font-weight:700}.brand .tag{color:var(--muted);font-size:12px}.elements-row{gap:6px;margin-top:18px;display:flex}.elements-row span{border-radius:50%;width:10px;height:10px}.form{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:28px;padding:20px}.field{margin-bottom:16px;display:block}.field label,.field .lab{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.field input,.field select{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:100%;height:48px;padding:0 12px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:14px;display:flex}.check input{width:auto;height:auto}.hint{color:var(--muted);margin-top:6px;font-size:12px}.seg{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seg-3{grid-template-columns:repeat(3,1fr)}.seg button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;height:44px}.seg button[aria-pressed=true]{border-color:var(--ink);background:var(--surface);font-weight:600}.seg-wrap button{height:auto;min-height:44px;padding:8px 10px;font-size:14px;line-height:1.3}.btn{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;font-weight:600;display:flex}.btn-ink{background:var(--ink);color:var(--paper)}.btn-line{border:1px solid var(--ink);color:var(--ink);background:0 0}.btn-seal{background:var(--seal);color:var(--seal-ink)}.btn+.btn{margin-top:10px}.trust{color:var(--muted);text-align:center;margin-top:14px;font-size:13px}.back{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:14px;padding:0;font-size:14px}.compare{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.compare div{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px}.compare h3{margin-bottom:8px;font-size:15px}.compare ul{color:var(--muted);margin:0;padding-left:18px;font-size:13px}.compare li+li{margin-top:4px}.disclaimer{color:var(--muted);text-align:center;margin-top:32px;font-size:12px;line-height:1.5}.topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topbar .brand{margin-bottom:18px}.settings-button{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.lang-toggle{flex:none;gap:6px;width:auto}.lang-toggle button{border-radius:999px;height:32px;padding:0 10px;font-size:13px}.tag-optional{color:var(--muted);border:1px solid var(--line);border-radius:999px;margin-left:4px;padding:1px 7px;font-size:12px;font-weight:400}.field-error{color:var(--seal);margin-top:6px;font-size:13px}.field input[aria-invalid=true]{border-color:var(--seal)}.field input:disabled{color:var(--muted);background:var(--lock)}.pillars{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.pil{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;padding:10px 6px}.pil .lab{color:var(--muted);font-size:12px}.pil .ch{font-family:var(--serif);margin-top:4px;font-size:30px;font-weight:700;line-height:1.15}.pil .rm{color:var(--muted);font-size:11px}.pil.day{border-color:var(--ink)}.pil-unknown{color:var(--muted);font-size:15px}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.bars{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:14px}.bar{grid-template-columns:64px 1fr 18px;align-items:center;gap:10px;font-size:13px;display:grid}.bar+.bar{margin-top:8px}.bar .track{background:var(--lock);border-radius:99px;height:10px;overflow:hidden}.bar .fill{border-radius:99px;height:100%}.calc-debug{font-variant-numeric:tabular-nums;margin-top:10px}.calc-settings{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:28px;padding:18px}.calc-settings h3{font-size:16px}.calc-settings .hint{margin-bottom:14px}.calc-settings .field:last-child{margin-bottom:0}.brand-button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.status-line{margin-top:28px}.save-failed{margin-bottom:14px}.lang-menu select{border:1px solid var(--line);background:var(--surface);max-width:150px;height:34px;color:var(--ink);border-radius:999px;padding:0 28px 0 10px;font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.my-results{gap:10px;margin:8px 0 22px;display:grid}.my-results h2{font-size:18px}.my-results ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.my-result{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.my-result:hover{border-color:var(--ink)}.my-result-hanja{font-family:var(--hanja);flex:none;font-size:26px;font-weight:900}.my-result-meta{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.pdf-button{gap:8px;margin-top:14px;display:grid}.pdf-progress{width:100%;height:8px;accent-color:var(--seal)}.admin{overflow-wrap:anywhere;gap:20px;font-size:14px;display:grid}.admin section{gap:8px;display:grid}.admin h2{font-size:16px}.admin h3{color:var(--muted);font-size:14px}.admin table{border-collapse:collapse;width:100%}.admin th,.admin td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.admin-bars{gap:4px;margin:0;padding:0;list-style:none;display:grid}.admin-bars li{grid-template-columns:48px 1fr 32px;align-items:center;gap:8px;display:grid}.admin-bar{background:var(--seal);border-radius:4px;min-width:2px;height:10px;display:block}.admin-big{font-family:var(--serif);font-size:36px;font-weight:700}.landing{gap:24px;display:grid}.landing-hero{gap:12px;padding-top:12px;display:grid}.landing-name{font-family:var(--serif);font-size:34px;font-weight:700;line-height:1}.landing-hero h1{font-size:28px;line-height:1.3}.landing-cta{width:100%}.landing-features h2{margin-bottom:8px;font-size:18px}.landing-features ul{gap:6px;margin:0;padding-left:20px;display:grid}.welcome-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.welcome{background:var(--surface);width:min(420px,100%);color:var(--ink);border-radius:20px;gap:12px;padding:22px 20px;display:grid}.welcome h1{font-size:24px}.welcome-languages{flex-wrap:wrap;gap:8px;display:flex}.welcome-languages button{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px}.welcome-languages button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.tutorial{gap:14px;display:grid}.tutorial-top{justify-content:space-between;align-items:center;display:flex}.tutorial-track{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:100%;grid-auto-flow:column;display:grid;overflow-x:auto}.tutorial-track::-webkit-scrollbar{display:none}.tutorial-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:20px;align-content:start;gap:12px;min-height:320px;margin:0 2px;padding:24px 20px;display:grid}.tutorial-card h2{font-size:22px}.tutorial-card p{font-size:16px;line-height:1.6}.tutorial-tip{color:var(--muted);font-size:14px!important}.tutorial-seal{background:var(--seal);color:#fff;width:48px;height:48px;font-family:var(--hanja);border-radius:10px;place-items:center;font-size:26px;font-weight:900;display:grid}.tutorial-dots{justify-content:center;gap:8px;display:flex}.tutorial-dots span{background:var(--lock);border-radius:50%;width:8px;height:8px}.tutorial-dots span.on{background:var(--seal)}.share{gap:8px;min-width:0;margin-top:10px;display:grid}.share-main{width:100%}.share-menu{flex-wrap:wrap;gap:6px;display:flex}.share-chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px}.share-chip:hover{border-color:var(--ink)}.share-note{color:var(--muted)}.fortune-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-bottom:18px;padding:16px 18px}.fortune-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.fortune-head h2{font-size:18px}.fortune-score{gap:6px;margin-top:10px;display:flex}.fortune-score span{border-radius:50%;width:12px;height:12px}.fortune-score .dot-on{background:var(--seal)}.fortune-score .dot-off{background:var(--lock)}.fortune-line{align-items:flex-start;gap:10px;margin-top:12px;display:flex}.fortune-line p{min-width:0;font-family:var(--serif);overflow-wrap:anywhere;flex:1;font-size:19px;font-weight:700;line-height:1.35}.copy-btn{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:999px;flex:none;height:30px;padding:0 12px;font-size:12px}.fortune-lucky,.fortune-tips{gap:8px;margin:14px 0 0;display:grid}.fortune-lucky{grid-template-columns:1fr 1fr}.fortune-lucky div,.fortune-tips div{min-width:0}.fortune-lucky dt,.fortune-tips dt{color:var(--muted);font-size:12px}.fortune-lucky dd,.fortune-tips dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:14px}.swatch{border:1px solid var(--line);vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.reading-menu{margin-top:24px}.reading-menu h2{margin-bottom:10px;font-size:18px}.reading-menu ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.reading-item{text-align:left;background:var(--surface);width:100%;min-height:52px;color:var(--ink);border:1px solid var(--line);font:inherit;cursor:pointer;overflow-wrap:anywhere;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:10px 14px;font-size:15px;display:flex}.reading-item:hover:not(:disabled){border-color:var(--ink)}.reading-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.reading-item:disabled{color:var(--muted);cursor:default;background:var(--lock)}.reading-item .soon{font-size:11px}.pillar-card{background:var(--water);color:#f3f4f1;border-radius:22px;grid-template-columns:auto 1fr;gap:18px;min-height:300px;padding:22px 22px 20px;display:grid;position:relative;overflow:hidden}.pillar-card .hanja{writing-mode:vertical-rl;font-family:var(--hanja);letter-spacing:.02em;font-size:92px;font-weight:900;line-height:1}.pillar-card .meta{align-self:end}.pillar-card .ko{font-family:var(--serif);opacity:.8;font-size:15px}.pillar-card .title{font-family:var(--serif);margin-top:6px;font-size:26px;font-weight:700;line-height:1.2}.pillar-card .line{opacity:.85;margin-top:8px;font-size:14px}.pillar-card .stamp{text-align:center;border-radius:8px;width:54px;height:54px;padding:6px;font-size:13px;line-height:1.1;position:absolute;top:18px;right:18px;transform:rotate(-6deg)}.art-note{opacity:.6;margin-top:10px;font-size:11px}.who{justify-content:space-between;align-items:baseline;margin:22px 0 10px;display:flex}.who h2{font-size:20px}.three-pillar-note{margin-top:8px}.teaser{margin-top:18px;font-size:16px}.teaser p+p{margin-top:10px}.teaser-skeleton{color:var(--muted)}.today-card{margin-top:18px}.btn:disabled{opacity:.55;cursor:default}.soon{opacity:.8;border:1px solid;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500}.locked{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:22px;padding:18px}.locked h3{margin-bottom:12px}.locked ul{margin:0 0 16px;padding:0;list-style:none}.locked li{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;font-size:15px;display:flex}.locked li:first-child{border-top:0}.locked li svg{width:16px;height:16px;color:var(--muted);flex:none}.price-line{text-align:center;color:var(--muted);margin-top:8px;font-size:13px}.share-line{word-break:break-all;margin-top:16px}.share-line a{color:var(--muted)}.unlocked{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:22px;padding:18px}.unlocked h3{color:var(--muted);font-size:14px;font-family:var(--sans);font-weight:500}.unlocked .core-title{margin-top:6px;font-size:22px}.unlocked p{margin-top:10px;font-size:15px}.pay-message{text-align:center;margin-top:10px}
