:root{--ground:#FAF6F6;--surface:#FFFFFF;--surface-2:#F4EEF0;--surface-3:#EDE4E7;--ink:#241C22;--ink-2:#6B5D65;--ink-3:#9C8C95;--line:#E7DEE1;--line-2:#D8CBD0;--accent:#C93B57;--accent-2:#E4657C;--accent-soft:#FBE9EC;--amber:#C97C2E;--amber-soft:#FBF0E2;--night:#4B4A7A;--shadow:0 1px 2px rgba(36,28,34,.05),0 8px 24px -12px rgba(36,28,34,.18);--shadow-lift:0 2px 6px rgba(36,28,34,.07),0 20px 48px -20px rgba(36,28,34,.3);--r-s:10px;--r-m:16px;--r-l:22px;--r-xl:28px;--sans:"IBM Plex Sans KR",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;--display:"Hahmlet","IBM Plex Sans KR",serif;--mono:"IBM Plex Mono",ui-monospace,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#241E2A;--surface:#2F2836;--surface-2:#3A3242;--surface-3:#473D50;--ink:#F6F1F4;--ink-2:#C0B2BB;--ink-3:#94858F;--line:#443A4C;--line-2:#564A5C;--accent:#F2687F;--accent-2:#F78EA0;--accent-soft:#33202A;--amber:#E5A45E;--amber-soft:#2E2418;--night:#9694CF;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);--shadow-lift:0 2px 6px rgba(0,0,0,.5),0 20px 48px -20px rgba(0,0,0,.8)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none}a,button{color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.wrap{max-width:470px;margin:0 auto;min-height:100vh;border-left:1px solid var(--line);border-right:1px solid var(--line)}@media (max-width:520px){.wrap{border:none}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.brand{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:6px}.brand span{color:var(--accent)}.brand small{font-family:var(--mono);font-size:9px;font-weight:400;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;gap:14px;font-size:13px;color:var(--ink-2)}.nav a:hover{color:var(--accent)}.view{padding:0 20px 56px}.chips{display:flex;gap:7px;overflow-x:auto;padding:4px 20px 14px;margin:0 -20px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;font-size:13px;font-weight:500;padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.chip.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:26px 0 10px;display:flex;align-items:center;gap:8px}.eyebrow:after{content:"";flex:1 1;height:1px;background:var(--line)}.hero{display:block;border-radius:var(--r-xl);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transition:.2s}.hero:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.herocover,.introcover{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 15% 15%,var(--accent-2) 0,transparent 60%),radial-gradient(100% 80% at 85% 90%,var(--night) 0,transparent 62%),linear-gradient(140deg,var(--accent) 0,#7A3352 100%)}.herocover{height:158px}.introcover{height:190px;border-radius:var(--r-xl);margin-top:14px}.herocover .glyph{font-size:62px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}.introcover .glyph{font-size:74px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))}.herobody{padding:16px 18px 18px}.herobody h2{font-family:var(--display);font-size:20px;font-weight:800;margin:0 0 5px;letter-spacing:-.02em;text-wrap:balance}.herobody p{margin:0;font-size:13.5px;color:var(--ink-2)}.metarow{display:flex;gap:12px;margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.metarow b{color:var(--ink-2);font-weight:500}.ranklist{display:flex;flex-direction:column;gap:2px}.rankitem{display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:var(--r-m)}.rankitem:hover{background:var(--surface-2)}.rankno{font-family:var(--mono);font-size:14px;color:var(--ink-3);width:18px;text-align:center;flex:none}.rankitem:nth-child(-n+3) .rankno{color:var(--accent)}.rankface{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;font-size:21px;background:var(--surface-2)}.rankmeta{min-width:0;flex:1 1}.rankmeta strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rankmeta span{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow);transition:.2s}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.cardface{height:84px;display:grid;place-items:center;font-size:32px;background:var(--surface-2)}.cardbody{padding:11px 12px 13px}.cardbody strong{display:block;font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:4px}.cardbody span{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.title{font-family:var(--display);font-size:27px;font-weight:800;letter-spacing:-.03em;margin:20px 0 8px;line-height:1.3;text-wrap:balance}.lead{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.65}.statrow{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin:20px 0}.stat{background:var(--surface);padding:13px 8px;text-align:center}.stat b{display:block;font-family:var(--mono);font-size:16px;font-weight:500}.stat span{font-size:11px;color:var(--ink-3)}.typepeek{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px}.tpeek{font-size:12px;padding:5px 11px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.tpeek:hover{border-color:var(--accent);color:var(--accent)}.btn{display:block;width:100%;text-align:center;padding:16px;border-radius:var(--r-m);font-size:16px;font-weight:700;background:var(--accent);color:#fff;box-shadow:0 8px 20px -10px var(--accent);transition:.18s}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line-2);box-shadow:none;font-weight:600;font-size:14.5px;padding:13px}.btnrow{display:flex;gap:9px;margin-top:20px}.sticky-cta{position:-webkit-sticky;position:sticky;bottom:0;padding:14px 0 18px;background:linear-gradient(transparent,var(--ground) 26%)}.progwrap{padding:16px 0 8px}.progtop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.progtop b{color:var(--accent);font-size:13px}.progtrack{height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progfill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .4s cubic-bezier(.3,.8,.3,1)}.thread{padding:22px 0 8px;min-height:210px}.qnum{font-family:var(--mono);font-size:15px;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}.bubble,.qnum{font-weight:500}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:4px 20px 20px 20px;padding:16px 18px;font-size:16.5px;line-height:1.55;box-shadow:var(--shadow);animation:pop .34s cubic-bezier(.2,.9,.3,1) both;text-wrap:balance}.opts{flex-direction:column;gap:9px;margin-top:18px}.opt,.opts{display:flex}.opt{align-items:center;gap:13px;background:var(--surface);border:1.5px solid var(--line);border-radius:20px 20px 4px 20px;padding:14px 16px;font-size:14.5px;line-height:1.45;text-align:left;transition:.16s;animation:pop .34s cubic-bezier(.2,.9,.3,1) both}.optnum{flex:none;width:27px;height:27px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:12.5px;color:var(--ink-3);transition:.16s}.opt:hover .optnum{border-color:var(--accent);color:var(--accent);background:var(--ground)}.opt:nth-child(2){animation-delay:.08s}.opt:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateX(-3px)}@keyframes pop{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.playfoot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:12.5px;color:var(--ink-3)}.playfoot button{color:var(--ink-2);font-size:13px}.loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.typing{display:flex;gap:7px}.typing i{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:bounce 1.15s infinite}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-9px);opacity:1}}.loadmsg{font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink-2)}.rcard{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lift);background:var(--surface);margin-top:16px}.rtop{padding:32px 22px 26px;text-align:center;color:#fff;background:radial-gradient(120% 100% at 20% 0,var(--accent-2) 0,transparent 58%),linear-gradient(150deg,var(--accent),#6C2E4C)}.rtop .glyph{font-size:66px;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.rlabel{font-family:var(--mono);font-size:11px;letter-spacing:.06em;opacity:.85;margin:12px 0 6px}.rtop h1{font-family:var(--display);font-size:29px;font-weight:800;margin:0;letter-spacing:-.03em;text-wrap:balance}.rtop p{margin:9px 0 0;font-size:14px;opacity:.92}.rpct{margin-top:16px;display:inline-block;font-family:var(--sans);font-size:12.5px;background:rgba(255,255,255,.16);padding:5px 13px;border-radius:99px}.rbody{padding:22px}.rbody h2{font-family:var(--display);font-size:16px;font-weight:600;margin:22px 0 9px}.desc{margin:0 0 12px;font-size:14.5px;line-height:1.8;color:var(--ink-2)}.axes{display:flex;flex-direction:column;gap:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}.ahead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}.aname{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--ink-3);text-transform:uppercase}.apole{font-size:15px;font-weight:700;color:var(--ink)}.apct{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--accent);margin-left:7px}.atrack{position:relative;height:9px;background:var(--surface-3);border-radius:99px;overflow:hidden}.atick{left:50%;width:1px;background:var(--line-2);z-index:1}.afill,.atick{position:absolute;top:0;bottom:0}.afill{border-radius:99px;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .8s cubic-bezier(.3,.9,.3,1)}.aends{display:flex;justify-content:space-between;margin-top:7px;font-size:11px;color:var(--ink-3)}.adesc{margin:10px 0 0;font-size:14px;line-height:1.65;color:var(--ink-2)}.anote{margin:5px 0 0;font-size:12.5px;color:var(--ink-3)}.anote b{color:var(--accent);font-weight:600}.moments{list-style:none;padding:0;margin:10px 0 0;flex-direction:column}.moments,.moments li{display:flex;gap:10px}.moments li{font-size:14.5px;line-height:1.6;color:var(--ink-2)}.moments li:before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{font-size:12px;padding:5px 11px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-weight:500}.matchgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:12px}.match{display:block;border:1px solid var(--line);border-radius:var(--r-m);padding:13px;background:var(--surface-2)}.match:hover{border-color:var(--accent)}.match span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);display:block;margin-bottom:5px}.match strong{font-size:14px;display:block}.match em{font-style:normal;font-size:11.5px;color:var(--ink-3)}.rx{border-left:3px solid var(--amber);background:var(--amber-soft);padding:13px 15px;border-radius:0 var(--r-s) var(--r-s) 0;font-size:14px;line-height:1.65}.rx b{color:var(--amber)}.adslot{margin-top:22px;border:1px dashed var(--line-2);border-radius:var(--r-m);padding:16px;text-align:center;background:var(--surface-2)}.adslot span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3);display:block;margin-bottom:6px}.adslot p{margin:0;font-size:13px;color:var(--ink-2)}.foot{margin:34px 20px 0;padding:18px 0 40px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3);line-height:1.75}.foot b{color:var(--ink-2)}.sharewrap{margin-top:20px}.sharerow{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.sbtn{padding:14px 8px;border-radius:var(--r-m);border:1.5px solid var(--line-2);background:var(--surface);font-size:14px;font-weight:600;color:var(--ink);transition:.16s}.sbtn:hover{color:var(--accent)}.sbtn.primary,.sbtn:hover{border-color:var(--accent)}.sbtn.primary{background:var(--accent);color:#fff}.sbtn.primary:hover{filter:brightness(1.07);color:#fff}.sharemsg{margin-top:9px;text-align:center;font-size:12.5px;color:var(--ink-3);min-height:18px}.isnew{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:1px 6px;line-height:1.5}.metarow .isnew{margin-right:2px}