.tm{min-height:100dvh;background:var(--bg)}.tm-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(16px,4vw,48px);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.tm-brand{gap:10px;font-weight:650;font-size:18px;letter-spacing:-.02em}.tm-back,.tm-brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}.tm-back{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line-strong);font-weight:600;font-size:14px}.tm-back:hover{border-color:var(--ink)}.tm-main{display:grid;grid-template-columns:240px minmax(0,68ch);gap:clamp(28px,5vw,72px);max-width:1120px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,48px) 80px}.tm-toc{position:sticky;top:96px;align-self:start;font-size:14px}.tm-toc>p:first-child{margin:0 0 10px;font:500 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tm-toc ol{margin:0;padding:0 0 0 18px;display:grid;gap:8px}.tm-toc a{color:var(--ink-2);text-decoration:none;line-height:1.45}.tm-toc a:hover{color:var(--ink);text-decoration:underline}.tm-version{margin:18px 0 0;font:500 12px var(--font-mono);color:var(--muted)}.tm-doc{scroll-margin-top:88px}.tm-doc+.tm-doc{margin-top:64px;padding-top:48px;border-top:1px solid var(--line-strong)}.tm-doc h1{margin:0 0 14px;font-family:var(--font-serif);font-weight:550;font-size:clamp(30px,3.4vw,40px);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.tm-summary{margin:0 0 32px;font-size:18px;line-height:1.55;color:var(--ink-2)}.tm-doc h2{margin:32px 0 10px;font-size:18px;font-weight:650;letter-spacing:-.01em}.tm-doc p{margin:0 0 12px;font-size:16px;line-height:1.65;color:var(--ink)}.tm-contact{margin-top:48px;font-size:15px;color:var(--ink-2)}.tm-contact a{color:var(--leaf-ink);font-weight:600}@media (max-width:860px){.tm-main{grid-template-columns:1fr}.tm-toc{position:static;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}}