@charset "UTF-8";
:root{--ink:#202431;--muted:#666e7c;--line:#e0e4eb;--paper:#f6f7fa;--navy:#242b43;--accent:#f5bf65;--wood:#3a8062;--fire:#bc6257;--earth:#a98335;--metal:#657d9c;--water:#5a61a1;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #777cd6;outline-offset:4px}a{color:inherit}button{border:0}button:disabled{cursor:default}input:disabled{background:#f1f2f6;color:#8b91a0}.top{max-width:1320px;margin:auto;padding:24px 42px;display:flex;justify-content:space-between;align-items:center}.brand{font-family:serif;font-size:34px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:13px}.brand span{font:11px sans-serif;letter-spacing:3px}.top-note{font-size:14px;color:var(--muted)}.beta{font-size:11px;letter-spacing:1px;border:1px solid #cdd2dc;padding:4px 7px;margin-left:14px;border-radius:4px}main{max-width:1236px;margin:auto}.intro{background:var(--navy);color:white;padding:38px 44px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-radius:16px}.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:600;margin:0 0 14px}.intro .eyebrow{color:var(--accent)}h1{font-size:34px;line-height:1.5;letter-spacing:-1.5px;font-weight:500;margin:0 0 14px}.intro p:last-child{color:#c8cdd9;font-size:15px;margin:0}.intro-side{padding-bottom:4px;display:grid;gap:10px;font-size:13px;color:#c8cdd9}.day-label{font-size:11px;letter-spacing:3px;color:var(--accent)}.intro-side strong{font-size:25px;color:white;font-weight:400;letter-spacing:1px}.tabs{display:flex;margin:26px 0 24px;border-bottom:1px solid var(--line);gap:34px}.tab{position:relative;background:none;color:var(--muted);font-size:16px;padding:15px 1px 18px;font-weight:600}.tab span{font-size:12px;font-weight:400;margin-right:9px}.tab.active{color:var(--ink)}.tab.active:after{content:"";height:3px;background:var(--navy);position:absolute;bottom:-1px;left:0;right:0}.workspace{display:grid;grid-template-columns:335px minmax(0,1fr);gap:24px;align-items:start}.input-card{background:white;border:1px solid var(--line);border-radius:14px;padding:27px}.card-heading .eyebrow{color:var(--muted);font-size:11px}.card-heading h2{font-size:23px;letter-spacing:-.7px;margin:0 0 9px;font-weight:600}.card-heading p{font-size:13px;color:var(--muted);margin:0 0 22px}fieldset{border:0;padding:0;margin:0 0 15px;min-width:0}legend{font-size:14px;font-weight:600;padding:0 0 14px}label{display:block;font-size:14px;margin:0 0 8px}input:not([type=checkbox]){display:block;width:100%;height:47px;border:1px solid #d9dee7;border-radius:7px;padding:0 11px;font-size:15px;margin-bottom:18px;min-width:0;color:var(--ink)}.optional{color:#8b91a0;font-size:12px;margin-left:5px}.time-label{display:flex;justify-content:space-between;gap:8px}.check{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:5px}.check input{accent-color:var(--navy);margin:0;width:15px;height:15px}.hint{font-size:12px;line-height:1.7;color:var(--muted);margin:-8px 0 18px}.submit{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--navy);color:white;padding:16px;border-radius:8px;font-size:15px;font-weight:600;transition:background .2s}.submit:hover{background:#3b4669}.example{width:100%;background:transparent;padding:16px 5px 9px;text-decoration:underline;text-underline-offset:4px;font-size:13px;color:var(--muted)}.privacy{border-top:1px solid var(--line);padding-top:17px;margin-top:17px;font-size:12px;line-height:1.8;color:var(--muted);display:flex;gap:8px}.result{min-width:0;display:grid;gap:18px}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:565px;background:white;border:1px solid var(--line);border-radius:14px;padding:35px;text-align:center}.empty-mark{font-family:serif;font-size:75px;font-weight:400;color:#c2b086;margin-bottom:36px}.empty .eyebrow{color:var(--muted);font-size:12px}.empty h2{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:0 0 16px}.empty p{font-size:15px;line-height:1.9;color:var(--muted)}.element-chips{display:flex;gap:13px;margin-top:26px}.element-chips span{padding:10px 12px;border:1px solid var(--line);border-radius:30px;font-size:13px}.reading{background:white;border:1px solid var(--line);border-radius:14px;padding:30px}.result-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:21px}.result-top p{font-size:13px;color:var(--muted);margin:0}.sample-tag{font-size:11px;background:#fff3d9;color:#705520;border-radius:4px;padding:5px 8px}.reading h2{font-size:29px;line-height:1.5;letter-spacing:-1px;font-weight:500;margin:12px 0 16px}.reading h3{font-size:17px;font-weight:600;margin:0 0 17px}.reading p{line-height:1.95;font-size:15px}.tags{font-size:13px;color:var(--muted)}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.pillar{text-align:center;padding:15px 6px;background:var(--paper);border-radius:8px;border:1px solid transparent}.pillar.day{border-color:#b6a074;background:#fffbf2}.pillar>span{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.pillar strong{display:block;font-family:serif;font-size:31px;font-weight:400;letter-spacing:3px;white-space:nowrap}.pillar small{display:block;font-size:13px;margin-top:9px;color:var(--muted)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-cols .reading{padding:25px}.bars{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:18px 1fr 20px;gap:12px;align-items:center;font-size:13px}.track{height:8px;background:#eef0f5;border-radius:10px;overflow:hidden}.fill{height:100%;background:var(--bar);border-radius:10px}.count{color:var(--muted);text-align:right}.note{font-size:12px!important;color:var(--muted);line-height:1.7!important;margin:18px 0 0}.action{border-left:3px solid var(--accent);padding-left:17px;margin-top:18px;font-size:15px;line-height:1.85}.label{font-size:11px;letter-spacing:1.4px;color:var(--muted)}.method{border-top:1px solid var(--line);margin-top:33px;padding:21px 0;color:var(--muted);font-size:13px;line-height:1.9}.method summary{cursor:pointer;color:var(--ink);font-size:14px}.method>div{max-width:880px;padding:14px 0}.pair-symbols{display:flex;align-items:center;justify-content:center;gap:30px;margin:22px 0 30px}.person-symbol{display:grid;text-align:center;gap:8px}.person-symbol strong{font-family:serif;font-size:40px;font-weight:400;background:var(--paper);border:1px solid var(--line);border-radius:50%;height:88px;width:88px;display:grid;place-items:center}.person-symbol span{font-size:13px;color:var(--muted)}.pair-link{color:#a5a8b2;font-size:22px}footer{max-width:1236px;margin:10px auto 25px;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;padding-top:22px;color:var(--muted)}footer .brand{font-size:25px}footer .brand span{font-size:9px}footer p{font-size:12px;flex:1}footer>span{font-size:11px}.error{font-size:13px;line-height:1.7;color:#a42e39;background:#fff1f2;padding:10px;border-radius:6px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;background:white;padding:12px;z-index:10}[hidden]{display:none!important}@media(max-width:1300px){main,footer{margin-left:32px;margin-right:32px}}@media(max-width:850px){.workspace{grid-template-columns:295px minmax(0,1fr)}.two-cols{grid-template-columns:1fr}.intro-side{display:none}.input-card{padding:22px}.reading{padding:25px}.empty{padding:25px}.empty h2{font-size:22px}.element-chips{gap:5px}.element-chips span{padding:8px}.pillars{gap:5px}.pillar strong{font-size:26px}}@media(max-width:650px){.top{padding:20px}.top-note{font-size:12px}.brand{font-size:29px}main,footer{margin-left:18px;margin-right:18px}.intro{padding:28px 24px;border-radius:12px}h1{font-size:25px;letter-spacing:-.8px}.intro p:last-child{font-size:13px}.intro .eyebrow{font-size:11px}.tabs{gap:0;justify-content:space-between;margin:15px 0 20px}.tab{font-size:14px}.tab span{font-size:10px;margin-right:4px}.workspace{grid-template-columns:1fr}.input-card{padding:25px}.empty{min-height:350px}.empty-mark{margin-bottom:17px;font-size:55px}.reading h2{font-size:25px}.two-cols{grid-template-columns:1fr}.pillars{gap:9px}.pillar strong{font-size:29px}footer{flex-wrap:wrap;gap:12px}footer p{flex-basis:70%;line-height:1.7}footer>span{flex-basis:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.topic-section{display:grid;gap:16px}.topic-heading{padding:12px 4px 0}.topic-heading h3{font-size:20px;margin:0}.topic-heading .note{margin-top:8px}.topic-section>.note{margin:0 4px}.topic-section .label{font-size:14px;letter-spacing:0}.topic-section .reading h3{margin-top:12px}.topic-section .reading p:not(.note){font-size:16px;line-height:1.85}

.guide-entry{font-size:14px;margin:26px 0}.guide-page{max-width:820px;padding:24px 0}.guide-page h1{font-size:32px}.guide-page h2{font-size:23px;margin:0 0 18px}.guide-page p{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.guide-page section{margin:36px 0;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:20px}.guide-page nav{display:flex;flex-wrap:wrap;gap:18px;padding:18px 0;font-size:15px}.guide-page a,.guide-entry a{text-underline-offset:4px}@media(max-width:650px){.guide-page h1{font-size:26px}.guide-page h2{font-size:21px}}

.policy-notice{border-left:4px solid var(--accent);background:#fff;padding:16px 20px}.guide-page ul{font-size:16px;line-height:1.9;padding-left:24px}.guide-page h3{font-size:19px;margin-top:24px}footer{flex-wrap:wrap}footer>a:not(.brand){font-size:14px;line-height:1.8;padding:8px 0}.guide-page nav a{padding:6px 0}

/* Readable controls and wrapping for small screens and enlarged text. */
.card-heading p,.hint,.privacy,.check,.example,.error,.method,.note{font-size:.875rem!important}
input:not([type=checkbox]),.reading p,.empty p,.intro p:last-child{font-size:1rem}
.check{min-height:44px;padding:8px 0}.check input{width:20px;height:20px;flex-shrink:0}
.top,.time-label,.result-top{flex-wrap:wrap}.tabs{flex-wrap:wrap}.tab{min-height:44px}
.element-chips{flex-wrap:wrap;justify-content:center}.reading,.input-card,.empty{overflow-wrap:anywhere}
footer>a:not(.brand),.guide-page nav a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:380px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.tab span{display:none}.intro,.input-card,.reading{padding:20px}.tabs{gap:10px;justify-content:flex-start}}
