:root{
  --ink:#16171b; --ink2:#4a4d57; --mute:#7c808b; --line:#e6e4df; --bg:#ffffff; --soft:#f4f3f0;
  --seal:#c8102e; --sealink:#fff;
  --hero:#131418; --heroink:#f5f3ee; --heromute:#b8b5ad;
  --wood:#2a8c74; --fire:#d6333f; --earth:#d99a1e; --metal:#8e96a3; --water:#24324a;
  --card:#ffffff; --shadow:0 10px 30px rgba(10,10,20,.12);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#f1efe9; --ink2:#c9c6be; --mute:#9a978f; --line:#2c2d33; --bg:#111216; --soft:#1a1b20; --card:#18191e;
  --water:#6d8bbd; --metal:#b3bac5; --shadow:0 10px 30px rgba(0,0,0,.4);
}}
:root[data-theme="dark"]{
  --ink:#f1efe9; --ink2:#c9c6be; --mute:#9a978f; --line:#2c2d33; --bg:#111216; --soft:#1a1b20; --card:#18191e;
  --water:#6d8bbd; --metal:#b3bac5; --shadow:0 10px 30px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.6 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--hero);color:var(--heroink)}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800;letter-spacing:.02em}
.seal{display:grid;place-items:center;width:34px;height:34px;background:var(--seal);color:var(--sealink);font-family:"Gowun Batang",serif;font-weight:700;font-size:20px;border-radius:4px;transform:rotate(-4deg)}
.lang{background:transparent;color:var(--heroink);border:1px solid #3a3b42;border-radius:999px;padding:6px 14px;cursor:pointer}
.hero{position:relative;overflow:hidden;background:var(--hero);color:var(--heroink);padding:28px 16px 40px}
.hero-in{position:relative;z-index:1;max-width:560px;margin:0 auto}
.hanja{position:absolute;right:-10px;top:30px;font-family:"Gowun Batang",serif;font-size:180px;line-height:1;color:#ffffff0d;writing-mode:vertical-rl;pointer-events:none}
.eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--seal);font-weight:800;margin:0 0 8px}
.hero .eyebrow{color:#ff6b6b}
h1{font-size:clamp(30px,8vw,46px);line-height:1.1;margin:0 0 14px;text-wrap:balance;font-weight:800}
h1 em{font-style:normal;color:#ff6b6b}
.lead{color:var(--heromute);margin:0 0 22px;max-width:60ch}
.card{background:var(--card);color:var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.form{display:grid;gap:6px}
.form label{font-size:14px;font-weight:600;color:var(--ink2);margin-top:8px}
.form input[type=text],.form input[type=date],.form input[type=time],.form select,.keyform input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.chk{display:flex;gap:8px;align-items:center;font-weight:400!important;margin-top:4px!important}
.go{margin-top:16px;width:100%;padding:15px;border:0;border-radius:12px;background:var(--seal);color:#fff;font-weight:800;font-size:17px;cursor:pointer}
.go:hover{filter:brightness(1.08)}
.ghost{padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);cursor:pointer;font-weight:600}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--seal);outline-offset:2px}
.fine{font-size:13px;color:var(--mute);text-align:center;margin:8px 0 0}
main{max-width:560px;margin:0 auto;padding:8px 16px 24px;display:grid;gap:14px}
.block{padding:22px 0;border-bottom:1px solid var(--line)}
.block h2{font-size:22px;margin:0 0 14px;text-wrap:balance}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pillars.three{grid-template-columns:repeat(3,1fr)}
.pil{display:grid;gap:6px;text-align:center}
.pil .lab{font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.tile{border-radius:12px;padding:10px 4px;color:#fff;font-family:"Gowun Batang",serif;font-size:34px;line-height:1.1}
.tile small{display:block;font-family:Figtree,system-ui,sans-serif;font-size:11px;opacity:.9;margin-top:2px}
.tile.dmT{outline:3px solid var(--ink);outline-offset:2px}
.e0{background:var(--wood)}.e1{background:var(--fire)}.e2{background:var(--earth)}.e3{background:var(--metal)}.e4{background:var(--water)}
.meta{color:var(--mute);font-size:14px;margin:10px 0 0}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:72px 1fr 24px;align-items:center;gap:10px;font-size:14px}
.track{height:12px;background:var(--soft);border-radius:99px;overflow:hidden}
.fill{height:100%;border-radius:99px}
.bar b{text-align:right;font-variant-numeric:tabular-nums}
.dm h2{font-size:30px;margin-bottom:2px}
.nick{font-family:"Gowun Batang",serif;font-size:20px;color:var(--seal);margin:0 0 12px}
.preview{font-size:17px;margin:0;max-width:62ch}
.locked{background:var(--soft);border-radius:16px;padding:22px 18px;border:0}
.checks{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:8px}
.checks li{padding-left:28px;position:relative}
.checks li::before{content:"🔒";position:absolute;left:0;top:0;font-size:15px}
.note{background:var(--card);border-radius:10px;padding:10px 12px;font-size:14px}
details{margin-top:14px}
summary{cursor:pointer;color:var(--ink2);font-size:14px}
.keyform{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.err{color:var(--fire);font-size:14px}
.full h3{font-size:19px;margin:22px 0 8px}
.full h3:first-child{margin-top:0}
.full p{margin:0 0 10px;max-width:62ch}
.lucky{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;background:var(--soft);border-radius:12px;padding:14px;font-size:15px}
.lucky dt{color:var(--mute)}
.lucky dd{margin:0;font-weight:600}
.actions{display:flex;gap:10px;flex-wrap:wrap;border:0}
.foot{max-width:560px;margin:0 auto;padding:20px 16px 40px;color:var(--mute);font-size:13px;text-align:center}
@media (prefers-reduced-motion:no-preference){.tile{animation:pop .5s ease both}.pil:nth-child(2) .tile{animation-delay:.08s}.pil:nth-child(3) .tile{animation-delay:.16s}.pil:nth-child(4) .tile{animation-delay:.24s}}
@keyframes pop{from{transform:translateY(8px);opacity:.3}to{transform:none;opacity:1}}
