:root{--paper:#f6f4ea;--ink:#0a0a0a;--accent:#0f5e5e;--rule:#cdd3c8;--muted:#5a6a5a;--card:#fff;--font-serif:"IBM Plex Serif", Georgia, serif;--font-mono:"IBM Plex Mono", monospace;--font-sans:"Inter Tight", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink);min-height:100dvh;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}p{margin-block:0}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}.scroll-progress{background:var(--accent);transform-origin:0;z-index:10000;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both progressbar scroll(root)}}@keyframes progressbar{to{transform:scaleX(1)}}.mini-bar{z-index:9990;padding:9px max(clamp(18px, 6vw, 48px), env(safe-area-inset-left));background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);visibility:hidden;align-items:baseline;gap:12px;transition:transform .3s,visibility .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-101%)}.mini-bar.show{visibility:visible;transform:translateY(0)}.mini-bar .mini-name{font-family:var(--font-serif);font-size:15px;font-weight:600}.mini-bar .mini-section{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;animation-timeline:auto!important}.t-lab .title-block,.t-lab .box,.t-lab .keywords,.t-lab .keywords>b,.t-lab .keywords>span,.t-lab section>h2,.t-lab .entry,.t-lab .c-list .e,.t-lab .links-list a,.t-lab .ending{opacity:1!important;translate:none!important}.t-lab .title-block{transform:none!important}.t-lab .ending:before{transform:scaleX(1)!important}}.t-lab{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-variant-ligatures:common-ligatures discretionary-ligatures contextual;background-image:radial-gradient(circle,#0f5e5e1a 1px,#0000 1.5px);background-size:16px 16px;min-height:100vh;font-size:15.5px;line-height:1.6}.t-lab .paper{max-width:980px;padding:clamp(28px, 5vw, 52px) max(clamp(18px, 6vw, 48px), env(safe-area-inset-right)) clamp(28px, 5vw, 52px) max(clamp(18px, 6vw, 48px), env(safe-area-inset-left));margin:0 auto}.t-lab .title-block{padding:0 0 24px}.t-lab .title-block .name{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 22px;font-size:clamp(48px,5.5vw,72px);font-weight:600;line-height:.98}.t-lab .title-block .deck{font-family:var(--font-serif);max-width:32ch;color:var(--accent);margin:0 0 22px;font-size:clamp(20px,2.4vw,28px);font-style:italic;font-weight:400;line-height:1.4}.t-lab .title-block .deck p{margin:0}.t-lab .title-block .deck p+p{margin-top:.5em}.t-lab .title-block .deck em{font-style:normal}.t-lab .title-block .deck strong{color:var(--accent);font-style:normal;font-weight:600}.t-lab .title-block .meta{font-family:var(--font-mono);color:var(--ink);overflow-wrap:anywhere;font-size:16px}.t-lab .title-block .meta b{color:var(--accent)}.t-lab .box{background:var(--card);border:1.5px solid var(--accent);margin:18px 0;padding:14px 18px;position:relative}.t-lab .box .label{background:var(--paper);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:2px;padding:1px 7px;font-size:11px;font-weight:500;position:absolute;top:-10px;left:14px}.t-lab .box .body{text-align:justify;hyphens:auto;font-size:15px;line-height:1.65}@media (width<=640px){.t-lab .box .body{text-align:left}}.t-lab .keywords{font-family:var(--font-mono);padding:12px 0;font-size:12.5px;line-height:2}.t-lab .keywords b{color:var(--accent)}.t-lab .keywords span{display:inline-block}.t-lab .keywords span span{background:var(--card);border:1px solid var(--accent);white-space:nowrap;border-radius:2px;margin:0;padding:.12em .4em;display:inline}.t-lab section{padding:0 0 14px}.t-lab section h2{font-family:var(--font-serif);align-items:baseline;margin:8px 0 12px;font-size:22px;font-style:italic;font-weight:500;display:flex}.t-lab section h2 .tag{font-family:var(--font-mono);color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-right:12px;font-size:16px;font-style:normal}.t-lab .entry{background:var(--card);border:1px solid var(--rule);margin-bottom:10px;padding:14px 18px;font-size:14.5px;line-height:1.6}.t-lab .entry .head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.t-lab .entry .head .n{font-family:var(--font-mono);color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:500}.t-lab .entry .head h3{text-align:right;margin:0;font-size:16px;font-weight:600}.t-lab .entry .head h3 em{color:var(--accent);font-style:italic}.t-lab .entry p{margin:4px 0 0;font-size:14px}.t-lab .entry .meta{font-family:var(--font-mono);color:var(--muted);margin-top:6px;font-size:11px}.t-lab .c-list .e{background:var(--card);border:1px solid var(--rule);grid-template-columns:1fr auto;align-items:start;gap:14px;margin-bottom:10px;padding:14px 18px;font-size:14.5px;line-height:1.55;display:grid}.t-lab .c-list .e .dates{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.t-lab .c-list .e .y{font-family:var(--font-mono);color:var(--accent);font-size:12px;font-weight:500}.t-lab .c-list .e h3{margin:0;font-size:15px;font-weight:600}.t-lab .c-list .e h3 em{color:var(--accent);font-style:italic}.t-lab .c-list .e p{opacity:.8;margin:2px 0 0;font-size:13px}.t-lab .c-list .e .loc{font-family:var(--font-mono);color:var(--muted);font-size:11px}.t-lab .c-list .e ul{opacity:.8;margin:4px 0 0;padding-left:1.1em;font-size:13px;list-style:none}.t-lab .c-list .e li{margin:1px 0;position:relative}.t-lab .c-list .e li:before{content:"›";color:var(--accent);font-family:var(--font-mono);font-weight:600;position:absolute;left:-1.1em}.t-lab .c-list .e a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.t-lab .links-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.t-lab .links-list a{background:var(--card);border:1px solid var(--rule);color:inherit;padding:12px 14px;text-decoration:none;display:block}.t-lab .links-list a small{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:10px;display:block}.t-lab .links-list a strong{font-size:14px;font-weight:500}.t-lab .ending{text-align:right;font-family:var(--font-serif);margin-top:18px;padding-top:26px;font-size:18px;font-style:italic;position:relative}.t-lab .ending:before{content:"";background:var(--accent);transform-origin:0;height:2px;position:absolute;top:0;left:0;right:0}.t-lab .ending:after{content:" ⁂";color:var(--accent);font-weight:700}.t-lab .entry,.t-lab .c-list .e,.t-lab .box{transition:border-color .18s,background-color .18s}.t-lab .entry:hover,.t-lab .c-list .e:hover,.t-lab .box:hover,.t-lab .entry:focus-within,.t-lab .c-list .e:focus-within,.t-lab .box:focus-within{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card))}.t-lab .links-list a{translate:var(--mx,0) var(--my,0);will-change:translate;transition:transform .35s cubic-bezier(.34,1.56,.64,1),translate .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .18s}.t-lab .links-list a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px #0f5e5e29}.t-lab .links-list a:active{transition-duration:.12s;transform:translateY(0)scale(.99)}.t-lab .keywords span span{transition:background-color .15s,color .15s}.t-lab .keywords span span:hover{background:color-mix(in srgb, var(--accent) 8%, var(--card));color:var(--accent)}.t-lab .box .body a,.t-lab .title-block .deck a,.t-lab .title-block .meta a,.t-lab .entry .head h3 a,.t-lab .c-list .e a{text-underline-offset:2px;transition:color .15s,text-decoration-color .2s}.t-lab .box .body a:hover,.t-lab .title-block .deck a:hover,.t-lab .title-block .meta a:hover,.t-lab .entry .head h3 a:hover,.t-lab .c-list .e a:hover{color:var(--accent);text-decoration-color:var(--accent)}.t-lab a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:1px}.t-lab .title-block .name,.t-lab .entry .head h3,.t-lab .c-list .e h3{text-wrap:balance}.t-lab .box .body,.t-lab .entry p,.t-lab .c-list .e p{text-wrap:pretty}@view-transition{navigation:auto}.t-lab,.mini-bar{-webkit-user-select:none;user-select:none}.t-lab .title-block .name,.t-lab .title-block .deck,.t-lab .title-block .meta b,.t-lab .title-block .meta a,.t-lab .title-block .meta .loc,.t-lab .keywords span,.t-lab .box .body,.t-lab .entry .head h3,.t-lab .entry p,.t-lab .entry .meta,.t-lab .c-list .e,.t-lab .links-list a{-webkit-user-select:text;user-select:text}@keyframes t-lab-hero{0%{opacity:0;translate:0 16px}to{opacity:1;translate:none}}.t-lab .title-block .name,.t-lab .title-block .deck,.t-lab .title-block .meta,.t-lab .box,.t-lab .keywords>b,.t-lab .keywords>span{animation:.6s cubic-bezier(.2,.7,.2,1) both t-lab-hero;animation-delay:calc(var(--i,0) * 60ms)}.t-lab .title-block .deck{--i:1}.t-lab .title-block .meta{--i:2}.t-lab .box{--i:3}.t-lab .keywords>b{--i:4}@keyframes t-lab-dock{to{opacity:0;transform:translateY(-14px)scale(.965)}}@supports (animation-timeline:scroll()){@media (scripting:enabled){.t-lab .title-block{transform-origin:0 0;animation:linear both t-lab-dock scroll(root);animation-range:0 220px}}}.copy-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);cursor:pointer;vertical-align:middle;opacity:0;pointer-events:none;background:0 0;border-radius:3px;margin-left:10px;padding:1px 7px;font-size:10px;transition:opacity .2s,color .2s,border-color .2s,background-color .2s}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.copy-btn.copied{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--card))}.t-lab .title-block .meta:hover .copy-btn,.t-lab .title-block .meta:focus-within .copy-btn{opacity:1;pointer-events:auto}@media (hover:none){.copy-btn{opacity:1;pointer-events:auto}}@supports (animation-timeline:view()){@media (scripting:enabled){.t-lab section>h2,.t-lab .entry,.t-lab .c-list .e,.t-lab .links-list a,.t-lab .ending{animation:linear both t-lab-reveal view();animation-range:entry 5% cover 30%}.t-lab .ending:before{animation:linear both t-lab-rule view();animation-range:entry 5% cover 55%}@keyframes t-lab-reveal{0%{opacity:0;translate:0 18px}to{opacity:1;translate:none}}@keyframes t-lab-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}}@supports not (animation-timeline:view()){@media (scripting:enabled){.t-lab section>h2,.t-lab .entry,.t-lab .c-list .e,.t-lab .links-list a,.t-lab .ending{opacity:0;transition:opacity .5s,translate .5s cubic-bezier(.2,.7,.2,1),transform .18s,box-shadow .18s,border-color .18s,background-color .18s;translate:0 14px}.t-lab section>h2.in,.t-lab .entry.in,.t-lab .c-list .e.in,.t-lab .links-list a.in,.t-lab .ending.in{opacity:1;translate:none}.t-lab .ending:before{transition:transform 2.4s;transform:scaleX(0)}.t-lab .ending.in:before{transform:scaleX(1)}}}@media (width<=560px){.t-lab .c-list .e{grid-template-columns:1fr}.t-lab .c-list .e .dates{flex-direction:row;order:-1;align-items:baseline;gap:8px}}@media print{.t-lab{background-image:none}.t-lab .box,.t-lab .entry,.t-lab .c-list .e,.t-lab .links-list a{background:var(--card);page-break-inside:avoid;border-color:#888}.t-lab .box .label{background:var(--card);color:var(--accent)}.t-lab section,.t-lab .entry,.t-lab .c-list .e{page-break-inside:avoid}}