:root{--bg:#fbf7f0;--card:#fff;--line:#ece3d2;--ink:#3b2f22;--ink-dim:#9c8e78;--gold:#dfa75b;--gold-deep:#b9793a;--danger:#b3543f;--shadow:0 6px 20px #5a442812}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Noto Sans KR,sans-serif;line-height:1.7}#root{min-height:100svh;padding-bottom:56px}h1,h2,h3{margin:0;font-family:Jua,Noto Sans KR,sans-serif}button,input,select{font-family:inherit}.app-header{text-align:center;padding:40px 20px 28px}.app-header .mascot{filter:drop-shadow(0 4px 10px #d9a45a59);width:68px;height:68px;margin:0 auto 14px}.app-header .mascot svg{width:100%;height:100%}.app-header h1{color:var(--gold-deep);margin:0 0 6px;font-size:clamp(22px,6vw,30px)}.app-header .meta{color:var(--ink-dim);font-size:13px}.app-header .tagline{color:var(--ink-dim);margin-top:6px;font-size:12px}.section{max-width:720px;margin:32px auto 0;padding:0 16px}.section-title{color:var(--gold-deep);align-items:center;gap:6px;margin-bottom:14px;font-size:16px;display:flex}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.footer{text-align:center;color:var(--ink-dim);margin-top:44px;font-size:11px}.actions-row{flex-wrap:wrap;justify-content:center;gap:10px;max-width:720px;margin:28px auto 0;padding:0 16px;display:flex}.btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;padding:10px 20px;font-size:13px;font-weight:500;transition:transform .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}@media (width<=480px){.section{margin-top:26px}}.saju-form{flex-direction:column;gap:18px;max-width:480px;margin:0 auto;padding:26px 24px 30px;display:flex}.field{text-align:left;flex-direction:column;flex:1;gap:6px;display:flex}.field label{color:var(--ink-dim);font-size:12px;font-weight:500}.field input,.field select{border:1px solid var(--line);color:var(--ink);background:#fffdf8;border-radius:10px;outline:none;padding:10px 12px;font-size:15px}.field input:focus,.field select:focus{border-color:var(--gold)}.field-row{gap:10px;display:flex}.field .hint{color:var(--ink-dim);margin:0;font-size:11px;line-height:1.5}.gender-toggle{gap:8px;display:flex}.gender-toggle button{border:1px solid var(--line);color:var(--ink-dim);cursor:pointer;background:#fffdf8;border-radius:10px;flex:1;padding:10px;font-size:14px}.gender-toggle button.active{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff;font-weight:700}.checkbox-row{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-row input{width:16px;height:16px;accent-color:var(--gold-deep)}.field select:disabled,.field input:disabled{background:var(--line);color:var(--ink-dim);cursor:not-allowed}.form-error{color:var(--danger);background:#fbebe6;border:1px solid #e3b7a8;border-radius:10px;padding:10px 14px;font-size:13px}.submit-btn{border-radius:14px;width:100%;margin-top:4px;padding:14px;font-size:15px;font-weight:700}.pillars{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.pillar{text-align:center;padding:16px 6px}.pillar-label{color:var(--ink-dim);margin-bottom:8px;font-size:11px;font-weight:500}.char{font-family:Noto Sans KR,sans-serif;font-size:clamp(24px,6vw,36px);font-weight:900;line-height:1.15}.pillar .sub{color:var(--ink-dim);margin:5px 0 9px;font-size:10px}.elem-bar{background:var(--line);border-radius:999px;height:24px;display:flex;overflow:hidden}.elem-seg{height:100%}.legend{color:var(--ink-dim);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;display:flex}.legend-item i{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.strength-note{color:var(--ink-dim);margin-top:14px;padding:12px 16px;font-size:13px}.strength-note b{color:var(--ink)}.tag{background:var(--card);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;margin:3px 5px 3px 0;padding:6px 13px;font-size:12px;display:inline-block}.tag.gold{border-color:var(--gold);color:var(--gold-deep);background:#fcf3e4}.tag.muted{color:var(--ink-dim);box-shadow:none}.dayun-line{gap:0;padding:8px 4px 18px;display:flex;position:relative;overflow-x:auto}.dayun-line:before{content:"";background:var(--line);border-radius:2px;height:2px;position:absolute;top:42px;left:20px;right:20px}.dayun-stop{text-align:center;z-index:1;flex:0 0 62px;position:relative}.dayun-stop .age{color:var(--ink-dim);margin-bottom:8px;font-size:10px}.dayun-stop .dot{border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;margin:0 auto 8px}.dayun-stop .gz{font-size:15px;font-weight:700}.scroll{padding:26px 22px;font-size:15px;line-height:1.9}.scroll p{margin:0 0 15px}.scroll p:last-child{margin-bottom:0}.scroll b{color:var(--gold-deep);font-weight:700}.capture-target{background:var(--bg);padding-bottom:8px}.pillar-unknown{opacity:.7}.muted-char{color:var(--ink-dim)!important}.unknown-note{color:var(--gold-deep);font-weight:600}.loading-box,.error-box{text-align:center;max-width:480px;color:var(--ink-dim);margin:40px auto;padding:30px 24px;font-size:14px}.error-box{color:var(--danger)}
