:root{--color-paper: oklch(97.6% .008 55);--color-surface: oklch(99.2% .004 55);--color-surface-strong: oklch(93.8% .012 48);--color-ink: oklch(19% .018 40);--color-ink-soft: oklch(34% .014 42);--color-muted: oklch(49% .012 45);--color-rule: oklch(84% .012 48);--color-rule-strong: oklch(67% .018 43);--color-accent: oklch(64% .22 28);--color-accent-soft: oklch(92% .035 28);--color-focus: oklch(50% .18 28);--color-button-ink: oklch(98% .006 55);--font-display: "Nanum Pen Script", "Apple SD Gothic Neo", cursive;--font-body: "IBM Plex Sans KR", "Apple SD Gothic Neo", sans-serif;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .64rem;--text-sm: .8rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--text-2xl: 2.4414rem;--text-3xl: 3.0518rem;--text-display-s: clamp(3rem, 8vw, 5rem);--text-display: clamp(3.25rem, 9vw, 6.5rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-hair: 1px;--rule-bold: 2px;--radius-sm: .5rem;--radius-md: .75rem;--radius-pill: 999px;--page-gutter: clamp(1rem, 4vw, 4rem);--page-max: 88rem;--z-base: 1;--z-raised: 10;--z-sticky: 200}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;background:var(--color-paper)}body{min-width:0;margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,a{font:inherit}a{color:inherit}p,h1,h2,h3,figure,ul{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal}.skip-link{position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);z-index:var(--z-sticky);padding:var(--space-sm) var(--space-md);transform:translateY(-180%);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-button-ink);text-decoration:none;white-space:nowrap}.skip-link:focus{transform:translateY(0)}.nav-edge{display:flex;width:min(100%,var(--page-max));min-height:5rem;margin-inline:auto;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-lg);padding-inline:var(--page-gutter)}.wordmark,.nav-edge__cta{display:inline-flex;min-height:2.75rem;align-items:center;white-space:nowrap;text-decoration:none}.wordmark{gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;letter-spacing:0}.wordmark__signal{width:.625rem;height:.625rem;border-radius:var(--radius-pill);background:var(--color-accent)}.nav-edge__cta{padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-ink-soft);font-size:var(--text-sm);font-weight:600;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.nav-edge__menu{display:none;align-items:center;gap:var(--space-lg)}.nav-edge__menu a{color:var(--color-muted);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color var(--dur-short) var(--ease-out)}.nav-edge__menu a:hover{color:var(--color-ink)}.nav-edge__cta:hover{background:var(--color-ink);color:var(--color-button-ink)}.nav-edge__cta:active{transform:translateY(1px)}.nav-edge__cta:focus-visible,.wordmark:focus-visible,.nav-edge__menu a:focus-visible,.action:focus-visible,.faq summary:focus-visible{outline:var(--rule-bold) solid var(--color-focus);outline-offset:var(--space-2xs)}main,.foot-stmt{width:min(100%,var(--page-max));margin-inline:auto}.intro{display:grid;gap:var(--space-2xl);padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) var(--page-gutter) var(--space-2xl)}.intro__content,.intro__proof{min-width:0}.intro__content{display:grid;align-content:center}.product-name{margin-block-end:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.intro h1{max-width:14ch;font-size:var(--text-display);font-weight:400;letter-spacing:-.01em;line-height:.9}.intro__lede{max-width:34rem;margin-block-start:var(--space-xl);color:var(--color-ink-soft);font-size:var(--text-md);line-height:1.55}.intro__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);margin-block-start:var(--space-xl)}.action{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;text-decoration:none}.action--primary{padding-inline:var(--space-lg);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-button-ink);transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.action--primary:hover{background:transparent;color:var(--color-ink)}.action--primary:active{transform:translateY(1px)}.action--text{min-height:2.75rem;border-block-end:var(--rule-hair) solid currentColor;color:var(--color-ink-soft)}.intro__proof{display:grid;justify-items:center;align-content:center;gap:var(--space-md);padding:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);background:linear-gradient(145deg,transparent 0 54%,var(--color-accent-soft) 54% 100%)}.intro__phone{width:min(72vw,18rem);padding:var(--space-xs);transform:rotate(1.25deg);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:calc(var(--radius-md) + var(--space-xs));background:var(--color-surface)}.intro__phone img{display:block;width:100%;height:auto;border-radius:var(--radius-md)}.intro__proof figcaption{color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1;text-align:center}.product-proof{display:grid;grid-column:1 / -1;padding:0;border-block:var(--rule-hair) solid var(--color-rule);list-style:none}.product-proof li{display:grid;grid-template-columns:2.5rem 1fr;align-items:baseline;gap:var(--space-md);padding-block:var(--space-md)}.product-proof li+li{border-block-start:var(--rule-hair) solid var(--color-rule)}.product-proof strong{color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.product-proof span{color:var(--color-ink-soft);font-size:var(--text-sm);font-weight:600}.loop-section{padding:var(--space-xl) var(--page-gutter) var(--space-4xl)}.loop-section__head{display:grid;gap:var(--space-lg);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.loop-section__head h2,.practice h2,.release h2,.faq h2{max-width:15ch;font-size:var(--text-3xl);font-weight:400;letter-spacing:0;line-height:.98}.loop-section__head p{max-width:33rem;color:var(--color-muted)}.loop-map{position:relative;display:grid;gap:var(--space-lg);padding-block:var(--space-xl)}.loop-map__paths,.loop-map__centre{display:none}.loop-node{position:relative;min-width:0;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface)}.loop-node:not(:last-of-type):after{content:"↓";position:absolute;inset-block-end:calc(var(--space-lg) * -1.75);inset-inline-start:50%;z-index:var(--z-raised);display:grid;width:2rem;height:2rem;place-items:center;transform:translate(-50%);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-muted)}.loop-node h3{margin-block:var(--space-lg) var(--space-xs);font-size:var(--text-2xl);font-weight:400;letter-spacing:0;line-height:1}.loop-node p{max-width:28rem;color:var(--color-muted)}.loop-node__status{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.record-signal{width:var(--space-sm);height:var(--space-sm);border:var(--rule-bold) solid var(--color-accent-soft);border-radius:var(--radius-pill);background:var(--color-accent)}.waveform{display:flex;height:1.5rem;align-items:center;gap:var(--space-2xs);color:var(--color-ink)}.waveform i{display:block;width:var(--space-2xs);height:35%;border-radius:var(--radius-pill);background:currentColor}.waveform i:nth-child(2),.waveform i:nth-child(8){height:55%}.waveform i:nth-child(3),.waveform i:nth-child(7){height:78%}.waveform i:nth-child(4),.waveform i:nth-child(6){height:100%}.loop-node__counter{display:grid;width:1.75rem;height:1.75rem;place-items:center;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-pill);color:var(--color-ink-soft);font-size:var(--text-md)}.loop-map figcaption{padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm)}.practice{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl);background:var(--color-surface-strong)}.features{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl)}.features__head{display:grid;gap:var(--space-xl)}.features__head h2{max-width:17ch;font-size:var(--text-3xl);font-weight:400;letter-spacing:0;line-height:.98}.features__head p{max-width:36rem;color:var(--color-ink-soft);font-size:var(--text-md)}.features__list{display:grid;padding:0;border-block-end:var(--rule-hair) solid var(--color-rule);list-style:none}.features__list li{display:grid;gap:var(--space-xs);padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.features__list strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;letter-spacing:0;line-height:1}.features__list span{max-width:36rem;color:var(--color-muted)}.product-view{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.product-view__head{display:grid;gap:var(--space-xl)}.product-view__head h2{max-width:12ch;font-size:var(--text-3xl);font-weight:400;letter-spacing:0;line-height:.98}.product-view__head p{max-width:36rem;color:var(--color-ink-soft);font-size:var(--text-md)}.screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);align-items:start}.screen-shot{min-width:0}.screen-shot img{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface)}.screen-shot figcaption{padding-block-start:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.screen-shot--playback,.screen-shot--compare{margin-block-start:var(--space-xl)}.practice__intro{display:grid;gap:var(--space-xl)}.practice__intro>p{max-width:36rem;color:var(--color-ink-soft);font-size:var(--text-md)}.practice__list{display:grid;gap:0;padding:0;list-style:none}.practice__list li{display:grid;gap:var(--space-xs);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule-strong)}.practice__list li:last-child{border-block-end:var(--rule-hair) solid var(--color-rule-strong)}.practice__list span{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:0;line-height:1}.practice__list p{max-width:34rem;color:var(--color-ink-soft)}.section-kicker{color:var(--color-accent);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.faq{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) var(--space-4xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.faq__head{display:grid;align-content:start;gap:var(--space-md)}.faq__list{border-block-end:var(--rule-hair) solid var(--color-rule)}.faq details{border-block-start:var(--rule-hair) solid var(--color-rule)}.faq summary{position:relative;padding:var(--space-lg) calc(var(--space-xl) + var(--space-sm)) var(--space-lg) 0;color:var(--color-ink);cursor:pointer;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;inset-block-start:50%;inset-inline-end:var(--space-xs);transform:translateY(-50%);color:var(--color-accent);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{max-width:40rem;padding:0 calc(var(--space-xl) + var(--space-sm)) var(--space-lg) 0;color:var(--color-muted)}.release{display:grid;gap:var(--space-2xl);padding:var(--space-4xl) var(--page-gutter) var(--space-3xl)}.release__intro{display:grid;align-content:start}.release__status{margin-block-end:var(--space-md);color:var(--color-accent);font-size:var(--text-sm);font-weight:600}.release__body{max-width:38rem;margin-block-start:var(--space-xl);color:var(--color-ink-soft);font-size:var(--text-md)}.platform-list{display:grid;gap:var(--space-md)}.platform-card{display:grid;gap:var(--space-xl);padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface)}.platform-card--iphone{border-color:var(--color-rule-strong)}.platform-card__name{margin-block-end:var(--space-md);color:var(--color-accent);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.platform-card h3{font-size:var(--text-xl);font-weight:400;line-height:1}.platform-card div>p:last-child{margin-block-start:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}.platform-card__action{display:inline-flex;width:fit-content;min-height:2.75rem;align-items:center;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.platform-card__action--muted{border-color:var(--color-rule);color:var(--color-muted)}.foot-stmt{display:grid;gap:var(--space-2xl);padding:var(--space-3xl) var(--page-gutter) max(var(--space-xl),env(safe-area-inset-bottom));background:var(--color-ink);color:var(--color-button-ink)}.foot-stmt__line{max-width:28ch;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;letter-spacing:0;line-height:.98}.foot-stmt__meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-ink-soft);color:var(--color-rule);font-size:var(--text-sm)}.wordmark--footer{min-height:auto;color:var(--color-button-ink)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(var(--space-xs))}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none;transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}.is-observable .loop-node,.is-observable .loop-map__centre,.is-observable .loop-map__line{opacity:0}.is-observable .loop-node{transform:translateY(var(--space-xs))}.is-observable.is-visible .loop-node,.is-observable.is-visible .loop-map__centre,.is-observable.is-visible .loop-map__line{opacity:1;transform:none;transition:opacity var(--dur-long) var(--ease-out),transform var(--dur-long) var(--ease-out)}.is-observable.is-visible .loop-node--listen,.is-observable.is-visible .loop-map__line--two{transition-delay:var(--dur-micro)}.is-observable.is-visible .loop-node--repeat,.is-observable.is-visible .loop-map__line--three{transition-delay:var(--dur-short)}@media(min-width:40rem){.loop-section__head,.product-view__head,.features__head,.faq,.release{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.loop-section__head p,.product-view__head p,.features__head p{justify-self:end}.intro{grid-template-columns:minmax(0,1.12fr) minmax(16rem,.88fr);align-items:stretch}.intro__proof{border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}.product-proof{grid-template-columns:repeat(3,minmax(0,1fr))}.product-proof li{padding:var(--space-md)}.product-proof li+li{border-block-start:0;border-inline-start:var(--rule-hair) solid var(--color-rule)}.faq__list{align-self:start}.practice__list li{grid-template-columns:minmax(10rem,.7fr) minmax(0,1.3fr);align-items:baseline;gap:var(--space-xl)}}@media(min-width:60rem){.nav-edge__menu{display:flex}.loop-map{display:block;height:43rem;padding-block:var(--space-2xl) 0}.loop-map__paths{position:absolute;inset-block-start:var(--space-2xl);inset-inline-start:50%;display:block;width:min(100%,62.5rem);height:33.75rem;transform:translate(-50%);color:var(--color-rule-strong);overflow:visible}.loop-map__line{fill:none;stroke:currentColor;stroke-width:1.5}.loop-node{position:absolute;z-index:var(--z-raised);width:min(24rem,30%);min-height:13rem}.loop-node:after{display:none}.loop-node--speak{inset-block-start:2rem;inset-inline-start:3%}.loop-node--listen{inset-block-start:2rem;inset-inline-end:3%}.loop-node--repeat{inset-block-start:24rem;inset-inline-start:50%;transform:translate(-50%)}.is-observable .loop-node--repeat{transform:translate(-50%,var(--space-xs))}.is-observable.is-visible .loop-node--repeat{transform:translate(-50%)}.loop-map__centre{position:absolute;inset-block-start:16.5rem;inset-inline-start:50%;z-index:var(--z-base);display:grid;width:8rem;height:8rem;place-content:center;gap:var(--space-2xs);transform:translate(-50%);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-md);font-weight:400;line-height:.9;text-align:center}.loop-map figcaption{position:absolute;inset-block-end:0;inset-inline:0}.practice{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-3xl)}.features{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:var(--space-3xl)}.features__list li{grid-template-columns:minmax(10rem,.62fr) minmax(0,1.38fr);align-items:baseline;gap:var(--space-xl)}.screen-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-lg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:var(--dur-micro)!important;animation-iteration-count:1!important;transition-duration:var(--dur-micro)!important;transition-delay:0ms!important}.is-observable .loop-node,.is-observable .loop-map__centre,.is-observable .loop-map__line{opacity:1;transform:none}.is-observable .loop-node--repeat,.is-observable.is-visible .loop-node--repeat{transform:translate(-50%)}.reveal-ready [data-reveal],.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}}
