:root{--bg: #f7fafd;--bg-2: rgba(255, 255, 255, .62);--bg-3: rgba(255, 255, 255, .5);--fg: #16202c;--fg-2: #5a6775;--fg-3: #8e99a6;--line: rgba(22, 32, 44, .08);--edge: rgba(255, 255, 255, .85);--accent: #1a86d9;--accent-fg: #ffffff;--glass: rgba(247, 250, 253, .6);--shadow: 0 24px 70px rgba(40, 80, 120, .12);--wash-1: #cde7ff;--wash-2: #d2f4e6;--wash-3: #e2dcff;--r: 22px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Noto Sans JP", sans-serif;--mono: "SF Mono", ui-monospace, Menlo, monospace;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:light}:root[data-theme=dark]{--bg: #0b1119;--bg-2: rgba(255, 255, 255, .06);--bg-3: rgba(255, 255, 255, .05);--fg: #eef3f8;--fg-2: #a4b0bd;--fg-3: #6e7a87;--line: rgba(255, 255, 255, .09);--edge: rgba(255, 255, 255, .14);--accent: #5db4f5;--accent-fg: #06131f;--glass: rgba(11, 17, 25, .55);--shadow: 0 24px 70px rgba(0, 0, 0, .5);--wash-1: #143a5c;--wash-2: #103d33;--wash-3: #2a2650;color-scheme:dark}*{box-sizing:border-box}html{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 15% 10%,var(--wash-1) 0%,transparent 70%),radial-gradient(50% 45% at 85% 30%,var(--wash-2) 0%,transparent 70%),radial-gradient(55% 50% at 50% 95%,var(--wash-3) 0%,transparent 70%)}html,body{overflow-x:clip}body{margin:0;font-size:17px;line-height:1.6;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img,video{max-width:100%;height:auto;display:block}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.03em;line-height:1.08}p{margin:0}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.t-hero{font-size:clamp(2.8rem,7.5vw,6rem);letter-spacing:-.045em;line-height:1.02}.t-1{font-size:clamp(2.2rem,5vw,4rem)}.t-2{font-size:clamp(1.6rem,3vw,2.5rem)}.t-3{font-size:1.35rem;letter-spacing:-.02em}.sub{font-size:clamp(1.1rem,1.6vw,1.45rem);color:var(--fg-2);line-height:1.5;font-weight:400;letter-spacing:-.015em}.muted{color:var(--fg-3)}.small{font-size:.9rem}.wrap{width:min(1120px,calc(100% - 2.5rem));margin-inline:auto}.wrap-n{width:min(760px,calc(100% - 2.5rem));margin-inline:auto}section{padding-block:clamp(5rem,12vw,9rem)}.glass{background:var(--bg-2);backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);border:1px solid var(--edge);border-radius:calc(var(--r) + 10px);box-shadow:var(--shadow)}@media(prefers-reduced-transparency:reduce){.glass{backdrop-filter:none;background:var(--bg)}}.panel .wrap,.panel-3 .wrap{padding:clamp(2rem,5vw,4.5rem)}.nav{position:sticky;top:0;z-index:10;height:48px;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}@media(prefers-reduced-transparency:reduce){.nav{background:var(--bg);backdrop-filter:none}}.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:700;font-size:1.15rem;letter-spacing:-.04em}.brand span{color:var(--accent)}.links{display:flex;gap:1.6rem;font-size:.8rem;font-weight:500;color:var(--fg-2);align-items:center}.links a{transition:color .2s}.links a:hover,.links a[aria-current=page]{color:var(--fg)}.theme-btn{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--bg-3);color:var(--fg-2);cursor:pointer;font-size:.8rem;display:grid;place-items:center}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.7rem 1.35rem;border-radius:999px;font-weight:600;font-size:.95rem;white-space:nowrap;transition:transform .25s var(--ease),background .2s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 35%,transparent)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{color:var(--accent)}.btn-ghost:hover{text-decoration:underline;text-underline-offset:.25em}.link{color:var(--accent);font-weight:600}.link:hover{text-decoration:underline;text-underline-offset:.25em}.cta-row{display:flex;gap:.5rem 1.25rem;flex-wrap:wrap;align-items:center}.hero{min-height:min(calc(100dvh - 48px),820px);display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding-block:3rem 4rem}.hero-copy{display:grid;gap:1.5rem}.hero-media{justify-self:end;width:min(100%,380px)}.phone{border-radius:40px;overflow:hidden;box-shadow:var(--shadow);background:#eef3f8;aspect-ratio:9 / 16;border:1px solid var(--edge)}.phone video,.phone img{width:100%;height:100%;object-fit:cover}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.split>.copy{display:grid;gap:1.25rem}.split .phone{width:min(100%,340px);margin-inline:auto}.bento{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto auto;gap:14px}.bento a{position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg-3);display:block;border:1px solid var(--edge);box-shadow:0 12px 40px #28507814}.bento a:first-child{grid-row:1 / 4}.bento img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);aspect-ratio:16 / 9}.bento a:first-child img{aspect-ratio:auto}.bento a:hover img{transform:scale(1.03)}.bento .cap{position:absolute;inset:auto 0 0;padding:1rem 1.2rem;color:#fff;font-weight:600;font-size:.95rem;background:linear-gradient(transparent,#000000a6)}.bento a:first-child .cap{font-size:1.3rem;padding:1.5rem}.statement{text-align:center;display:grid;gap:1.25rem;justify-items:center}.statement .t-1{max-width:20ch}.statement .sub{max-width:46ch}.posts{display:grid;gap:0}.posts a{display:grid;grid-template-columns:7rem 1fr auto;gap:1.5rem;align-items:baseline;padding:1.4rem 0;border-top:1px solid var(--line);transition:color .2s}.posts a:last-child{border-bottom:1px solid var(--line)}.posts a:hover .title{color:var(--accent)}.posts time{font-family:var(--mono);font-size:.8rem;color:var(--fg-3)}.posts .title{font-weight:600;font-size:1.15rem;letter-spacing:-.02em}.posts .desc{color:var(--fg-2);font-size:.95rem;margin-top:.2rem}.posts .arrow{color:var(--fg-3)}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:.78rem;font-weight:500;color:var(--fg-2);background:var(--bg-3);border:1px solid var(--edge);padding:.2rem .7rem;border-radius:999px}.tag:hover,.tag[aria-current=page]{background:var(--accent);color:var(--accent-fg)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:1.5rem 0 2rem}.photos img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r);border:1px solid var(--edge);box-shadow:0 12px 40px #28507814;margin:0}.tabs{display:grid;gap:2.5rem}.tablist{display:inline-flex;justify-self:center;padding:4px;border-radius:999px;background:var(--bg-3);border:1px solid var(--edge);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);gap:2px}.tablist button{border:0;background:transparent;color:var(--fg-2);font:inherit;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;border-radius:999px;cursor:pointer;transition:background .25s var(--ease),color .2s}.tablist button[aria-selected=true]{background:#fff;color:var(--fg);box-shadow:0 2px 10px #2850781f}:root[data-theme=dark] .tablist button[aria-selected=true]{background:#ffffff24}.tabpanel[hidden]{display:none}.features{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature{border-radius:var(--r);background:var(--bg-2);border:1px solid var(--edge);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:2rem;display:grid;gap:.5rem;align-content:start;overflow:hidden}.feature.wide{grid-column:1 / -1;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;padding:0}.feature.wide .copy{padding:2.5rem;display:grid;gap:.6rem}.feature.wide img{width:100%;height:100%;max-height:420px;object-fit:cover;object-position:top}.feature.tint{background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.6))}.feature h3{font-size:1.3rem}.feature p{color:var(--fg-2)}.app-badge{display:flex;align-items:center;gap:1rem}.app-badge img{width:72px;height:72px;border-radius:18px;box-shadow:0 8px 24px #00000026}.article{display:grid;gap:2.5rem}.article header{display:grid;gap:1rem}.article .meta{display:flex;gap:1.25rem;font-family:var(--mono);font-size:.8rem;color:var(--fg-3)}.prose{font-size:1.08rem;line-height:1.8}.prose h2{font-size:1.6rem;margin:2.5rem 0 1rem}.prose h3{font-size:1.25rem;margin:2rem 0 .75rem}.prose p{margin:0 0 1.2rem}.prose a{color:var(--accent)}.prose code{font-family:var(--mono);font-size:.88em;background:#16202c0f;padding:.1em .4em;border-radius:6px}.prose pre{background:#ffffff8c!important;border:1px solid var(--edge);border-radius:var(--r);padding:1.2rem 1.4rem;overflow-x:auto;font-size:.9rem;line-height:1.6;margin:0 0 1.5rem}.prose pre code{background:none;padding:0}.prose img{border-radius:var(--r)}.prose blockquote{margin:1.5rem 0;padding-left:1.25rem;border-left:3px solid var(--accent);color:var(--fg-2)}.prose ul,.prose ol{padding-left:1.4rem;margin:0 0 1.2rem}.post-nav{display:flex;justify-content:space-between;gap:1rem;padding-top:2rem;border-top:1px solid var(--line);font-weight:600}.footer{padding:3rem 0 4rem;color:var(--fg-3);font-size:.8rem;border-top:1px solid var(--line)}.footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer a{margin-left:1.25rem;color:var(--fg-2)}.footer a:hover{color:var(--fg)}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"]{transition-delay:.36s}}@media(max-width:820px){.hero>*,.split>*,.bento>*,.features>*,.hero-copy>*{min-width:0}.hero{grid-template-columns:1fr;min-height:auto;padding-block:2.5rem 3rem;gap:2.5rem}.hero-media{justify-self:center;width:min(100%,300px)}.split,.bento{grid-template-columns:1fr}.bento a:first-child{grid-row:auto}.bento a:first-child img{aspect-ratio:16 / 9}.features,.feature.wide{grid-template-columns:1fr}.posts a{grid-template-columns:1fr;gap:.25rem}.posts .arrow{display:none}.links{gap:1rem;font-size:.78rem}section{padding-block:4rem}}
