.th-hardware{background:var(--th-paper);color:var(--th-ink);position:relative}.th-intro{padding-top:clamp(64px,4.5vw,88px);padding-bottom:0}.th-intro .tg-section-note{color:var(--th-muted);margin-bottom:16px}.th-intro :is(h1,h2){letter-spacing:-.062em;font-size:clamp(56px,7.3vw,104px);font-weight:380;line-height:1.04}.th-intro-copy{letter-spacing:-.02em;max-width:540px;color:var(--th-secondary);margin-top:16px;font-size:clamp(20px,1.7vw,26px);line-height:1.5}.th-scroll{height:330svh;min-height:2200px}.th-sticky{height:100svh;min-height:520px;max-height:1180px;padding-inline:var(--tg-gutter,5vw);grid-template-rows:minmax(0,1fr) 104px;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);column-gap:clamp(24px,3vw,56px);max-width:1760px;margin-inline:auto;display:grid;position:sticky;top:0;overflow:clip}.th-reading{grid-area:1/1;align-self:start;width:100%;min-width:0;max-width:345px;padding-top:clamp(88px,11svh,120px)}.th-overline{color:var(--th-muted);white-space:nowrap;height:23px;margin-bottom:22px;font-size:14px;line-height:1.6;display:block}.th-overline>span{color:var(--th-rule);margin-inline:9px}.th-reading h3{letter-spacing:-.052em;margin-bottom:24px;font-size:clamp(36px,min(4vw,6.5svh),60px);font-weight:390;line-height:1.06}.th-reading>p{max-width:29ch;color:var(--th-secondary);font-size:clamp(17px,1.3vw,20px);line-height:1.6}.th-details{max-width:30ch;color:var(--th-detail);margin:24px 0 0;padding:0;font-size:16px;line-height:1.5;list-style:none}.th-details li{border-bottom:1px solid var(--th-rule);padding-block:9px}.th-details li:last-child{border-bottom:0}.th-render{background:radial-gradient(ellipse at 55% 50%, var(--th-glow), transparent 68%);grid-area:1/2;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip}.th-render>picture{pointer-events:none;display:block;position:absolute;inset:0}.th-render canvas{opacity:0;cursor:grab;touch-action:pan-y;width:100%;height:100%;transition:opacity .5s;display:block}.th-render canvas:active{cursor:grabbing}.th-render[data-ready=true] canvas{opacity:1}.th-poster{object-fit:contain;pointer-events:none;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.th-render[data-ready=true] .th-poster{opacity:0}.th-controls{grid-area:2/1/auto/-1;justify-content:center;align-items:start;padding-top:6px;display:flex}.th-chapters{border:1px solid var(--th-controls-border);background:var(--th-controls-background);-webkit-backdrop-filter:blur(16px);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:470px;max-width:100%;padding:6px;display:grid;box-shadow:0 10px 40px #55503c0a}.th-chapters button{min-height:48px;color:var(--th-muted);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:14px 12px;font-size:16px;transition:color .22s,background .22s;display:flex}.th-chapters button[aria-pressed=true]{background:var(--th-selected);color:var(--th-on-selected)}.th-chapters button:hover:not([aria-pressed=true]){background:var(--th-hover);color:var(--th-ink)}.th-chapter-number{font-variant-numeric:tabular-nums;font-size:14px}.th-chapter-short{display:none}.th-concept{color:var(--th-muted);text-align:center;max-width:860px;padding-block:16px 46px;font-size:14px;line-height:1.6}.th-studio .th-scroll{height:auto;min-height:0}.th-studio .th-sticky{height:800px;position:relative}.th-studio-controls{justify-content:space-between;align-items:flex-end;gap:60px;padding-block:20px 36px;display:flex}.th-studio-controls label{width:min(620px,70%);color:var(--th-muted);gap:18px;font-size:16px;display:grid}.th-studio-controls input{width:100%;accent-color:var(--th-selected);cursor:ew-resize}.th-studio-controls button{border-bottom:1px solid var(--th-rule);white-space:nowrap;padding-block:10px;font-size:16px}.th-studio-controls button>span{margin-left:24px}.th-studio-header{color:var(--th-secondary);background:var(--th-paper);justify-content:space-between;align-items:center;padding-block:32px;font-size:16px;display:flex}.th-studio-header svg{width:114px;height:auto;color:var(--th-detail)}.th-studio-header nav{align-items:center;gap:24px;display:flex}.th-studio-header .tg-theme-control svg{width:20px;height:20px}@media (min-width:801px) and (max-height:640px){.th-reading{padding-top:48px}.th-overline{margin-bottom:10px}.th-reading h3{margin-bottom:16px;font-size:32px}.th-reading>p{font-size:16px;line-height:1.5}.th-details{margin-top:12px;font-size:14px}.th-details li{padding-block:6px}.th-sticky{grid-template-rows:minmax(0,1fr) 76px}}@media (max-width:800px),(prefers-reduced-motion:reduce){.th-scroll{height:auto;min-height:0}.th-sticky{position:relative}}@media (max-width:800px){.th-intro{padding-top:48px;padding-bottom:20px}.th-intro :is(h1,h2){font-size:clamp(44px,10.4vw,76px)}.th-intro-copy{max-width:30ch;margin-top:16px;font-size:20px}.th-sticky,.th-studio .th-sticky{grid-template-rows:360px minmax(0,1fr) 85px;grid-template-columns:minmax(0,1fr);gap:0;height:850px;min-height:0;max-height:none;padding-inline:0}.th-reading{max-width:none;padding:12px var(--tg-gutter,24px) 0;grid-area:1/1;align-self:start}.th-overline{display:none}.th-reading h3{margin-bottom:20px;font-size:40px}.th-reading h3 br{display:none}.th-reading>p{max-width:39ch;font-size:18px;line-height:1.5}.th-details{flex-wrap:wrap;gap:8px 20px;max-width:none;margin-top:18px;font-size:14px;display:flex}.th-details li{border:0;padding:0}.th-render{grid-area:2/1}.th-controls{grid-area:3/1;align-items:start;padding:0 24px 24px}.th-chapters{gap:0;width:330px;padding:4px}.th-chapters button{gap:0;padding:12px 10px}.th-chapter-number,.th-chapter-name{display:none}.th-chapter-short{display:inline}.th-concept{text-align:left;padding-bottom:38px}.th-studio-controls{flex-direction:column;align-items:stretch;gap:25px;padding-top:0}.th-studio-controls label{width:100%}.th-studio-controls button{align-self:flex-start}.th-studio-header{gap:28px;font-size:14px}.th-studio-header nav>a{text-align:right;max-width:175px}.th-studio-header nav{gap:12px}}@media (max-width:380px){.th-reading h3{font-size:36px}}@media (prefers-reduced-motion:reduce){.th-render canvas,.th-poster,.th-chapters button{transition:none}}
