:root{--bg: #0b0e13;--surface: #121620;--surface-2: #171c28;--ink: #eceff4;--ink-soft: #8c97a7;--accent: #e9b44c;--accent-soft: #b98c3a;--on-accent: #171204;--cream: #f2ede4;--hairline: #232a38;--leader: #3a4356;--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;word-break:keep-all}img{max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{color:var(--cream);text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:var(--accent);color:var(--on-accent)}.container{max-width:880px;margin:0 auto;padding:0 1.5rem}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline)}.site-header .container{display:flex;align-items:center;gap:1.5rem;padding-block:1rem}.site-name{font-weight:750;letter-spacing:-.01em;color:var(--cream);margin-right:auto}.site-name:hover{text-decoration:none;color:var(--accent)}.site-nav{display:flex;align-items:center;gap:1.25rem;font-family:var(--font-mono);font-size:.8rem}.site-nav a{color:var(--ink-soft)}.site-nav a:hover{color:var(--accent);text-decoration:none}.lang-toggle{padding:.28rem .75rem;border:1px solid var(--hairline);border-radius:999px}.lang-toggle:hover{border-color:var(--accent)}main{min-height:60vh}.site-footer{border-top:1px solid var(--hairline);margin-top:6rem}.site-footer .container{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;padding-block:1.6rem;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft)}.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--accent)}.slot{display:flex;align-items:center;gap:1.1rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;color:var(--ink-soft);margin:0 0 2.2rem}.slot .time{color:var(--accent)}.slot:before,.slot:after{content:"";height:1px;background:var(--hairline);flex:1}.hero{padding-block:6.5rem 5rem;text-align:center}.hero .eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 1.3rem}.hero h1{font-size:clamp(2.1rem,6vw,3.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.18;margin:0 auto;max-width:18ch;color:var(--cream)}.hero .sub{margin:1.3rem auto 0;color:var(--ink-soft);max-width:44ch}.hero .stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2.2rem;font-family:var(--font-mono);font-size:.78rem}.hero .stats span{border:1px solid var(--hairline);border-radius:999px;padding:.35rem .9rem;color:var(--ink-soft)}.hero .stats b{font-weight:600;color:var(--cream)}.hero .cta{display:inline-block;margin-top:2.6rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.7rem 1.6rem}.hero .cta:hover{background:var(--cream);color:var(--on-accent);text-decoration:none}.section{padding-block:3.5rem;scroll-margin-top:4.5rem}.about-body{max-width:56ch;margin:0 auto;text-align:center;color:var(--ink-soft)}.about-body strong{color:var(--cream);font-weight:600}.app-list{display:grid;gap:1.5rem}.app-card{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;padding:2rem;display:grid;grid-template-columns:96px 1fr;gap:1.6rem}.app-card .icon{width:96px;height:96px;border-radius:22px;border:1px solid var(--hairline)}.app-card h2{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--cream)}.app-card .tagline{margin:.2rem 0 0;color:var(--ink-soft);font-size:.95rem}.badges{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem;font-family:var(--font-mono);font-size:.74rem}.badges span{border:1px solid var(--hairline);background:var(--surface-2);border-radius:6px;padding:.22rem .6rem;color:var(--ink-soft)}.badges .star{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--hairline))}.app-card .desc{margin:1rem 0 0;font-size:.95rem;color:var(--ink)}.store-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem;font-family:var(--font-mono);font-size:.8rem}.store-links a{border:1px solid var(--accent-soft);border-radius:8px;padding:.42rem .95rem;color:var(--accent)}.store-links a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);text-decoration:none}.ledger{border-top:1px solid var(--hairline);padding-top:1rem;margin-top:1.5rem}.ledger .label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .4rem}.ledger a.row{display:flex;align-items:baseline;gap:.6em;padding-block:.34rem;font-size:.92rem;color:var(--ink)}.ledger a.row:hover{color:var(--accent);text-decoration:none}.ledger a.row .leader{flex:1;border-bottom:2px dotted var(--leader);transform:translateY(-.28em)}.ledger a.row:hover .leader{border-color:var(--accent)}.ledger a.row .date{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-soft)}@media(max-width:560px){.app-card{grid-template-columns:1fr}.app-card .icon{width:72px;height:72px;border-radius:17px}}.doc{max-width:720px;margin:0 auto;padding:3rem 1.5rem 2rem}.doc .back{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-soft)}.doc .back:hover{color:var(--accent)}.doc header h1{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.025em;margin:1rem 0 1.5rem;color:var(--cream)}.colophon{border-block:1px solid var(--hairline);padding-block:.4rem;margin:0 0 2.5rem}.colophon .row{display:flex;align-items:baseline;gap:.6em;padding-block:.32rem;font-size:.88rem}.colophon .row+.row{border-top:1px dotted var(--leader)}.colophon dt{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);min-width:7.5em}.colophon dd{margin:0}.colophon .app-ref{display:inline-flex;align-items:center;gap:.45em}.colophon .app-ref img{border-radius:5px;transform:translateY(.12em)}.prose{font-size:.98rem}.prose h2{font-size:1.15rem;font-weight:750;letter-spacing:-.01em;margin:2.2rem 0 .7rem;color:var(--cream)}.prose h3{font-size:1rem;margin:1.8rem 0 .5rem}.prose blockquote{margin:1.2rem 0;padding:.6rem 1rem;border-left:3px solid var(--accent);background:var(--surface);color:var(--ink-soft);font-size:.92rem}.prose blockquote p{margin:0;color:inherit}.prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1.2rem 0}.prose th,.prose td{border:1px solid var(--hairline);padding:.5rem .75rem;text-align:left}.prose th{background:var(--surface);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--ink-soft)}@media(prefers-reduced-motion:no-preference){.hero,.section{animation:rise .55s cubic-bezier(.2,.7,.3,1) both}.section:nth-of-type(2){animation-delay:.08s}.section:nth-of-type(3){animation-delay:.16s}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
