.pm{background:radial-gradient(90% 70% at 8% 0%,rgba(242,28,140,.16),transparent 62%),radial-gradient(90% 70% at 92% 100%,rgba(89,230,255,.12),transparent 60%),#fde8f1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pm-inner{max-width:1320px;margin:0 auto;padding:clamp(56px,8vw,116px) var(--pad)}.pm-head{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(24px,3.5vw,44px)}.pm-head .tf-h2{margin:10px 0 12px}.pm-lede{max-width:56ch;color:var(--ink-dim);font-size:clamp(14px,1.35vw,17px);line-height:1.6}.pm-actions{display:flex;gap:10px;flex-wrap:wrap}.pm-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;border:1px solid rgba(242,240,247,.22);background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}.pm-btn:hover{border-color:var(--magenta);background:#f21c8c1a;color:var(--ink)}.pm-btn--fill{background:var(--magenta);border-color:var(--magenta);color:var(--ink)}.pm-btn--fill:hover{background:var(--magenta-deep);border-color:var(--magenta-deep)}.pm-btn span{font-size:11.5px;letter-spacing:.08em;color:#ffffffb3}.pm-body{display:grid;gap:clamp(20px,3vw,44px);grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);align-items:start}.pm-controls{display:grid;gap:18px;align-content:start}.pm-field{display:grid;gap:7px}.pm-field span,.pm-group legend{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.pm-field input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffff08;color:var(--ink);font:inherit;font-size:16px;letter-spacing:.02em;outline:none;transition:border-color .26s var(--ease),background .26s var(--ease)}.pm-field input:focus{border-color:var(--magenta);background:#f21c8c0f}.pm-group{border:0;padding:0;margin:0;display:grid;gap:9px}.pm-chips{display:flex;flex-wrap:wrap;gap:6px}.pm-chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--ink-dim);font:inherit;font-size:13px;cursor:pointer;min-height:44px;min-width:44px;transition:border-color .26s var(--ease),background .26s var(--ease),color .26s var(--ease)}.pm-chip:hover{color:var(--ink);border-color:#f2f0f74d}.pm-chip:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}.pm-chip.is-on{background:var(--magenta);border-color:var(--magenta);color:var(--ink)}.pm-chip--sw i{width:11px;height:11px;border-radius:3px;box-shadow:0 0 0 1px #ffffff2e inset}.pm-stage{border:1px solid var(--line);border-radius:var(--radius);background:#00000040;padding:clamp(12px,1.6vw,22px)}.pm-canvas{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 30px 80px #00000080}@media(max-width:900px){.pm-body{grid-template-columns:1fr}.pm-stage{order:-1}}.tf{--tf-max: 1320px;padding-top:clamp(92px,11vw,150px);--display: "Clash Display", "Avenir Next", sans-serif;--body: "Satoshi", "Helvetica Neue", sans-serif;--bloom: var(--bloom-stack)}.tf-hero{padding:clamp(20px,4vw,56px) var(--pad) clamp(36px,6vw,80px);overflow-y:clip}.tf-hero-inner{max-width:var(--tf-max);margin:0 auto}.tf-hero-meta{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);padding-bottom:20px;border-bottom:1px solid var(--line)}.tf-tag{color:var(--magenta)}.tf-tag--light{color:var(--magenta-deep)}.tf-hero-word{margin:clamp(18px,3vw,34px) 0 clamp(24px,4vw,44px)}.tf-hero-mask{display:block;overflow:hidden}.tf-hero-line{display:block;font-family:"LOOM Linear",var(--display),sans-serif;font-weight:400;font-size:clamp(72px,17.5vw,268px);line-height:.82;letter-spacing:.004em;color:var(--ink)}.tf-hero-line--pattern{font-family:"LOOM Linear Outline","LOOM Linear",var(--display),sans-serif;font-size:clamp(34px,8.4vw,128px);color:var(--magenta-deep)}.tf-hero-foot{display:grid;gap:clamp(20px,3vw,48px);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;border-top:1px solid var(--line);padding-top:clamp(18px,2.5vw,30px)}.tf-hero-sub{max-width:56ch;color:var(--ink-dim);font-size:clamp(14px,1.35vw,17px);line-height:1.6}.tf-hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.tf-btn{display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border:1px solid rgba(96,40,76,.22);border-radius:999px;color:var(--ink);text-decoration:none;font-size:14px;letter-spacing:.01em;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease)}.tf-btn:hover{border-color:var(--magenta);background:#f21c8c1a;color:var(--ink)}.tf-btn span{font-size:12px;color:var(--ink-faint);letter-spacing:.08em}.tf-btn--fill{background:var(--magenta);border-color:var(--magenta);color:var(--ink)}.tf-btn--fill span{color:#ffffffb8}.tf-btn--fill:hover{background:var(--magenta-deep);border-color:var(--magenta-deep)}.tf-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;background:#ffffff04}.tf-band+.tf-band{border-top:0}.tf-band-track{display:flex;width:max-content;font-size:clamp(42px,6.4vw,88px);line-height:1.06;color:#33243d24;white-space:nowrap}.tf-band--dim .tf-band-track{color:#f21c8c33}.tf-band-track span{padding-right:.3em}.tf-band-track{animation:tf-marquee 38s linear infinite}.tf-band--rev .tf-band-track{animation-name:tf-marquee-rev}@keyframes tf-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes tf-marquee-rev{0%{transform:translate(-50%)}to{transform:translate(0)}}.tf-section{max-width:var(--tf-max);margin:0 auto;padding:clamp(56px,8vw,116px) var(--pad)}.tf-h2{font-family:var(--display);font-size:clamp(26px,3.6vw,44px);font-weight:600;letter-spacing:-.02em}.tf-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-bottom:clamp(20px,3vw,34px)}.tf-note{color:var(--ink-faint);font-size:13px;margin-top:14px}.tf-note--inline{margin:0}.tf-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.tf-switch--pair{background:#f21c8c0d}.tf-switch{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;max-width:100%;border:1px solid var(--line);border-radius:999px;background:#ffffff08}.tf-switch-btn{border:0;background:transparent;color:var(--ink-dim);font:inherit;font-size:13px;cursor:pointer;padding:9px 20px;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;transition:background .26s var(--ease),color .26s var(--ease)}.tf-switch-btn.is-on{background:var(--magenta);color:var(--ink)}.tf-switch-btn:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}@media(max-width:460px){.tf-switch-btn{padding:9px 11px}}.tf-slider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:12px}.tf-slider span{min-width:46px;text-align:right;font-variant-numeric:tabular-nums}.tf-slider input{-webkit-appearance:none;appearance:none;width:clamp(120px,20vw,230px);height:44px;margin:0;padding:0;background:transparent;border-radius:2px;outline:none;cursor:pointer}.tf-slider input::-webkit-slider-runnable-track{height:2px;background:#60284c33;border-radius:2px}.tf-slider input::-moz-range-track{height:2px;background:#60284c33;border-radius:2px}.tf-slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;border:0;margin-top:-6px;background:var(--magenta);cursor:grab}.tf-slider input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:0;background:var(--magenta);cursor:grab}.tf-slider input:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}.tf-canvas{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#ffffff0a,#ffffff03);padding:clamp(18px,3.4vw,40px);overflow-x:auto;min-height:clamp(150px,22vw,300px);display:flex;align-items:center}.tf-input{width:100%;border:0;background:transparent;color:var(--ink);line-height:1.04;outline:none;padding:0}.tf-input::selection{background:var(--magenta);color:var(--ink)}.tf-fall{border-top:1px solid var(--line)}.tf-fall-row{display:flex;align-items:baseline;gap:clamp(14px,2.6vw,34px);padding:clamp(10px,1.6vw,20px) 0;border-bottom:1px solid var(--line);overflow:hidden}.tf-fall-px{flex:none;width:44px;font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.1em}.tf-fall-line{white-space:nowrap;line-height:1;color:var(--ink);transition:color .4s var(--ease)}.tf-fall-row:hover .tf-fall-line{color:var(--magenta)}.tf-anatomy{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.tf-anat{height:100%;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff06;padding:clamp(20px,2.6vw,30px);transition:border-color .34s var(--ease),background .34s var(--ease)}.tf-anat:hover{border-color:#f21c8c66;background:#f21c8c0d}.tf-anat-fig{color:var(--ink);margin-bottom:18px}.tf-anat-fig svg{width:120px;height:90px;display:block}.tf-anat h3{font-family:var(--display);font-size:19px;font-weight:600;margin-bottom:8px}.tf-anat p{color:var(--ink-faint);font-size:14px;line-height:1.6}.tf-poster{background:radial-gradient(120% 90% at 12% 0%,rgba(242,28,140,.26),transparent 60%),radial-gradient(110% 80% at 88% 100%,rgba(123,47,190,.3),transparent 62%),#f1e7ec;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tf-poster-inner{max-width:var(--tf-max);margin:0 auto;padding:clamp(56px,9vw,130px) var(--pad);text-align:center}.tf-poster-word{font-size:clamp(72px,17vw,250px);line-height:.86;color:var(--ink);margin:18px 0 clamp(18px,3vw,34px)}.tf-poster-copy{max-width:62ch;margin:0 auto;color:var(--ink-dim);font-size:clamp(14px,1.4vw,17px);line-height:1.65}.tf-poster-copy em{color:var(--ink);font-style:normal;border-bottom:2px solid var(--magenta)}.tf-poster-orn{margin-top:clamp(24px,3vw,40px);font-size:clamp(38px,5vw,68px);--accent: var(--gold);color:var(--accent-ink);letter-spacing:.14em}.tf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px}.tf-cell{display:grid;place-items:center;aspect-ratio:1;font-size:38px;line-height:1;border:1px solid var(--line);border-radius:10px;background:#ffffff05;transition:background .24s var(--ease),color .24s var(--ease),transform .24s var(--ease);opacity:0}.tf-cell:hover{background:var(--magenta);color:var(--ink);transform:translateY(-3px)}.tf-grid.is-in .tf-cell{animation:tf-cell-in .3s var(--ease) forwards;animation-delay:var(--d, 0s)}@keyframes tf-cell-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tf-facts{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.tf-fact{border-top:1px solid var(--line);padding-top:14px}.tf-fact-n{display:block;font-family:"LOOM Linear",var(--display),sans-serif;font-size:clamp(32px,4.2vw,52px);line-height:1}.tf-fact-l{display:block;margin-top:8px;color:var(--ink-faint);font-size:12.5px;line-height:1.4}.tf-files{display:grid;gap:6px}.tf-file{display:grid;grid-template-columns:152px 78px 1fr auto 26px;align-items:center;gap:14px;padding:17px 20px;border:1px solid var(--line);border-radius:14px;color:var(--ink-dim);text-decoration:none;background:#ffffff05;transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}.tf-file:hover{border-color:var(--magenta);background:#f21c8c0f;transform:translate(5px)}.tf-file-cut{color:var(--ink);font-size:14px}.tf-file-fmt{font-size:11.5px;letter-spacing:.14em;color:var(--magenta)}.tf-file-use{font-size:13px;color:var(--ink-faint)}.tf-file-size{font-size:13px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.tf-file-arrow{text-align:right;color:var(--ink-faint);transition:color .26s var(--ease)}.tf-file:hover .tf-file-arrow{color:var(--ink)}.tf-use-grid{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.tf-use-grid>*{min-width:0}.tf-use-grid .tf-h2{margin-bottom:20px}.tf-code{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:#0000004d;overflow:hidden}.tf-code pre{margin:0;padding:clamp(18px,2.6vw,26px);overflow-x:auto;font-size:12.5px;line-height:1.75;color:#4a3652}.tf-copy{position:absolute;top:12px;right:12px;border:1px solid var(--line);border-radius:999px;background:#ffe9f2b8;color:var(--ink-dim);font:inherit;font-size:11.5px;padding:7px 15px;cursor:pointer;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;transition:color .24s var(--ease),border-color .24s var(--ease)}.tf-copy:hover{color:var(--ink);border-color:var(--magenta)}.tf-copy:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}.tf-licence p{color:var(--ink-dim);font-size:15px;line-height:1.65;max-width:52ch}.tf-licence-meta{margin-top:16px;color:var(--ink-faint);font-size:13px}.tf-licence-meta a{color:var(--magenta-deep);text-decoration:underline;text-underline-offset:3px}.tf-licence-meta a:hover{color:var(--magenta)}@media(max-width:900px){.tf-hero-foot{grid-template-columns:1fr;align-items:start}.tf-hero-cta{justify-content:flex-start}}@media(max-width:640px){.tf-file{grid-template-columns:1fr auto;row-gap:4px}.tf-file-use{grid-column:1 / -1}.tf-file-arrow{display:none}.tf-fall-px{width:32px}}@media(prefers-reduced-motion:reduce){.tf-band-track{animation:none!important}.tf-cell{animation:none!important;opacity:1}}.tf-poster-copy--lead{margin-bottom:clamp(28px,4vw,52px)}.tf-species{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}@media(max-width:760px){.tf-species{grid-template-columns:1fr}}.tf-spec{margin:0;height:100%;border:1px solid rgba(96,40,76,.16);border-radius:var(--radius);background:#ffffffb8;padding:clamp(16px,2vw,24px);transition:border-color .34s var(--ease),background .34s var(--ease)}.tf-spec:hover{border-color:var(--magenta);background:#ffffffe6}.tf-spec-pair{display:grid;gap:2px;margin-bottom:16px}.tf-spec-word{font-size:clamp(52px,6vw,86px);line-height:1;color:var(--ink);margin:0;overflow:hidden;white-space:nowrap}.tf-spec-word--outline{color:var(--magenta-deep)}.tf-spec-styles{color:var(--ink-faint);letter-spacing:.1em}.tf-spec figcaption{display:flex;flex-direction:column;gap:4px}.tf-spec strong{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--magenta-deep);font-weight:500}.tf-spec span{font-size:13px;line-height:1.5;color:var(--ink-dim)}
