:root{--surface:#12131f;--surface-raised:#1c1e30;--line:#34374f;--ink:#efe8d6;--ink-muted:#aea898;--thread:#e0685a;--thread-fill:#b53d31;--on-thread:#fbf6ea;--e-mok:#7fc4a0;--e-hwa:#e8705f;--e-to:#dcb458;--e-geum:#cfd6e0;--e-su:#7fa8d8;--moon:#dcb458;--gold-foil:#f0d48a;--font-serif:var(--font-noto-serif),"Noto Serif KR","Nanum Myeongjo",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",system-ui,sans-serif;--space-2:8px;--space-4:16px;--space-6:24px;--space-16:64px;--radius-hair:2px;--radius-md:6px;--radius-full:9999px;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);color-scheme:dark}:root[data-theme=light]{--surface:#f5f0e4;--surface-raised:#fcf9f2;--line:#d6ccb6;--ink:#1a1b2a;--ink-muted:#5b5647;--thread:#9c3b30;--thread-fill:#9c3b30;--moon:#86611a;--gold-foil:#a47a22;--e-mok:#276a4a;--e-hwa:#9c3b30;--e-to:#86611a;--e-geum:#4e5a68;--e-su:#2c5d8f;color-scheme:light}html{scroll-padding-top:env(safe-area-inset-top,0);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-sans);line-height:1.75;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}h1,h2,h3{font-family:var(--font-serif);font-weight:700;letter-spacing:-.01em;margin:0;text-wrap:balance}.caption,.closing,.footer-note,.hook,.lede,.quick-q,.sub{text-wrap:pretty}.sent{display:inline-block;text-wrap:balance}p{margin:0 0 var(--space-4);font-size:15.5px;line-height:27px}a{color:var(--thread);text-underline-offset:2px}:focus-visible{outline:2px solid var(--thread);outline-offset:2px}.muted{color:var(--ink-muted)}.caption{font-size:12.5px;line-height:18px;margin:0}.caption,.evidence{font-weight:500;color:var(--ink-muted)}.evidence{font-size:13px;line-height:20px;letter-spacing:.02em;margin:0 0 var(--space-2)}.measure{max-width:640px;margin:0 auto;padding:0 var(--space-6)}.cta{display:inline-block;padding:14px 32px;background:var(--thread-fill);color:var(--on-thread);text-decoration:none;font-weight:500;font-size:15.5px;border-radius:var(--radius-hair);border:none;cursor:pointer;font-family:var(--font-sans);transition:transform .12s ease,filter .12s ease}.cta:hover{filter:brightness(1.08)}.cta:active{transform:scale(.98)}.cta[aria-disabled=true]{transform:none}@media (prefers-reduced-motion:reduce){.cta{transition:filter .12s ease}.cta:active{transform:none}}.moonfill{fill:var(--moon)}.cut{fill:var(--surface)}.glint{fill:var(--gold-foil)}.fill{fill:var(--thread-fill)}.deep{fill:var(--ink)}.raised{fill:var(--surface-raised)}.threadline{fill:none;stroke:var(--thread);stroke-width:2;stroke-linecap:round}.draw{stroke-dasharray:200;stroke-dashoffset:200;animation:draw 1.8s ease-out .4s forwards}@keyframes draw{to{stroke-dashoffset:0}}.glint{animation:glint 4.8s ease-in-out infinite}.glint:nth-of-type(2n){animation-duration:3.6s;animation-delay:.8s}.glint:nth-of-type(3n){animation-duration:5.6s;animation-delay:1.7s}@keyframes glint{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.glint{opacity:.8}.draw,.glint{animation:none}.draw{stroke-dashoffset:0}}.topbar{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);max-width:1040px;margin:0 auto}.topbar nav{display:none}.topbar.on-landing{justify-content:space-between}.topbar.on-landing nav{display:flex;align-items:center;gap:14px}.topbar.on-landing .nav-sep,.topbar.on-landing .product{display:none}.wordmark{font-family:var(--font-serif);font-weight:700;font-size:19px;color:var(--ink);text-decoration:none}.topbar a.small{font-size:13px;color:var(--ink-muted);text-decoration:none;white-space:nowrap}.topbar a.small:hover,.topbar a.small[aria-current=page]{color:var(--moon)}@media (min-width:760px){.topbar{justify-content:space-between}.topbar nav,.topbar.on-landing nav{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-4)}.topbar.on-landing .nav-sep,.topbar.on-landing .product{display:revert}.topbar a.small{font-size:13.5px}.nav-sep{flex-basis:auto;width:1px;height:11px;background:var(--line)}}.landing .hero{position:relative;overflow:hidden;text-align:center;padding:var(--space-6) 0 var(--space-16);border-bottom:1px solid var(--line)}.hero-glints{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.landing .final>:not(.hero-glints),.landing .hero>:not(.hero-glints){position:relative}.eyebrow{font-family:var(--font-serif);font-size:13px;letter-spacing:.16em;color:var(--moon);margin:var(--space-6) 0 0;padding:0 var(--space-6)}.landing .hero h1{font-size:clamp(28px,7.4vw,48px);line-height:1.3;margin:var(--space-4) auto var(--space-4);padding:0 var(--space-6);max-width:760px}.landing .hero .sub{color:var(--ink-muted);margin:0 auto var(--space-4)}.landing .hero .hook,.landing .hero .sub{max-width:560px;padding:0 var(--space-6);font-size:16px}.landing .hero .hook{font-weight:700;color:var(--ink);margin:0 auto var(--space-6);line-height:1.5}.landing .hero .caption{margin-top:var(--space-4);padding:0 var(--space-6)}.quick{width:calc(100% - 2 * var(--space-6));max-width:420px;margin:var(--space-6) auto 0;padding:var(--space-6);border:1px solid var(--gold-foil);border-radius:var(--radius-md);background:var(--surface-raised)}.quick-q{font-family:var(--font-serif);font-size:17px;line-height:26px;margin:0 0 var(--space-4)}.quick-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.quick-options a{display:block;padding:12px 8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);text-decoration:none;font-size:14.5px;transition:border-color .15s ease,color .15s ease}.quick-options a:focus-visible,.quick-options a:hover{border-color:var(--moon);color:var(--moon)}.quick .cta{display:block;width:100%;text-align:center}.landing section.trust-band{padding:var(--space-6) 0}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.trust>div{text-align:center;padding:var(--space-4) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.trust b{display:block;font-family:var(--font-serif);font-size:clamp(20px,6vw,28px);line-height:1.25;color:var(--moon)}.trust span{display:block;font-size:12px;line-height:17px;color:var(--ink-muted);margin-top:6px}.rite{margin-top:var(--space-6);padding:var(--space-6);border:1px solid var(--gold-foil);border-radius:var(--radius-md);background:var(--surface-raised)}.rite-head{font-family:var(--font-serif);font-size:14px;color:var(--moon);margin:0 0 var(--space-2)}.rite-bar{height:4px;border-radius:var(--radius-full);background:var(--line);overflow:hidden;margin-bottom:var(--space-4)}.rite-bar i{display:block;height:100%;width:0;background:var(--moon);transition:width 2.4s ease-out}.rite.in .rite-bar i{width:100%}.rite ol{list-style:none;margin:0;padding:0}.rite li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:10px 0;opacity:.8;transition:opacity .5s ease;transition-delay:calc(var(--i) * .4s)}.rite li+li{border-top:1px solid var(--line)}.rite.in li{opacity:1}.rite .dot{width:22px;height:22px;margin-top:3px;border-radius:50%;border:1px solid var(--moon);display:grid;place-items:center;font-size:11px;color:transparent;transition:background .3s ease,color .3s ease;transition-delay:calc(var(--i) * .4s)}.rite.in .dot{background:var(--moon);color:var(--surface)}.rite li b{display:block;font-weight:500;font-size:15.5px;line-height:24px}.rite li small{display:block;font-size:13px;line-height:20px;color:var(--ink-muted)}@media (prefers-reduced-motion:reduce){.rite .dot,.rite li,.rite-bar i{transition:none}}.lineup{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.plan{display:flex;flex-direction:column;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.plan:hover{border-color:var(--moon)}.plan.flagship{border-color:var(--gold-foil)}.plan .badge{align-self:flex-start;font-size:12px;font-weight:500;color:var(--moon);border:1px solid var(--moon);border-radius:var(--radius-full);padding:2px 10px;margin-bottom:var(--space-2)}.plan h3{font-size:20px;line-height:30px}.plan .desc{font-size:14.5px;line-height:23px;color:var(--ink-muted);margin:6px 0 var(--space-4)}.plan .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-4)}.plan .tags span{font-size:12px;line-height:18px;color:var(--moon);border:1px solid var(--line);border-radius:var(--radius-full);padding:2px 10px}.plan .price-line{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-4);border-top:1px solid var(--line)}.plan .price-line strong{font-family:var(--font-serif);font-size:22px}.plan .price-line em{font-style:normal;font-size:14px;font-weight:500;color:var(--thread)}@media (min-width:900px){.landing .lineup-wrap{max-width:1040px}.lineup{grid-template-columns:repeat(3,1fr)}}.landing section{padding:var(--space-16) 0;border-bottom:1px solid var(--line)}.landing section h2{font-size:22px;line-height:32px;margin-bottom:var(--space-4)}.landing ul.moments{list-style:none;padding:0;margin:var(--space-6) 0 0;border-top:1px solid var(--line)}.landing ul.moments li{padding:var(--space-4) 0;border-bottom:1px solid var(--line);font-size:16px;line-height:26px}.landing .closing{font-family:var(--font-serif);font-size:17px;line-height:30px;margin-top:var(--space-6)}.preview{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);margin-top:var(--space-6)}.pick-row{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-2);align-items:end}.pick-row label{display:block;font-size:12.5px;color:var(--ink-muted);margin-bottom:6px;font-weight:500}.pick-row select{width:100%;font:inherit;font-size:15px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--ink-muted);background:var(--surface);color:var(--ink)}.pick-row .x{padding-bottom:10px;font-family:var(--font-serif);color:var(--thread)}.preview-result{margin-top:var(--space-6);min-height:96px}.preview-result .verdict{font-family:var(--font-serif);font-size:17px;font-weight:700;margin:0 0 var(--space-2)}.preview-result .q{font-family:var(--font-serif);font-size:15.5px;line-height:30px;margin:0 0 var(--space-4)}.preview>.caption{padding-top:var(--space-4);margin-top:var(--space-4)}.preview>.caption,dl.versus{border-top:1px solid var(--line)}dl.versus{margin:var(--space-6) 0 0}dl.versus>div{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}dl.versus dt{font-size:14.5px;color:var(--ink-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--thread);text-decoration-color:var(--thread);text-decoration-thickness:1.5px;margin-bottom:4px}dl.versus dd{margin:0;font-size:15.5px;line-height:26px}dl.versus dd b{display:block;font-weight:500;color:var(--thread);margin-bottom:2px}dl.compare{margin:var(--space-6) 0 0;border-top:1px solid var(--line)}dl.compare>div{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}dl.compare dt{font-family:var(--font-serif);font-size:15px;font-weight:700;margin-bottom:4px}dl.compare dd{margin:0;font-size:15px;line-height:24px;color:var(--ink-muted)}.origin{margin-top:var(--space-6);padding-left:var(--space-4);border-left:2px solid var(--line)}ol.steps{list-style:none;padding:0;margin:var(--space-6) 0 0;counter-reset:s}ol.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--line)}ol.steps li:before{content:counter(s);font-family:var(--font-serif);font-weight:700;font-size:20px;color:var(--moon);line-height:26px}ol.steps h3{font-size:17px;line-height:26px;font-weight:500;margin-bottom:4px}ol.steps p{margin:0;font-size:14.5px;line-height:24px;color:var(--ink-muted)}dl.proof{margin:var(--space-6) 0 0}dl.proof>div{padding:var(--space-4) 0;border-top:1px solid var(--line)}dl.proof dt{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--moon);margin-bottom:2px}dl.proof dd{margin:0;font-size:14.5px;line-height:24px;color:var(--ink-muted)}.example{background:var(--surface-raised);border:1px solid var(--gold-foil);border-radius:var(--radius-md);padding:var(--space-6);margin-top:var(--space-6)}.example .tier{display:inline-block;font-size:12.5px;font-weight:500;padding:2px 10px;border-radius:var(--radius-full);margin-bottom:var(--space-4);border:1px solid}.example .tier.good{color:var(--moon)}.example .tier.bad{color:var(--thread)}.example blockquote{margin:0;font-family:var(--font-serif);font-size:16px;line-height:32px}.spectrum{margin:var(--space-6) 0 var(--space-2)}.spectrum-bar{display:flex;height:8px;border-radius:var(--radius-full);overflow:hidden;gap:2px}.spectrum-bar span{flex:1 1}.spectrum-bar span:first-child{background:var(--thread)}.spectrum-bar span:nth-child(2){background:var(--thread);opacity:.5}.spectrum-bar span:nth-child(3){background:var(--line)}.spectrum-bar span:nth-child(4){background:var(--moon);opacity:.55}.spectrum-bar span:nth-child(5){background:var(--moon)}.spectrum-labels{display:flex;margin-top:var(--space-2)}.spectrum-labels span{flex:1 1;font-size:11.5px;color:var(--ink-muted);text-align:center}.landing details{border-bottom:1px solid var(--line)}.landing details:first-of-type{border-top:1px solid var(--line)}.landing summary{cursor:pointer;list-style:none;padding:var(--space-4) 28px var(--space-4) 0;font-family:var(--font-serif);font-size:16px;font-weight:400;position:relative}.landing summary::-webkit-details-marker{display:none}.landing summary:after{content:"+";position:absolute;right:0;top:14px;color:var(--thread);font-family:var(--font-sans);font-size:20px}.landing details[open] summary:after{content:"−"}.landing details p{color:var(--ink-muted);font-size:15px}.landing .final{position:relative;overflow:hidden;text-align:center;padding:var(--space-16) var(--space-6)}.landing .final h2{font-size:24px;line-height:36px;margin:0 auto var(--space-6);max-width:520px}.landing footer{text-align:center;padding:0 var(--space-6) calc(var(--space-16) + 72px)}.landing footer .caption{max-width:520px;margin:0 auto var(--space-2)}.sticky{position:fixed;left:0;right:0;bottom:0;padding:12px var(--space-6) calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:center;transform:translateY(110%);transition:transform .25s ease;z-index:10}.sticky.show{transform:translateY(0)}.sticky .cta{width:100%;max-width:592px;text-align:center}@media (prefers-reduced-motion:reduce){.sticky{transition:none}}.app{max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-16)}.app header.top{overflow:hidden;text-align:center;padding:var(--space-4) 0 var(--space-6)}.app header.top,.app header.top>:not(.hero-glints),.product-hero>:not(.hero-glints){position:relative}.app header.top .eyebrow{margin:0 0 var(--space-2)}.app section.card#result{border-color:var(--gold-foil)}.app .mark{display:block;font-family:var(--font-serif);font-weight:700;font-size:18px;color:var(--ink);margin-bottom:var(--space-4);text-align:left;text-decoration:none}.app h1{font-size:clamp(28px,7vw,36px);line-height:1.4;margin:0 0 var(--space-2)}.app .sub{color:var(--ink-muted);font-size:15px;line-height:26px;max-width:520px;margin:0 auto var(--space-4)}.app section.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6)}.app .card h2{font-size:19px;line-height:28px;margin:0 0 var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.app .opt{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--ink-muted);white-space:nowrap}.app .person-title{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--thread);margin:var(--space-6) 0 var(--space-2)}.app .person-title.first{margin-top:0}.app .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.app .field{display:flex;flex-direction:column;gap:6px}.app .field.full{grid-column:1/-1;margin-bottom:var(--space-4)}.app .flabel,.app label{font-size:13.5px;line-height:20px;color:var(--ink-muted)}.app input,.app select,.app textarea{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--ink-muted);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);width:100%;color-scheme:dark light}.app input::placeholder,.app textarea::placeholder{color:var(--ink-muted);opacity:.8}.app textarea{resize:vertical;min-height:80px}.app .hint{font-size:13px;line-height:20px;color:var(--ink-muted);margin:var(--space-2) 0 0}.app .radio-group{display:flex;gap:var(--space-4);flex-wrap:wrap}.app .radio-group label{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:14px}.app .radio-group input{width:auto}.choice-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice-group button{font:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-full);cursor:pointer}.choice-group button:hover{border-color:var(--ink-muted)}.choice-group button[aria-pressed=true]{background:var(--thread-fill);color:var(--on-thread);border-color:var(--thread-fill)}.likert{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.likert button{padding:8px 0;border-radius:var(--radius-md)}.app button.primary{width:100%;padding:14px;font:inherit;font-size:15.5px;font-weight:500;background:var(--thread-fill);color:var(--on-thread);border:none;border-radius:var(--radius-hair);cursor:pointer;margin-top:var(--space-4)}.app button.primary:hover{filter:brightness(1.08)}.app button.ghost{font:inherit;font-size:15px;font-weight:500;background:transparent;border:1px solid var(--thread);color:var(--thread);padding:12px 20px;border-radius:var(--radius-hair);cursor:pointer;width:100%}.app button.ghost:disabled{opacity:.6;cursor:default}.app .error{color:var(--thread);font-size:14px;margin:var(--space-4) 0 0}.pillars-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.who{font-size:12.5px;font-weight:500;color:var(--ink-muted);margin-bottom:6px;text-align:center}.pillars{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);margin-bottom:var(--space-6)}.pillars-pair .pillars{margin-bottom:0}.pillar{padding:12px 2px;text-align:center;border-left:1px solid var(--line)}.pillar:first-child{border-left:none}.pillar .label{font-size:11.5px;color:var(--ink-muted);margin-bottom:4px}.pillar .hanja{font-family:var(--font-serif);font-size:20px}.pillar .hanja span+span{margin-left:1px}.pillar .han{font-size:12px;color:var(--ink-muted)}.e-mok{color:var(--e-mok)}.e-hwa{color:var(--e-hwa)}.e-to{color:var(--e-to)}.e-geum{color:var(--e-geum)}.e-su{color:var(--e-su)}.pillar .han .e-geum,.pillar .han .e-hwa,.pillar .han .e-mok,.pillar .han .e-su,.pillar .han .e-to{opacity:.85}.elem-legend{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:var(--space-3) 0 0;font-size:13px}.elem-legend-lead{color:var(--ink-muted);margin-right:2px}.elem-legend span:not(.elem-legend-lead),.tier-badge{font-family:var(--font-serif);font-weight:700}.tier-badge{display:inline-block;font-size:17px;padding:4px 16px;border-radius:var(--radius-full);border:1px solid;margin-bottom:var(--space-2)}.tier-best{background:color-mix(in srgb,var(--moon) 18%,transparent)}.tier-best,.tier-good{color:var(--moon)}.tier-mid{color:var(--ink-muted)}.tier-bad,.tier-warn{color:var(--thread)}.tier-bad{background:color-mix(in srgb,var(--thread) 16%,transparent)}.tier-scale{display:flex;gap:2px;margin:var(--space-4) 0 4px}.tier-scale span{flex:1 1;height:6px;border-radius:var(--radius-full);background:var(--line)}.tier-scale span.on{background:currentColor}.tier-scale-labels{display:flex;margin-bottom:var(--space-4)}.tier-scale-labels span{flex:1 1;text-align:center;font-size:11px;color:var(--ink-muted)}ul.notes{list-style:none;margin:0 0 var(--space-4);padding:0;border-top:1px solid var(--line)}ul.notes li{font-size:14.5px;line-height:24px;padding:12px 0;border-bottom:1px solid var(--line)}ul.notes li.warn{color:var(--thread)}ul.notes li.warn b{font-weight:500;margin-right:6px}.note-box{font-size:13px;line-height:20px;color:var(--ink-muted)}.attach-card,.note-box{margin-top:var(--space-4)}.attach-card{padding:var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.attach-card .t{font-family:var(--font-serif);font-weight:700;font-size:16px;margin-bottom:4px}.attach-card .d{font-size:14px;line-height:22px}.attach-card .m{font-size:12.5px;line-height:18px;color:var(--ink-muted);margin-top:6px}.interpret-label{font-family:var(--font-serif);font-size:14px;color:var(--moon);margin-top:var(--space-6)}.interpret-text{white-space:pre-wrap;font-family:var(--font-serif);font-size:16px;line-height:32px;margin-top:var(--space-2);padding:var(--space-6);background:var(--surface);border:1px solid var(--gold-foil);border-radius:var(--radius-md)}.interpret-by{display:flex;align-items:center;gap:10px;margin-top:var(--space-6)}.interpret-by .interpret-label{margin-top:0}.character-art-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1px solid var(--gold-foil);flex-shrink:0}.footer-note{text-align:center;font-size:12.5px;line-height:20px;font-weight:500;color:var(--ink-muted);margin-top:var(--space-6)}.letter-upsell{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface-raised);border:1px solid var(--gold-foil);border-radius:var(--radius-md)}.letter-upsell .t{font-family:var(--font-serif);font-weight:700;font-size:16px;margin-bottom:var(--space-2);color:var(--moon)}.letter-upsell .preview-quote{font-family:var(--font-serif);font-size:15px;line-height:28px;margin:0 0 var(--space-4)}.letter-upsell .hint{margin-bottom:var(--space-4)}.cross-sell{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface-raised);border:1px solid var(--gold-foil);border-radius:var(--radius-md);text-align:center}.cross-sell h3{font-family:var(--font-serif);font-size:17px;margin:0 0 var(--space-2)}.cross-sell p{font-size:14px;color:var(--ink-muted);margin:0 0 var(--space-4)}.review-form{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.star-row{display:flex;gap:4px;margin-bottom:var(--space-4)}.star-row button{font-size:28px;line-height:1;background:none;border:none;cursor:pointer;color:var(--line);padding:0}.star-row button.on{color:var(--moon)}.review-form textarea{margin-bottom:var(--space-4)}.review-list{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.review-item{padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md)}.review-item p{margin:6px 0 0;font-size:14.5px;line-height:22px}.review-stars{color:var(--moon);font-size:15px;letter-spacing:1px}.ohaeng-bars{display:flex;flex-direction:column;gap:10px;margin:0 0 var(--space-6)}.ohaeng-row{display:grid;grid-template-columns:32px 1fr 20px;align-items:center;gap:10px;font-size:13.5px}.ohaeng-track{height:8px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.ohaeng-fill,.ohaeng-track{border-radius:var(--radius-full)}.ohaeng-fill{height:100%;background:var(--moon)}.ohaeng-row.e-mok .ohaeng-fill{background:var(--e-mok)}.ohaeng-row.e-hwa .ohaeng-fill{background:var(--e-hwa)}.ohaeng-row.e-to .ohaeng-fill{background:var(--e-to)}.ohaeng-row.e-geum .ohaeng-fill{background:var(--e-geum)}.ohaeng-row.e-su .ohaeng-fill{background:var(--e-su)}table.sipseong{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:var(--space-4)}table.sipseong td,table.sipseong th{border:1px solid var(--line);padding:8px 4px;text-align:center}table.sipseong th{color:var(--ink-muted);font-weight:500;background:var(--surface)}details.tech{font-size:13.5px;color:var(--ink-muted);margin-bottom:var(--space-4)}details.tech summary{cursor:pointer;color:var(--ink)}details.tech p{margin:6px 0 0;color:var(--ink-muted)}.warn-box,details.tech p{font-size:13.5px;line-height:22px}.warn-box{border:1px solid var(--thread);color:var(--thread);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:var(--space-4)}.site-footer{border-top:1px solid var(--line);padding:var(--space-16) var(--space-6) calc(var(--space-16) + 24px)}.site-footer .measure{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center}.site-footer .brand{font-family:var(--font-serif);font-weight:700;font-size:16px;color:var(--ink)}.site-footer .biz-info{font-size:12.5px;line-height:22px;color:var(--ink-muted)}.site-footer .biz-info a{color:inherit;text-decoration:underline;text-underline-offset:2px}.site-footer .biz-info a:hover{color:var(--moon)}.site-footer nav.legal{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.site-footer nav.legal+nav.legal{margin-top:var(--space-2)}.site-footer nav.legal a{font-size:12.5px;color:var(--ink-muted);text-decoration:underline}.site-footer nav.legal a:hover{color:var(--thread)}.product-hero{position:relative;overflow:hidden;text-align:center;padding:var(--space-6) var(--space-6) var(--space-16);border-bottom:1px solid var(--line)}.product-hero .eyebrow{margin:0 0 var(--space-4)}.product-hero .badge{display:inline-block;font-size:12px;font-weight:500;color:var(--moon);border:1px solid var(--moon);border-radius:var(--radius-full);padding:3px 12px;margin-bottom:var(--space-4)}.product-hero h1{font-size:clamp(30px,8vw,44px);line-height:1.3;margin:0 0 var(--space-4)}.price-row{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:var(--space-4) 0 var(--space-6)}.price-row .price{font-family:var(--font-serif);font-size:28px;font-weight:700;color:var(--ink)}.price-row .unit{font-size:14px;color:var(--ink-muted)}ul.includes{list-style:none;padding:0;margin:var(--space-6) 0 0;border-top:1px solid var(--line)}ul.includes li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:10px}ul.includes li:before{content:"·";color:var(--moon);font-weight:700}.preview-card{background:var(--surface-raised);border:1px solid var(--gold-foil);border-radius:var(--radius-md);padding:var(--space-6);margin-top:var(--space-6);position:relative;overflow:hidden}.preview-card .fade{position:absolute;left:0;right:0;bottom:0;height:96px;background:linear-gradient(to bottom,transparent,var(--surface-raised))}.preview-card .tag{font-size:12px;color:var(--ink-muted);margin-bottom:var(--space-2)}.buy-box{text-align:center;padding:var(--space-16) 0}.buy-box .cta[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.buy-box .note{margin-top:var(--space-2)}.checkout{max-width:320px;margin:0 auto}.checkout .cta{width:100%;text-align:center;border:none;font:inherit;font-size:15.5px;font-weight:500}.checkout .cta:disabled{opacity:.55;cursor:not-allowed}.result-box{max-width:400px;margin:var(--space-16) auto;text-align:center}.result-box .lede{font-family:var(--font-serif);font-size:20px;font-weight:700;margin-bottom:var(--space-2)}.result-box .cta{display:inline-block;margin-top:var(--space-6)}.product-details{max-width:640px;margin:0 auto;padding:0 var(--space-6)}.product-details>div+div{margin-top:var(--space-16)}@media (min-width:900px){.product-details{max-width:1040px;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}.product-details>div+div{margin-top:0}}.scene{position:relative;width:100%;max-width:1040px;margin:0 auto;aspect-ratio:1/1;overflow:hidden}.scene img,.scene video{display:block;width:100%;height:100%;object-fit:cover}.scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--surface) 0,transparent 14%,transparent 60%,var(--surface) 98%)}.scene+.eyebrow,.scene+h2{margin-top:-48px}.product-hero .scene{margin-top:calc(-1 * var(--space-6));margin-bottom:0}.landing .final{padding-top:0}@media (max-width:599px){.landing .final .scene,.product-hero .scene{width:auto;margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6))}}@media (min-width:600px){.scene{aspect-ratio:2/1}.scene-hero video{object-position:50% 40%}}.scene.scene-compact{aspect-ratio:16/9;margin-bottom:var(--space-2)}@media (max-width:599px){.app header.top .scene{width:auto;margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6))}}@media (min-width:1040px){.scene:after{background:linear-gradient(to bottom,var(--surface) 0,transparent 14%,transparent 60%,var(--surface) 98%),linear-gradient(to right,var(--surface) 0,transparent 12%,transparent 88%,var(--surface) 100%)}}.el-wood{--el-bg:#3f7f73;--el-fg:#fff;--el-bd:#5a9a8d}.el-fire{--el-bg:#c8553d;--el-fg:#fff;--el-bd:#dc735d}.el-earth{--el-bg:#e0ae4f;--el-fg:#2b2620;--el-bd:#e9c170}.el-metal{--el-bg:#ece7db;--el-fg:#2b2620;--el-bd:#fff}.el-water{--el-bg:#3b4660;--el-fg:#fff;--el-bd:#5b6789}.report-birth{margin:0 0 var(--space-4)}.report-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:var(--space-4)}.report-col{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:center}.report-pos{font-size:12px;color:var(--ink-muted)}.report-god{font-size:12px;color:var(--ink)}.report-meta{font-size:11px;line-height:15px;color:var(--ink-muted)}.ganji{display:flex;flex-direction:column;align-items:center;padding:8px 0 6px;border-radius:var(--radius-md);background:var(--el-bg);color:var(--el-fg);border:1px solid var(--el-bd)}.ganji b{font-family:var(--font-serif);font-size:26px;line-height:30px}.ganji small{font-size:10.5px;opacity:.85}.ganji.is-day{box-shadow:0 0 0 2px var(--gold-foil)}.report-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 var(--space-2)}.report-facts>div{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.report-facts dt{font-size:11.5px;color:var(--ink-muted)}.report-facts dd{margin:2px 0 0;font-size:14.5px}.chip{display:inline-block;min-width:22px;padding:0 6px;border-radius:6px;text-align:center;font-family:var(--font-serif);font-weight:700;background:var(--el-bg);color:var(--el-fg);border:1px solid var(--el-bd)}.report-toc{margin:var(--space-4) 0 var(--space-6);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 14px}.report-toc summary{cursor:pointer;font-size:14.5px}.report-toc ul{margin:4px 0 10px;padding-left:18px}.report-toc li{font-size:14px;line-height:26px}.report-toc a{color:var(--ink);text-decoration:none}.report-toc a:hover{color:var(--moon)}.report-part{margin-top:var(--space-6)}.report-part-label{font-family:var(--font-serif);font-size:12.5px;letter-spacing:.14em;color:var(--moon);margin:var(--space-4) 0 var(--space-2)}.report-section{padding:var(--space-6) 0;border-top:1px solid var(--line);scroll-margin-top:16px}.report-section h2{font-size:20px;line-height:30px;margin:0 0 var(--space-4)}.report-section h2:after{content:"";display:block;width:28px;height:2px;margin-top:10px;background:var(--gold-foil)}.report-block p{font-family:var(--font-serif);font-size:16px;line-height:31px;margin:0 0 var(--space-4)}.report-block p.report-bullet{position:relative;padding-left:16px;margin-bottom:var(--space-2)}.report-block p.report-bullet:before{content:"·";position:absolute;left:2px;color:var(--moon);font-weight:700}.report-label{font-family:var(--font-sans);font-weight:700;font-size:14px;color:var(--moon);margin-right:8px}.report-label.solo{display:block;margin:var(--space-4) 0 var(--space-2)}@media (max-width:420px){.ganji b{font-size:22px;line-height:26px}.report-facts{grid-template-columns:1fr}}.letter-pair-bars .ohaeng-row{grid-template-columns:32px 1fr 40px}.letter-pair-bars .ohaeng-row>span:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.letter-pair-tracks{display:flex;flex-direction:column;gap:3px}.ohaeng-fill.faded{opacity:.45}.letter-sub{font-family:var(--font-serif);font-size:16px;margin:var(--space-6) 0 var(--space-2)}.letter-sub+ul.notes li .chip{margin-right:4px}.letter-year-wrap{overflow-x:auto}table.letter-years td{text-align:left;vertical-align:top;line-height:20px}table.letter-years tbody th{width:44px;font-family:var(--font-serif);font-weight:700;color:var(--ink)}.letter-year-ganji{font-family:var(--font-serif);font-weight:700;font-size:15px;margin-bottom:2px}.letter-year-spouse{font-size:12px;color:var(--ink-muted);margin-top:2px}.letter-year-spouse.on{color:var(--thread)}.letter-sign{font-family:var(--font-serif);color:var(--moon);text-align:right;margin:0 0 var(--space-4)}.app details.card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6)}.optional-card summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:4px;position:relative;padding-right:32px}.optional-card summary::-webkit-details-marker{display:none}.optional-card summary>span:first-child{font-family:var(--font-serif);font-weight:700;font-size:19px;line-height:28px}.optional-card summary .hint{margin:0}.optional-card summary:after{content:"+";position:absolute;right:0;top:0;font-size:24px;line-height:28px;color:var(--thread)}.optional-card[open] summary:after{content:"−"}.optional-card[open] summary{padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}.optional-inline{margin:var(--space-4) 0;padding:12px 14px;border:1px dashed var(--line);border-radius:var(--radius-md)}.optional-inline summary{cursor:pointer;font-weight:500;font-size:15px}.optional-inline[open]{border-style:solid}.section-eyebrow{font-family:var(--font-serif);font-size:12.5px;letter-spacing:.18em;color:var(--moon);margin:0 0 var(--space-2)}.story .scene{margin:var(--space-4) auto var(--space-6);border-radius:var(--radius-md)}.story .scene:after{background:linear-gradient(to bottom,transparent 70%,var(--surface) 100%)}.story-legend{font-family:var(--font-serif);font-size:16.5px;line-height:31px;margin:0 0 var(--space-4)}.story-legend b{color:var(--moon);font-weight:700}.story-quote{display:flex;gap:14px;align-items:flex-start;margin:var(--space-6) 0;padding:var(--space-6);background:var(--surface-raised);border:1px solid var(--gold-foil);border-radius:var(--radius-md)}.story-quote .character-art-avatar{width:44px;height:44px}.story-quote blockquote{margin:0;font-family:var(--font-serif);font-size:16.5px;line-height:31px}.story-beats{list-style:none;margin:var(--space-6) 0 0;padding:0 0 0 22px;position:relative}.story-beats:before{content:"";position:absolute;left:6px;top:10px;bottom:14px;width:1.5px;background:linear-gradient(to bottom,var(--thread),rgba(224,104,90,.25))}.story-beats li{position:relative;padding:0 0 var(--space-6) 8px}.story-beats li:before{content:"";position:absolute;left:-21px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--surface);border:2px solid var(--thread)}.story-beats b{display:block;font-family:var(--font-serif);font-size:17px;line-height:26px;margin-bottom:4px}.story-beats span{display:block;font-size:15px;line-height:25px;color:var(--ink-muted)}@media (min-width:600px){.story .scene{aspect-ratio:2/1}}.stats-range{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-6)}.stats-range a{padding:6px 14px;border:1px solid var(--line);border-radius:var(--radius-hair);color:var(--ink-muted);text-decoration:none;font-size:14px}.stats-range a[aria-current=page]{border-color:var(--thread);color:var(--thread)}.stats-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:var(--space-6)}@media (min-width:560px){.stats-cards{grid-template-columns:repeat(3,1fr)}}.stats-cards>div{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:2px}.stats-cards .label{font-size:12.5px;color:var(--ink-muted)}.stats-cards strong{font-size:22px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-cards .sub{font-size:12px;color:var(--ink-muted)}.stats-scroll{overflow-x:auto;margin-bottom:var(--space-4)}.stats-table{width:100%;border-collapse:collapse;font-size:13.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stats-table td,.stats-table th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.stats-table td:first-child,.stats-table th:first-child{text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:9em}.stats-table.wide{min-width:480px}.stats-table th{font-weight:500;color:var(--ink-muted);font-size:12.5px}.tq{border:1px solid var(--line);border-radius:var(--radius-hair);padding:var(--space-4);margin-bottom:12px}.tq>summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.tq>summary b{font-family:var(--font-serif)}.tq-when{margin-left:auto;font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tq-badge,.tq-when{color:var(--ink-muted)}.tq-badge{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}.tq-badge.s-posted{border-color:var(--gold-foil);color:var(--gold-foil)}.tq-badge.s-failed{border-color:var(--thread);color:var(--thread)}.tq-text{white-space:pre-wrap;font:inherit;font-size:14px;line-height:25px;color:var(--ink-muted);margin:var(--space-4) 0 0}.tq-draft{border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-4)}.tq-draft:first-of-type{border-top:none;padding-top:0}.tq-quote{margin:0 0 var(--space-4);padding-left:12px;border-left:2px solid var(--line);color:var(--ink-muted);font-size:14px;white-space:pre-wrap}.tq-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:var(--space-4) 0}.tq-actions form{margin:0}.tq-actions button{width:auto;padding-left:20px;padding-right:20px}.tq-log{list-style:none;padding:0;margin:0;font-size:13px;line-height:24px;color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tq-log .bad{color:var(--thread)}.app textarea{width:100%;font:inherit;font-size:15px;line-height:26px}.pay-blocked{border:1px solid var(--thread);border-radius:var(--radius-md);padding:var(--space-6);text-align:left}.pay-blocked .lede{font-family:var(--font-serif);font-size:17px;font-weight:700;margin:0 0 var(--space-2)}.pay-blocked p{font-size:14.5px;line-height:25px}.pay-blocked .cta{display:block;width:100%;text-align:center;margin:var(--space-4) 0}.pay-blocked code{font-size:12px;word-break:break-all;color:var(--ink-muted)}.app section.card.resume-order{border-color:var(--gold-foil)}.result-box.generating{text-align:left}.result-box.generating .interpret-by{justify-content:flex-start;margin-bottom:var(--space-4)}.gen-bar{height:4px;background:var(--line);overflow:hidden;margin:var(--space-4) 0 8px}.gen-bar,.gen-fill{border-radius:999px}.gen-fill{height:100%;background:var(--thread);transition:width 1s linear}.gen-time{font-size:12.5px;color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0 0 var(--space-4)}.result-box.generating code{font-size:12px;word-break:break-all}