@font-face{font-family:"Pretendard Variable";src:url("../fonts/PretendardVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#f6f4ee;--card:#fffdf8;--ink:#16161a;--muted:#6d6b64;--line:#e3dfd3;--mark:#ffdcb8;--led:#ff7a2f;--ok:#1f7a4d;--warn:#b3261e}
@media(prefers-color-scheme:dark){:root{--paper:#121214;--card:#1b1b1f;--ink:#f3f1ea;--muted:#a3a098;--line:#2e2d31;--mark:#6b3f1c;--ok:#6fcf9b;--warn:#ff8a80}}
*{box-sizing:border-box}
html,body{margin:0}
body{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:16px/1.6 "Pretendard Variable",Pretendard,"Malgun Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
main{flex:1}
.top{display:flex;align-items:center;justify-content:space-between;max-width:1120px;width:100%;margin:0 auto;padding:20px 24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.03em;text-decoration:none}
.mark{display:inline-flex;align-items:center;gap:2px;height:30px;padding:0 7px;border-radius:9px;background:var(--ink)}
.mark i{display:block;width:3px;border-radius:2px;background:var(--paper)}
.mark i:nth-child(1){height:7px}.mark i:nth-child(2){height:13px}.mark i:nth-child(3){height:16px}.mark i:nth-child(4){height:10px}
.top nav a{font-size:15px;font-weight:600;text-decoration:none;padding:9px 14px;border-radius:10px}
.top nav a:hover{background:var(--line)}
.foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:28px 24px;font-size:13px;color:var(--muted)}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}

/* Landing: one hero, two actions */
.hero{max-width:880px;margin:0 auto;padding:clamp(40px,9vh,96px) 24px 48px;text-align:center}
.kicker{margin:0 0 20px;font-size:13px;font-weight:600;letter-spacing:.18em;color:var(--muted)}
.hero h1{margin:0;font-size:clamp(46px,8.4vw,100px);line-height:1.04;font-weight:800;letter-spacing:-.045em}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 64%,var(--mark) 64%,var(--mark) 92%,transparent 92%)}
.lede{max-width:560px;margin:28px auto 0;font-size:clamp(17px,2.1vw,20px);line-height:1.65;color:var(--muted)}
.actions{display:flex;justify-content:center;gap:12px;margin-top:40px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:14px;border:1px solid transparent;font:700 16px/1 inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}
.button:active{transform:translateY(1px)}
.button.primary{background:var(--ink);color:var(--paper)}
.button.primary:hover{background:#2c2c31}
.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.button.ghost:hover{background:var(--card)}
.button svg{width:16px;height:16px;fill:currentColor}
.button.small{min-height:40px;padding:0 16px;font-size:14px;border-radius:11px}
.button:focus-visible,.top a:focus-visible,input:focus-visible{outline:3px solid #4d89ff;outline-offset:3px}
.note{margin:16px 0 0;font-size:13px;color:var(--muted)}

/* The product in two objects: the key you press and the pill that listens */
.demo{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:64px}
.key{position:relative;width:168px;height:72px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:0 5px 0 var(--line),0 12px 28px rgba(40,34,20,.08);animation:press 3.6s ease-in-out infinite}
.cap{position:absolute;left:16px;bottom:12px;font-size:14px;font-weight:600;color:var(--muted)}
.led{position:absolute;left:16px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--line);animation:led 3.6s ease-in-out infinite}
.pill{display:flex;align-items:center;justify-content:center;gap:4px;width:156px;height:44px;border-radius:22px;background:#0f0f0f;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.pill i{width:3.5px;height:6px;border-radius:2px;background:#fff;opacity:.95;animation:talk 1.1s ease-in-out infinite}
.pill i:nth-child(2){animation-delay:-.9s}.pill i:nth-child(3){animation-delay:-.2s}.pill i:nth-child(4){animation-delay:-.6s}.pill i:nth-child(5){animation-delay:-.35s}
.pill i:nth-child(6){animation-delay:-.75s}.pill i:nth-child(7){animation-delay:-.1s}.pill i:nth-child(8){animation-delay:-.5s}.pill i:nth-child(9){animation-delay:-.95s}
@keyframes press{0%,8%,100%{transform:translateY(0);box-shadow:0 5px 0 var(--line),0 12px 28px rgba(40,34,20,.08)}12%,92%{transform:translateY(3px);box-shadow:0 2px 0 var(--line),0 8px 20px rgba(40,34,20,.08)}}
@keyframes led{0%,10%,94%,100%{background:var(--line);box-shadow:none}14%,90%{background:var(--led);box-shadow:0 0 10px var(--led)}}
@keyframes talk{0%,100%{height:6px}50%{height:24px}}
@media(prefers-reduced-motion:reduce){.key,.led,.pill i{animation:none}.pill i{height:14px}}

/* Account and legal pages */
.page{max-width:680px;margin:0 auto;padding:32px 24px 56px}
.page h1{font-size:36px;letter-spacing:-.03em;margin:8px 0 24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:14px}
.card.row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.card h2{font-size:20px;letter-spacing:-.02em;margin:4px 0}
.card p{margin:4px 0 0;color:var(--muted);font-size:15px}
.label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted)}
.card strong{font-size:17px}
.card code{font-size:12px;word-break:break-all}
.invite{display:flex;gap:10px;margin-top:16px}
.invite input{flex:1;min-width:0;min-height:54px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);font:600 17px Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.card .ok{color:var(--ok)}.card .warn{color:var(--warn)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.more{font-size:14px;color:var(--muted);margin-top:24px}
.legal h1{font-size:32px}.legal h2{font-size:18px;margin:28px 0 6px}.legal p{color:var(--muted)}
.legal .section-kicker,.legal .subpage-lede{color:var(--muted)}

@media(max-width:560px){
  .actions{flex-direction:column;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto}
  .demo{flex-direction:column;gap:22px;margin-top:48px}
  .card.row{flex-direction:column;align-items:flex-start}
  .invite{flex-direction:column}
}
