:root{--text: #000;--muted: #a1a1aa;--subtle: #71717a;--line: #eeeff2;--line-soft: #f4f4f5;--line-hover: #d4d4d8;--bg: #fff;--accent: #064be8;--column: 608px;--wide: 832px;--gutter: 32px;--enter-ease: cubic-bezier(.16, 1, .3, 1);--sans: ui-sans-serif, system-ui, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;word-break:keep-all;overflow-wrap:break-word}h1,h2,h3,p,figure,ul,blockquote{margin:0;font-size:inherit}h1,h2,h3{font-weight:500}ul{padding:0;list-style:none}img,video{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;padding:0;background:none}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:underline 2px var(--line);text-underline-offset:2px;transition:text-decoration-color .2s;-webkit-tap-highlight-color:transparent}a:hover{text-decoration-color:var(--line-hover)}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}main:focus{outline:none}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-48px;z-index:20;padding:8px 12px;background:var(--bg);text-decoration:none}.skip-link:focus{top:16px}.site-header{position:absolute;top:24px;right:var(--gutter);z-index:5}.owner-access-link{display:inline-block;padding:10px 0;color:var(--muted);text-decoration:none}.owner-access-link:hover{color:var(--subtle)}.page{width:min(var(--column),calc(100% - var(--gutter) * 2));margin:0 auto;padding:96px 0 128px}.avatar{display:block;width:32px;height:32px;text-decoration:none}.avatar img{width:32px;height:32px;border-radius:9999px;object-fit:cover}.identity{display:flex;flex-direction:column;gap:4px;margin-top:32px}.identity p{font-weight:400}.tabs{display:flex;gap:24px;margin-top:48px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none}.tab{position:relative;flex-shrink:0;padding-bottom:4px;color:var(--muted);text-decoration:none;transition:color .2s}.tab:hover{color:var(--subtle)}.tab-underline{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--line)}.tab-content{margin-top:48px}.section-label{color:var(--muted);font-weight:400}.section-label a{color:var(--muted)}.index-list{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:-8px -16px 0}.index-glass-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;perspective:1400px}.index-glass{position:absolute;border-radius:16px;border:1px solid #f4f4f6;background:linear-gradient(#fff,#fafafa);box-shadow:#fff 0 2px 4px inset,#ffffff80 0 -4px 4px inset,#fff 0 -4px 16px inset,#6f6f7512 0 4px 10px inset,#35354f66 0 4px 14px -10px,#35354f1a 0 11px 28px -10px;will-change:transform}.index-row{display:inline-flex;max-width:100%;padding:8px 16px;border-radius:16px;text-decoration:none;cursor:pointer}.index-row:focus-visible{outline-offset:-2px;border-radius:16px}.index-row-inner{display:inline-flex;flex-direction:column;gap:4px;will-change:transform}.index-title{text-decoration:underline 2px var(--line-soft);text-underline-offset:2px}.index-title-line{display:inline-flex;align-items:center;gap:8px}.status-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:9999px}.status-dot.is-live{background:var(--accent)}.status-dot.is-internal{background:var(--muted)}.status-dot.is-study{box-shadow:inset 0 0 0 1px var(--muted)}.status-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:32px;color:var(--muted)}.status-legend>span{display:inline-flex;align-items:center;gap:6px}.detail-status{display:flex;align-items:center;gap:8px}.index-meta{color:var(--muted)}.index-preview-layer{position:fixed;top:0;left:50%;width:50%;height:100vh;pointer-events:none;z-index:4}.index-preview{position:absolute;left:16px;width:360px}.index-preview.is-centered{top:50%;translate:0 -50%}.index-preview-media{display:flex;justify-content:center}.index-preview-media img,.index-preview-media video{width:auto;height:auto;max-width:360px;max-height:360px;border-radius:10px;object-fit:contain;box-shadow:0 0 0 1px var(--line)}@media(min-width:1024px){.index-preview{left:32px;width:484px}.index-preview-media img,.index-preview-media video{max-width:484px;max-height:484px}}@media(max-width:767px),(hover:none){.index-preview-layer{display:none}}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.gallery-tile{aspect-ratio:4 / 3;overflow:hidden;border-radius:4px;background:var(--line-soft)}.gallery-tile img{width:100%;height:100%;object-fit:cover}.gallery-tile.is-contained img{object-fit:contain;padding:12%}.gallery.is-branding .gallery-tile{aspect-ratio:1;display:grid;place-items:center}.gallery-tile.is-app img{width:36%;height:auto;border-radius:22.5%;box-shadow:0 1px 2px #0000000f,0 12px 28px -14px #00000059}.gallery-tile.is-wordmark img{width:64%;height:auto;object-fit:contain}.gallery-link{display:block;text-decoration:none}.gallery-caption{display:flex;flex-direction:column;gap:4px;margin-top:12px}.gallery-link .gallery-title{text-decoration:underline 2px var(--line-soft);text-underline-offset:2px;transition:text-decoration-color .2s}.gallery-link:hover .gallery-title{text-decoration-color:var(--line-hover)}.lab-experiments{display:flex;flex-direction:column;gap:48px;margin-top:64px}.experiment{display:flex;flex-direction:column;gap:8px}.experiment textarea{width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;resize:vertical;line-height:1.65}.experiment-row,.material-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.plain-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:9999px;background:var(--line-soft);transition:background-color .2s}.plain-button:hover:not(:disabled){background:var(--line)}.step-toggle{display:flex;align-items:flex-start;gap:10px;text-align:left}.check-box{display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;margin-top:2px;border:1px solid var(--muted);border-radius:5px}.check-box.checked{background:var(--text);border-color:var(--text);color:var(--bg)}.material-stage{margin-top:8px;aspect-ratio:3 / 2;overflow:hidden;border-radius:4px;background:var(--line-soft)}.material-stage img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--enter-ease)}.material-controls label{display:flex;flex-direction:column;gap:4px;flex:1 1 160px}.material-controls input{accent-color:var(--text)}.about{display:flex;flex-direction:column;gap:24px}.about p{line-height:1.65}.connect{display:flex;flex-direction:column;gap:16px;margin-top:24px}.connect ul{display:flex;flex-direction:column;gap:12px}.blog-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-bottom:40px}.blog-topic-nav{display:flex;flex-wrap:wrap;gap:8px 20px}.blog-topic-nav button{color:var(--muted);transition:color .2s}.blog-topic-nav button:hover{color:var(--subtle)}.blog-topic-nav button[aria-pressed=true]{color:var(--text)}.blog-topic-nav span{margin-left:4px;color:var(--muted)}.blog-search{display:flex;align-items:center;gap:6px;min-width:0;height:32px;padding:0 10px;border-radius:9999px;background:var(--line-soft);color:var(--muted)}.blog-search label{display:flex}.blog-search input{width:128px;min-width:0;border:0;outline:0;background:transparent;color:var(--text)}.blog-search input::placeholder{color:var(--muted)}.blog-search input::-webkit-search-cancel-button{display:none}.blog-search:focus-within{outline:2px solid var(--text);outline-offset:2px}.blog-list-heading{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:24px;color:var(--muted)}.blog-list-heading h2{color:var(--text)}.blog-list-heading h2:focus{outline:none}.blog-reset{color:var(--subtle);text-decoration:underline 2px var(--line);text-underline-offset:2px}.blog-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--subtle)}.blog-series-section{margin-top:64px}.blog-series-section>h2{margin-bottom:24px}.detail-head{display:flex;flex-direction:column;gap:4px;margin-top:44px}.detail-head p{line-height:1.65}.detail-media{margin-top:32px}.detail-media img{width:100%;border-radius:4px}.detail-media figcaption,.article-illustration figcaption{margin-top:8px;color:var(--muted)}.detail-media figcaption a,.article-illustration figcaption a{color:var(--muted)}.detail-body{display:flex;flex-direction:column;gap:32px;margin-top:32px}.detail-body section,.article-body section{display:flex;flex-direction:column;gap:8px}.detail-body p,.article-body p,.article-body li{line-height:1.65}.detail-more{margin-top:96px}.detail-more>h2{margin-bottom:24px}@media(min-width:1024px){.gallery,.detail-media.is-wide,.article-illustration{width:var(--wide);max-width:none;margin-left:calc((var(--column) - var(--wide)) / 2)}}.article-layout{margin-top:32px}.article-body{display:flex;flex-direction:column;gap:32px}.archive-introduction{display:flex;flex-direction:column;gap:16px}.article-body section p+p{margin-top:8px}.article-body blockquote{padding-left:16px;border-left:2px solid var(--line);color:var(--subtle)}.article-illustration img{width:100%;border-radius:4px;margin:0 auto}.article-sources{display:flex;flex-direction:column;gap:8px}.article-sources h2{color:var(--muted);font-weight:400}.article-sources ul{display:flex;flex-direction:column;gap:8px}.note-detail .note-meta a{color:var(--muted)}@keyframes enter{0%{opacity:0;filter:blur(8px);transform:translateY(16px)}to{opacity:1;filter:none;transform:none}}@keyframes enter-soft{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.enter{animation:enter 1s var(--enter-ease) backwards;animation-delay:calc(var(--i, 0) * 80ms)}.tab-content.is-switched{animation-name:enter-soft;animation-duration:.7s;animation-timing-function:ease-out;animation-delay:0ms}.stagger{animation:rise .8s var(--enter-ease) backwards;animation-delay:calc(var(--base, 0ms) + min(var(--i, 0),12) * 60ms)}}@media(max-width:767px){.site-header{top:20px}.gallery{grid-template-columns:1fr}}
