:root{--paper:#efe4cc;--ink2:#17130f;--gold2:#c69b50;--plum2:#3d253f}.saju-page{background:radial-gradient(circle at 50% -10%,#6e553640,transparent 33%),linear-gradient(145deg,#0d0c0b,#17130f 55%,#100c11);color:var(--paper)}.saju-page:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 7px);mix-blend-mode:soft-light}.saju-shell{position:relative;width:min(1040px,calc(100% - 28px));margin:auto;padding:55px 0 80px}.saju-hero{text-align:center}.saju-hero>span{color:var(--gold2);font-size:11px;font-weight:700;letter-spacing:.24em}.saju-hero h1{margin:13px 0;font:400 clamp(39px,7vw,68px)/1.18 "Gowun Batang",serif}.saju-hero p{max-width:620px;margin:auto;color:#bdb09c;line-height:1.8}.wizard{max-width:720px;margin:42px auto 0;padding:clamp(23px,5vw,46px);border:1px solid #d6ae623c;border-radius:26px;background:linear-gradient(145deg,#f5edda0c,#0003);box-shadow:0 25px 70px #0008}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:35px}.progress i{height:3px;border-radius:3px;background:#ffffff18}.progress i.on{background:var(--gold2)}.form-step{display:none}.form-step.active{display:block;animation:appear .35s ease}.form-step>small,.saju-results header small{color:var(--gold2);font-weight:700;letter-spacing:.15em}.form-step h2{margin:8px 0 24px;font:400 clamp(26px,5vw,39px) "Gowun Batang",serif}.form-step>p{color:#aa9e8c}.form-step label{display:block;color:#d6cbb7;font-size:13px}.form-step input[type=date],.form-step input[type=time]{display:block;width:100%;margin-top:9px;border:1px solid #d6ae6245;border-radius:14px;padding:14px;color:var(--paper);background:#080705;font:inherit;color-scheme:dark}.field-help,.policy-note{color:#887d6e!important;font-size:12px;line-height:1.7}.next,.submit,.back,.unknown-mbti,.restart{border-radius:999px;padding:12px 20px;font:700 13px "Noto Sans KR",sans-serif;cursor:pointer}.next,.submit{float:right;border:1px solid #dfbf7c;background:linear-gradient(110deg,#e1c383,#b8883f);color:#21180e}.back,.restart,.unknown-mbti{border:1px solid #d6ae6245;background:transparent;color:#d9ccb5}.form-step:after,.step-actions:after{content:"";display:block;clear:both}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.segmented input{position:absolute;opacity:0}.segmented span{display:block;padding:12px;border:1px solid #ffffff1b;border-radius:12px;text-align:center;cursor:pointer}.segmented input:checked+span{border-color:var(--gold2);color:#21180e;background:var(--gold2)}.leap-row,.time-known{margin:17px 0}.time-known label,.leap-row{padding:12px;border:1px solid #ffffff16;border-radius:12px}.step-actions{margin-top:26px}.mbti-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.mbti-button{border:1px solid #ffffff1c;border-radius:10px;padding:10px 4px;color:#c8bca8;background:#ffffff08;cursor:pointer}.mbti-button.selected{border-color:var(--gold2);color:#21180e;background:var(--gold2)}.unknown-mbti{width:100%;margin-top:12px}.unknown-mbti.selected{color:#21180e;background:var(--gold2)}.summary{display:grid;grid-template-columns:120px 1fr;margin:0}.summary dt,.summary dd{margin:0;padding:11px;border-bottom:1px solid #ffffff12}.summary dt{color:#948876}.form-error{color:#e9a3a3!important;font-size:13px}.saju-results{margin-top:55px}.saju-results>header{text-align:center;margin-bottom:24px}.saju-results>header h2{margin:9px 0;font:400 clamp(29px,5vw,46px) "Gowun Batang",serif}.saju-results>header p{color:#918675}.result-card,.closing{margin:14px 0;padding:clamp(21px,4vw,32px);border:1px solid #d6ae6234;border-radius:22px;background:linear-gradient(145deg,#f5edda0d,#0002)}.result-card h3{margin:0 0 14px;color:#e0c487;font:700 21px "Gowun Batang",serif}.result-card p{margin:0;color:#c7bcaa;line-height:1.85}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pillar{padding:18px 7px;border:1px solid #d6ae6242;border-radius:15px;text-align:center;background:#08070566}.pillar small{color:#8f826e}.pillar b{display:block;margin:9px 0 3px;color:#f1dfb9;font:700 29px "Gowun Batang",serif}.pillar.missing{opacity:.45}.time-notice{margin-top:13px!important;color:#a99679!important;font-size:12px}.elements{display:grid;gap:10px;margin-top:20px}.element-row{display:grid;grid-template-columns:75px 1fr 25px;align-items:center;gap:10px;color:#bfb3a0;font-size:13px}.bar{height:8px;border-radius:9px;background:#ffffff10;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#765b34,#d6ae62)}.dual{display:grid;grid-template-columns:1fr 1fr;gap:14px}.born{background:radial-gradient(circle at 90% 0,#d6ae621d,transparent 50%),#ffffff08}.lived{background:radial-gradient(circle at 90% 0,#784f7d2c,transparent 50%),#ffffff08}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.year-piece{padding:16px;border-radius:14px;background:#ffffff09}.year-piece b{display:block;margin-bottom:7px;color:#d8bc82;font-size:13px}.year-piece p{font-size:13px}.closing{text-align:center;background:radial-gradient(circle at 50% 0,#71527635,transparent 60%),#0b080c}.closing small{color:#a99575}.closing p{margin:10px 0 0;color:#f0dfbd;font:400 clamp(20px,4vw,28px)/1.7 "Gowun Batang",serif}.restart{display:block;margin:24px auto}.disclaimer{color:#746b5f;text-align:center;font-size:11px;line-height:1.7}@keyframes appear{from{opacity:0;transform:translateY(10px)}}@media(max-width:650px){.saju-shell{padding-top:35px}.wizard{margin-top:30px}.mbti-grid{grid-template-columns:repeat(4,1fr)}.dual{grid-template-columns:1fr}.pillars{gap:5px}.pillar{padding:14px 3px}.pillar b{font-size:23px}.year-grid{grid-template-columns:1fr}.summary{grid-template-columns:95px 1fr}}
