:root{--paper:#f1f3f0;--ink:#1e2530;--ink-2:#4a5260;--line:#c9cec8;--err:#a1281e;--wood:#2f6b4b;--fire:#b1362b;--earth:#8a5a0f;--metal:#566070;--water:#1f4f82;--ease-out:cubic-bezier(.23, 1, .32, 1);--sans:-apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--serif:"Noto Serif KR", "Apple Myungjo", "Batang", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0}.page{max-width:480px;padding:24px 16px calc(48px + env(safe-area-inset-bottom,0px));margin:0 auto}h1{text-wrap:balance;margin:0 0 8px;font-size:22px;line-height:1.35}h2{text-wrap:balance;margin:24px 0 8px;font-size:18px;line-height:1.4}p{text-wrap:pretty;margin:0 0 12px}a{color:var(--ink)}.muted{color:var(--ink-2);font-size:14px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.field{border:0;min-width:0;margin:20px 0;padding:0}.field>label,.field>legend{margin-bottom:4px;padding:0;font-weight:600;display:block}.hint{color:var(--ink-2);margin:4px 0 0;font-size:14px}.error{color:var(--err);margin:6px 0 0;font-size:14px}.error:before{content:"⚠ "}input[type=text],input[type=email],input[type=time],input[type=date],select{width:100%;min-height:48px;font:inherit;color:var(--ink);border:1.5px solid var(--line);appearance:none;background:#fff;border-radius:12px;padding:8px 12px;font-size:16px}select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:36px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--err)}.row{flex-wrap:wrap;gap:8px;display:flex}.choice{border:1.5px solid var(--line);text-align:center;cursor:pointer;min-height:48px;transition:border-color .12s var(--ease-out), background-color .12s var(--ease-out), color .12s var(--ease-out);background:#fff;border-radius:12px;flex:120px;justify-content:center;align-items:center;padding:8px 12px;display:flex;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice:has(input:checked){background:var(--ink);color:var(--paper);border-color:var(--ink)}.choice:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}.check{align-items:flex-start;gap:12px;min-height:48px;padding:8px 0;display:flex}.check input{width:24px;height:24px;accent-color:var(--ink);flex:none;margin:2px 0 0}.consent-box{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:4px 12px}.consent-box .check+.check{border-top:1px solid var(--line)}details>summary{cursor:pointer;min-height:44px;color:var(--ink-2);align-items:center;font-size:14px;display:flex}.consent-text{color:var(--ink-2);margin:0 0 8px 36px;font-size:14px}.summary-error{border:1.5px solid var(--err);color:var(--err);background:#fff;border-radius:12px;margin:16px 0;padding:12px}.btn{width:100%;min-height:48px;font:inherit;border:1.5px solid var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .12s var(--ease-out), background-color .12s var(--ease-out), opacity .12s var(--ease-out);border-radius:12px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;text-decoration:none;display:flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--ink);color:var(--paper)}.btn-ghost{color:var(--ink);text-underline-offset:3px;background:0 0;border-color:#0000;width:auto;font-weight:500;text-decoration:underline}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:#2d3746}.choice:hover{border-color:var(--ink)}}.btn-outline{color:var(--ink);background:#fff}.btn-danger{background:var(--err);border-color:var(--err);color:#fff}.stack>*+*{margin-top:8px}.actions-row{justify-content:space-between;gap:8px;margin-top:4px;display:flex}.chart{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;margin:8px 0 12px}.chart th{color:var(--ink-2);padding:0;font-size:14px;font-weight:500}.chart td{text-align:center;border:1.5px solid var(--line);animation:stamp .2s var(--ease-out) both;animation-delay:calc(var(--i) * 60ms);background:#fff;border-radius:4px;padding:6px 0 4px}.chart td[data-unknown]{color:var(--ink-2);background:0 0;border-style:dashed}.hanja{font:700 40px/1.1 var(--serif);display:block}.hangul{color:var(--ink-2);font-size:12px;display:block}.el-name{font-size:12px;font-weight:700;display:block}[data-el=wood]{color:var(--wood)}[data-el=fire]{color:var(--fire)}[data-el=earth]{color:var(--earth)}[data-el=metal]{color:var(--metal)}[data-el=water]{color:var(--water)}.counts{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.counts li{text-align:center;border:1.5px solid var(--line);font-variant-numeric:tabular-nums;background:#fff;border-radius:12px;flex:1;padding:8px 0;font-weight:700}.counts li[data-empty]{animation:reveal .24s var(--ease-out) .48s both;background:0 0;border:2px dashed}.headline{font:700 28px/1.35 var(--serif);text-wrap:balance;margin:8px 0}.card{border:1.5px solid var(--line);background:#fff;border-radius:12px;margin:8px 0 16px;padding:16px}.card .reason{color:var(--ink-2);margin:0 0 4px;font-size:14px}.card .title{margin:0 0 4px;font-size:18px;font-weight:700}.card.principle h2{margin-top:0}.principle-list{margin:8px 0 12px}.principle-list>div{border-top:1px solid var(--line);grid-template-columns:6.5em 1fr;gap:8px;padding:8px 0;display:grid}.principle-list>div:first-child{border-top:0}.principle-list dt{color:var(--ink-2);font-size:14px}.principle-list dd{margin:0}.swatch{vertical-align:-2px;outline-offset:-1px;border-radius:3px;outline:1px solid #0000001a;width:14px;height:14px;margin-right:4px;display:inline-block}.status-line{min-height:1.6em;margin:8px 0;font-weight:600}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}@keyframes stamp{0%{opacity:0;transform:scale(.95)}}@keyframes reveal{0%{opacity:0;transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.chart td,.counts li[data-empty]{animation:none}.btn{transition:none}.btn:active{transform:none}}.notices{border-top:1px solid var(--line);color:var(--ink-2);margin-top:32px;padding-top:16px;font-size:14px}.notices p{margin-bottom:8px}.table-wrap{overflow-x:auto}table.plain{border-collapse:collapse;width:100%;font-size:14px}table.plain th,table.plain td{border:1px solid var(--line);text-align:left;vertical-align:top;background:#fff;padding:6px 8px}
